Skip to content

Commit 9331ea3

Browse files
authored
Add Ukrainian language (#106)
1 parent 2e64bd1 commit 9331ea3

7 files changed

Lines changed: 216 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2323
- Spanish ([@palacios22c](https://github.com/palacios22c))
2424
- Russian ([@C0dwiz](https://github.com/C0dwiz))
2525
- Corrected abbreviations for months and days of the week in Russian ([@Ayyas-RF](https://github.com/Ayyas-RF)) ([#105](https://github.com/prem-k-r/MaterialYouNewTab/pull/105))
26+
- Added support for Ukrainian ([@lozik4](https://github.com/lozik4)) ([#106](https://github.com/prem-k-r/MaterialYouNewTab/pull/106))
2627

2728
## [v3.3](https://github.com/prem-k-r/MaterialYouNewTab/compare/v3.2...v3.3) - Nov 23, 2025
2829

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ MYNT: Material You New Tab is a versatile browser extension that personalizes yo
2828
<a href="#-features">Features</a> •
2929
<a href="#-installation-guide">Installation Guide</a> •
3030
<a href="#download">Download</a> •
31-
<a href="#-currently-supported-languages-30">Currently Supported Languages</a>
31+
<a href="#-currently-supported-languages-31">Currently Supported Languages</a>
3232
<br>
3333
<a href="#-contributing">Contributing</a> •
3434
<a href="#-star-history">Star History</a> •
@@ -215,7 +215,7 @@ For a step-by-step walkthrough, watch this [installation guide video](https://yo
215215
216216
[![Watch the video](https://img.youtube.com/vi/P4ryQPixfw8/0.jpg)](https://youtu.be/P4ryQPixfw8)
217217
218-
## 🌐 Currently Supported Languages (30)
218+
## 🌐 Currently Supported Languages (31)
219219
220220
| Language | Code | Translator(s) |
221221
| -------------------------------------------------------------------------------------------- | :---: | ------------------------------------------------------------------------------------- |
@@ -246,6 +246,7 @@ For a step-by-step walkthrough, watch this [installation guide video](https://yo
246246
| <img src='https://flagcdn.com/in.svg' width=20> &nbsp; **Tamil** - தமிழ் | ta | [தமிழ்நேரம்](https://TamilNeram.github.io/) |
247247
| <img src='https://flagcdn.com/th.svg' width=20> &nbsp; **Thai** - ภาษาไทย | th | [Prin](https://github.com/prinsasina) |
248248
| <img src='https://flagcdn.com/tr.svg' width=20> &nbsp; **Turkish** - Türkçe | tr | [Nobody](https://github.com/Nobody9512), [Kerim Ölçer](https://github.com/kerimlcr) |
249+
| <img src='https://flagcdn.com/ua.svg' width=20> &nbsp; **Ukrainian** - Українська | uk | [Serhii Lozytskyi](https://github.com/lozik4) |
249250
| <img src='https://flagcdn.com/pk.svg' width=20> &nbsp; **Urdu** - اردو | ur | [Asfandiyar Khan](https://github.com/asfand-dev) |
250251
| <img src='https://flagcdn.com/uz.svg' width=20> &nbsp; **Uzbek** - O'zbek | uz | [Firdavs](https://github.com/Firdavs9512/) |
251252
| <img src='https://flagcdn.com/vn.svg' width=20> &nbsp; **Vietnamese** - Tiếng Việt | vn | [Diep](https://github.com/diepdo1810/), [Tuan](https://github.com/Tuan1-2-3) |

index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
<script src="locales/ta.js"></script>
7575
<script src="locales/th.js"></script>
7676
<script src="locales/pl.js"></script>
77+
<script src="locales/uk.js"></script>
7778
</head>
7879

7980
<body>
@@ -1604,6 +1605,7 @@ <h1>Material You New Tab</h1>
16041605
<option value="ta">Tamil (தமிழ்)</option>
16051606
<option value="th">Thai (ภาษาไทย)</option>
16061607
<option value="tr">Turkish (Türkçe)</option>
1608+
<option value="uk">Ukrainian (Українська)</option>
16071609
<option value="ur">Urdu (اردو)</option>
16081610
<option value="uz">Uzbek (O'zbek)</option>
16091611
<option value="vi">Vietnamese (Tiếng Việt)</option>

locales/uk.js

Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
// Ukrainian
2+
const uk = {
3+
// Menu Items
4+
"github": "GitHub",
5+
"feedback": "Відгук",
6+
7+
// Shortcuts
8+
"shortcutsText": "Ярлики",
9+
"enableShortcutsText": "Показати збережені ярлики",
10+
"editShortcutsText": "Редагувати ярлики",
11+
"shortcutsInfoText": "Оберіть ярлики для відображення",
12+
"editShortcutsList": "Збережені ярлики",
13+
"editShortcutsListInfo": "Ви можете додати нові ярлики, натиснувши значок «+», або редагувати існуючі, натиснувши на назву ярлика або URL-адресу.",
14+
"adaptiveIconText": "Адаптивні іконки",
15+
"adaptiveIconInfoText": "Ярлики будуть адаптуватись до теми",
16+
"bookmarksText": "Закладки",
17+
"bookmarksInfo": "Показати панель закладок",
18+
"ai_tools_button": "AI Інструменти",
19+
"enable_ai_tools": "Показати ярлики для AI інструментів",
20+
"aiToolsSettingsText": "Налаштування AI інструментів",
21+
"aiToolsSettingsInfo": "Керування ярликами AI інструментів",
22+
"googleAppsMenuText": "Google Apps",
23+
"googleAppsMenuInfo": "Показати ярлики для Google Apps",
24+
"googleAppsHover": "Google Apps",
25+
26+
// To-do List
27+
"todoListText": "Список справ",
28+
"todoListInfo": "Показати щоденний список справ",
29+
"todoListHover": "Список справ",
30+
"todoPlaceholder": "Додати задачу...",
31+
32+
// Clock
33+
"hideClockBox": "Приховати годинник",
34+
"hideClockBoxInfo": "Приховати годинник і дату",
35+
"digitalclocktitle": "Цифровий годинник",
36+
"digitalclockinfo": "Включити цифровий годинник",
37+
"timeformattitle": "12-годинний формат",
38+
"timeformatinfo": "Включити 12-годинний формат",
39+
"greetingtitle": "Привітання",
40+
"greetinginfo": "Показати привітання нижче власного тексту",
41+
42+
// Misc
43+
"userTextTitle": "Кастомізувати текст",
44+
"userTextInfo": "Показати змінений текст під годинником",
45+
"fahrenheitCelsiusCheckbox": "Включити відображення в Фаренгейтах",
46+
"fahrenheitCelsiusText": "Оновіть сторінку, щоб застосувати зміни",
47+
"hideWeatherTitle": "Приховати погоду",
48+
"hideWeatherInfo": "Вимкнути віджет погоди",
49+
"hideWeatherBox": "Приховати картку погоди",
50+
"hideWeatherBoxInfo": "Показати тільки температурну картку",
51+
"minMaxTempText": "Мінімальна-Максимальна погода",
52+
"minMaxTempSubText": "Замінити «Відчувається як» на мінімальну та максимальну температуру",
53+
54+
// Search
55+
"micIconTitle": "Приховати іконку мікрофона",
56+
"micIconInfo": "Якщо голосове введення не працює",
57+
"hideSearchWith": "Приховати пошукові системи",
58+
"hideSearchWithInfo": "Перемикайтеся між пошуковими системами, натискаючи на їхні значки.",
59+
"motivationalQuotesText": "Мотиваційні цитати",
60+
"motivationalQuotesInfo": "Показати цитати під рядком пошуку",
61+
"search_suggestions_button": "Пошукові пропозиції",
62+
"search_suggestions_text": "Увімкнути підказки для пошуку",
63+
64+
// Proxy
65+
"useproxytitletext": "Обхід проксі-сервера",
66+
"useproxyText": "Якщо пошукові підказки не працюють",
67+
"ProxyText": "CORS Обхід проксі-сервера",
68+
"ProxySubtext": "Додайте власний проксі-сервер для обходу CORS",
69+
"HostproxyButton": "Розмістити власний проксі-сервер",
70+
71+
// Location
72+
"useGPS": "Використовувати GPS",
73+
"useGPSInfo": "Включити GPS для оновлення локації в реальному часі",
74+
"UserLocText": "Введіть вашу геолокацію",
75+
"UserLocSubtext": "Якщо місце розташування погоди невірне",
76+
"userLoc": "Ваше місто або координати (широта, довгота)",
77+
"PrivacyPolicy": "Політика конфіденційності",
78+
79+
// Weather
80+
"WeatherApiText": "Введіть ваш WeatherAPI ключ",
81+
"WeatherApiSubtext": "Якщо функція погоди не працює",
82+
"userAPI": "Ваш weatherAPI ключ",
83+
"LearnMoreButton": "Дізнатися більше",
84+
"saveAPI": "Зберегти",
85+
86+
// Body Items
87+
// Calendar
88+
"days": ['Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П\'ятниця', 'Субота'],
89+
"months": ['Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'],
90+
91+
// Bookmarks
92+
"bookmarksHeading": "Закладки",
93+
"bookmarkSortBy": "Сортувати за",
94+
"sortAlphabetical": "A-Z",
95+
"sortTimeAdded": "Старі-Нові",
96+
"bookmarkViewAs": "Переглянути як",
97+
"bookmarkViewGrid": "Сітка",
98+
"bookmarkViewList": "Список",
99+
"bookmarkSearch": "Пошук закладки",
100+
"editBookmarkHeading": "Редагувати закладку",
101+
"editBookmarkName": "Назва закладки",
102+
"editBookmarkURL": "Посилання закладки",
103+
104+
// New Tab Item
105+
"conditionText": "Привіт! Ти як сьогодні?",
106+
"humidityLevel": "Вологість",
107+
"feelsLike": "Відчувається як: ",
108+
"minMaxTemp": "Мін ~ Макс",
109+
"location": "Земля",
110+
"enterBtn": "Пошук",
111+
"searchPlaceholder": "Пишіть сюди...",
112+
"listenPlaceholder": "Слухаю...",
113+
"searchWithHint": "Пошук за допомогою",
114+
"searchOnHint": "Пошук",
115+
"userText": "Натисніть для редагування",
116+
117+
// Greeting
118+
greeting: {
119+
"morning": "Доброго ранку!",
120+
"afternoon": "Доброго дня!",
121+
"evening": "Доброго вечора!"
122+
},
123+
124+
// Search Engines
125+
"defaultEngine": "За Замовчуванням",
126+
"googleEngine": "Google",
127+
"duckEngine": "Duck",
128+
"bingEngine": "Bing",
129+
"braveEngine": "Brave",
130+
"youtubeEngine": "YouTube",
131+
"gImagesEngine": "Зображення",
132+
"redditEngine": "Reddit",
133+
"wikipediaEngine": "Wikipedia",
134+
"quoraEngine": "Quora",
135+
136+
// AI Tools
137+
"ai_tools": "AI Інструменти",
138+
"chatGPT": "ChatGPT",
139+
"gemini": "Gemini",
140+
"copilot": "Copilot",
141+
"claude": "Claude",
142+
"grok": "Grok",
143+
"qwen": "Qwen",
144+
"perplexity": "Perplexity",
145+
"deepseek": "DeepSeek",
146+
"metaAI": "Meta AI",
147+
"firefly": "Adobe Firefly",
148+
"aiSettingsIntro": "Виберіть, які інструменти штучного інтелекту відображати",
149+
"resetAISettingsBtn": "Скинути",
150+
151+
// Theme
152+
"lightThemed": "За замовчуванням (світла тема)",
153+
"darkThemed": "Темна тема",
154+
"systemThemed": "Використовувати системну тему",
155+
156+
// Wallpaper and settings
157+
"uploadWallpaperText": "Завантажити шпалери",
158+
"rangColor": "Оберіть колір",
159+
"opacityTitle": "Прозорість",
160+
"adjustOpacityDesc": "Налаштування прозорості інтерфейсу",
161+
"backupText": "Резервне копіювання",
162+
"restoreText": "Відновити",
163+
"resetsettings": "Скинути налаштування",
164+
"menuCloseText": "Закрити",
165+
166+
// Tips
167+
"switchSearchModes": "Перемикання режимів пошуку",
168+
"switchSearchModesInfo": "Натисніть «Шукати за допомогою», щоб змінити режим.",
169+
"adjustZoom": "Налаштувати масштаб",
170+
"adjustZoomInfo": "Натисніть Ctrl + \"+\" чи Ctrl + \"-\" щоб змінити масштаб",
171+
"changeBrowserTheme": "Змінити тему браузера",
172+
"chromeThemeInfo": "Натисніть три крапки (⋮) > Більше інструментів > Налаштувати Chrome, а потім виберіть колір, який відповідає темі розширення.",
173+
"edgeThemeInfo": "Перейдіть до Налаштування > Зовнішній вигляд, а потім виберіть колір, який відповідає темі розширення.",
174+
"braveThemeInfo": "Відвідати <a href=\"https://chromewebstore.google.com/category/themes/\" target=\"_blank\" rel=\"noopener noreferrer\">Chrome Theme Store</a>, завантажте та застосуйте тему, яка відповідає розширенню.",
175+
"firefoxThemeInfo": "Відвідати <a href=\"https://addons.mozilla.org/firefox/themes/\" target=\"_blank\" rel=\"noopener noreferrer\">Firefox Themes</a>, завантажте та застосуйте тему, яка відповідає розширенню.",
176+
"updateFirefoxHomepage": "Оновити стартову сторінку",
177+
"updateFirefoxHomepageInfo": "Щоб змінити свою домашню сторінку, як і нову вкладку, відвідайте <a href=\"https://github.com/prem-k-r/MaterialYouNewTab#-firefox\" target=\"_blank\" rel=\"noopener noreferrer\">це посилання</a> і дотримуйтесь інструкцій.",
178+
"dontShowTips": "Не показувати знову",
179+
180+
// Footer Toast
181+
"footerToastTitle": "Бачите банер внизу?",
182+
"footerToastMessage": "Щоб приховати його, клацніть правою кнопкою миші та виберіть «Приховати нижній колонтитул на сторінці нової вкладки».",
183+
184+
// Dialog boxes (alerts)
185+
"okText": "OK",
186+
"yesText": "Так",
187+
"noText": "Ні",
188+
"agreeText": "Я згоден",
189+
"cancelText": "Відмінити",
190+
"confirmWallpaper": "Хочете встановити нове зображення як шпалери на сьогодні?",
191+
"confirmRestore": "Ви впевнені, що хочете скинути налаштування? Цю дію неможливо скасувати.",
192+
"Nobackgroundset": "Наразі фонове зображення не встановлено.",
193+
"clearbackgroundimage": "Ви впевнені, що хочете видалити фонове зображення?",
194+
"ProxyDisclaimer": "Всі функції проксі за замовчуванням вимкнені.\n\nЯкщо ви ввімкнете пошукові підказки та проксі-сервер для обходу CORS, настійно рекомендуємо розмістити власний проксі-сервер для підвищення рівня конфіденційності.\n\nЗа замовчуванням проксі буде встановлено на https://mynt-proxy.rhythmcorehq.com, це означає, що всі ваші дані будуть проходити через цей сервіс, що може викликати занепокоєння з приводу конфіденційності.",
195+
"GPSDisclaimer": "Ваші дані про місцезнаходження використовуються виключно для надання точних прогнозів погоди. Вони тимчасово зберігаються в браузері і не передаються стороннім сервісам, а також недоступні для нас.\n\nУвімкнувши GPS, ви даєте згоду на передачу вашого місцезнаходження розширенню на місцевому рівні.",
196+
"failedbackup": "Не вдалося створити резервну копію: ",
197+
"restorecompleted": "Відновлення завершено успішно!",
198+
"restorefailed": "Відновлення не вдалося: ",
199+
"invalidBackup": "Вибрано недійсний файл резервної копії.",
200+
"deleteBookmark": "Ви впевнені, що хочете видалити закладку \"{title}\"?",
201+
"UnsupportedBrowser": "Закладки не підтримуються у вашому браузері.",
202+
"resetShortcutsPrompt": "Усі збережені ярлики будуть видалені та скинуті до заводських налаштувань. Чи хочете ви продовжити?"
203+
};

scripts/clock.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ async function initializeClock() {
180180
ar_SA: `${dayName}, ${localizedDayOfMonth} ${monthName}`, // e.g., الجمعة, 31 مايو
181181
el: `${dayName.substring(0, 3)} ${dayOfMonth} ${monthName}`, // Κυρ 22 Δεκ
182182
th: `วัน${dayName}ที่ ${dayOfMonth} ${monthName}`, // วันอาทิตย์ที่ 22 ธันวาคม
183+
uk: `${dayName}, ${dayOfMonth} ${monthName.substring(0, 4)}`,
183184
default: `${dayName.substring(0, 3)}, ${monthName.substring(0, 3)} ${dayOfMonth}` // Sun, Dec 22
184185
};
185186

@@ -310,6 +311,7 @@ async function initializeClock() {
310311
ar_SA: `${dayName}, ${localizedDayOfMonth}`, // e.g., الجمعة, 31
311312
el: `${dayName.substring(0, 3)} ${dayOfMonth}`, // Κυρ 22
312313
th: `${dayName}ที่ ${dayOfMonth}`,
314+
uk: `${dayOfMonth} ${dayName}`,
313315
default: `${dayOfMonth} ${dayName.substring(0, 3)}`, // 24 Thu
314316
};
315317

scripts/languages.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ const translations = {
3838
ta: ta, // தமிழ்
3939
th: th, // Thai
4040
pl: pl, // Polish
41+
uk: uk, // Ukrainian
4142
};
4243

4344
// Define the width of the menu container for each language
@@ -67,6 +68,7 @@ const menuWidths = {
6768
el: "455px",
6869
th: "455px",
6970
pl: "455px",
71+
uk: "455px",
7072
// Add more languages and widths as needed
7173
};
7274

@@ -86,7 +88,7 @@ function localizeNumbers(text, language) {
8688
const map = numberMappings[language]; // Get the numeral map for the current language
8789

8890
// Define languages that use a comma as the decimal separator instead of a dot
89-
const specialDecimalLanguages = ["cs", "it", "pt", "ru", "tr", "vi", "uz", "es", "ko", "idn", "fr", "az", "sl", "hu", "de", "fa", "el"]; // Add more languages here as needed
91+
const specialDecimalLanguages = ["cs", "it", "pt", "ru", "tr", "vi", "uz", "es", "ko", "idn", "fr", "az", "sl", "hu", "de", "fa", "el", "uk"]; // Add more languages here as needed
9092

9193
if (specialDecimalLanguages.includes(language)) {
9294
// Replace decimal point with a comma for specific languages

0 commit comments

Comments
 (0)