Shopify-code-snippets icon indicating copy to clipboard operation
Shopify-code-snippets copied to clipboard

update date_translate snippet to use localiszation object for automatic translation

Open Benedikt-beeclever opened this issue 2 years ago • 0 comments

{%- comment -%}
    {%- render 'date_translator', date: date, format: format -%}
{%- endcomment -%}
{% liquid 
    assign datesSupported = 'en,no,fr,es,de' | split:','
    assign dateFormat = format | default: '%A %B %d, %Y'
    assign dateString = date | date: dateFormat
    if datesSupported contains localization.language.iso_code and dateString != blank
        assign daysen = 'Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday' | split:','
        assign monthsen = 'January,February,March,April,May,June,July,August,September,October,November,December' | split:','
        assign daysno = 'Mandag,Tirsdag,Onsdag,Torsdag,Fredag,Lørdag,Søndag' | split:','
        assign monthsno = 'Januar,Februar,Mars,April,Mai,Juni,Juli,August,September,Oktober,November,Desember' | split:','
        assign daysfr = 'Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche' | split:','
        assign monthsfr = 'Janvier,Février,Mars,Avril,Mai,juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre' | split:','
        assign dayses = 'Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo' | split:','
        assign monthses = 'Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre' | split:','
        assign daysde = 'Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag' | split:','
        assign monthsde = 'Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember' | split:','
        assign currentDays = 'days' | append: localization.language.iso_code
        assign currentMonths = 'months' | append: localization.language.iso_code
        assign currentDaysArray = [currentDays]
        assign currentMonthsArray = [currentMonths]
        assign shortSlice = 3
        for i in (0..11)
            if i < 7
                assign shortDateFormatEnglish = daysen[i] | slice:0,shortSlice
                assign shortDateFormatCurrent = currentDaysArray[i] | slice:0,shortSlice
                assign dateString = dateString | replace:daysen[i],currentDaysArray[i] | replace:shortDateFormatEnglish, shortDateFormatCurrent
            endif
            assign shortMonthFormatEnglish = monthsen[i] | slice:0,shortSlice
            assign shortMonthFormatCurrent = currentMonthsArray[i] | slice:0,shortSlice
            assign dateString = dateString | replace:monthsen[i],currentMonthsArray[i] | replace:shortMonthFormatEnglish, shortMonthFormatCurrent
        endfor
        echo dateString
    endif
%}

Benedikt-beeclever avatar May 13 '22 14:05 Benedikt-beeclever