diff --git a/README.md b/README.md
index c5d5630..69d5a72 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ A simple, efficient password generator written in Rust using GTK4.
- **Clipboard Integration**: "Copy immediately" option to copy the generated password to the clipboard instantly.
- **Persistence**: Remembers your settings (groups, auto-close, copy preference) between sessions.
- **Copy Confirmation**: Highlights successful copy actions with a transient green check indicator.
-- **Localized UI**: English, German, Japanese, Swedish, Spanish, Italian, and French translations load automatically based on your system locale.
+- **Localized UI**: English, German, Japanese, Swedish, Spanish, Italian, French, and Ukrainian translations load automatically based on your system locale.
- **Adaptive Theme**: The interface follows your system's light/dark preference and adjusts its accent colors accordingly.
- **Character Sets**: Toggle lowercase, uppercase, digits, and specials to create the password policy you need.
diff --git a/data/io.github.danst0.passwordgenerator.desktop b/data/io.github.danst0.passwordgenerator.desktop
index 3008c21..3686795 100644
--- a/data/io.github.danst0.passwordgenerator.desktop
+++ b/data/io.github.danst0.passwordgenerator.desktop
@@ -6,6 +6,7 @@ Name[sv]=Lösenordsgenerator
Name[es]=Generador de contraseñas
Name[it]=Generatore di password
Name[fr]=Générateur de mots de passe
+Name[uk]=Генератор паролів
Comment=Create secure passwords
Comment[de]=Erstelle sichere Passwörter
Comment[ja]=安全なパスワードを作成
@@ -13,6 +14,7 @@ Comment[sv]=Skapa säkra lösenord
Comment[es]=Crea contraseñas seguras
Comment[it]=Crea password sicure
Comment[fr]=Créez des mots de passe sûrs
+Comment[uk]=Створення надійних паролів
Exec=passwordgenerator
Icon=io.github.danst0.passwordgenerator
Terminal=false
diff --git a/data/io.github.danst0.passwordgenerator.metainfo.xml b/data/io.github.danst0.passwordgenerator.metainfo.xml
index a7235bb..397fd86 100644
--- a/data/io.github.danst0.passwordgenerator.metainfo.xml
+++ b/data/io.github.danst0.passwordgenerator.metainfo.xml
@@ -9,6 +9,7 @@
Generador de contraseñas
Generatore di password
Générateur de mots de passe
+ Генератор паролів
Create strong passwords in seconds
Erstelle schnell sichere Passwörter
@@ -17,6 +18,7 @@
Crea contraseñas seguras en segundos
Genera password sicure in pochi secondi
Créez des mots de passe solides en quelques secondes
+ Створюйте надійні паролі за лічені секунди
CC0-1.0
CC-BY-SA-4.0
@@ -31,6 +33,9 @@
Ein einfaches, modernes GTK4-Tool zur Passworterstellung mit standardmäßig dunklem, augenschonendem Layout.
Wähle ausgewogene oder eigene Zeichensätze, passe gruppierte Länge an und kopiere mit einem Klick; auf Wunsch schließt sich das Fenster automatisch.
Tastenkürzel halten den Ablauf schnell: Strg+C zum Kopieren, Strg+Q zum Beenden, Strg+W zum Schließen.
+ Простий та сучасний генератор паролів на GTK4 із темним інтерфейсом, що дбає про приватність.
+ Обирайте збалансовані або власні набори символів, коригуйте довжину блоками і копіюйте результати в один клік з опціональним таймером автозакриття.
+ Клавіатурні скорочення прискорять роботу: Ctrl+C для копіювання, Ctrl+Q для виходу, Ctrl+W для закриття.
io.github.danst0.passwordgenerator.desktop
@@ -39,71 +44,85 @@
Dark mode (English UI)
Dunkelmodus (englische Oberfläche)
+ Темний стиль (англійський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/dark_en.png
Light mode (English UI)
Heller Modus (englische Oberfläche)
+ Світлий стиль (англійський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/light_en.png
Dark mode (German UI)
Dunkelmodus (deutsche Oberfläche)
+ Темний стиль (німецький інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/dark_de.png
Light mode (German UI)
Heller Modus (deutsche Oberfläche)
+ Світлий стиль (німецький інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/light_de.png
Dark mode (Japanese UI)
ダークモード(日本語表示)
+ Темний стиль (японський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/dark_jp.png
Light mode (Japanese UI)
ライトモード(日本語表示)
+ Світлий стиль (японський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/light_jp.png
Dark mode (Spanish UI)
Modo oscuro (interfaz en español)
+ Темний стиль (іспанський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/dark_es.png
Light mode (Spanish UI)
Modo claro (interfaz en español)
+ Світлий стиль (іспанський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/light_es.png
Dark mode (French UI)
Mode sombre (interface française)
+ Темний стиль (французький інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/dark_fr.png
Light mode (French UI)
Mode clair (interface française)
+ Світлий стиль (французький інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/light_fr.png
Dark mode (Italian UI)
Modalità scura (interfaccia italiana)
+ Темний стиль (італійський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/dark_it.png
Light mode (Italian UI)
Modalità chiara (interfaccia italiana)
+ Світлий стиль (італійський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/light_it.png
Dark mode (Swedish UI)
Mörkt läge (svensk vy)
+ Темний стиль (шведський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/dark_sv.png
Light mode (Swedish UI)
Ljust läge (svensk vy)
+ Світлий стиль (шведський інтерфейс)
https://raw.githubusercontent.com/danst0/passwordgenerator/v0.5.3/screenshots/light_sv.png
@@ -249,4 +268,4 @@
-
\ No newline at end of file
+
diff --git a/src/main.rs b/src/main.rs
index 66080fd..c61e5f1 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -252,6 +252,7 @@ const AVAILABLE_TRANSLATIONS: &[(&str, StringsFactory)] = &[
("it", strings_it),
("fr", strings_fr),
("en", strings_en),
+ ("uk", strings_uk),
];
fn strings_en() -> I18nStrings {
@@ -468,6 +469,40 @@ fn strings_fr() -> I18nStrings {
}
}
+fn strings_uk() -> I18nStrings {
+ I18nStrings {
+ app_title: "Генератор паролів",
+ groups_tooltip: "Кількість груп символів (по 5 у кожній)",
+ generate_button: "Новий",
+ copy_button: "Копіювати",
+ auto_close_label: "Автозакриття",
+ copy_immediately_label: "Копіювати одразу",
+ default_strategy_label: "Типова стратегія",
+ timer_template: "{seconds} с до закриття",
+ copy_success_label: "Скопійовано",
+ charset_section_label: "Складові",
+ lowercase_label: "Малі літери",
+ uppercase_label: "Великі літери",
+ digits_label: "Цифри",
+ special_label: "Спецсимволи",
+ chars_unit: "символів",
+ entropy_label: "Ентропія",
+ bits_unit: "біт",
+ crack_time_label: "Офлайнова атака",
+ crack_time_note: "Припущення: 10¹² спроб/с (швидке гешування, потужний GPU)",
+ strength_labels: [
+ "Дуже слабкий",
+ "Слабкий",
+ "Прийнятний",
+ "Надійний",
+ "Дуже надійний",
+ ],
+ time_units: ["с", "хв", "год", "днів", "років"],
+ time_instant: "миттєво",
+ decimal_separator: ",",
+ }
+}
+
#[cfg(test)]
mod tests {
use super::*;