From c24260bf6b79cb1d7b6c916cb3d692ac4144aa9a Mon Sep 17 00:00:00 2001 From: Dymkom Date: Sat, 8 Aug 2026 13:47:17 +0300 Subject: [PATCH 1/2] Add Ukrainian language support Added Ukrainian localization strings for the application. --- ...io.github.danst0.passwordgenerator.desktop | 2 ++ ...thub.danst0.passwordgenerator.metainfo.xml | 22 +++++++++++++++++-- src/main.rs | 21 ++++++++++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) 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 39661b9..346d01d 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,7 +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 +43,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 @@ -227,4 +245,4 @@ - \ No newline at end of file + diff --git a/src/main.rs b/src/main.rs index 593b7ca..2b4b910 100644 --- a/src/main.rs +++ b/src/main.rs @@ -163,6 +163,7 @@ const AVAILABLE_TRANSLATIONS: &[(&str, StringsFactory)] = &[ ("it", strings_it), ("fr", strings_fr), ("en", strings_en), + ("uk", strings_uk), ]; fn strings_en() -> I18nStrings { @@ -305,6 +306,26 @@ 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: "Спецсимволи", + clipboard_log_template: "Скопійовано в буфер: перший символ '{first}', довжина {length}", + } +} + #[cfg(test)] mod tests { use super::*; From 360ba5c153f012e7ae186b706f7f7ebc3650321d Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 16 Aug 2026 16:12:30 +0200 Subject: [PATCH 2/2] i18n(uk): bring the Ukrainian strings up to the current I18nStrings The branch was written against v0.5.8. Since then `clipboard_log_template` was dropped (v0.6.0, no longer logging password details) and the strength tooltip added nine fields (v0.5.9), so `strings_uk` no longer compiled. Drop the stale field, translate the tooltip strings, and use a decimal comma as Ukrainian does. Also list Ukrainian in the README and restore the newline before the closing tag. Co-Authored-By: Claude Opus 5 --- README.md | 2 +- ....github.danst0.passwordgenerator.metainfo.xml | 3 ++- src/main.rs | 16 +++++++++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) 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.metainfo.xml b/data/io.github.danst0.passwordgenerator.metainfo.xml index cce6cdf..397fd86 100644 --- a/data/io.github.danst0.passwordgenerator.metainfo.xml +++ b/data/io.github.danst0.passwordgenerator.metainfo.xml @@ -35,7 +35,8 @@

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 для закриття.

+

Клавіатурні скорочення прискорять роботу: Ctrl+C для копіювання, Ctrl+Q для виходу, Ctrl+W для закриття.

+ io.github.danst0.passwordgenerator.desktop diff --git a/src/main.rs b/src/main.rs index ee9a21e..c61e5f1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -485,7 +485,21 @@ fn strings_uk() -> I18nStrings { uppercase_label: "Великі літери", digits_label: "Цифри", special_label: "Спецсимволи", - clipboard_log_template: "Скопійовано в буфер: перший символ '{first}', довжина {length}", + chars_unit: "символів", + entropy_label: "Ентропія", + bits_unit: "біт", + crack_time_label: "Офлайнова атака", + crack_time_note: "Припущення: 10¹² спроб/с (швидке гешування, потужний GPU)", + strength_labels: [ + "Дуже слабкий", + "Слабкий", + "Прийнятний", + "Надійний", + "Дуже надійний", + ], + time_units: ["с", "хв", "год", "днів", "років"], + time_instant: "миттєво", + decimal_separator: ",", } }