diff --git a/hscommon/trans.py b/hscommon/trans.py index 7a53618d..3ac7d06c 100644 --- a/hscommon/trans.py +++ b/hscommon/trans.py @@ -1,9 +1,9 @@ # Created By: Virgil Dupras # Created On: 2010-06-23 # Copyright 2015 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "GPLv3" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at +# +# This software is licensed under the "GPLv3" License as described in the "LICENSE" file, +# which should be included with this package. The terms are also available at # http://www.gnu.org/licenses/gpl-3.0.html # Doing i18n with GNU gettext for the core text gets complicated, so what I do is that I make the @@ -44,12 +44,34 @@ def set_tr(new_tr, new_trget=None): def get_locale_name(lang): if ISWINDOWS: # http://msdn.microsoft.com/en-us/library/39cwe7zf(vs.71).aspx - LANG2LOCALENAME = {'fr': 'fra', 'de': 'deu', 'it': 'ita', 'zh_CN': 'chs', 'cs': 'czy', - 'nl': 'nld', 'ru': 'rus', 'pt_BR': 'ptb', 'es': 'esn'} + LANG2LOCALENAME = { + 'cs': 'czy', + 'de': 'deu', + 'es': 'esn', + 'fr': 'fra', + 'it': 'ita', + 'nl': 'nld', + 'pl_PL': 'polish_poland', + 'pt_BR': 'ptb', + 'ru': 'rus', + 'zh_CN': 'chs', + } else: - LANG2LOCALENAME = {'fr': 'fr_FR', 'de': 'de_DE', 'it': 'it_IT', 'zh_CN': 'zh_CN', - 'cs': 'cs_CZ', 'nl': 'nl_NL', 'hy': 'hy_AM', 'ru': 'ru_RU', 'uk': 'uk_UA', - 'pt_BR': 'pt_BR', 'es': 'es_ES', 'vi': 'vi_VN'} + LANG2LOCALENAME = { + 'fr': 'fr_FR', + 'de': 'de_DE', + 'it': 'it_IT', + 'zh_CN': 'zh_CN', + 'cs': 'cs_CZ', + 'nl': 'nl_NL', + 'hy': 'hy_AM', + 'ru': 'ru_RU', + 'uk': 'uk_UA', + 'pl_PL': 'pl_PL', + 'pt_BR': 'pt_BR', + 'es': 'es_ES', + 'vi': 'vi_VN', + } if lang not in LANG2LOCALENAME: return None result = LANG2LOCALENAME[lang] @@ -90,7 +112,7 @@ def install_gettext_trans(base_folder, lang): return gettext.translation(domain, localedir=base_folder, languages=[lang]).gettext except IOError: return lambda s: s - + default_gettext = gettext_trget('core') def gettext_tr(s, context=None): if not context: diff --git a/locale/pl_PL/LC_MESSAGES/columns.po b/locale/pl_PL/LC_MESSAGES/columns.po new file mode 100644 index 00000000..8e6630d9 --- /dev/null +++ b/locale/pl_PL/LC_MESSAGES/columns.po @@ -0,0 +1,122 @@ +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: dupeGuru\n" +"PO-Revision-Date: 2012-09-05 15:22+0000\n" +"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/dupeguru/language/pl_PL/)\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: utf-8\n" +"Language: pl_PL\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: core/gui/ignore_list_table.py:18 core/gui/ignore_list_table.py:19 +#: core/gui/problem_table.py:17 +msgid "File Path" +msgstr "" + +#: core/gui/problem_table.py:18 +msgid "Error Message" +msgstr "" + +#: core/prioritize.py:63 core_me/result_table.py:24 core_pe/result_table.py:21 +#: core_se/result_table.py:21 +msgid "Kind" +msgstr "" + +#: core/prioritize.py:72 core_me/result_table.py:19 core_pe/result_table.py:19 +#: core_se/result_table.py:19 +msgid "Folder" +msgstr "" + +#: core/prioritize.py:88 core_me/result_table.py:18 core_pe/result_table.py:18 +#: core_se/result_table.py:18 +msgid "Filename" +msgstr "" + +#: core/prioritize.py:147 +msgid "Size" +msgstr "" + +#: core/prioritize.py:153 core_me/result_table.py:25 +#: core_pe/result_table.py:24 core_se/result_table.py:22 +msgid "Modification" +msgstr "" + +#: core_me/prioritize.py:16 +msgid "Duration" +msgstr "" + +#: core_me/prioritize.py:22 core_me/result_table.py:22 +msgid "Bitrate" +msgstr "" + +#: core_me/prioritize.py:28 +msgid "Samplerate" +msgstr "" + +#: core_me/result_table.py:20 +msgid "Size (MB)" +msgstr "" + +#: core_me/result_table.py:21 +msgid "Time" +msgstr "" + +#: core_me/result_table.py:23 +msgid "Sample Rate" +msgstr "" + +#: core_me/result_table.py:26 +msgid "Title" +msgstr "" + +#: core_me/result_table.py:27 +msgid "Artist" +msgstr "" + +#: core_me/result_table.py:28 +msgid "Album" +msgstr "" + +#: core_me/result_table.py:29 +msgid "Genre" +msgstr "" + +#: core_me/result_table.py:30 +msgid "Year" +msgstr "" + +#: core_me/result_table.py:31 +msgid "Track Number" +msgstr "" + +#: core_me/result_table.py:32 +msgid "Comment" +msgstr "" + +#: core_me/result_table.py:33 core_pe/result_table.py:25 +#: core_se/result_table.py:23 +msgid "Match %" +msgstr "" + +#: core_me/result_table.py:34 core_se/result_table.py:24 +msgid "Words Used" +msgstr "" + +#: core_me/result_table.py:35 core_pe/result_table.py:26 +#: core_se/result_table.py:25 +msgid "Dupe Count" +msgstr "" + +#: core_pe/prioritize.py:16 core_pe/result_table.py:22 +msgid "Dimensions" +msgstr "" + +#: core_pe/result_table.py:20 core_se/result_table.py:20 +msgid "Size (KB)" +msgstr "" + +#: core_pe/result_table.py:23 +msgid "EXIF Timestamp" +msgstr "" diff --git a/locale/pl_PL/LC_MESSAGES/core.po b/locale/pl_PL/LC_MESSAGES/core.po new file mode 100644 index 00000000..86d0bcc6 --- /dev/null +++ b/locale/pl_PL/LC_MESSAGES/core.po @@ -0,0 +1,231 @@ +# +# Translators: +# mstefanski1987 , 2014 +msgid "" +msgstr "" +"Project-Id-Version: dupeGuru\n" +"PO-Revision-Date: 2014-06-09 16:28+0000\n" +"Last-Translator: mstefanski1987 \n" +"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/dupeguru/language/pl_PL/)\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: utf-8\n" +"Language: pl_PL\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: core/app.py:39 +msgid "There are no marked duplicates. Nothing has been done." +msgstr "Brak wykrytych duplikatów. Nic nie zrobiono." + +#: core/app.py:40 +msgid "There are no selected duplicates. Nothing has been done." +msgstr "Brak wybranych duplikatów. Nic nie zrobiono." + +#: core/app.py:41 +msgid "" +"You're about to open many files at once. Depending on what those files are " +"opened with, doing so can create quite a mess. Continue?" +msgstr "" + +#: core/app.py:57 +msgid "Scanning for duplicates" +msgstr "" + +#: core/app.py:58 +msgid "Loading" +msgstr "" + +#: core/app.py:59 +msgid "Moving" +msgstr "" + +#: core/app.py:60 +msgid "Copying" +msgstr "" + +#: core/app.py:61 +msgid "Sending to Trash" +msgstr "" + +#: core/app.py:64 +msgid "Sending files to the recycle bin" +msgstr "" + +#: core/app.py:290 +msgid "" +"A previous action is still hanging in there. You can't start a new one yet. " +"Wait a few seconds, then try again." +msgstr "" + +#: core/app.py:297 +msgid "No duplicates found." +msgstr "Nie znaleziono duplikatów." + +#: core/app.py:310 +msgid "All marked files were copied successfully." +msgstr "" + +#: core/app.py:311 +msgid "All marked files were moved successfully." +msgstr "" + +#: core/app.py:312 +msgid "All marked files were successfully sent to Trash." +msgstr "" + +#: core/app.py:349 +msgid "'{}' already is in the list." +msgstr "'{}' jest już na liście." + +#: core/app.py:351 +msgid "'{}' does not exist." +msgstr "'{}' nie istnieje." + +#: core/app.py:360 +msgid "" +"All selected %d matches are going to be ignored in all subsequent scans. " +"Continue?" +msgstr "Wszystkie zaznaczone %d duplikaty będą ignorowane w kolejnych skanach. Kontynuować?" + +#: core/app.py:426 +msgid "copy" +msgstr "kopiuj" + +#: core/app.py:426 +msgid "move" +msgstr "przenieś" + +#: core/app.py:427 +msgid "Select a directory to {} marked files to" +msgstr "Wybierz katalog do {} duplikatów" + +#: core/app.py:464 +msgid "Select a destination for your exported CSV" +msgstr "" + +#: core/app.py:489 +msgid "You have no custom command set up. Set it up in your preferences." +msgstr "" + +#: core/app.py:641 core/app.py:654 +msgid "You are about to remove %d files from results. Continue?" +msgstr "" + +#: core/app.py:688 +msgid "{} duplicate groups were changed by the re-prioritization." +msgstr "" + +#: core/app.py:716 +msgid "Collecting files to scan" +msgstr "" + +#: core/app.py:727 +msgid "The selected directories contain no scannable file." +msgstr "" + +#: core/app.py:768 +msgid "%s (%d discarded)" +msgstr "" + +#: core/engine.py:220 core/engine.py:265 +msgid "0 matches found" +msgstr "" + +#: core/engine.py:238 core/engine.py:273 +msgid "%d matches found" +msgstr "" + +#: core/engine.py:258 core/scanner.py:79 +msgid "Read size of %d/%d files" +msgstr "" + +#: core/engine.py:464 +msgid "Grouped %d/%d matches" +msgstr "" + +#: core/gui/deletion_options.py:69 +msgid "You are sending {} file(s) to the Trash." +msgstr "" + +#: core/gui/ignore_list_dialog.py:24 +msgid "Do you really want to remove all %d items from the ignore list?" +msgstr "" + +#: core/prioritize.py:68 +msgid "None" +msgstr "" + +#: core/prioritize.py:96 +msgid "Ends with number" +msgstr "" + +#: core/prioritize.py:97 +msgid "Doesn't end with number" +msgstr "" + +#: core/prioritize.py:98 +msgid "Longest" +msgstr "" + +#: core/prioritize.py:99 +msgid "Shortest" +msgstr "" + +#: core/prioritize.py:132 +msgid "Highest" +msgstr "" + +#: core/prioritize.py:132 +msgid "Lowest" +msgstr "" + +#: core/prioritize.py:159 +msgid "Newest" +msgstr "" + +#: core/prioritize.py:159 +msgid "Oldest" +msgstr "" + +#: core/results.py:126 +msgid "%d / %d (%s / %s) duplicates marked." +msgstr "" + +#: core/results.py:133 +msgid " filter: %s" +msgstr "" + +#: core/scanner.py:99 +msgid "Read metadata of %d/%d files" +msgstr "" + +#: core/scanner.py:130 +msgid "Removing false matches" +msgstr "" + +#: core/scanner.py:154 +msgid "Processed %d/%d matches against the ignore list" +msgstr "" + +#: core/scanner.py:176 +msgid "Doing group prioritization" +msgstr "" + +#: core_pe/matchblock.py:61 +msgid "Analyzed %d/%d pictures" +msgstr "" + +#: core_pe/matchblock.py:153 +msgid "Performed %d/%d chunk matches" +msgstr "" + +#: core_pe/matchblock.py:158 +msgid "Preparing for matching" +msgstr "" + +#: core_pe/matchblock.py:193 +msgid "Verified %d/%d matches" +msgstr "" + +#: core_pe/matchexif.py:18 +msgid "Read EXIF of %d/%d pictures" +msgstr "" diff --git a/locale/pl_PL/LC_MESSAGES/ui.po b/locale/pl_PL/LC_MESSAGES/ui.po new file mode 100644 index 00000000..eaddac18 --- /dev/null +++ b/locale/pl_PL/LC_MESSAGES/ui.po @@ -0,0 +1,819 @@ +# +# Translators: +# mstefanski1987 , 2014 +msgid "" +msgstr "" +"Project-Id-Version: dupeGuru\n" +"PO-Revision-Date: 2014-06-09 16:24+0000\n" +"Last-Translator: mstefanski1987 \n" +"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/dupeguru/language/pl_PL/)\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: utf-8\n" +"Language: pl_PL\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: cocoa/inter/app_me.py:34 +msgid "Removing dead tracks from your iTunes Library" +msgstr "Usuwanie pustych ścieżek z biblioteki iTunes" + +#: cocoa/inter/app_me.py:35 +msgid "Scanning the iTunes Library" +msgstr "Skanowanie biblioteki iTunes" + +#: cocoa/inter/app_me.py:158 cocoa/inter/app_pe.py:200 +msgid "Sending dupes to the Trash" +msgstr "Wysyłanie duplikatów do kosza" + +#: cocoa/inter/app_me.py:160 +msgid "Talking to iTunes. Don't touch it!" +msgstr "Rozmawiam z iTunes. Nie dotykaj go!" + +#: cocoa/inter/app_me.py:195 +msgid "" +"Your iTunes Library contains %d dead tracks ready to be removed. Continue?" +msgstr "Twoja biblioteka iTunes zawiera %d pustych ścieżek gotowych do usunięcia. Kontynuować?" + +#: cocoa/inter/app_me.py:199 +msgid "You have no dead tracks in your iTunes Library" +msgstr "Nie masz pustych ścieżek w bibliotece iTunes." + +#: cocoa/inter/app_me.py:217 +msgid "The iTunes application couldn't be found." +msgstr "Aplikacja iTunes nie została znaleziona." + +#: cocoa/inter/app_pe.py:202 +msgid "Talking to iPhoto. Don't touch it!" +msgstr "Rozmawiam z iPhoto. Nie dotykaj go!" + +#: cocoa/inter/app_pe.py:211 +msgid "Talking to Aperture. Don't touch it!" +msgstr "Rozmawiam z Aperture. Nie dotykaj go!" + +#: cocoa/inter/app_pe.py:284 +msgid "Deleted Aperture photos were sent to a project called \"dupeGuru Trash\"." +msgstr "Usunięte zdjęcia z Aperture zostały przeniesione do projektu \"dupeGuru Trash\"." + +#: cocoa/inter/app_pe.py:310 +msgid "The iPhoto application couldn't be found." +msgstr "Aplikacja iPhoto nie została znaleziona." + +#: qt/base/app.py:83 +msgid "Quit" +msgstr "Wyjdź" + +#: qt/base/app.py:84 qt/base/preferences_dialog.py:123 +msgid "Preferences" +msgstr "Ustawienia" + +#: qt/base/app.py:85 qt/base/ignore_list_dialog.py:32 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Ignore List" +msgstr "Lista ignorowanych" + +#: qt/base/app.py:86 cocoa/base/en.lproj/Localizable.strings:0 +msgid "dupeGuru Help" +msgstr "Pomoc dupeGuru" + +#: qt/base/app.py:87 cocoa/base/en.lproj/Localizable.strings:0 +msgid "About dupeGuru" +msgstr "O dupeGuru" + +#: qt/base/app.py:88 +msgid "Check for Update" +msgstr "Sprawdź aktualizacje" + +#: qt/base/app.py:89 +msgid "Open Debug Log" +msgstr "Otwórz Log aplikacji" + +#: qt/base/app.py:198 +msgid "{} file (*.{})" +msgstr "Plik {} (*.{})" + +#: qt/base/deletion_options.py:30 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Deletion Options" +msgstr "Opcje usuwania" + +#: qt/base/deletion_options.py:35 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Link deleted files" +msgstr "Twórz dowiązania dla usuniętych plików" + +#: qt/base/deletion_options.py:37 cocoa/base/en.lproj/Localizable.strings:0 +msgid "" +"After having deleted a duplicate, place a link targeting the reference file " +"to replace the deleted file." +msgstr "Po usunięciu duplikatu, utwórz link wskazujący na plik referencyjny w miejsce usuniętego pliku." + +#: qt/base/deletion_options.py:42 +msgid "Hardlink" +msgstr "Twardy link" + +#: qt/base/deletion_options.py:42 +msgid "Symlink" +msgstr "Symlink" + +#: qt/base/deletion_options.py:46 +msgid " (unsupported)" +msgstr "" + +#: qt/base/deletion_options.py:47 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Directly delete files" +msgstr "Usuwaj pliki zamiast przenosić do kosza" + +#: qt/base/deletion_options.py:49 cocoa/base/en.lproj/Localizable.strings:0 +msgid "" +"Instead of sending files to trash, delete them directly. This option is " +"usually used as a workaround when the normal deletion method doesn't work." +msgstr "Zamiast przenosić pliki do kosza, usuwaj je. Ta opcja może służyć za obejście, jeśli przenoszenie do kosza nie działa." + +#: qt/base/deletion_options.py:55 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Proceed" +msgstr "Kontynuuj" + +#: qt/base/deletion_options.py:56 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Cancel" +msgstr "Anuluj" + +#: qt/base/details_table.py:16 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Attribute" +msgstr "Właściwość" + +#: qt/base/details_table.py:16 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Selected" +msgstr "Zaznaczony" + +#: qt/base/details_table.py:16 qt/base/directories_model.py:22 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Reference" +msgstr "Odwołanie" + +#: qt/base/directories_dialog.py:58 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Load Results..." +msgstr "Wczytaj wyniki..." + +#: qt/base/directories_dialog.py:59 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Results Window" +msgstr "Okno wyników" + +#: qt/base/directories_dialog.py:60 +msgid "Add Folder..." +msgstr "Dodaj folder..." + +#: qt/base/directories_dialog.py:68 qt/base/result_window.py:77 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "File" +msgstr "Plik" + +#: qt/base/directories_dialog.py:70 qt/base/result_window.py:85 +msgid "View" +msgstr "Widok" + +#: qt/base/directories_dialog.py:72 qt/base/result_window.py:87 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Help" +msgstr "Pomoc" + +#: qt/base/directories_dialog.py:74 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Load Recent Results" +msgstr "Wczytaj ostatnie wyniki" + +#: qt/base/directories_dialog.py:108 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Select folders to scan and press \"Scan\"." +msgstr "Wybierz foldery do przeskanowania i wciśnij \"Skanuj\"." + +#: qt/base/directories_dialog.py:132 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Load Results" +msgstr "Wczytaj wyniki" + +#: qt/base/directories_dialog.py:135 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Scan" +msgstr "Skanuj" + +#: qt/base/directories_dialog.py:179 +msgid "Unsaved results" +msgstr "Niezapisane wyniki" + +#: qt/base/directories_dialog.py:180 cocoa/base/en.lproj/Localizable.strings:0 +msgid "You have unsaved results, do you really want to quit?" +msgstr "Masz niezapisane wyniki wyszukiwania, czy na pewno chcesz wyjść?" + +#: qt/base/directories_dialog.py:188 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Select a folder to add to the scanning list" +msgstr "Wybierz folder aby dodać go do listy do przeskanowania" + +#: qt/base/directories_dialog.py:205 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Select a results file to load" +msgstr "Wybierz plik wyniku skanowania do wczytania" + +#: qt/base/directories_dialog.py:206 +msgid "All Files (*.*)" +msgstr "Wszystkie pliki (*.*)" + +#: qt/base/directories_dialog.py:206 qt/base/result_window.py:287 +msgid "dupeGuru Results (*.dupeguru)" +msgstr "Wyniki dupeGuru (*.dupeguru)" + +#: qt/base/directories_dialog.py:217 +msgid "Start a new scan" +msgstr "Rozpocznij nowe skanowanie" + +#: qt/base/directories_dialog.py:218 cocoa/base/en.lproj/Localizable.strings:0 +msgid "You have unsaved results, do you really want to continue?" +msgstr "Masz niezapisane wyniki wyszukiwania, czy na pewno chcesz kontynuować?" + +#: qt/base/directories_model.py:21 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Name" +msgstr "Nazwa" + +#: qt/base/directories_model.py:21 cocoa/base/en.lproj/Localizable.strings:0 +msgid "State" +msgstr "Stan" + +#: qt/base/directories_model.py:22 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Excluded" +msgstr "Wykluczony" + +#: qt/base/directories_model.py:22 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Normal" +msgstr "Normalny" + +#: qt/base/ignore_list_dialog.py:45 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Remove Selected" +msgstr "Usuń zaznaczone" + +#: qt/base/ignore_list_dialog.py:46 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Clear" +msgstr "Wyczyść" + +#: qt/base/ignore_list_dialog.py:47 qt/base/problem_dialog.py:57 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Close" +msgstr "Zamknij" + +#: qt/base/preferences_dialog.py:37 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Scan Type:" +msgstr "Rodzaj skanowania:" + +#: qt/base/preferences_dialog.py:50 +msgid "Filter Hardness:" +msgstr "Siła filtru:" + +#: qt/base/preferences_dialog.py:76 +msgid "More Results" +msgstr "Więcej wyników" + +#: qt/base/preferences_dialog.py:81 +msgid "Fewer Results" +msgstr "Mniej wyników" + +#: qt/base/preferences_dialog.py:88 +msgid "Font size:" +msgstr "Wielkość czcionki:" + +#: qt/base/preferences_dialog.py:92 +msgid "Language:" +msgstr "Język:" + +#: qt/base/preferences_dialog.py:98 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Copy and Move:" +msgstr "Kopiuj i przenieś:" + +#: qt/base/preferences_dialog.py:101 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Right in destination" +msgstr "" + +#: qt/base/preferences_dialog.py:102 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Recreate relative path" +msgstr "" + +#: qt/base/preferences_dialog.py:103 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Recreate absolute path" +msgstr "" + +#: qt/base/preferences_dialog.py:106 +msgid "Custom Command (arguments: %d for dupe, %r for ref):" +msgstr "" + +#: qt/base/preferences_dialog.py:184 +msgid "dupeGuru has to restart for language changes to take effect." +msgstr "" + +#: qt/base/prioritize_dialog.py:71 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Re-Prioritize duplicates" +msgstr "" + +#: qt/base/prioritize_dialog.py:75 cocoa/base/en.lproj/Localizable.strings:0 +msgid "" +"Add criteria to the right box and click OK to send the dupes that correspond" +" the best to these criteria to their respective group's reference position. " +"Read the help file for more information." +msgstr "" + +#: qt/base/problem_dialog.py:31 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Problems!" +msgstr "" + +#: qt/base/problem_dialog.py:35 cocoa/base/en.lproj/Localizable.strings:0 +msgid "" +"There were problems processing some (or all) of the files. The cause of " +"these problems are described in the table below. Those files were not " +"removed from your results." +msgstr "" + +#: qt/base/problem_dialog.py:52 +msgid "Reveal Selected" +msgstr "" + +#: qt/base/result_window.py:44 qt/base/result_window.py:170 +#: qt/me/details_dialog.py:20 qt/pe/details_dialog.py:26 +#: qt/se/details_dialog.py:20 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Details" +msgstr "" + +#: qt/base/result_window.py:45 qt/base/result_window.py:81 +#: qt/base/result_window.py:145 qt/base/result_window.py:169 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Actions" +msgstr "" + +#: qt/base/result_window.py:46 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Show Dupes Only" +msgstr "" + +#: qt/base/result_window.py:47 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Show Delta Values" +msgstr "" + +#: qt/base/result_window.py:48 +msgid "Send Marked to Recycle Bin..." +msgstr "" + +#: qt/base/result_window.py:49 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Move Marked to..." +msgstr "" + +#: qt/base/result_window.py:50 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Copy Marked to..." +msgstr "" + +#: qt/base/result_window.py:51 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Remove Marked from Results" +msgstr "" + +#: qt/base/result_window.py:52 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Re-Prioritize Results..." +msgstr "" + +#: qt/base/result_window.py:53 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Remove Selected from Results" +msgstr "" + +#: qt/base/result_window.py:54 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Add Selected to Ignore List" +msgstr "" + +#: qt/base/result_window.py:55 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Make Selected into Reference" +msgstr "" + +#: qt/base/result_window.py:56 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Open Selected with Default Application" +msgstr "" + +#: qt/base/result_window.py:57 +msgid "Open Containing Folder of Selected" +msgstr "" + +#: qt/base/result_window.py:58 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Rename Selected" +msgstr "" + +#: qt/base/result_window.py:59 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Mark All" +msgstr "" + +#: qt/base/result_window.py:60 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Mark None" +msgstr "" + +#: qt/base/result_window.py:61 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Invert Marking" +msgstr "" + +#: qt/base/result_window.py:62 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Mark Selected" +msgstr "" + +#: qt/base/result_window.py:63 +msgid "Export To HTML" +msgstr "" + +#: qt/base/result_window.py:64 +msgid "Export To CSV" +msgstr "" + +#: qt/base/result_window.py:65 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Save Results..." +msgstr "" + +#: qt/base/result_window.py:66 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Invoke Custom Command" +msgstr "" + +#: qt/base/result_window.py:79 +msgid "Mark" +msgstr "" + +#: qt/base/result_window.py:83 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Columns" +msgstr "" + +#: qt/base/result_window.py:141 +msgid "Reset to Defaults" +msgstr "" + +#: qt/base/result_window.py:163 +msgid "{} Results" +msgstr "" + +#: qt/base/result_window.py:171 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Dupes Only" +msgstr "" + +#: qt/base/result_window.py:172 +msgid "Delta Values" +msgstr "" + +#: qt/base/result_window.py:286 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Select a file to save your results to" +msgstr "" + +#: qt/me/preferences_dialog.py:39 qt/se/preferences_dialog.py:39 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Filename" +msgstr "" + +#: qt/me/preferences_dialog.py:40 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Filename - Fields" +msgstr "" + +#: qt/me/preferences_dialog.py:41 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Filename - Fields (No Order)" +msgstr "" + +#: qt/me/preferences_dialog.py:42 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Tags" +msgstr "" + +#: qt/me/preferences_dialog.py:43 qt/pe/preferences_dialog.py:33 +#: qt/se/preferences_dialog.py:40 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Contents" +msgstr "" + +#: qt/me/preferences_dialog.py:44 +msgid "Audio Contents" +msgstr "" + +#: qt/me/preferences_dialog.py:55 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Tags to scan:" +msgstr "" + +#: qt/me/preferences_dialog.py:61 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Track" +msgstr "" + +#: qt/me/preferences_dialog.py:63 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Artist" +msgstr "" + +#: qt/me/preferences_dialog.py:65 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Album" +msgstr "" + +#: qt/me/preferences_dialog.py:67 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Title" +msgstr "" + +#: qt/me/preferences_dialog.py:69 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Genre" +msgstr "" + +#: qt/me/preferences_dialog.py:71 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Year" +msgstr "" + +#: qt/me/preferences_dialog.py:75 qt/se/preferences_dialog.py:49 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Word weighting" +msgstr "" + +#: qt/me/preferences_dialog.py:77 qt/se/preferences_dialog.py:51 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Match similar words" +msgstr "" + +#: qt/me/preferences_dialog.py:79 qt/pe/preferences_dialog.py:41 +#: qt/se/preferences_dialog.py:53 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Can mix file kind" +msgstr "" + +#: qt/me/preferences_dialog.py:81 qt/pe/preferences_dialog.py:43 +#: qt/se/preferences_dialog.py:55 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Use regular expressions when filtering" +msgstr "" + +#: qt/me/preferences_dialog.py:83 qt/pe/preferences_dialog.py:45 +#: qt/se/preferences_dialog.py:57 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Remove empty folders on delete or move" +msgstr "" + +#: qt/me/preferences_dialog.py:85 qt/pe/preferences_dialog.py:47 +#: qt/se/preferences_dialog.py:76 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Ignore duplicates hardlinking to the same file" +msgstr "" + +#: qt/me/preferences_dialog.py:87 qt/pe/preferences_dialog.py:49 +#: qt/se/preferences_dialog.py:78 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Debug mode (restart required)" +msgstr "" + +#: qt/pe/preferences_dialog.py:34 cocoa/base/en.lproj/Localizable.strings:0 +msgid "EXIF Timestamp" +msgstr "" + +#: qt/pe/preferences_dialog.py:39 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Match pictures of different dimensions" +msgstr "" + +#: qt/pe/result_window.py:19 qt/pe/result_window.py:25 +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Clear Picture Cache" +msgstr "" + +#: qt/pe/result_window.py:26 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Do you really want to remove all your cached picture analysis?" +msgstr "" + +#: qt/pe/result_window.py:29 +msgid "Picture cache cleared." +msgstr "" + +#: qt/se/preferences_dialog.py:41 cocoa/base/en.lproj/Localizable.strings:0 +msgid "Folders" +msgstr "" + +#: qt/se/preferences_dialog.py:60 +msgid "Ignore files smaller than" +msgstr "" + +#: qt/se/preferences_dialog.py:71 cocoa/base/en.lproj/Localizable.strings:0 +msgid "KB" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "%@ Results" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Action" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Add Aperture Library" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Add iPhoto Library" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Add iTunes Library" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Add New Folder..." +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Advanced" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Audio Content" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Automatically check for updates" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Basic" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Bring All to Front" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Check for update..." +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Close Window" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Content" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Copy" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Custom command (arguments: %d for dupe, %r for ref):" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Cut" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Delta" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Details of Selected File" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Details Panel" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Directories" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "dupeGuru" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "dupeGuru ME Preferences" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "dupeGuru PE Preferences" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "dupeGuru Preferences" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "dupeGuru Results" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "dupeGuru Website" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Edit" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Export Results to CSV" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Export Results to XHTML" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Fewer results" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Filter" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Filter hardness:" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Filter Results..." +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Folder Selection Window" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Font Size:" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Hide dupeGuru" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Hide Others" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Ignore files smaller than:" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Load from file..." +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Minimize" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Mode" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "More results" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Ok" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Options" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Paste" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Preferences..." +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Quick Look" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Quit dupeGuru" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Remove Dead Tracks in iTunes" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Reset to Default" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Reset To Defaults" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Reveal" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Reveal Selected in Finder" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Select All" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Send Marked to Trash..." +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Services" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Show All" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Start Duplicate Scan" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "The name '%@' already exists." +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Window" +msgstr "" + +#: cocoa/base/en.lproj/Localizable.strings:0 +msgid "Zoom" +msgstr "" diff --git a/qt/base/preferences_dialog.py b/qt/base/preferences_dialog.py index 70606d04..eb3d2d45 100644 --- a/qt/base/preferences_dialog.py +++ b/qt/base/preferences_dialog.py @@ -19,7 +19,9 @@ from qtlib.preferences import LANGNAMES tr = trget('ui') -SUPPORTED_LANGUAGES = ['en', 'fr', 'de', 'zh_CN', 'cs', 'it', 'hy', 'ru', 'uk', 'pt_BR', 'vi'] +SUPPORTED_LANGUAGES = [ + 'en', 'fr', 'de', 'zh_CN', 'cs', 'it', 'hy', 'ru', 'uk', 'pt_BR', 'vi', 'pl_PL', +] class PreferencesDialogBase(QDialog): def __init__(self, parent, app, **kwargs): diff --git a/qtlib/preferences.py b/qtlib/preferences.py index 6143bed3..a24d0232 100644 --- a/qtlib/preferences.py +++ b/qtlib/preferences.py @@ -1,9 +1,9 @@ # Created By: Virgil Dupras # Created On: 2009-05-03 # Copyright 2015 Hardcoded Software (http://www.hardcoded.net) -# -# This software is licensed under the "GPLv3" License as described in the "LICENSE" file, -# which should be included with this package. The terms are also available at +# +# This software is licensed under the "GPLv3" License as described in the "LICENSE" file, +# which should be included with this package. The terms are also available at # http://www.gnu.org/licenses/gpl-3.0.html from PyQt5.QtCore import Qt, QSettings, QRect @@ -24,6 +24,7 @@ LANGNAMES = { 'ru': tr("Russian"), 'uk': tr("Ukrainian"), 'nl': tr('Dutch'), + 'pl_PL': tr("Polish"), 'pt_BR': tr("Brazilian"), 'es': tr("Spanish"), 'vi': tr("Vietnamese"), @@ -62,17 +63,17 @@ class Preferences: def __init__(self): self.reset() self._settings = QSettings() - + def _load_values(self, settings, get): pass - + def get_rect(self, name, default=None): r = self.get_value(name, default) if r is not None: return QRect(*r) else: return None - + def get_value(self, name, default=None): if self._settings.contains(name): result = adjust_after_deserialization(self._settings.value(name)) @@ -84,29 +85,29 @@ class Preferences: return default else: return default - + def load(self): self.reset() self._load_values(self._settings) - + def reset(self): pass - + def _save_values(self, settings, set_): pass - + def save(self): self._save_values(self._settings) self._settings.sync() - + def set_rect(self, name, r): if isinstance(r, QRect): rectAsList = [r.x(), r.y(), r.width(), r.height()] self.set_value(name, rectAsList) - + def set_value(self, name, value): self._settings.setValue(name, normalize_for_serialization(value)) - + def saveGeometry(self, name, widget): # We save geometry under a 5-sized int array: first item is a flag for whether the widget # is maximized and the other 4 are (x, y, w, h). @@ -114,7 +115,7 @@ class Preferences: r = widget.geometry() rectAsList = [r.x(), r.y(), r.width(), r.height()] self.set_value(name, [m] + rectAsList) - + def restoreGeometry(self, name, widget): l = self.get_value(name) if l and len(l) == 5: @@ -124,4 +125,4 @@ class Preferences: else: r = QRect(x, y, w, h) widget.setGeometry(r) - +