From a051bfe24c4254c0afaf2fa5faf498f60508da4f Mon Sep 17 00:00:00 2001 From: Aleksandr Tupikov Date: Mon, 29 Jan 2024 19:20:26 +0100 Subject: [PATCH 1/4] Added missed maps values for Poland and some others --- default_formats.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/default_formats.go b/default_formats.go index fd6e190..ccae332 100644 --- a/default_formats.go +++ b/default_formats.go @@ -360,6 +360,7 @@ var FullFormatsByLocale = map[Locale]string{ LocaleThTH: DefaultFormatThTHFull, LocaleUzUZ: DefaultFormatUzUZFull, LocaleKkKZ: DefaultFormatKkKZFull, + LocalePlPL: DefaultFormatPlPLFull, } // LongFormatsByLocale maps locales to the 'long' date formats for all @@ -408,6 +409,7 @@ var LongFormatsByLocale = map[Locale]string{ LocaleThTH: DefaultFormatThTHLong, LocaleUzUZ: DefaultFormatUzUZLong, LocaleKkKZ: DefaultFormatKkKZLong, + LocalePlPL: DefaultFormatPlPLLong, } // MediumFormatsByLocale maps locales to the 'medium' date formats for all @@ -456,6 +458,7 @@ var MediumFormatsByLocale = map[Locale]string{ LocaleThTH: DefaultFormatThTHMedium, LocaleUzUZ: DefaultFormatUzUZMedium, LocaleKkKZ: DefaultFormatKkKZMedium, + LocalePlPL: DefaultFormatPlPLMedium, } // ShortFormatsByLocale maps locales to the 'short' date formats for all @@ -503,6 +506,8 @@ var ShortFormatsByLocale = map[Locale]string{ LocaleSkSK: DefaultFormatSkSKShort, LocaleUzUZ: DefaultFormatUzUZShort, LocaleKkKZ: DefaultFormatKkKZShort, + LocalePlPL: DefaultFormatPlPLShort, + LocaleThTH: DefaultFormatThTHShort, } // DateTimeFormatsByLocale maps locales to the 'DateTime' date formats for @@ -550,6 +555,8 @@ var DateTimeFormatsByLocale = map[Locale]string{ LocaleSkSK: DefaultFormatSkSKDateTime, LocaleUzUZ: DefaultFormatUzUZDateTime, LocaleKkKZ: DefaultFormatKkKZDateTime, + LocalePlPL: DefaultFormatPlPLDateTime, + LocaleThTH: DefaultFormatThTHDateTime, } // TimeFormatsByLocale maps locales to the 'Time' date formats for @@ -593,4 +600,10 @@ var TimeFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTTime, LocaleUzUZ: DefaultFormatUzUZTime, LocaleKkKZ: DefaultFormatKkKZTime, + LocalePlPL: DefaultFormatPlPLTime, + LocaleEtEE: DefaultFormatEtEETime, + LocaleHrHR: DefaultFormatHrHRTime, + LocaleLvLV: DefaultFormatLvLVTime, + LocaleSkSK: DefaultFormatSkSKTime, + LocaleThTH: DefaultFormatThTHTime, } From f352f0102bb84f33bd0bc0e8ad3d41e1b9b1812f Mon Sep 17 00:00:00 2001 From: Aleksandr Tupikov Date: Mon, 29 Jan 2024 19:31:39 +0100 Subject: [PATCH 2/4] change name of module to use itself --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index df706aa..ad3eadb 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ -module github.com/goodsign/monday +module github.com/apifonica/monday go 1.13 From a41f04c58f1878f0eccbb6602f6f89f97c8c1dc6 Mon Sep 17 00:00:00 2001 From: Oleksandr Hevlichenko Date: Tue, 1 Jul 2025 16:59:51 +0300 Subject: [PATCH 3/4] Add Serbian (sr_RS) localization support --- default_formats.go | 13 +++++++++++ format_sr_rs.go | 55 ++++++++++++++++++++++++++++++++++++++++++++++ locale.go | 2 ++ monday.go | 7 ++++++ 4 files changed, 77 insertions(+) create mode 100644 format_sr_rs.go diff --git a/default_formats.go b/default_formats.go index ccae332..de3d8ab 100644 --- a/default_formats.go +++ b/default_formats.go @@ -278,6 +278,13 @@ const ( DefaultFormatHrHRDateTime = "2.1.2006. 15:04" DefaultFormatHrHRTime = "15:04" + DefaultFormatRsRSFull = "Monday, 2. January 2006." // Croatian (Croatia) + DefaultFormatRsRSLong = "2. January 2006." + DefaultFormatRsRSMedium = "2. Jan 2006." + DefaultFormatRsRSShort = "2.1.2006." + DefaultFormatRsRSDateTime = "2.1.2006. 15:04" + DefaultFormatRsRSTime = "15:04" + DefaultFormatLvLVFull = "Monday, 2006. gada 2. January" // Latvian (Latvia) DefaultFormatLvLVLong = "2006. gada 2. January" DefaultFormatLvLVMedium = "2006. g. 2. Jan." @@ -355,6 +362,7 @@ var FullFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTFull, LocaleEtEE: DefaultFormatEtEEFull, LocaleHrHR: DefaultFormatHrHRFull, + LocaleSrRS: DefaultFormatRsRSFull, LocaleLvLV: DefaultFormatLvLVFull, LocaleSkSK: DefaultFormatSkSKFull, LocaleThTH: DefaultFormatThTHFull, @@ -404,6 +412,7 @@ var LongFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTLong, LocaleEtEE: DefaultFormatEtEELong, LocaleHrHR: DefaultFormatHrHRLong, + LocaleSrRS: DefaultFormatRsRSLong, LocaleLvLV: DefaultFormatLvLVLong, LocaleSkSK: DefaultFormatSkSKLong, LocaleThTH: DefaultFormatThTHLong, @@ -453,6 +462,7 @@ var MediumFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTMedium, LocaleEtEE: DefaultFormatEtEEMedium, LocaleHrHR: DefaultFormatHrHRMedium, + LocaleSrRS: DefaultFormatRsRSMedium, LocaleLvLV: DefaultFormatLvLVMedium, LocaleSkSK: DefaultFormatSkSKMedium, LocaleThTH: DefaultFormatThTHMedium, @@ -502,6 +512,7 @@ var ShortFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTShort, LocaleEtEE: DefaultFormatEtEEShort, LocaleHrHR: DefaultFormatHrHRShort, + LocaleSrRS: DefaultFormatRsRSShort, LocaleLvLV: DefaultFormatLvLVShort, LocaleSkSK: DefaultFormatSkSKShort, LocaleUzUZ: DefaultFormatUzUZShort, @@ -551,6 +562,7 @@ var DateTimeFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTDateTime, LocaleEtEE: DefaultFormatEtEEDateTime, LocaleHrHR: DefaultFormatHrHRDateTime, + LocaleSrRS: DefaultFormatRsRSDateTime, LocaleLvLV: DefaultFormatLvLVDateTime, LocaleSkSK: DefaultFormatSkSKDateTime, LocaleUzUZ: DefaultFormatUzUZDateTime, @@ -603,6 +615,7 @@ var TimeFormatsByLocale = map[Locale]string{ LocalePlPL: DefaultFormatPlPLTime, LocaleEtEE: DefaultFormatEtEETime, LocaleHrHR: DefaultFormatHrHRTime, + LocaleSrRS: DefaultFormatRsRSTime, LocaleLvLV: DefaultFormatLvLVTime, LocaleSkSK: DefaultFormatSkSKTime, LocaleThTH: DefaultFormatThTHTime, diff --git a/format_sr_rs.go b/format_sr_rs.go new file mode 100644 index 0000000..05b84c5 --- /dev/null +++ b/format_sr_rs.go @@ -0,0 +1,55 @@ +package monday + +// ============================================================ +// Format rules for "sr_RS" locale: Serbian (Serbia) +// ============================================================ + +var longDayNamesSrRS = map[string]string{ + "Sunday": "nedjelja", + "Monday": "ponedjeljak", + "Tuesday": "utorak", + "Wednesday": "srijeda", + "Thursday": "četvrtak", + "Friday": "petak", + "Saturday": "subota", +} + +var shortDayNamesSrRS = map[string]string{ + "Sun": "ned", + "Mon": "pon", + "Tue": "uto", + "Wed": "sri", + "Thu": "čet", + "Fri": "pet", + "Sat": "sub", +} + +var longMonthNamesSrRS = map[string]string{ + "January": "siječanj", + "February": "veljača", + "March": "ožujak", + "April": "travanj", + "May": "svibanj", + "June": "lipanj", + "July": "srpanj", + "August": "kolovoz", + "September": "rujan", + "October": "listopad", + "November": "studeni", + "December": "prosinac", +} + +var shortMonthNamesSrRS = map[string]string{ + "Jan": "sij", + "Feb": "velj", + "Mar": "ožu", + "Apr": "tra", + "May": "svi", + "Jun": "lip", + "Jul": "srp", + "Aug": "kol", + "Sep": "ruj", + "Oct": "lis", + "Nov": "stu", + "Dec": "pro", +} diff --git a/locale.go b/locale.go index e274666..f2cdd05 100644 --- a/locale.go +++ b/locale.go @@ -48,6 +48,7 @@ const ( LocaleLtLT = "lt_LT" // Lithuanian (Lithuania) LocaleEtEE = "et_EE" // Estonian (Estonia) LocaleHrHR = "hr_HR" // Croatian (Croatia) + LocaleSrRS = "sr_RS" // Serbian (Serbia) LocaleLvLV = "lv_LV" // Latvian (Latvia) LocaleSkSK = "sk_SK" // Slovak (Slovakia) LocaleThTH = "th_TH" // Thai (Thailand) @@ -98,6 +99,7 @@ func ListLocales() []Locale { LocaleLtLT, LocaleEtEE, LocaleHrHR, + LocaleSrRS, LocaleLvLV, LocaleSkSK, LocaleThTH, diff --git a/monday.go b/monday.go index 15fa862..99b14a5 100644 --- a/monday.go +++ b/monday.go @@ -102,6 +102,7 @@ var internalParseFuncs = map[Locale]internalParseFunc{ LocaleLtLT: createCommonParseFuncWithGenitive(LocaleLtLT), LocaleEtEE: createCommonParseFunc(LocaleEtEE), LocaleHrHR: createCommonParseFunc(LocaleHrHR), + LocaleSrRS: createCommonParseFunc(LocaleSrRS), LocaleLvLV: createCommonParseFunc(LocaleLvLV), LocaleSkSK: createCommonParseFunc(LocaleSkSK), LocaleThTH: parseFuncThCommon(LocaleThTH), @@ -394,6 +395,12 @@ func fillKnownWords() { fillKnownMonthsLong(longMonthNamesHrHR, LocaleHrHR) fillKnownMonthsShort(shortMonthNamesHrHR, LocaleHrHR) + // Sr_RS: Serbian (Serbia) + fillKnownDaysLong(longDayNamesSrRS, LocaleSrRS) + fillKnownDaysShort(shortDayNamesSrRS, LocaleSrRS) + fillKnownMonthsLong(longMonthNamesSrRS, LocaleSrRS) + fillKnownMonthsShort(shortMonthNamesSrRS, LocaleSrRS) + // Lv_LV: Latvian (Latvia) fillKnownDaysLong(longDayNamesLvLV, LocaleLvLV) fillKnownDaysShort(shortDayNamesLvLV, LocaleLvLV) From 676ad8735788483f2da576ad895e3928bbfd75b0 Mon Sep 17 00:00:00 2001 From: Oleksandr Hevlichenko Date: Tue, 1 Jul 2025 17:10:56 +0300 Subject: [PATCH 4/4] Add Serbian (sr_RS) localization support --- default_formats.go | 24 ++++++++++---------- format_sr_rs.go | 56 +++++++++++++++++++++++----------------------- monday.go | 1 + 3 files changed, 41 insertions(+), 40 deletions(-) diff --git a/default_formats.go b/default_formats.go index de3d8ab..4d27c95 100644 --- a/default_formats.go +++ b/default_formats.go @@ -278,12 +278,12 @@ const ( DefaultFormatHrHRDateTime = "2.1.2006. 15:04" DefaultFormatHrHRTime = "15:04" - DefaultFormatRsRSFull = "Monday, 2. January 2006." // Croatian (Croatia) - DefaultFormatRsRSLong = "2. January 2006." - DefaultFormatRsRSMedium = "2. Jan 2006." - DefaultFormatRsRSShort = "2.1.2006." - DefaultFormatRsRSDateTime = "2.1.2006. 15:04" - DefaultFormatRsRSTime = "15:04" + DefaultFormatSrRSFull = "Monday, 2. January 2006." // Serbian (Serbia) + DefaultFormatSrRSLong = "2. January 2006." + DefaultFormatSrRSMedium = "2. Jan 2006." + DefaultFormatSrRSShort = "2.1.2006." + DefaultFormatSrRSDateTime = "2.1.2006. 15:04" + DefaultFormatSrRSTime = "15:04" DefaultFormatLvLVFull = "Monday, 2006. gada 2. January" // Latvian (Latvia) DefaultFormatLvLVLong = "2006. gada 2. January" @@ -362,7 +362,7 @@ var FullFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTFull, LocaleEtEE: DefaultFormatEtEEFull, LocaleHrHR: DefaultFormatHrHRFull, - LocaleSrRS: DefaultFormatRsRSFull, + LocaleSrRS: DefaultFormatSrRSFull, LocaleLvLV: DefaultFormatLvLVFull, LocaleSkSK: DefaultFormatSkSKFull, LocaleThTH: DefaultFormatThTHFull, @@ -412,7 +412,7 @@ var LongFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTLong, LocaleEtEE: DefaultFormatEtEELong, LocaleHrHR: DefaultFormatHrHRLong, - LocaleSrRS: DefaultFormatRsRSLong, + LocaleSrRS: DefaultFormatSrRSLong, LocaleLvLV: DefaultFormatLvLVLong, LocaleSkSK: DefaultFormatSkSKLong, LocaleThTH: DefaultFormatThTHLong, @@ -462,7 +462,7 @@ var MediumFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTMedium, LocaleEtEE: DefaultFormatEtEEMedium, LocaleHrHR: DefaultFormatHrHRMedium, - LocaleSrRS: DefaultFormatRsRSMedium, + LocaleSrRS: DefaultFormatSrRSMedium, LocaleLvLV: DefaultFormatLvLVMedium, LocaleSkSK: DefaultFormatSkSKMedium, LocaleThTH: DefaultFormatThTHMedium, @@ -512,7 +512,7 @@ var ShortFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTShort, LocaleEtEE: DefaultFormatEtEEShort, LocaleHrHR: DefaultFormatHrHRShort, - LocaleSrRS: DefaultFormatRsRSShort, + LocaleSrRS: DefaultFormatSrRSShort, LocaleLvLV: DefaultFormatLvLVShort, LocaleSkSK: DefaultFormatSkSKShort, LocaleUzUZ: DefaultFormatUzUZShort, @@ -562,7 +562,7 @@ var DateTimeFormatsByLocale = map[Locale]string{ LocaleLtLT: DefaultFormatLtLTDateTime, LocaleEtEE: DefaultFormatEtEEDateTime, LocaleHrHR: DefaultFormatHrHRDateTime, - LocaleSrRS: DefaultFormatRsRSDateTime, + LocaleSrRS: DefaultFormatSrRSDateTime, LocaleLvLV: DefaultFormatLvLVDateTime, LocaleSkSK: DefaultFormatSkSKDateTime, LocaleUzUZ: DefaultFormatUzUZDateTime, @@ -615,7 +615,7 @@ var TimeFormatsByLocale = map[Locale]string{ LocalePlPL: DefaultFormatPlPLTime, LocaleEtEE: DefaultFormatEtEETime, LocaleHrHR: DefaultFormatHrHRTime, - LocaleSrRS: DefaultFormatRsRSTime, + LocaleSrRS: DefaultFormatSrRSTime, LocaleLvLV: DefaultFormatLvLVTime, LocaleSkSK: DefaultFormatSkSKTime, LocaleThTH: DefaultFormatThTHTime, diff --git a/format_sr_rs.go b/format_sr_rs.go index 05b84c5..2acd804 100644 --- a/format_sr_rs.go +++ b/format_sr_rs.go @@ -5,10 +5,10 @@ package monday // ============================================================ var longDayNamesSrRS = map[string]string{ - "Sunday": "nedjelja", - "Monday": "ponedjeljak", + "Sunday": "nedelja", + "Monday": "ponedeljak", "Tuesday": "utorak", - "Wednesday": "srijeda", + "Wednesday": "sreda", "Thursday": "četvrtak", "Friday": "petak", "Saturday": "subota", @@ -18,38 +18,38 @@ var shortDayNamesSrRS = map[string]string{ "Sun": "ned", "Mon": "pon", "Tue": "uto", - "Wed": "sri", + "Wed": "sre", "Thu": "čet", "Fri": "pet", "Sat": "sub", } var longMonthNamesSrRS = map[string]string{ - "January": "siječanj", - "February": "veljača", - "March": "ožujak", - "April": "travanj", - "May": "svibanj", - "June": "lipanj", - "July": "srpanj", - "August": "kolovoz", - "September": "rujan", - "October": "listopad", - "November": "studeni", - "December": "prosinac", + "January": "januar", + "February": "februar", + "March": "mart", + "April": "april", + "May": "maj", + "June": "jun", + "July": "jul", + "August": "avgust", + "September": "septembar", + "October": "oktobar", + "November": "novembar", + "December": "decembar", } var shortMonthNamesSrRS = map[string]string{ - "Jan": "sij", - "Feb": "velj", - "Mar": "ožu", - "Apr": "tra", - "May": "svi", - "Jun": "lip", - "Jul": "srp", - "Aug": "kol", - "Sep": "ruj", - "Oct": "lis", - "Nov": "stu", - "Dec": "pro", + "Jan": "jan", + "Feb": "feb", + "Mar": "mar", + "Apr": "apr", + "May": "maj", + "Jun": "jun", + "Jul": "jul", + "Aug": "avg", + "Sep": "sep", + "Oct": "okt", + "Nov": "nov", + "Dec": "dec", } diff --git a/monday.go b/monday.go index 99b14a5..a024b76 100644 --- a/monday.go +++ b/monday.go @@ -50,6 +50,7 @@ var internalFormatFuncs = map[Locale]internalFormatFunc{ LocaleLtLT: createCommonFormatFuncWithGenitive(LocaleLtLT), LocaleEtEE: createCommonFormatFunc(LocaleEtEE), LocaleHrHR: createCommonFormatFunc(LocaleHrHR), + LocaleSrRS: createCommonFormatFunc(LocaleSrRS), LocaleLvLV: createCommonFormatFunc(LocaleLvLV), LocaleSkSK: createCommonFormatFunc(LocaleSkSK), LocaleThTH: createCommonFormatFunc(LocaleThTH),