Skip to content

Commit ce548de

Browse files
committed
add: locale data
1 parent 452eced commit ce548de

16 files changed

+511
-319
lines changed

lib/l10n/app_am.arb

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,71 @@
33
"language": "ቋንቋ",
44
"@language": {
55
"description": "አማርኛ"
6-
}
6+
},
7+
"welcome": "እንኳን ደህና መጡ!",
8+
"achieveYourFitness": "ከእኛ ጋር የአካል ብቃት ግቦችን ያሳኩ ።",
9+
"exploreEquipments": "የእኛን የተለያዩ የጂም ዕቃዎች ይጎብኙ።",
10+
"manageSubscriptionPlan": "የአካል ብቃት ምዝገባ ዕቅድዎን ይቆጣጠሩ።",
11+
"checkoutSessionsPricing": "የአካል ብቃት እንቅስቃሴ ክፍለ ጊዜዎችን እና ዋጋን ይመልከቱ",
12+
"signup": "ይመዝገቡ",
13+
"login": "ይግቡ",
14+
"logout": "ይውጡ",
15+
"welcomeBack": "እንኳን ደህና በደህና ተመለሱ!",
16+
"email": "ኢ-ሜይል",
17+
"password": "የይለፍ ቃል",
18+
"forgotPassword": "የሚስጥር ቁጥር ረሱ",
19+
"dontHaveAccount": "መለያ የሎትም?",
20+
"itWontTakeLong": "ብዙ ጊዜ አይፈጅም!",
21+
"firstName": "ስም",
22+
"lastName": "የአባት ስም",
23+
"reEnterPassword": "የይለፍ ቃል ድጋሚ",
24+
"phoneNumber": "ስልክ ቁጥር",
25+
"gymStartDate": "የጂም የጀመሩብት ቀን",
26+
"gymEndDate": "የጂም ማብቂያ ቀን",
27+
"im": "እኔ",
28+
"insider": "የግቢው ማህበረሰብ",
29+
"outsider": "የውጪ ማህበረሰብ",
30+
"selectNumberOfWorkoutDays": "የአካል ብቃት እንቅስቃሴ ቀናትን ቁጥር ይምረጡ",
31+
"oneThreeDayspWeek": "በሳምንት 1-3 ቀን",
32+
"fourSixDayspWeek": "በሳምንት 4-6 ቀን",
33+
"selectPrefferedWorkout": "የሚፈልጉትን የአካል ብቃት እንቅስቃሴ አይነት ይምረጡ",
34+
"strengthTraining": "የጥንካሬ ስልጠና",
35+
"aerobicsTraining": "የኤሮቢክስ ስልጠና",
36+
"cardioTraining": "የካርዲዮ ስልጠና",
37+
"alreadyHaveAccount": "መለያ አለህ?",
38+
"theme": "ጭብጥ",
39+
"settings": "ማስተካከያዎች",
40+
"faqs": "ብዙ ጊዜ የሚጠየቁ ጥያቄዎች",
41+
"contactDev": "አበልፃጊውን ያግኙ",
42+
"pricingAndWrokout": "የዋጋ እና የአካል ብቃት እንቅስቃሴ ክፍለ ጊዜዎች",
43+
"pricing": "የዋጋ አሰጣጥ",
44+
"workoutDays": "የአካል ብቃት እንቅስቃሴ ቀናት",
45+
"oneThreeDays": "1-3 ቀናት",
46+
"fourSixDays": "4-6 ቀናት",
47+
"workoutType": "የአካል ብቃት እንቅስቃሴ ዓይነት",
48+
"priceForInsiders": "የዉስጥ አዋቂ ዋጋ",
49+
"priceForOutsiders": "የውጭ ሰዎች ዋጋ",
50+
"workoutSessions": "የአካል ብቃት እንቅስቃሴ ክፍለ ጊዜዎች",
51+
"everyMonWedFri": "ዘወትር ሰኞ፣ ረቡዕ እና አርብ",
52+
"everyTueThuSat": "ዘወትር ማክሰኞ፣ ሐሙስ እና ቅዳሜ",
53+
"programMon11": "ሰኞ ጠዋት: ከ 12:00 - 01:30",
54+
"programMon12": "ረቡዕ ጠዋት: ከ 12:00 - 01:30",
55+
"programMon13": "አርብ ጠዋት: ከ 12:00 - 01:30",
56+
"programMon21": "ሰኞ ከሰአት: ከ 09:00 - 10:30",
57+
"programMon22": "ረቡዕ ከሰአት: ከ 09:00 - 10:30",
58+
"programMon23": "አርብ ከሰአት: ከ 09:00 - 10:30",
59+
"programMon31": "ሰኞ አመሻሽ: ከ 11:00 - 12:30",
60+
"programMon32": "ረቡዕ አመሻሽ: ከ 11:00 - 12:30",
61+
"programMon33": "አርብ አመሻሽ: ከ 11:00 - 12:30",
62+
"programTue11": "ማክሰኞ ጠዋት: ከ 12:00 - 01:30",
63+
"programTue12": "ሃሙስ ጠዋት: ከ 12:00 - 01:30",
64+
"programTue13": "ቅዳሜ ጠዋት: ከ 12:00 - 01:30",
65+
"programTue21": "ማክሰኞ ከሰአት: ከ 10:00 - 11:30",
66+
"programTue22": "ሃሙስ ከሰአት: ከ 10:00 - 11:30",
67+
"programTue23": "ቅዳሜ ከሰአት: ከ 10:00 - 11:30",
68+
"programTue31": "ማክሰኞ አመሻሽ: ከ 12:00 - 01:30",
69+
"programTue32": "ሃሙስ አመሻሽ: ከ 12:00 - 01:30",
70+
"programTue33": "ቅዳሜ አመሻሽ: ከ 11:00 - 12:30",
71+
"threeDayspWeek": "በሳምንት 3 ቀን",
72+
"sixDayspWeek": "በሳምንት 6 ቀን"
773
}

lib/l10n/app_en.arb

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,71 @@
33
"language": "Language",
44
"@language": {
55
"description": "English"
6-
}
6+
},
7+
"welcome": "Welcome!",
8+
"achieveYourFitness": "Achieve You Fitness Goals With Us.",
9+
"exploreEquipments": "Explore Our Variety of Gym Equipments.",
10+
"manageSubscriptionPlan": "Manage Your Fitness Subscription Plan.",
11+
"checkoutSessionsPricing": "Check out workout sessions & pricing",
12+
"signup": "Signup",
13+
"login": "Login",
14+
"logout": "Logout",
15+
"welcomeBack": "Welcome back!",
16+
"email": "E-mail",
17+
"password": "Password",
18+
"forgotPassword": "Forgot your password?",
19+
"dontHaveAccount": "Don't have an account?",
20+
"itWontTakeLong": "It won't take long!",
21+
"firstName": "First name",
22+
"lastName": "Last name",
23+
"reEnterPassword": "Re-enter password",
24+
"phoneNumber": "Phone number",
25+
"gymStartDate": "Gym strat date",
26+
"gymEndDate": "Gym end date",
27+
"im": "I'm",
28+
"insider": "Insider",
29+
"outsider": "Outsider",
30+
"selectNumberOfWorkoutDays": "Select number of workout days",
31+
"oneThreeDayspWeek": "1-3 Days per Week",
32+
"fourSixDayspWeek": "4-6 Days per Week",
33+
"selectPrefferedWorkout": "Select preffered workout type",
34+
"strengthTraining": "Strength Training",
35+
"aerobicsTraining": "Aerobics Training",
36+
"cardioTraining": "Cardio Training",
37+
"alreadyHaveAccount": "Already have an account?",
38+
"theme": "Theme",
39+
"settings": "Settings",
40+
"faqs": "FAQs",
41+
"contactDev": "Contact Developer",
42+
"pricingAndWrokout": "Pricing and Workout Sessions",
43+
"pricing": "Pricing",
44+
"workoutDays": "Workout days",
45+
"oneThreeDays": "1-3 days",
46+
"fourSixDays": "4-6 days",
47+
"workoutType": "Workout type",
48+
"priceForInsiders": "Price for insiders",
49+
"priceForOutsiders": "Price for outsiders",
50+
"workoutSessions": "Workout Sessions",
51+
"everyMonWedFri": "Every Monday, Wednesday, and Friday",
52+
"everyTueThuSat": "Every Tuesday, Thursday, and Saturday",
53+
"programMon11": "Mon morning: 06:00 AM - 07:30 AM",
54+
"programMon12": "Wed morning: 06:00 AM - 07:30 AM",
55+
"programMon13": "Fri morning: 06:00 AM - 07:30 AM",
56+
"programMon21": "Mon afternoon: 03:00 PM - 04:30 PM",
57+
"programMon22": "Wed afternoon: 03:00 PM - 04:30 PM",
58+
"programMon23": "Fri afternoon: 03:00 PM - 04:30 PM",
59+
"programMon31": "Mon afternoon: 05:00 PM - 06:30 PM",
60+
"programMon32": "Wed afternoon: 05:00 PM - 06:30 PM",
61+
"programMon33": "Fri afternoon: 05:00 PM - 06:30 PM",
62+
"programTue11": "Tue morning: 06:00 AM - 07:30 AM",
63+
"programTue12": "Thu morning: 06:00 AM - 07:30 AM",
64+
"programTue13": "Sat morning: 06:00 AM - 07:30 AM",
65+
"programTue21": "Tue afternoon: 04:00 PM - 05:30 PM",
66+
"programTue22": "Thu afternoon: 04:00 PM - 05:30 PM",
67+
"programTue23": "Sat afternoon: 04:00 PM - 05:30 PM",
68+
"programTue31": "Tue afternoon: 06:00 PM - 07:30 PM",
69+
"programTue32": "Thu afternoon: 06:00 PM - 07:30 PM",
70+
"programTue33": "Sat afternoon: 06:00 PM - 07:30 PM",
71+
"threeDayspWeek": "3 Days/week",
72+
"sixDayspWeek": "6 Days/week"
773
}

lib/main.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'package:dbu_gym/providers/form_provider.dart';
66
import 'package:dbu_gym/providers/home_page_grid_provider.dart';
77
import 'package:dbu_gym/providers/image_provider.dart';
88
import 'package:dbu_gym/firebase_options.dart';
9+
import 'package:dbu_gym/providers/locale_provider.dart';
910
import 'package:dbu_gym/providers/payment_upload_provider.dart';
1011
import 'package:dbu_gym/providers/pricing_provider.dart';
1112
import 'package:dbu_gym/providers/subscription_provider.dart';
@@ -52,14 +53,21 @@ void main(List<String> args) async {
5253
ChangeNotifierProvider(create: (context) => UserProvider()),
5354
ChangeNotifierProvider(create: (context) => PaymentUploadProvider()),
5455
ChangeNotifierProvider(create: (context) => SubscriptionProvider()),
56+
ChangeNotifierProvider(
57+
create: (context) => LocaleProvider(
58+
prefs: prefs,
59+
)),
5560
],
5661
child: Builder(builder: (context) {
5762
// get the current selected theme and update the theme based on user selection
5863
final selectedTheme =
5964
Provider.of<ThemeProvider>(context).getCurrentThemeMode();
65+
66+
final locale = Provider.of<LocaleProvider>(context).locale;
6067
return MaterialApp.router(
6168
localizationsDelegates: AppLocalizations.localizationsDelegates,
6269
supportedLocales: AppLocalizations.supportedLocales,
70+
locale: Locale(locale),
6371
routerConfig: AppRouter.router,
6472
debugShowCheckedModeBanner: false,
6573
themeMode: selectedTheme == 'system'

lib/providers/locale_provider.dart

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:shared_preferences/shared_preferences.dart';
3+
4+
class LocaleProvider with ChangeNotifier {
5+
SharedPreferences prefs;
6+
LocaleProvider({
7+
required this.prefs,
8+
});
9+
10+
String get locale {
11+
return prefs.getString("locale") ?? "en";
12+
}
13+
14+
void updateLocale(String locale) {
15+
prefs.setString("locale", locale);
16+
notifyListeners();
17+
}
18+
}

0 commit comments

Comments
 (0)