mirror of
https://github.com/qarmin/czkawka
synced 2024-10-31 21:20:19 +00:00
Update translation and add helpful script (#510)
This commit is contained in:
parent
0a924d2355
commit
d1ac2f3c22
@ -33,6 +33,10 @@ impl GuiAbout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
pub fn update_language(&self) {
|
pub fn update_language(&self) {
|
||||||
|
let mut comment_text: String = "2020 - 2021 Rafał Mikrut(qarmin)\n\n".to_string();
|
||||||
|
comment_text += &fl!("about_window_motto");
|
||||||
|
self.about_dialog.set_comments(Some(&comment_text));
|
||||||
|
|
||||||
self.button_repository.set_tooltip_text(Some(&fl!("about_repository_button_tooltip")));
|
self.button_repository.set_tooltip_text(Some(&fl!("about_repository_button_tooltip")));
|
||||||
self.button_donation.set_tooltip_text(Some(&fl!("about_donation_button_tooltip")));
|
self.button_donation.set_tooltip_text(Some(&fl!("about_donation_button_tooltip")));
|
||||||
self.button_instruction.set_tooltip_text(Some(&fl!("about_instruction_button_tooltip")));
|
self.button_instruction.set_tooltip_text(Some(&fl!("about_instruction_button_tooltip")));
|
||||||
|
@ -11,6 +11,7 @@ use czkawka_core::broken_files::BrokenFiles;
|
|||||||
use czkawka_core::duplicate::DuplicateFinder;
|
use czkawka_core::duplicate::DuplicateFinder;
|
||||||
use czkawka_core::empty_files::EmptyFiles;
|
use czkawka_core::empty_files::EmptyFiles;
|
||||||
use czkawka_core::empty_folder::EmptyFolder;
|
use czkawka_core::empty_folder::EmptyFolder;
|
||||||
|
use czkawka_core::fl;
|
||||||
use czkawka_core::invalid_symlinks::InvalidSymlinks;
|
use czkawka_core::invalid_symlinks::InvalidSymlinks;
|
||||||
use czkawka_core::same_music::SameMusic;
|
use czkawka_core::same_music::SameMusic;
|
||||||
use czkawka_core::similar_images::SimilarImages;
|
use czkawka_core::similar_images::SimilarImages;
|
||||||
@ -86,8 +87,8 @@ impl GuiData {
|
|||||||
|
|
||||||
//// Windows
|
//// Windows
|
||||||
let window_main: gtk::Window = builder.object("window_main").unwrap();
|
let window_main: gtk::Window = builder.object("window_main").unwrap();
|
||||||
|
window_main.set_title(&fl!("window_main_title"));
|
||||||
window_main.show_all();
|
window_main.show_all();
|
||||||
window_main.set_title("Czkawka");
|
|
||||||
|
|
||||||
window_main.set_application(Some(application));
|
window_main.set_application(Some(application));
|
||||||
|
|
||||||
@ -181,6 +182,8 @@ impl GuiData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn update_language(&self) {
|
pub fn update_language(&self) {
|
||||||
|
self.window_main.set_title(&fl!("window_main_title"));
|
||||||
|
|
||||||
self.main_notebook.update_language();
|
self.main_notebook.update_language();
|
||||||
self.upper_notebook.update_language();
|
self.upper_notebook.update_language();
|
||||||
self.popovers.update_language();
|
self.popovers.update_language();
|
||||||
|
@ -28,9 +28,9 @@ impl GuiProgressDialog {
|
|||||||
let builder = Builder::from_string(glade_src.as_str());
|
let builder = Builder::from_string(glade_src.as_str());
|
||||||
|
|
||||||
let window_progress: gtk::Dialog = builder.object("window_progress").unwrap();
|
let window_progress: gtk::Dialog = builder.object("window_progress").unwrap();
|
||||||
|
window_progress.set_title(&fl!("window_progress_title"));
|
||||||
window_progress.set_transient_for(Some(window_main));
|
window_progress.set_transient_for(Some(window_main));
|
||||||
window_progress.set_modal(true);
|
window_progress.set_modal(true);
|
||||||
window_progress.set_title("Czkawka");
|
|
||||||
|
|
||||||
let progress_bar_current_stage: gtk::ProgressBar = builder.object("progress_bar_current_stage").unwrap();
|
let progress_bar_current_stage: gtk::ProgressBar = builder.object("progress_bar_current_stage").unwrap();
|
||||||
let progress_bar_all_stages: gtk::ProgressBar = builder.object("progress_bar_all_stages").unwrap();
|
let progress_bar_all_stages: gtk::ProgressBar = builder.object("progress_bar_all_stages").unwrap();
|
||||||
@ -61,6 +61,8 @@ impl GuiProgressDialog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
pub fn update_language(&self) {
|
pub fn update_language(&self) {
|
||||||
|
self.window_progress.set_title(&fl!("window_progress_title"));
|
||||||
|
|
||||||
get_custom_label_from_button_with_image(&self.button_stop_in_dialog.clone().upcast::<Bin>()).set_text(&fl!("progress_stop_button"));
|
get_custom_label_from_button_with_image(&self.button_stop_in_dialog.clone().upcast::<Bin>()).set_text(&fl!("progress_stop_button"));
|
||||||
|
|
||||||
self.label_progress_current_stage.set_label(&fl!("progress_current_stage"));
|
self.label_progress_current_stage.set_label(&fl!("progress_current_stage"));
|
||||||
|
@ -56,6 +56,7 @@ impl GuiSettings {
|
|||||||
let builder = Builder::from_string(glade_src.as_str());
|
let builder = Builder::from_string(glade_src.as_str());
|
||||||
|
|
||||||
let window_settings: gtk::Window = builder.object("window_settings").unwrap();
|
let window_settings: gtk::Window = builder.object("window_settings").unwrap();
|
||||||
|
window_settings.set_title(&fl!("window_settings_title"));
|
||||||
window_settings.set_modal(true);
|
window_settings.set_modal(true);
|
||||||
window_settings.set_transient_for(Some(window_main));
|
window_settings.set_transient_for(Some(window_main));
|
||||||
|
|
||||||
@ -137,6 +138,8 @@ impl GuiSettings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn update_language(&self) {
|
pub fn update_language(&self) {
|
||||||
|
self.window_settings.set_title(&fl!("window_settings_title"));
|
||||||
|
|
||||||
self.check_button_settings_save_at_exit.set_label(&fl!("settings_save_at_exit_button"));
|
self.check_button_settings_save_at_exit.set_label(&fl!("settings_save_at_exit_button"));
|
||||||
self.check_button_settings_load_at_start.set_label(&fl!("settings_load_at_start_button"));
|
self.check_button_settings_load_at_start.set_label(&fl!("settings_load_at_start_button"));
|
||||||
self.check_button_settings_confirm_deletion.set_label(&fl!("settings_confirm_deletion_button"));
|
self.check_button_settings_confirm_deletion.set_label(&fl!("settings_confirm_deletion_button"));
|
||||||
|
@ -5,12 +5,9 @@ pub struct Language {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub const LANGUAGES_ALL: [Language; 2] = [
|
pub const LANGUAGES_ALL: [Language; 2] = [
|
||||||
|
Language { combo_box_text: "English", short_text: "en" },
|
||||||
Language {
|
Language {
|
||||||
combo_box_text: "English (en)",
|
combo_box_text: "Polski (Polish)",
|
||||||
short_text: "en",
|
|
||||||
},
|
|
||||||
Language {
|
|
||||||
combo_box_text: "Polski (pl)",
|
|
||||||
short_text: "pl",
|
short_text: "pl",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@ -15,12 +15,15 @@ core_folder_modified_before_epoch = Folder {$name} seems to be modified before U
|
|||||||
core_file_no_modification_date = Unable to get modification date from file {$name}, reason {$reason}
|
core_file_no_modification_date = Unable to get modification date from file {$name}, reason {$reason}
|
||||||
core_folder_no_modification_date = Unable to get modification date from folder {$name}, reason {$reason}
|
core_folder_no_modification_date = Unable to get modification date from folder {$name}, reason {$reason}
|
||||||
|
|
||||||
|
# Window titles
|
||||||
|
window_settings_title = Options
|
||||||
|
window_main_title = Czkawka (Hiccup)
|
||||||
|
window_progress_title = Scanning
|
||||||
|
|
||||||
# General
|
# General
|
||||||
general_ok_button = Ok
|
general_ok_button = Ok
|
||||||
general_close_button = Close
|
general_close_button = Close
|
||||||
|
|
||||||
|
|
||||||
general_bytes = bytes
|
general_bytes = bytes
|
||||||
general_lost = lost
|
general_lost = lost
|
||||||
|
|
||||||
@ -416,6 +419,7 @@ searching_for_data = Searching data, it may take a while, please wait...
|
|||||||
text_view_messages = MESSAGES
|
text_view_messages = MESSAGES
|
||||||
text_view_warnings = WARNINGS
|
text_view_warnings = WARNINGS
|
||||||
text_view_errors = ERRORS
|
text_view_errors = ERRORS
|
||||||
|
about_window_motto = This program is free to use and will always be.
|
||||||
|
|
||||||
# Various dialog
|
# Various dialog
|
||||||
dialogs_ask_next_time = Ask next time
|
dialogs_ask_next_time = Ask next time
|
||||||
|
@ -15,6 +15,10 @@ core_folder_modified_before_epoch = Folder {$name} ma datę modyfikacji sprzed e
|
|||||||
core_file_no_modification_date = Nie udało się pobrać daty modyfikacji z pliku {$name}, powód {$reason}
|
core_file_no_modification_date = Nie udało się pobrać daty modyfikacji z pliku {$name}, powód {$reason}
|
||||||
core_folder_no_modification_date = Nie udało się pobrać daty modyfikacji z folderu {$name}, powód {$reason}
|
core_folder_no_modification_date = Nie udało się pobrać daty modyfikacji z folderu {$name}, powód {$reason}
|
||||||
|
|
||||||
|
# Nazwy okien
|
||||||
|
window_settings_title = Opcje
|
||||||
|
window_main_title = Czkawka
|
||||||
|
window_progress_title = Skanowanie
|
||||||
|
|
||||||
# Różne
|
# Różne
|
||||||
general_ok_button = Ok
|
general_ok_button = Ok
|
||||||
@ -37,9 +41,9 @@ music_comparison_checkbox_tooltip =
|
|||||||
|
|
||||||
Świędziżłób --- Świędziżłób (Remix Lato 2021)
|
Świędziżłób --- Świędziżłób (Remix Lato 2021)
|
||||||
|
|
||||||
duplicate_mode_name_checkbox = Nazwa
|
duplicate_mode_name_combo_box = Nazwa
|
||||||
duplicate_mode_size_checkbox = Rozmiar
|
duplicate_mode_size_combo_box = Rozmiar
|
||||||
duplicate_mode_hash_checkbox = Hash
|
duplicate_mode_hash_combo_box = Hash
|
||||||
|
|
||||||
duplicate_hash_type_tooltip =
|
duplicate_hash_type_tooltip =
|
||||||
Czkawka oferuje 3 różne algorytmy do tworzenia hashu pliku:
|
Czkawka oferuje 3 różne algorytmy do tworzenia hashu pliku:
|
||||||
@ -50,23 +54,6 @@ duplicate_hash_type_tooltip =
|
|||||||
|
|
||||||
XXH3 - zarówno pod względem jakości hashu jak i wydajności jest podobny do Blake3, dlatego te algorytmy mogą być używane wymiennie.
|
XXH3 - zarówno pod względem jakości hashu jak i wydajności jest podobny do Blake3, dlatego te algorytmy mogą być używane wymiennie.
|
||||||
|
|
||||||
duplicate_mode_name_checkbox_tooltip =
|
|
||||||
Służy do znajdowania plików o identycznych nazwach.
|
|
||||||
|
|
||||||
Ten tryb nie sprawdza zawartości pliku, dlatego należy uważać przy jego stosowaniu.
|
|
||||||
|
|
||||||
duplicate_mode_size_checkbox_tooltip =
|
|
||||||
Służy do znajdowania plików o identycznych rozmiarach.
|
|
||||||
|
|
||||||
Ten tryb nie sprawdza zawartości pliku, dlatego należy uważać przy jego stosowaniu.
|
|
||||||
|
|
||||||
duplicate_mode_hash_checkbox_tooltip =
|
|
||||||
Znajduje pliki z identyczną zawartością, bez względu na nazwę i rozszerzenie pliku.
|
|
||||||
|
|
||||||
W tym trybie, każdy plik jest hasowany a następnie każdy hash jest porównywany z innymi.
|
|
||||||
|
|
||||||
Ten tryb używa pamięci podręcznej do przechowywania raz obliczonych hashy, dlatego drugie i kolejne skanowanie, powinno być o wiele szybsze niż pierwsze.
|
|
||||||
|
|
||||||
duplicate_check_method_tooltip =
|
duplicate_check_method_tooltip =
|
||||||
Na chwilę obecną, Czkawka oferuje 3 tryby wyszukiwania duplicatów poprzez:
|
Na chwilę obecną, Czkawka oferuje 3 tryby wyszukiwania duplicatów poprzez:
|
||||||
|
|
||||||
@ -278,6 +265,7 @@ settings_confirm_group_deletion_button_tooltip = Wyświetla okno potwierdzające
|
|||||||
settings_show_text_view_button_tooltip = Pokazuje na dole ekranu panel tekstowy.
|
settings_show_text_view_button_tooltip = Pokazuje na dole ekranu panel tekstowy.
|
||||||
settings_use_cache_button_tooltip = Umożliwia zapisywanie rekordów do pamięci podręcznej.
|
settings_use_cache_button_tooltip = Umożliwia zapisywanie rekordów do pamięci podręcznej.
|
||||||
settings_use_trash_button_tooltip = Przenosi pliki do kosza zamiast usuwać je permanentnie.
|
settings_use_trash_button_tooltip = Przenosi pliki do kosza zamiast usuwać je permanentnie.
|
||||||
|
settings_language_label_tooltip = Pozwala wybrać język interfejsu.
|
||||||
|
|
||||||
settings_save_at_exit_button = Zapisuj konfigurację przy wyłączaniu
|
settings_save_at_exit_button = Zapisuj konfigurację przy wyłączaniu
|
||||||
settings_load_at_start_button = Ładuj ustawienia na starcie z pliku
|
settings_load_at_start_button = Ładuj ustawienia na starcie z pliku
|
||||||
@ -287,6 +275,7 @@ settings_confirm_group_deletion_button = Pokazuj okno potwierdzające usuwanie w
|
|||||||
settings_show_text_view_button = Pokazuj panel tekstowy na dole
|
settings_show_text_view_button = Pokazuj panel tekstowy na dole
|
||||||
settings_use_cache_button = Używaj pamięci podręcznej
|
settings_use_cache_button = Używaj pamięci podręcznej
|
||||||
settings_use_trash_button = Przenoś pliki do kosza
|
settings_use_trash_button = Przenoś pliki do kosza
|
||||||
|
settings_language_label = Język
|
||||||
|
|
||||||
|
|
||||||
## Multiple - ustawienia wskazywane przez większość zakładek
|
## Multiple - ustawienia wskazywane przez większość zakładek
|
||||||
@ -419,7 +408,12 @@ searching_for_data = Przeszukiwanie dysku, może to potrwać chwilę, proszę cz
|
|||||||
text_view_messages = WIADOMOŚCI
|
text_view_messages = WIADOMOŚCI
|
||||||
text_view_warnings = OSTRZEŻENIA
|
text_view_warnings = OSTRZEŻENIA
|
||||||
text_view_errors = BŁĘDY
|
text_view_errors = BŁĘDY
|
||||||
|
about_window_motto =
|
||||||
|
Program jest i będzie zawsze darmowy do użytku.
|
||||||
|
|
||||||
|
Może interfejs programu nie jest ergonomiczny,
|
||||||
|
ale za to przynajmniej kod jest nieczytelny.
|
||||||
|
|
||||||
# Various dialog
|
# Various dialog
|
||||||
dialogs_ask_next_time = Pytaj następnym razem
|
dialogs_ask_next_time = Pytaj następnym razem
|
||||||
reason_of_error = powód
|
reason_of_error = powód
|
||||||
|
@ -59,4 +59,30 @@ Next new record must be added to array.
|
|||||||
combo_box_text: "Polski (pl)",
|
combo_box_text: "Polski (pl)",
|
||||||
short_text: "pl",
|
short_text: "pl",
|
||||||
},
|
},
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# Verify strings
|
||||||
|
Due renames, adding and removing elements, may happen that translations contains outdated entries.
|
||||||
|
|
||||||
|
To help find such keywords, special python script can be used.
|
||||||
|
|
||||||
|
To be able to use it, be sure that you are directly inside main `czkawka` folder.
|
||||||
|
Next run python script `python3 misc/translation_test.py`.
|
||||||
|
Then results should be visible in console:
|
||||||
|
```
|
||||||
|
Checking pl language
|
||||||
|
Missing keyword - duplicate_mode_name_combo_box
|
||||||
|
Missing keyword - duplicate_mode_size_combo_box
|
||||||
|
Missing keyword - duplicate_mode_hash_combo_box
|
||||||
|
Missing keyword - settings_language_label_tooltip
|
||||||
|
Missing keyword - settings_language_label
|
||||||
|
Unused keyword - duplicate_mode_name_checkbox
|
||||||
|
Unused keyword - duplicate_mode_size_checkbox
|
||||||
|
Unused keyword - duplicate_mode_hash_checkbox
|
||||||
|
Unused keyword - duplicate_mode_name_checkbox_tooltip
|
||||||
|
Unused keyword - duplicate_mode_size_checkbox_tooltip
|
||||||
|
Unused keyword - duplicate_mode_hash_checkbox_tooltip
|
||||||
|
```
|
||||||
|
To be able to check new language, inside script variable `translations` needs to be updated.
|
||||||
|
`Missing keyword` means that some keywords exists in base translations and texts needs to be translated.
|
||||||
|
`Unused keyword` means that keyword is no longer used. It can be renamed or entirely removed from file.
|
Loading…
Reference in New Issue
Block a user