update bots

This commit is contained in:
2026-05-18 14:15:59 +07:00
parent b0ce866a2f
commit b9054d178e
5775 changed files with 832577 additions and 38 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,19 @@
from ..ar_AA import Provider as ArabicDateTimeProvider
class Provider(ArabicDateTimeProvider):
# source: https://ar.wikipedia.org/wiki/أسماء_الشهور
MONTH_NAMES = {
"01": "جانفي",
"02": "فيفري",
"03": "مارس",
"04": "أفريل",
"05": "ماي",
"06": "جوان",
"07": "جويلية",
"08": "أوت",
"09": "سبتمبر",
"10": "أكتوبر",
"11": "نوفمبر",
"12": "ديسمبر",
}

View File

@@ -0,0 +1,18 @@
from ..ar_AA import Provider as ArabicDateTimeProvider
class Provider(ArabicDateTimeProvider):
MONTH_NAMES = {
"01": "يناير",
"02": "فبراير",
"03": "مارس",
"04": "أبريل",
"05": "مايو",
"06": "يونيو",
"07": "يوليو",
"08": "أغسطس",
"09": "سبتمبر",
"10": "أكتوبر",
"11": "نوفمبر",
"12": "ديسمبر",
}

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "Bazar",
"1": "Bazar ertəsi",
"2": "Çərşənbə axşamı",
"3": "Çərşənbə",
"4": "Cümə axşamı",
"5": "Cümə",
"6": "Şənbə",
}
MONTH_NAMES = {
"01": "Yanvar",
"02": "Fevral",
"03": "Mart",
"04": "Aprel",
"05": "May",
"06": "İyun",
"07": "İyul",
"08": "Avqust",
"09": "Sentyabr",
"10": "Oktyabr",
"11": "Noyabr",
"12": "Dekabr",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "neděle",
"1": "pondělí",
"2": "úterý",
"3": "středa",
"4": "čtvrtek",
"5": "pátek",
"6": "sobota",
}
MONTH_NAMES = {
"01": "leden",
"02": "únor",
"03": "březen",
"04": "duben",
"05": "květen",
"06": "červen",
"07": "červenec",
"08": "srpen",
"09": "září",
"10": "říjen",
"11": "listopad",
"12": "prosinec",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "mandag",
"1": "tirsdag",
"2": "onsdag",
"3": "torsdag",
"4": "fredag",
"5": "lørdag",
"6": "søndag",
}
MONTH_NAMES = {
"01": "januar",
"02": "februar",
"03": "marts",
"04": "april",
"05": "maj",
"06": "juni",
"07": "juli",
"08": "august",
"09": "september",
"10": "oktober",
"11": "november",
"12": "decembder",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "Sonntag",
"1": "Montag",
"2": "Dienstag",
"3": "Mittwoch",
"4": "Donnerstag",
"5": "Freitag",
"6": "Samstag",
}
MONTH_NAMES = {
"01": "Jänner",
"02": "Februar",
"03": "März",
"04": "April",
"05": "Mai",
"06": "Juni",
"07": "Juli",
"08": "August",
"09": "September",
"10": "Oktober",
"11": "November",
"12": "Dezember",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "Sonntag",
"1": "Montag",
"2": "Dienstag",
"3": "Mittwoch",
"4": "Donnerstag",
"5": "Freitag",
"6": "Samstag",
}
MONTH_NAMES = {
"01": "Januar",
"02": "Februar",
"03": "März",
"04": "April",
"05": "Mai",
"06": "Juni",
"07": "Juli",
"08": "August",
"09": "September",
"10": "Oktober",
"11": "November",
"12": "Dezember",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "Κυριακή",
"1": "Δευτέρα",
"2": "Τρίτη",
"3": "Τετάρτη",
"4": "Πέμπτη",
"5": "Παρασκευή",
"6": "Σάββατο",
}
MONTH_NAMES = {
"01": "Ιανουάριος",
"02": "Φεβρουάριος",
"03": "Μάρτιος",
"04": "Απρίλιος",
"05": "Μάιος",
"06": "Ιούνιος",
"07": "Ιούλιος",
"08": "Αύγουστος",
"09": "Σεπτέμβριος",
"10": "Οκτώβριος",
"11": "Νοέμβριος",
"12": "Δεκέμβριος",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,7 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
"""No difference from default DateTimeProvider"""
pass

View File

@@ -0,0 +1,5 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
pass

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "domingo",
"1": "lunes",
"2": "martes",
"3": "miércoles",
"4": "jueves",
"5": "viernes",
"6": "sábado",
}
MONTH_NAMES = {
"01": "enero",
"02": "febrero",
"03": "marzo",
"04": "abril",
"05": "mayo",
"06": "junio",
"07": "julio",
"08": "agosto",
"09": "septiembre",
"10": "octubre",
"11": "noviembre",
"12": "diciembre",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,5 @@
from ..es import Provider as DateTimeProvider
class Provider(DateTimeProvider):
pass

View File

@@ -0,0 +1,5 @@
from ..es import Provider as DateTimeProvider
class Provider(DateTimeProvider):
pass

View File

@@ -0,0 +1,5 @@
from ..es import Provider as DateTimeProvider
class Provider(DateTimeProvider):
pass

View File

@@ -0,0 +1,37 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
"""Provider for datetimes for fil_PH locale"""
DAY_NAMES = {
"0": "Linggo",
"1": "Lunes",
"2": "Martes",
"3": "Miyerkules",
"4": "Huwebes",
"5": "Biyernes",
"6": "Sabado",
}
MONTH_NAMES = {
"01": "Enero",
"02": "Pebrero",
"03": "Marso",
"04": "Abril",
"05": "Mayo",
"06": "Hunyo",
"07": "Hulyo",
"08": "Agosto",
"09": "Setyembre",
"10": "Oktubre",
"11": "Nobyembre",
"12": "Disyembre",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,8 @@
from typing import Any
from ..fr_FR import Provider as FRFRProvider
class Provider(FRFRProvider):
def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(*args, **kwargs)

View File

@@ -0,0 +1,5 @@
from ..fr_FR import Provider as fr_FRProvider
class Provider(fr_FRProvider):
pass

View File

@@ -0,0 +1,35 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "dimanche",
"1": "lundi",
"2": "mardi",
"3": "mercredi",
"4": "jeudi",
"5": "vendredi",
"6": "samedi",
}
MONTH_NAMES = {
"01": "Janvier",
"02": "Février",
"03": "Mars",
"04": "Avril",
"05": "Mai",
"06": "Juin",
"07": "Juillet",
"08": "Août",
"09": "Septembre",
"10": "Octobre",
"11": "Novembre",
"12": "Décembre",
}
def day_of_week(self) -> str:
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,76 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "Ravivar",
"1": "Somvar",
"2": "Mangalvar",
"3": "Budhvar",
"4": "Guruvar",
"5": "Shukravar",
"6": "Shanivar",
}
DAY_NAMES_IN_GUJARATI = {
"0": "રવિવાર",
"1": "સોમવાર",
"2": "મંગળવાર",
"3": "બુધવાર",
"4": "ગુરુવાર",
"5": "શુક્રવાર",
"6": "શનિવાર",
}
MONTH_NAMES = {
"01": "Kartak",
"02": "Magshar",
"03": "Posh",
"04": "Maha",
"05": "Fagan",
"06": "Chaitra",
"07": "Vaishakh",
"08": "Jeth",
"09": "Ashadh",
"10": "Shravan",
"11": "Bhadarvo",
"12": "Aaso",
}
MONTH_NAMES_IN_GUJARATI = {
"01": "કારતક",
"02": "માગશર",
"03": "પોષ",
"04": "મહા",
"05": "ફાગણ",
"06": "ચૈત્ર",
"07": "વૈશાખ",
"08": "જેઠ",
"09": "અષાઢ",
"10": "શ્રાવણ",
"11": "ભાદરવો",
"12": "આસો",
}
def day_of_week(self) -> str:
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
return self.MONTH_NAMES[month]
def day_of_week_in_guj(self) -> str:
"""Returns day of the week in `Gujarati`"""
day = self.date("%w")
return self.DAY_NAMES_IN_GUJARATI[day]
def month_name_in_guj(self) -> str:
"""Returns month name in `Gujarati`"""
month = self.month()
return self.MONTH_NAMES_IN_GUJARATI[month]
def month_in_guj(self) -> str:
"""Returns month name in `Gujarati`"""
return self.month_name_in_guj()

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
def day_of_week(self) -> str:
day = self.date("%w")
DAY_NAMES = {
"0": "सोमवार",
"1": "मंगलवार",
"2": "बुधवार",
"3": "गुरुवार",
"4": "जुम्मा",
"5": "शनिवार",
"6": "रविवार",
}
return DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
MONTH_NAMES = {
"01": "जनवरी",
"02": "फ़रवरी",
"03": "मार्च",
"04": "अप्रैल",
"05": "मई",
"06": "जून",
"07": "जुलाई",
"08": "अगस्त",
"09": "सितंबर",
"10": "अक्टूबर",
"11": "नवंबर",
"12": "दिसंबर",
}
return MONTH_NAMES[month]

View File

@@ -0,0 +1,34 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
def day_of_week(self) -> str:
day = self.date("%w")
DAY_NAMES = {
"0": "Nedjelja",
"1": "Ponedjeljak",
"2": "Utorak",
"3": "Srijeda",
"4": "Četvrtak",
"5": "Petak",
"6": "Subota",
}
return DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
MONTH_NAMES = {
"01": "Siječanj",
"02": "Veljača",
"03": "Ožujak",
"04": "Travanj",
"05": "Svibanj",
"06": "Lipanj",
"07": "Srpanj",
"08": "Kolovoz",
"09": "Rujan",
"10": "Listopad",
"11": "Studeni",
"12": "Prosinac",
}
return MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
def day_of_week(self) -> str:
day = self.date("%w")
DAY_NAMES = {
"0": "hétfő",
"1": "kedd",
"2": "szerda",
"3": "csütörtök",
"4": "péntek",
"5": "szombat",
"6": "vasárnap",
}
return DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
MONTH_NAMES = {
"01": "január",
"02": "február",
"03": "március",
"04": "április",
"05": "május",
"06": "junius",
"07": "julius",
"08": "augusztus",
"09": "szeptember",
"10": "október",
"11": "november",
"12": "december",
}
return MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "Կիրակի",
"1": "Երկուշաբթի",
"2": "Երեքշաբթի",
"3": "Չորեքշաբթի",
"4": "Հինգշաբթի",
"5": "Ուրբաթ",
"6": "Շաբաթ",
}
MONTH_NAMES = {
"01": "Հունվար",
"02": "Փետրվար",
"03": "Մարտ",
"04": "Ապրիլ",
"05": "Մայիս",
"06": "Հունիս",
"07": "Հուլիս",
"08": "Օգոստոս",
"09": "Սեպտեմբեր",
"10": "Հոկտեմբեր",
"11": "Նոյեմբեր",
"12": "Դեկտեմբեր",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
def day_of_week(self) -> str:
day = self.date("%w")
DAY_NAMES = {
"0": "Senin",
"1": "Selasa",
"2": "Rabu",
"3": "Kamis",
"4": "Jumat",
"5": "Sabtu",
"6": "Minggu",
}
return DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
MONTH_NAMES = {
"01": "Januari",
"02": "Februari",
"03": "Maret",
"04": "April",
"05": "Mei",
"06": "Juni",
"07": "Juli",
"08": "Agustus",
"09": "September",
"10": "Oktober",
"11": "November",
"12": "Desember",
}
return MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "domenica",
"1": "lunedì",
"2": "martedì",
"3": "mercoledì",
"4": "giovedì",
"5": "venerdì",
"6": "sabato",
}
MONTH_NAMES = {
"01": "gennaio",
"02": "febbraio",
"03": "marzo",
"04": "aprile",
"05": "maggio",
"06": "giugno",
"07": "luglio",
"08": "agosto",
"09": "settembre",
"10": "ottobre",
"11": "novembre",
"12": "dicembre",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,54 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
MONTH_NAMES = {
"01": "一月",
"02": "二月",
"03": "三月",
"04": "四月",
"05": "五月",
"06": "六月",
"07": "七月",
"08": "八月",
"09": "九月",
"10": "十月",
"11": "十一月",
"12": "十二月",
}
TRADITIONAL_MONTH_NAMES = {
"01": "睦月",
"02": "如月",
"03": "弥生",
"04": "卯月",
"05": "皐月",
"06": "水無月",
"07": "文月",
"08": "葉月",
"09": "長月",
"10": "神無月",
"11": "霜月",
"12": "師走",
}
DAY_NAMES = {
"0": "日曜日",
"1": "月曜日",
"2": "火曜日",
"3": "水曜日",
"4": "木曜日",
"5": "金曜日",
"6": "土曜日",
}
def day_of_week(self) -> str:
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
return self.MONTH_NAMES[month]
def traditional_month_name(self) -> str:
month = self.month()
return self.TRADITIONAL_MONTH_NAMES[month]

View File

@@ -0,0 +1,37 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
# Sourse: https://www.ganmarteba.ge/
DAY_NAMES = {
"0": "კვირა",
"1": "ორშაბათი",
"2": "სამშაბათი",
"3": "ოთხშაბათი",
"4": "ხუთშაბათი",
"5": "პარასკევი",
"6": "შაბათი",
}
MONTH_NAMES = {
"01": "იანვარი",
"02": "თებერვალი",
"03": "მარტი",
"04": "აპრილი",
"05": "მაისი",
"06": "ივნისი",
"07": "ივლისი",
"08": "აგვისტო",
"09": "სექტემბერი",
"10": "ოქტომბერი",
"11": "ნოემბერი",
"12": "დეკემბერი",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,34 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
def day_of_week(self) -> str:
day = self.date("%w")
DAY_NAMES = {
"0": "일요일",
"1": "월요일",
"2": "화요일",
"3": "수요일",
"4": "목요일",
"5": "금요일",
"6": "토요일",
}
return DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
MONTH_NAMES = {
"01": "1월",
"02": "2월",
"03": "3월",
"04": "4월",
"05": "5월",
"06": "6월",
"07": "7월",
"08": "8월",
"09": "9월",
"10": "10월",
"11": "11월",
"12": "12월",
}
return MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "zondag",
"1": "maandag",
"2": "dinsdag",
"3": "woensdag",
"4": "donderdag",
"5": "vrijdag",
"6": "zaterdag",
}
MONTH_NAMES = {
"01": "januari",
"02": "februari",
"03": "maart",
"04": "april",
"05": "mei",
"06": "juni",
"07": "juli",
"08": "augustus",
"09": "september",
"10": "oktober",
"11": "november",
"12": "december",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,35 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
MONTH_NAMES = {
"01": "januar",
"02": "februar",
"03": "mars",
"04": "april",
"05": "mai",
"06": "juni",
"07": "juli",
"08": "august",
"09": "september",
"10": "oktober",
"11": "november",
"12": "desember",
}
DAY_NAMES = {
"0": "søndag",
"1": "mandag",
"2": "tirsdag",
"3": "onsdag",
"4": "torsdag",
"5": "fredag",
"6": "lørdag",
}
def day_of_week(self) -> str:
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "poniedziałek",
"1": "wtorek",
"2": "środa",
"3": "czwartek",
"4": "piątek",
"5": "sobota",
"6": "niedziela",
}
MONTH_NAMES = {
"01": "styczeń",
"02": "luty",
"03": "marzec",
"04": "kwiecień",
"05": "maj",
"06": "czerwiec",
"07": "lipiec",
"08": "sierpień",
"09": "wrzesień",
"10": "październik",
"11": "listopad",
"12": "grudzień",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "domingo",
"1": "segunda-feira",
"2": "terça-feira",
"3": "quarta-feira",
"4": "quinta-feira",
"5": "sexta-feira",
"6": "sábado",
}
MONTH_NAMES = {
"01": "janeiro",
"02": "fevereiro",
"03": "março",
"04": "abril",
"05": "maio",
"06": "junho",
"07": "julho",
"08": "agosto",
"09": "setembro",
"10": "outubro",
"11": "novembro",
"12": "dezembro",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "domingo",
"1": "segunda-feira",
"2": "terça-feira",
"3": "quarta-feira",
"4": "quinta-feira",
"5": "sexta-feira",
"6": "sábado",
}
MONTH_NAMES = {
"01": "janeiro",
"02": "fevereiro",
"03": "março",
"04": "abril",
"05": "maio",
"06": "junho",
"07": "julho",
"08": "agosto",
"09": "setembro",
"10": "outubro",
"11": "novembro",
"12": "dezembro",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "duminica",
"1": "luni",
"2": "marti",
"3": "miercuri",
"4": "joi",
"5": "vineri",
"6": "sambata",
}
MONTH_NAMES = {
"01": "ianuarie",
"02": "februarie",
"03": "martie",
"04": "aprilie",
"05": "mai",
"06": "iunie",
"07": "iulie",
"08": "august",
"09": "septembrie",
"10": "octombrie",
"11": "noiembrie",
"12": "decembrie",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "nedeľa",
"1": "pondelok",
"2": "utorok",
"3": "streda",
"4": "štvrtok",
"5": "piatok",
"6": "sobota",
}
MONTH_NAMES = {
"01": "január",
"02": "február",
"03": "marec",
"04": "apríl",
"05": "máj",
"06": "jún",
"07": "júl",
"08": "august",
"09": "september",
"10": "október",
"11": "november",
"12": "december",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "Nedelja",
"1": "Ponedeljek",
"2": "Torek",
"3": "Sreda",
"4": "Četrtek",
"5": "Petek",
"6": "Sobota",
}
MONTH_NAMES = {
"01": "Januar",
"02": "Februar",
"03": "Marec",
"04": "April",
"05": "Maj",
"06": "Junij",
"07": "Julij",
"08": "Avgust",
"09": "September",
"10": "Oktober",
"11": "November",
"12": "December",
}
def day_of_week(self) -> str:
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,37 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
# Source: http://www.localeplanet.com/icu/ta-IN/index.html
DAY_NAMES = {
"0": "திங்கள்",
"1": "செவ்வாய்",
"2": "புதன்",
"3": "வியாழன்",
"4": "வெள்ளி",
"5": "சனி",
"6": "ஞாயிறு",
}
MONTH_NAMES = {
"01": "ஜனவரி",
"02": "பிப்ரவரி",
"03": "மார்ச்",
"04": "ஏப்ரல்",
"05": "மே",
"06": "ஜூன்",
"07": "ஜூலை",
"08": "ஆகஸ்ட்",
"09": "செப்டம்பர்",
"10": "அக்டோபர்",
"11": "நவம்பர்",
"12": "டிசம்பர்",
}
def day_of_week(self) -> str:
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,340 @@
import warnings
from datetime import datetime
from typing import Optional
from ....typing import DateParseType
from .. import Provider as DateParseTypeProvider
# thai_strftime() code adapted from
# https://gist.github.com/bact/b8afe49cb1ae62913e6c1e899dcddbdb
# (Same code base with PyThaiNLP 2.x)
# Public Domain or CC0 1.0 Universal
_TH_ABBR_WEEKDAYS = ["", "", "", "พฤ", "", "", "อา"]
_TH_FULL_WEEKDAYS = [
"วันจันทร์",
"วันอังคาร",
"วันพุธ",
"วันพฤหัสบดี",
"วันศุกร์",
"วันเสาร์",
"วันอาทิตย์",
]
_TH_ABBR_MONTHS = [
"ม.ค.",
"ก.พ.",
"มี.ค.",
"เม.ย.",
"พ.ค.",
"มิ.ย.",
"ก.ค.",
"ส.ค.",
"ก.ย.",
"ต.ค.",
"พ.ย.",
"ธ.ค.",
]
_TH_FULL_MONTHS = [
"มกราคม",
"กุมภาพันธ์",
"มีนาคม",
"เมษายน",
"พฤษภาคม",
"มิถุนายน",
"กรกฎาคม",
"สิงหาคม",
"กันยายน",
"ตุลาคม",
"พฤศจิกายน",
"ธันวาคม",
]
_HA_TH_DIGITS = str.maketrans("0123456789", "๐๑๒๓๔๕๖๗๘๙")
_BE_AD_DIFFERENCE = 543
_NEED_L10N = "AaBbCcDFGgvXxYy+" # flags that need localization
_EXTENSIONS = "EO-_0^#" # extension flags
# Standard conversion support for thai_strftime()
def _std_strftime(dt_obj: datetime, fmt_char: str) -> str:
"""
Standard datetime.strftime() with normalization and exception handling.
"""
str_ = ""
try:
str_ = dt_obj.strftime(f"%{fmt_char}")
if not str_ or str_ == f"%{fmt_char}":
# normalize outputs for unsupported directives
# in different platforms
# "%Q" may result "%Q", "Q", or "", make it "Q"
str_ = fmt_char
except ValueError as err: # pragma: no cover
# Unsupported directives may raise ValueError on Windows,
# in that case just use the fmt_char
warnings.warn(
(f"String format directive unknown/not support: %{fmt_char}" f"The system raises this ValueError: {err}"),
UserWarning,
)
str_ = fmt_char
return str_
# Thai conversion support for thai_strftime()
def _thai_strftime(
dt_obj: datetime,
fmt_char: str,
buddhist_era: bool = True,
) -> str:
"""
Conversion support for thai_strftime().
The fmt_char should be in _NEED_L10N when call this function.
"""
str_ = ""
year = dt_obj.year
if buddhist_era:
year = year + _BE_AD_DIFFERENCE
if fmt_char == "A":
# National representation of the full weekday name
str_ = _TH_FULL_WEEKDAYS[dt_obj.weekday()]
elif fmt_char == "a":
# National representation of the abbreviated weekday
str_ = _TH_ABBR_WEEKDAYS[dt_obj.weekday()]
elif fmt_char == "B":
# National representation of the full month name
str_ = _TH_FULL_MONTHS[dt_obj.month - 1]
elif fmt_char == "b":
# National representation of the abbreviated month name
str_ = _TH_ABBR_MONTHS[dt_obj.month - 1]
elif fmt_char == "C":
# Thai Buddhist century (AD+543)/100 + 1 as decimal number;
str_ = str(int(year / 100) + 1).zfill(2)
elif fmt_char == "c":
# Locales appropriate date and time representation
# Wed 6 Oct 01:40:00 1976
# พ 6 ต.ค. 01:40:00 2519 <-- left-aligned weekday, right-aligned day
str_ = (
f"{_TH_ABBR_WEEKDAYS[dt_obj.weekday()]:<2} {dt_obj.day:>2} "
f"{_TH_ABBR_MONTHS[dt_obj.month - 1]} {dt_obj:%H:%M:%S} {year:04}"
)
elif fmt_char == "D":
# Equivalent to ``%m/%d/%y''
str_ = f"{dt_obj:%m/%d}/{year % 100:02}"
elif fmt_char == "F":
# Equivalent to ``%Y-%m-%d''
str_ = f"{year:04}-{dt_obj:%m-%d}"
elif fmt_char == "G":
# ISO 8601 year with century representing the year that contains
# the greater part of the ISO week (%V). Monday as the first day
# of the week.
year_G = int(dt_obj.strftime("%G"))
if buddhist_era:
year_G = year_G + _BE_AD_DIFFERENCE
str_ = f"{year_G:04}"
elif fmt_char == "g":
# Same year as in ``%G'',
# but as a decimal number without century (00-99).
year_G = int(dt_obj.strftime("%G"))
if buddhist_era:
year_G = year_G + _BE_AD_DIFFERENCE
str_ = f"{year_G % 100:02}"
elif fmt_char == "v":
# BSD extension, ' 6-Oct-1976'
str_ = f"{dt_obj.day:>2}-{_TH_ABBR_MONTHS[dt_obj.month - 1]}-{year:04}"
elif fmt_char == "X":
# Locales appropriate time representation.
str_ = f"{dt_obj:%H:%M:%S}"
elif fmt_char == "x":
# Locales appropriate date representation.
str_ = f"{dt_obj:%d/%m}/{year:04}"
elif fmt_char == "Y":
# Year with century
str_ = f"{year:04}"
elif fmt_char == "y":
# Year without century
str_ = f"{year % 100:02}"
elif fmt_char == "+":
# National representation of the date and time
# (the format is similar to that produced by date(1))
# Wed 6 Oct 1976 01:40:00
str_ = (
f"{_TH_ABBR_WEEKDAYS[dt_obj.weekday()]:<2} {dt_obj.day:>2} "
f"{_TH_ABBR_MONTHS[dt_obj.month - 1]} {year} {dt_obj:%H:%M:%S}"
)
return str_
def thai_strftime(
dt_obj: datetime,
fmt: str = "%-d %b %Y",
thai_digit: bool = False,
buddhist_era: bool = True,
) -> str:
"""
Convert :class:`datetime.datetime` into Thai date and time format.
The formatting directives are similar to :func:`datatime.strrftime`.
This function uses Thai names and Thai Buddhist Era for these directives:
* **%a** - abbreviated weekday name
(i.e. "", "", "", "พฤ", "", "", "อา")
* **%A** - full weekday name
(i.e. "วันจันทร์", "วันอังคาร", "วันเสาร์", "วันอาทิตย์")
* **%b** - abbreviated month name
(i.e. "ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ธ.ค.")
* **%B** - full month name
(i.e. "มกราคม", "กุมภาพันธ์", "พฤศจิกายน", "ธันวาคม",)
* **%y** - year without century (i.e. "56", "10")
* **%Y** - year with century (i.e. "2556", "2410")
* **%c** - date and time representation
(i.e. "พ 6 ต.ค. 01:40:00 2519")
* **%v** - short date representation
(i.e. " 6-ม.ค.-2562", "27-ก.พ.-2555")
"""
thaidate_parts = []
i = 0
fmt_len = len(fmt)
while i < fmt_len:
str_ = ""
if fmt[i] == "%":
j = i + 1
if j < fmt_len:
fmt_char = fmt[j]
if fmt_char in _NEED_L10N: # requires localization?
str_ = _thai_strftime(dt_obj, fmt_char, buddhist_era)
elif fmt_char in _EXTENSIONS:
fmt_char_ext = fmt_char
k = j + 1
if k < fmt_len:
fmt_char = fmt[k]
if fmt_char in _NEED_L10N:
str_ = _thai_strftime(
dt_obj,
fmt_char,
buddhist_era,
)
else:
str_ = _std_strftime(dt_obj, fmt_char)
if fmt_char_ext == "-":
# GNU libc extension,
# no padding
if str_[0] and str_[0] in " 0":
str_ = str_[1:]
elif fmt_char_ext == "_":
# GNU libc extension,
# explicitly specify space (" ") for padding
if str_[0] and str_[0] == "0":
str_ = " " + str_[1:]
elif fmt_char_ext == "0":
# GNU libc extension,
# explicitly specify zero ("0") for padding
if str_[0] and str_[0] == " ":
str_ = "0" + str_[1:]
elif fmt_char_ext == "^":
# GNU libc extension,
# convert to upper case
str_ = str_.upper()
elif fmt_char_ext == "#":
# GNU libc extension,
# swap case - useful for %Z
str_ = str_.swapcase()
elif fmt_char_ext == "E":
# POSIX extension,
# uses the locale's alternative representation
# Not implemented yet
pass
elif fmt_char_ext == "O":
# POSIX extension,
# uses the locale's alternative numeric symbols
str_ = str_.translate(_HA_TH_DIGITS)
i = i + 1 # consume char after format char
else:
# format char at string's end has no meaning
str_ = fmt_char_ext
else: # not in _NEED_L10N nor _EXTENSIONS
# no known localization available, use Python's default
str_ = _std_strftime(dt_obj, fmt_char)
i = i + 1 # consume char after "%"
else:
# % char at string's end has no meaning
str_ = "%"
else:
str_ = fmt[i]
thaidate_parts.append(str_)
i = i + 1
thaidate_text = "".join(thaidate_parts)
if thai_digit:
thaidate_text = thaidate_text.translate(_HA_TH_DIGITS)
return thaidate_text
class Provider(DateParseTypeProvider):
def date(
self,
pattern: str = "%-d %b %Y",
end_datetime: Optional[DateParseType] = None,
thai_digit: bool = False,
buddhist_era: bool = True,
) -> str:
"""
Get a date string between January 1, 1970 and now
:param pattern: format
:param end_datetime: datetime
:param thai_digit: use Thai digit or not (default: False)
:param buddhist_era: use Buddist era or not (default: True)
:example: '08 พ.ย. 2563'
:example: '๐๘ พ.ย. 2563' (thai_digit = True)
:example: '8 พฤศิจกายน 2020' (pattern: str = "%-d %B %Y", buddhist_era = False)
"""
return thai_strftime(
self.date_time(end_datetime=end_datetime),
pattern,
thai_digit,
buddhist_era,
)
def time(
self,
pattern: str = "%H:%M:%S",
end_datetime: Optional[DateParseType] = None,
thai_digit: bool = False,
) -> str:
"""
Get a time string (24h format by default)
:param pattern: format
:param end_datetime: datetime
:param thai_digit: use Thai digit or not (default: False)
:example: '15:02:34'
:example: '๑๕:๐๒:๓๔' (thai_digit = True)
"""
return thai_strftime(
self.date_time(end_datetime=end_datetime),
pattern,
thai_digit,
)
def century(self, thai_digit: bool = False, buddhist_era: bool = True) -> str:
"""
:param thai_digi:t use Thai digit or not (default: False)
:param buddhist:_era use Buddist era or not (default: True)
:example: '20'
"""
end_century = 22
if buddhist_era:
end_century = 26
text = str(self.random_element(range(1, end_century)))
if thai_digit:
text = text.translate(_HA_TH_DIGITS)
return text

View File

@@ -0,0 +1,7 @@
from ..fil_PH import Provider as FilPhProvider
class Provider(FilPhProvider):
"""No difference from DateTime Provider for fil_PH locale"""
pass

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "Pazar",
"1": "Pazartesi",
"2": "Salı",
"3": "Çarşamba",
"4": "Perşembe",
"5": "Cuma",
"6": "Cumartesi",
}
MONTH_NAMES = {
"01": "Ocak",
"02": "Şubat",
"03": "Mart",
"04": "Nisan",
"05": "Mayıs",
"06": "Haziran",
"07": "Temmuz",
"08": "Ağustos",
"09": "Eylül",
"10": "Ekim",
"11": "Kasım",
"12": "Aralık",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,36 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
DAY_NAMES = {
"0": "Dushanba",
"1": "Seshanba",
"2": "Chorshanba",
"3": "Payshanba",
"4": "Juma",
"5": "Shanba",
"6": "Yakshanba",
}
MONTH_NAMES = {
"01": "Yanvar",
"02": "Fevral",
"03": "Mart",
"04": "Aprel",
"05": "May",
"06": "Iyun",
"07": "Iyul",
"08": "Avgust",
"09": "Sentabr",
"10": "Oktabr",
"11": "Noyabr",
"12": "Dekabr",
}
def day_of_week(self) -> str:
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,37 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
# Source: https://vi.wikipedia.org/wiki/%C4%90%E1%BB%8Bnh_d%E1%BA%A1ng_ng%C3%A0y_v%C3%A0_gi%E1%BB%9D_%E1%BB%9F_Vi%E1%BB%87t_Nam # NOQA
DAY_NAMES = {
"0": "Chủ Nhật",
"1": "Thứ Hai",
"2": "Thứ Ba",
"3": "Thứ Tư",
"4": "Thứ Năm",
"5": "Thứ Sáu",
"6": "Thứ Bảy",
}
MONTH_NAMES = {
"01": "Tháng Một",
"02": "Tháng Hai",
"03": "Tháng Ba",
"04": "Tháng Tư",
"05": "Tháng Năm",
"06": "Tháng Sáu",
"07": "Tháng Bảy",
"08": "Tháng Tám",
"09": "Tháng Chín",
"10": "Tháng Mười",
"11": "Tháng Mười Một",
"12": "Tháng Mười Hai",
}
def day_of_week(self):
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self):
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,35 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
MONTH_NAMES = {
"01": "一月",
"02": "二月",
"03": "三月",
"04": "四月",
"05": "五月",
"06": "六月",
"07": "七月",
"08": "八月",
"09": "九月",
"10": "十月",
"11": "十一月",
"12": "十二月",
}
DAY_NAMES = {
"0": "星期日",
"1": "星期一",
"2": "星期二",
"3": "星期三",
"4": "星期四",
"5": "星期五",
"6": "星期六",
}
def day_of_week(self) -> str:
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
return self.MONTH_NAMES[month]

View File

@@ -0,0 +1,39 @@
from .. import Provider as DateTimeProvider
class Provider(DateTimeProvider):
MONTH_NAMES = {
"01": "一月",
"02": "二月",
"03": "三月",
"04": "四月",
"05": "五月",
"06": "六月",
"07": "七月",
"08": "八月",
"09": "九月",
"10": "十月",
"11": "十一月",
"12": "十二月",
}
DAY_NAMES = {
"0": "星期日",
"1": "星期一",
"2": "星期二",
"3": "星期三",
"4": "星期四",
"5": "星期五",
"6": "星期六",
}
def day_of_week(self) -> str:
day = self.date("%w")
return self.DAY_NAMES[day]
def month_name(self) -> str:
month = self.month()
return self.MONTH_NAMES[month]
def minguo_year(self) -> str:
year = self.year()
return str(int(year) - 1911)