From 2b19106e03cc72ab5b0fb20e8df3a902ab0a9f22 Mon Sep 17 00:00:00 2001 From: Ali Golzar Date: Tue, 7 May 2024 18:11:33 +0330 Subject: [PATCH] feat: add support for FA (Persian) language --- example/lib/main.dart | 1 + lib/src/country_localizations.dart | 6 +- lib/src/country_parser.dart | 4 + lib/src/res/strings/fa.dart | 250 +++++++++++++++++++++++++++++ 4 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 lib/src/res/strings/fa.dart diff --git a/example/lib/main.dart b/example/lib/main.dart index 5767776..bfabb76 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -46,6 +46,7 @@ class MyApp extends StatelessWidget { const Locale('bg'), const Locale('ca'), const Locale('he'), + const Locale('fa'), const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hans'), // Generic Simplified Chinese 'zh_Hans' const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant'), // Generic traditional Chinese 'zh_Hant' ], diff --git a/lib/src/country_localizations.dart b/lib/src/country_localizations.dart index 00b881f..a78ab98 100644 --- a/lib/src/country_localizations.dart +++ b/lib/src/country_localizations.dart @@ -33,6 +33,7 @@ import 'res/strings/sk.dart'; import 'res/strings/tr.dart'; import 'res/strings/tw.dart'; import 'res/strings/uk.dart'; +import 'res/strings/fa.dart'; class CountryLocalizations { final Locale locale; @@ -135,6 +136,8 @@ class CountryLocalizations { return cs[countryCode]; case 'ca': return ca[countryCode]; + case 'fa': + return fa[countryCode]; case 'en': default: return en[countryCode]; @@ -181,7 +184,8 @@ class _CountryLocalizationsDelegate 'ja', 'id', 'cs', - 'ca' + 'ca', + 'fa', ].contains(locale.languageCode); } diff --git a/lib/src/country_parser.dart b/lib/src/country_parser.dart index e3d4cd6..9ddea09 100644 --- a/lib/src/country_parser.dart +++ b/lib/src/country_parser.dart @@ -35,6 +35,7 @@ import 'res/strings/sk.dart'; import 'res/strings/tr.dart'; import 'res/strings/tw.dart'; import 'res/strings/uk.dart'; +import 'res/strings/fa.dart'; /// Used to parse simple string representations of countries, commonly used in /// databases and other forms of storage, to a Country object. @@ -286,6 +287,8 @@ class CountryParser { return ca; case 'he': return he; + case 'fa': + return fa; case 'en': default: return en; @@ -330,6 +333,7 @@ class CountryParser { const Locale('cs'), const Locale('ca'), const Locale('he'), + const Locale('fa'), const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hans'), const Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant'), ]..removeWhere((Locale l) => exclude.contains(l)); diff --git a/lib/src/res/strings/fa.dart b/lib/src/res/strings/fa.dart new file mode 100644 index 0000000..0dfef62 --- /dev/null +++ b/lib/src/res/strings/fa.dart @@ -0,0 +1,250 @@ +Map fa = { + "AF": "افغانستان", + "AX": "جزایر آلاند", + "AL": "آلبانی", + "DZ": "الجزایر", + "AS": "ساموآی آمریکایی", + "AD": "آندورا", + "AO": "آنگولا", + "AI": "آنگویلا", + "AG": "آنتیگوا و باربودا", + "AR": "آرژانتین", + "AM": "ارمنستان", + "AW": "آروبا", + "AC": "جزیره صعود", + "AU": "استرالیا", + "AT": "اتریش", + "AZ": "آذربایجان", + "BS": "باهاما", + "BH": "بحرین", + "BD": "بنگلادش", + "BB": "باربادوس", + "BY": "بلاروس", + "BE": "بلژیک", + "BZ": "بلیز", + "BJ": "بنین", + "BM": "برمودا", + "BT": "بوتان", + "BO": "بولیوی", + "BA": "بوسنی و هرزگوین", + "BW": "بوتسوانا", + "BR": "برزیل", + "IO": "سرزمین بریتانیایی اقیانوس هند", + "VG": "جزایر ویرجین بریتانیا", + "BN": "برونئی", + "BG": "بلغارستان", + "BF": "بورکینافاسو", + "BI": "بوروندی", + "KH": "کامبوج", + "CM": "کامرون", + "CA": "کانادا", + "CV": "کیپ ورد", + "BQ": "هلند کارائیب", + "KY": "جزایر کیمن", + "CF": "جمهوری آفریقای مرکزی", + "TD": "چاد", + "CL": "شیلی", + "CN": "چین", + "CX": "جزیره کریسمس", + "CC": "جزایر کوکوس [کیلینگ]", + "CO": "کلمبیا", + "KM": "کومور", + "CD": "جمهوری دموکراتیک کنگو", + "CG": "جمهوری کنگو", + "CK": "جزایر کوک", + "CR": "کاستاریکا", + "CI": "ساحل عاج", + "HR": "کرواسی", + "CU": "کوبا", + "CW": "کوراسائو", + "CY": "قبرس", + "CZ": "جمهوری چک", + "DK": "دانمارک", + "DJ": "جیبوتی", + "DM": "دومینیکا", + "DO": "جمهوری دومینیکن", + "TL": "تیمور شرقی", + "EC": "اکوادور", + "EG": "مصر", + "SV": "السالوادور", + "GQ": "گینه استوایی", + "ER": "اریتره", + "EE": "استونی", + "ET": "اتیوپی", + "FK": "جزایر فالکلند [جزیره مالویناس]", + "FO": "جزایر فارو", + "FJ": "فیجی", + "FI": "فنلاند", + "FR": "فرانسه", + "GF": "گویان فرانسه", + "PF": "پلینزی فرانسه", + "GA": "گابن", + "GM": "گامبیا", + "GE": "گرجستان", + "DE": "آلمان", + "GH": "غنا", + "GI": "جبل الطارق", + "GR": "یونان", + "GL": "گرینلند", + "GD": "گرنادا", + "GP": "گوادلوپ", + "GU": "گوام", + "GT": "گواتمالا", + "GG": "گرنزی", + "GN": "گینه کوناکری", + "GW": "گینه بیسائو", + "GY": "گویان", + "HT": "هائیتی", + "HM": "جزیره هرد و جزایر مک دونالد", + "HN": "هندوراس", + "HK": "هنگ کنگ", + "HU": "مجارستان", + "IS": "ایسلند", + "IN": "هند", + "ID": "اندونزی", + "IR": "ایران", + "IQ": "عراق", + "IE": "ایرلند", + "IM": "جزیره مرد", + "IL": "اسرائیل", + "IT": "ایتالیا", + "JM": "جامائیکا", + "JP": "ژاپن", + "JE": "جرسی", + "JO": "اردن", + "KZ": "قزاقستان", + "KE": "کنیا", + "KI": "کیریباتی", + "XK": "کوزوو", + "KW": "کویت", + "KG": "قرقیزستان", + "LA": "لائوس", + "LV": "لتونی", + "LB": "لبنان", + "LS": "لسوتو", + "LR": "لیبریا", + "LY": "لیبی", + "LI": "لیختن اشتاین", + "LT": "لیتوانی", + "LU": "لوکزامبورگ", + "MO": "ماکائو", + "MK": "مقدونیه", + "MG": "ماداگاسکار", + "MW": "مالاوی", + "MY": "مالزی", + "MV": "مالدیو", + "ML": "مالی", + "MT": "مالتا", + "MH": "جزایر مارشال", + "MQ": "مارتینیک", + "MR": "موریتانیا", + "MU": "موریس", + "YT": "مایوته", + "MX": "مکزیک", + "FM": "میکرونزی", + "MD": "مولداوی", + "MC": "موناکو", + "MN": "مغولستان", + "ME": "مونته نگرو", + "MS": "مونتسرات", + "MA": "مراکش", + "MZ": "موزامبیک", + "MM": "میانمار [برمه]", + "NA": "نامیبیا", + "NR": "نائورو", + "NP": "نپال", + "NL": "هلند", + "NC": "کالدونیای جدید", + "NZ": "نیوزیلند", + "NI": "نیکاراگوئه", + "NE": "نیجر", + "NG": "نیجریه", + "NU": "نیوئه", + "NF": "جزیره نورفولک", + "KP": "کره شمالی", + "MP": "جزایر ماریانای شمالی", + "NO": "نروژ", + "OM": "عمان", + "PK": "پاکستان", + "PW": "پالائو", + "PS": "سرزمین های فلسطینی", + "PA": "پاناما", + "PG": "پاپوآ گینه نو", + "PY": "پاراگوئه", + "PE": "پرو", + "PH": "فیلیپین", + "PL": "لهستان", + "PT": "پرتغال", + "PR": "پورتوریکو", + "QA": "قطر", + "RE": "رئونیون", + "RO": "رومانی", + "RU": "روسیه", + "RW": "روآندا", + "BL": "سنت بارتلمی", + "SH": "سنت هلنا", + "KN": "سنت کیتس", + "LC": "سنت لوسیا", + "MF": "سنت مارتین", + "PM": "سنت پیر و میکلون", + "VC": "سنت وینسنت", + "WS": "ساموآ", + "SM": "سان مارینو", + "ST": "سائو تومه و پرنسیپ", + "SA": "عربستان سعودی", + "SN": "سنگال", + "RS": "صربستان", + "SC": "سیشل", + "SL": "سیرا لئون", + "SG": "سنگاپور", + "SX": "سینت مارتن", + "SK": "اسلواکی", + "SI": "اسلوونی", + "SB": "جزایر سلیمان", + "SO": "سومالی", + "ZA": "آفریقای جنوبی", + "GS": "گرجستان جنوبی و جزایر ساندویچ جنوبی", + "KR": "کره جنوبی", + "SS": "سودان جنوبی", + "ES": "اسپانیا", + "LK": "سری لانکا", + "SD": "سودان", + "SR": "سورینام", + "SJ": "سوالبارد و یان ماین" + "SZ": "اسواتینی", + "SE": "سوئد", + "CH": "سوئیس", + "SY": "سوریه", + "TW": "تایوان", + "TJ": "تاجیکستان", + "TZ": "تانزانیا", + "TH": "تایلند", + "TG": "توگو", + "TK": "توکلائو", + "TO": "تونگا", + "TT": "ترینیداد/توباگو", + "TN": "تونس", + "TR": "ترکیه", + "TM": "ترکمنستان", + "TC": "جزایر تورکس و کایکوس", + "TV": "تووالو", + "VI": "جزایر ویرجین ایالات متحده", + "UG": "اوگاندا", + "UA": "اوکراین", + "AE": "امارات متحده عربی", + "GB": "بریتانیا", + "US": "ایالات متحده", + "UY": "اروگوئه", + "UZ": "ازبکستان", + "VU": "وانواتو", + "VA": "شهر واتیکان", + "VE": "ونزوئلا", + "VN": "ویتنام", + "WF": "والیس و فوتونا", + "WW": "در سراسر جهان", + "EH": "صحرای غربی", + "YE": "یمن", + "ZM": "زامبیا", + "ZW": "زیمبابوه", + "search": "جستجو", +};