Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support for FA (Persian) language #157

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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'
],
Expand Down
6 changes: 5 additions & 1 deletion lib/src/country_localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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];
Expand Down Expand Up @@ -181,7 +184,8 @@ class _CountryLocalizationsDelegate
'ja',
'id',
'cs',
'ca'
'ca',
'fa',
].contains(locale.languageCode);
}

Expand Down
4 changes: 4 additions & 0 deletions lib/src/country_parser.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -286,6 +287,8 @@ class CountryParser {
return ca;
case 'he':
return he;
case 'fa':
return fa;
case 'en':
default:
return en;
Expand Down Expand Up @@ -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));
Expand Down
250 changes: 250 additions & 0 deletions lib/src/res/strings/fa.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
Map<String, String> 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": "جستجو",
};