Skip to content
This repository has been archived by the owner on Jul 20, 2022. It is now read-only.

adding arabic language #132

Closed
wants to merge 6 commits into from
Closed
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
57 changes: 6 additions & 51 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@ class _MyAppState extends State<MyApp> {
Locale('de'),
Locale('pt'),
Locale('ko'),
Locale('ar'),
],
localeResolutionCallback: (Locale locale, Iterable<Locale> supportedLocales) {
return locale;
},
localizationsDelegates: [
CountryLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
Expand All @@ -40,60 +44,11 @@ class _MyAppState extends State<MyApp> {
onChanged: print,
// Initial selection and favorite can be one of code ('IT') OR dial_code('+39')
initialSelection: 'IT',
favorite: ['+39', 'FR'],
countryFilter: ['IT', 'FR'],
favorite: ['+39', 'FR', "EG"],
showFlagDialog: false,
comparator: (a, b) => b.name.compareTo(a.name),
//Get the country information relevant to the initial selection
onInit: (code) =>
print("on init ${code.name} ${code.dialCode} ${code.name}"),
),
SizedBox(
width: 400,
height: 60,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: CountryCodePicker(
onChanged: print,
hideMainText: true,
showFlagMain: true,
showFlag: false,
initialSelection: 'TF',
hideSearch: true,
showCountryOnly: true,
showOnlyCountryWhenClosed: true,
alignLeft: true,
),
),
),
SizedBox(
width: 400,
height: 60,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: CountryCodePicker(
onChanged: (e) => print(e.toLongString()),
initialSelection: 'TF',
showCountryOnly: true,
showOnlyCountryWhenClosed: true,
favorite: ['+39', 'FR'],
),
),
),
SizedBox(
width: 100,
height: 60,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: CountryCodePicker(
enabled: false,
onChanged: (c) => c.name,
initialSelection: 'TF',
showCountryOnly: true,
showOnlyCountryWhenClosed: true,
favorite: ['+39', 'FR'],
),
),
onInit: (code) => print("on init ${code.name} ${code.dialCode} ${code.name}"),
),
],
),
Expand Down
19 changes: 4 additions & 15 deletions lib/country_localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,13 @@ class CountryLocalizations {
);
}

static const LocalizationsDelegate<CountryLocalizations> delegate =
_CountryLocalizationsDelegate();
static const LocalizationsDelegate<CountryLocalizations> delegate = _CountryLocalizationsDelegate();

Map<String, String> _localizedStrings;

Future<bool> load() async {
print('locale.languageCode: ${locale.languageCode}');
String jsonString = await rootBundle.loadString(
'packages/country_code_picker/i18n/${locale.languageCode}.json');
String jsonString = await rootBundle.loadString('packages/country_code_picker/i18n/${locale.languageCode}.json');
Map<String, dynamic> jsonMap = json.decode(jsonString);

_localizedStrings = jsonMap.map((key, value) {
Expand All @@ -38,21 +36,12 @@ class CountryLocalizations {
}
}

class _CountryLocalizationsDelegate
extends LocalizationsDelegate<CountryLocalizations> {
class _CountryLocalizationsDelegate extends LocalizationsDelegate<CountryLocalizations> {
const _CountryLocalizationsDelegate();

@override
bool isSupported(Locale locale) {
return [
'en',
'it',
'fr',
'es',
'de',
'pt',
'ko',
].contains(locale.languageCode);
return ['en', 'it', 'fr', 'es', 'de', 'pt', 'ko', 'ar'].contains(locale.languageCode);
}

@override
Expand Down
253 changes: 253 additions & 0 deletions lib/i18n/ar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
{
"AD": "أندورا",
"AE": "الامارات العربية المتحدة",
"AF": "أفغانستان",
"AG": "أنتيغو وباربودا",
"AI": "أنغويلا",
"AL": "ألبانيا",
"AM": "أرمينيا",
"AO": "أنغولا",
"AQ": "انتاركتيكا",
"AR": "أرجنتينا",
"AS": "ساموا الأمريكية",
"AT": "النمسا",
"AU": "أستراليا",
"AW": "أروبا",
"AX": "جزر أولاند",
"AZ": "أذربيجان",
"BA": "البوسنة والهرسك",
"BB": "بربادوس",
"BD": "بنغلاديش",
"BE": "البلجيك",
"BF": "بوركينا فاسو",
"BG": "بلغاريا",
"BH": "البحرين",
"BI": "بوروندي",
"BJ": "بنين",
"BL": "سان بارتيلمي",
"BM": "برمودا",
"BN": "سلطنة بروناي",
"BO": "بوليفيا",
"BQ": "بونير وسينت أوستاتيوس وسابا",
"BR": "البرازيل",
"BS": "جزر الباهاما",
"BT": "مملكة بوتان",
"BV": "جزيرة بوفيت",
"BW": "بوتسوانا",
"BY": "بيلاروسيا",
"BZ": "بيليز",
"CA": "كندا",
"CC": "جزر كوكوس",
"CD": "جمهورية الكونغو الديمقراطية",
"CF": "جمهورية أفريقيا الوسطى",
"CG": "جمهورية الكونغو",
"CH": "سويسرا",
"CI": "ساحل العاج",
"CK": "جزر كوك",
"CL": "تشيلي",
"CM": "الكاميرون ",
"CN": "الصين",
"CO": "كولومبيا",
"CR": "كوستاريكا",
"CU": "كوبا",
"CV": "جمهورية الرأس الأخضر",
"CW": "كوراساو",
"CX": "جزر كريسماس ",
"CY": "جزر سيروس",
"CZ": "جمهورية التشيك ",
"DE": "ألمانيا",
"DJ": "جيبوتي",
"DK": "الدينمارك",
"DM": "دومينيكا",
"DO": "جمهورية الدومينيكان",
"DZ": "الجزائر",
"EC": "الاكوادور",
"EE": "استونيا",
"EG": "مصر",
"EH": "الجمهورية العربية الصحراوية الديمقراطية",
"ER": "اريتريا",
"ES": "أسبانيا",
"ET": "أثيوبيا",
"FI": "فنلندا",
"FJ": "فيجي",
"FK": "جزر فوكلاند",
"FM": "ميكرونيسيا",
"FO": "جزر فارو",
"FR": "فرنسا",
"GA": "الغابون",
"GB": "المملكة المتحدة",
"GD": "غرينادا",
"GE": "جورجيا",
"GF": "غويانا الفرنسية",
"GG": "غيرنزي",
"GH": "غانا",
"GI": "جبل طارق",
"GL": "جرينلاند",
"GM": "غامبيا",
"GN": "غينيا",
"GP": "غوادلوب",
"GQ": "غينيا الاستوائية",
"GR": "اليونان",
"GS": "جورجيا الجنوبية وجزر ساندويتش الجنوبية",
"GT": "غواتيمالا",
"GU": "غوام",
"GW": "غينيا بيساو",
"GY": "غيانا",
"HK": "هونغ كونغ",
"HM": "جزيرة هيرد وجزر ماكدونالد",
"HN": "هندوراس",
"HR": "كرواتيا",
"HT": "هايتي",
"HU": "المجر",
"ID": "أندونيسيا",
"IE": "أيرلندا",
"IL": "أسرائيل",
"IM": "جزيرة مان",
"IN": "الهند",
"IO": "إقليم المحيط الهندي البريطاني",
"IQ": "العراق",
"IR": "ايران",
"IS": "ايسلندا",
"IT": "ايطاليا",
"JE": "جيرسي",
"JM": "جامايكا",
"JO": "الأردن",
"JP": "اليابان",
"KE": "كينيا",
"KG": "قيرغيزستان",
"KH": "كمبوديا",
"KI": "كيريباتي",
"KM": "جزر القمر",
"KN": "سانت كيتس ونيفس",
"KP": "كوريا الشمالية",
"KR": "كوريا الجنوبية",
"KW": "الكويت",
"KY": "جزر كايمان",
"KZ": "كازاخستان",
"LA": "جمهورية لاوس الديمقراطية الشعبية",
"LB": "لبنان",
"LC": "سانت لوسيا",
"LI": " ليختنشتاين",
"LK": "سيريلانكا",
"LR": "ليبيريا",
"LS": "ليسوتو",
"LT": "ليتوانيا",
"LU": "لوكسمبورغ",
"LV": "لاتفيا",
"LY": "ليبيا",
"MA": "المغرب",
"MC": "موناكو",
"MD": "مولدوفا",
"ME": "الجبل الأسود",
"MF": "سانت مارتن",
"MG": "مدغشقر",
"MH": "جزر مارشال",
"MK": "مقدونيا",
"ML": "مالي",
"MM": "ميانمار",
"MN": "منغوليا",
"MO": "مكاو",
"MP": "جزر ماريانا الشمالية",
"MQ": "مارتينيك",
"MR": "موريتانيا العربية",
"MS": "مونتسيرات",
"MT": "مالطا",
"MU": "موريشيوس",
"MV": "المالديف",
"MW": "جمهورية الملاوي",
"MX": "المكسيك",
"MY": "ماليزيا",
"MZ": "موزمبيق",
"NA": "ناميبيا",
"NC": "كاليدونيا الجديدة",
"NE": "النيجر",
"NF": "جزيرة نورفولك",
"NG": "نيجريا",
"NI": "نيكاراغوا",
"NL": "هولندا",
"NO": "النرويج",
"NP": "نيبال",
"NR": "جمهورية ناورو",
"NU": "نييوي",
"NZ": "نيوزيلندا",
"OM": "عمان",
"PA": "بنما",
"PE": "بيرو",
"PF": "بولينيزيا الفرنسية",
"PG": "بابوا غينيا الجديدة",
"PH": "الفلبين",
"PK": "باكستان",
"PL": "بولندا",
"PM": "سان بيير وميكلون",
"PN": "جزر بيتكيرن",
"PR": "بورتوريكو",
"PS": "فلسطين",
"PT": "البرتغال",
"PW": "جمهورية بالاو",
"PY": "باراغواي",
"QA": "قطر",
"RE": "لا ريونيون",
"RO": "رومانيا",
"RS": "صربيا",
"RU": "روسيا",
"RW": "رواندا",
"SA": "السعودية",
"SB": "جزر سليمان",
"SC": "جمهورية سيشل",
"SD": "السودان",
"SE": "السويد",
"SG": "سنغافورة",
"SH": "سانت هيلينا",
"SI": "سلوفينيا",
"SJ": "سفالبارد ويان ماين",
"SK": "سلوفاكيا",
"SL": "سيراليون",
"SM": "سان مارينو",
"SN": "السينغال",
"SO": "الصومال",
"SR": "جمهورية سورينام",
"SS": "جنوب السودان",
"ST": "ساو تومي وبرينسيب",
"SV": "السلفادور",
"SX": "سانت مارتن",
"SY": "سوريا",
"SZ": "سوازيلاند",
"TC": "جزر توركس وكايكوس",
"TD": "تشاد",
"TF": "الأقاليم الجنوبية الفرنسية",
"TG": "توغو",
"TH": "تايلاند",
"TJ": "طاجيكستان",
"TK": "توكيلاو",
"TL": "تيمور الشرقية",
"TM": "تركمانستان",
"TN": "تونس",
"TO": "مملكة تونغا",
"TR": "تركيا",
"TT": "ترينيداد وتوباجو",
"TV": "توفالو",
"TW": "تايوان",
"TZ": "تنزانيا",
"UA": "اوكرانيا",
"UG": "أوغندا",
"UM": "جزر الولايات المتحدة الصغيرة النائية",
"US": "الولايات المتحدة الأمريكية",
"UY": "الأوروغواي",
"UZ": "أوزبكستان",
"VA": "الفاتيكان",
"VC": "سانت فينسنت والغرينادين",
"VE": "فنزويلا",
"VG": "جزر العذراء البريطانية",
"VI": "جزر العذراء الأمريكية",
"VN": "فيتنام",
"VU": "فانواتو",
"WF": "واليس وفوتونا",
"WS": "ساموا",
"XK": "كوسوفو",
"YE": "اليمن",
"YT": "مايوت",
"ZA": "جنوب أفريقيا",
"ZM": "زامبيا",
"ZW": "زيمبابوي",
"No country found": "لم يتم العثور على بلد"
}
3 changes: 2 additions & 1 deletion lib/i18n/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -248,5 +248,6 @@
"YT": "Mayotte",
"ZA": "Südafrika",
"ZM": "Sambia",
"ZW": "Zimbabwe"
"ZW": "Zimbabwe",
"No country found": "Kein Land gefunden"
}
5 changes: 3 additions & 2 deletions lib/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -248,5 +248,6 @@
"YT": "Mayotte",
"ZA": "South Africa",
"ZM": "Zambia",
"ZW": "Zimbabwe"
}
"ZW": "Zimbabwe",
"No country found": "No country found"
}
Loading