Skip to content

Commit a960319

Browse files
authored
Ukrainian localization (#1)
* Ukrainian localization * Add .github templates
1 parent c56cbed commit a960319

6 files changed

Lines changed: 159 additions & 5 deletions

File tree

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@ShiftHackZ

.github/pull_request_template.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
### Description
2+
- Put detailed description of your changes here
3+
4+
### Screenshots / Video (Optional)
5+
6+
### Checklist
7+
- [ ] I have resolved all the comments;
8+
- [ ] I have ensured this PR does not contain any breaking changes for existing functionality;
9+
- [ ] I have added automated tests that cover the new behavior and removed obsolete tests and code;
10+
11+
### Tested on
12+
- [ ] DEV: iOS
13+
- [ ] DEV: Android
14+
- [ ] PROD: iOS
15+
- [ ] PROD: Android

assets/translations/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"lang": "English",
33
"app_name": "WooApp",
4-
"recently_viewed": "Недавно вы интересовались:",
4+
"recently_viewed": "Recently you have looked at:",
55
"tab_home": "Home",
66
"tab_catalog": "Catalog",
77
"tab_search": "Search",

assets/translations/uk.json

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
{
2+
"lang": "Українська",
3+
"app_name": "WooApp",
4+
"recently_viewed": "Нещодавно вас зацікавило:",
5+
"tab_home": "Товари",
6+
"tab_catalog": "Каталог",
7+
"tab_search": "Пошук",
8+
"tab_cart": "Корзина",
9+
"tab_profile": "Профіль",
10+
"exp_show_more": "Розгорнути",
11+
"exp_show_less": "Згорнути",
12+
"settings": "Налаштування",
13+
"product_attributes": "Характеристики товару",
14+
"product_information": "Інформація",
15+
"sign_in": "Авторизація",
16+
"sign_in_no_auth": "Увійти",
17+
"sign_in_footer": "Увійти",
18+
"sign_up": "Реєстрація",
19+
"sign_up_footer": "Зареєструйтесь",
20+
"sign_up_success": "Аккаунт успішно створени.",
21+
"reset_success": "Посилання для відновлення паролю надіслано на Ваш e-mail.",
22+
"password_recovery": "Відновлення\nпароля",
23+
"no_auth_hint": "Авторизуйтесь щоб дивитися свій профіль, замовлення та ін.",
24+
"edit": "Змінити",
25+
"edit_profile": "Зміна профілю",
26+
"update_profile": "Оновити профіль",
27+
"update_shipping": "Зберегти адресу",
28+
"login": "Увійти",
29+
"logout": "Вихід",
30+
"register": "Створити аккаунт",
31+
"review": "Відгук",
32+
"reviews": "Відгуки",
33+
"review_add": "Додати відгук",
34+
"review_add_action": "Оцінити",
35+
"username": "Ім'я користувача",
36+
"first_name": "Ім'я",
37+
"last_name": "Прізвище",
38+
"email": "E-Mail",
39+
"phone": "Телефон",
40+
"password": "Пароль",
41+
"password_repeat": "Підтвердження пароля",
42+
"forgot_credentials": "Забули пароль?",
43+
"reset": "Відновити",
44+
"have_no_account": "Ще немає аккаунта?",
45+
"have_account": "Вже зареєстровані?",
46+
"remember_password": "Пам'ятаєте свій пароль?",
47+
"shipping_country": "Країна",
48+
"shipping_city": "Місто",
49+
"shipping_state": "Область",
50+
"shipping_post_code": "Поштовий індекс",
51+
"shipping_address_1": "Адреса",
52+
"shipping_address_2": "Детальна адреса",
53+
"congratulations": "Поздоровляємо",
54+
"success": "Успіх",
55+
"shipping": "Адреса доставки",
56+
"billing": "Платіжна інформація",
57+
"wish_list": "Список бажань",
58+
"coupons": "Акційні купони",
59+
"orders": "Мої замовлення",
60+
"order": "Замовлення",
61+
"order_item_date": "Створене",
62+
"order_item_total": "Загальна сума",
63+
"shops": "Наші магазини",
64+
"support": "Служба підтримки",
65+
"help": "Допомога",
66+
"faq": "F.A.Q.",
67+
"privacy_policy": "Політика конфіденційності",
68+
"terms_of_use": "Умови використання",
69+
"about_us": "Про нас",
70+
"rate_app": "Оцініть додаток",
71+
"in_stock": "В наявності",
72+
"out_of_stock": "Немає в наявності",
73+
"back_order": "Передзамовлення",
74+
"sort_date_asc": "Спочатку старі",
75+
"sort_date_desc": "Спочатку нові",
76+
"sort_alphabet_asc": "За алфавітом (А-Я)",
77+
"sort_alphabet_desc": "За алфавітом (Я-А)",
78+
"sort_rating_asc": "Самі рейтингові",
79+
"sort_rating_desc": "З низким рейтингом",
80+
"sort_popular_asc": "Самі популярні",
81+
"sort_popular_desc": "Менш популярні",
82+
"sort_price_asc": "Від дешевих до дорогих",
83+
"sort_price_desc": "Від дорогих до дешевих",
84+
"filter_clear": "Скинути",
85+
"filter_apply": "Застосувати",
86+
"filter_featured": "Обрані товари",
87+
"filter_on_sale": "Акції та розпродажі",
88+
"filter_stock": "Наявність",
89+
"filter_price": "Ціна",
90+
"product_property_id": "Ідентифікатор",
91+
"product_property_name": "Найменування",
92+
"product_property_price": "Ціна",
93+
"product_property_created": "Дата створення",
94+
"product_property_modified": "Дата модифікації",
95+
"product_property_type": "Тип товару",
96+
"product_property_status": "Статус",
97+
"product_property_stock": "Наявність",
98+
"product_property_sku": "SKU",
99+
"product_property_rating": "Рейтинг",
100+
"product_property_images": "Зображення",
101+
"product_property_undefined": "<не задано>",
102+
"cart_empty_title": "Ваша корзина порожня",
103+
"cart_empty_subtitle": "Саме час зробити выбір!",
104+
"cart_empty_action": "За покупками!",
105+
"settings_language": "Мова",
106+
"settings_password": "Змінити пароль",
107+
"catalog_view_all": "Показати все",
108+
"catalog_total": "Всього товарів",
109+
"cart_add": "В корзину",
110+
"cart_checkout": "Замовити",
111+
"cart_checkout_full": "Оформити замовлення",
112+
"cart_contain": "В корзині",
113+
"create_order_title": "Оформлення замовлення",
114+
"create_order_products": "Товари",
115+
"create_order_totals": "Загальна сума",
116+
"create_order_person": "Отримувач замовлення",
117+
"create_order_name": "Ім'я",
118+
"create_order_phone": "Телефон",
119+
"create_order_shipping": "Адреса доставки",
120+
"create_order_shipping_method": "Спосіб доставки",
121+
"create_order_payment_method": "Спосіб оплати",
122+
"create_order_country": "Країна",
123+
"create_order_state": "Область",
124+
"create_order_city": "Місто",
125+
"create_order_post": "Поштовый індекс",
126+
"create_order_address_1": "Адреса",
127+
"create_order_address_2": "Інформація",
128+
"create_order_terms": "Я ознайовився й повністю погоджуюся з правилами магазину, умовами використання додатку.",
129+
"search": "Пошук",
130+
"error": "Помилка",
131+
"error_state_oops": "Ой \uD83D\uDE32",
132+
"error_state_title": "Щось пішло не так",
133+
"error_state_subtitle": "Ми працюємо над усуненням помили.\nБудь-ласка, спробуйте ще раз.",
134+
"error_state_retry": "Перезавантажити",
135+
"error_user_not_exist": "Користувача з таким ім'ям не існує.\nБудь-ласка, перевірте ім'я користувача!"
136+
}

lib/main.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ void main() async {
1919
EasyLocalization(
2020
supportedLocales: [
2121
Locale('en'),
22-
Locale('ru')
22+
Locale('uk'),
23+
Locale('ru'),
2324
],
2425
path: 'assets/translations',
2526
fallbackLocale: Locale('en'),

lib/widget/widget_settings_language.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ class LanguageWidget extends StatefulWidget {
2020
}
2121

2222
class _LanguageWidgetState extends State<LanguageWidget> {
23-
final List<Lang> langs = [
23+
final List<Lang> _languages = [
2424
Lang('en', 'English'),
25+
Lang('uk', 'Українська'),
2526
Lang('ru', 'Русский'),
2627
];
2728

@@ -30,8 +31,8 @@ class _LanguageWidgetState extends State<LanguageWidget> {
3031
padding: EdgeInsets.only(bottom: 8),
3132
child: ListView.builder(
3233
shrinkWrap: true,
33-
itemCount: 2,
34-
itemBuilder: (context, index) => _langItem(langs[index]),
34+
itemCount: _languages.length,
35+
itemBuilder: (context, index) => _langItem(_languages[index]),
3536
),
3637
);
3738

0 commit comments

Comments
 (0)