diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96e9d78ae..76584a1f4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,7 +46,7 @@ jobs: job_cache_extra_deps=(); job_id=test_python_312; job_name='Test (Python 3.12)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.12; job_reqs=(reqs/dist.txt reqs/test.txt); job_skip_cache_name=skip_test_python_312_py-3.12_ubuntu-latest; job_skip_cache_path=.skip_cache_test_python_312; job_skiplists=(job_test os_linux os_macos os_windows); job_test_args='-p no:pytest-qt --ignore=test/gui_qt'; job_type=test; job_variant='Python 3.12'; analyze_set_job_skip_cache_key job_cache_extra_deps=(); job_id=test_python_311; job_name='Test (Python 3.11)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.11; job_reqs=(reqs/dist.txt reqs/test.txt); job_skip_cache_name=skip_test_python_311_py-3.11_ubuntu-latest; job_skip_cache_path=.skip_cache_test_python_311; job_skiplists=(job_test os_linux os_macos os_windows); job_test_args='-p no:pytest-qt --ignore=test/gui_qt'; job_type=test; job_variant='Python 3.11'; analyze_set_job_skip_cache_key job_cache_extra_deps=(); job_id=test_python_310; job_name='Test (Python 3.10)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.10; job_reqs=(reqs/dist.txt reqs/test.txt); job_skip_cache_name=skip_test_python_310_py-3.10_ubuntu-latest; job_skip_cache_path=.skip_cache_test_python_310; job_skiplists=(job_test os_linux os_macos os_windows); job_test_args='-p no:pytest-qt --ignore=test/gui_qt'; job_type=test; job_variant='Python 3.10'; analyze_set_job_skip_cache_key - job_cache_extra_deps=(); job_id=test_qt_gui; job_name='Test (Qt GUI)'; job_needs=(); job_os=Linux; job_platform=ubuntu-22.04; job_python=3.13.3; job_reqs=(reqs/dist.txt reqs/dist_extra_gui_qt.txt reqs/test.txt); job_skip_cache_name=skip_test_qt_gui_py-3.13.3_ubuntu-22.04; job_skip_cache_path=.skip_cache_test_qt_gui; job_skiplists=(job_test_gui_qt); job_test_args=test/gui_qt; job_type=test_gui_qt; job_variant='Qt GUI'; analyze_set_job_skip_cache_key + job_cache_extra_deps=(); job_id=test_qt_gui; job_name='Test (Qt GUI)'; job_needs=(); job_os=Linux; job_platform=ubuntu-22.04; job_python=3.13.3; job_reqs=(reqs/dist.txt reqs/dist_extra_gui_qt.txt reqs/setup.txt reqs/test.txt); job_skip_cache_name=skip_test_qt_gui_py-3.13.3_ubuntu-22.04; job_skip_cache_path=.skip_cache_test_qt_gui; job_skiplists=(job_test_gui_qt); job_test_args=test/gui_qt; job_type=test_gui_qt; job_variant='Qt GUI'; analyze_set_job_skip_cache_key job_cache_extra_deps=(); job_id=test_packaging; job_name='Test (Packaging)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.13.3; job_reqs=(reqs/packaging.txt reqs/setup.txt); job_skip_cache_name=skip_test_packaging_py-3.13.3_ubuntu-latest; job_skip_cache_path=.skip_cache_test_packaging; job_skiplists=(job_test_packaging); job_type=test_packaging; job_variant=Packaging; analyze_set_job_skip_cache_key job_cache_extra_deps=(); job_id=test_code_quality; job_name='Test (Code Quality)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.13.3; job_reqs=(reqs/code_quality.txt); job_skip_cache_name=skip_test_code_quality_py-3.13.3_ubuntu-latest; job_skip_cache_path=.skip_cache_test_code_quality; job_type=test_code_quality; job_variant='Code Quality'; analyze_set_job_skip_cache_key job_cache_extra_deps=('reqs/dist_*.txt' linux/appimage/deps.sh); job_id=build_linux; job_name='Build (Linux)'; job_needs=(test_linux); job_os=Linux; job_platform=ubuntu-22.04; job_python=3.13.3; job_reqs=(reqs/build.txt reqs/setup.txt); job_skip_cache_name=skip_build_linux_py-3.13.3_ubuntu-22.04; job_skip_cache_path=.skip_cache_build_linux; job_skiplists=(job_build os_linux); job_type=build; job_variant=Linux; analyze_set_job_skip_cache_key @@ -195,7 +195,7 @@ jobs: job_cache_extra_deps=(); job_id=test_python_312; job_name='Test (Python 3.12)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.12; job_reqs=(reqs/dist.txt reqs/test.txt); job_skip_cache_name=skip_test_python_312_py-3.12_ubuntu-latest; job_skip_cache_path=.skip_cache_test_python_312; job_skiplists=(job_test os_linux os_macos os_windows); job_test_args='-p no:pytest-qt --ignore=test/gui_qt'; job_type=test; job_variant='Python 3.12'; analyze_set_job_skip_job job_cache_extra_deps=(); job_id=test_python_311; job_name='Test (Python 3.11)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.11; job_reqs=(reqs/dist.txt reqs/test.txt); job_skip_cache_name=skip_test_python_311_py-3.11_ubuntu-latest; job_skip_cache_path=.skip_cache_test_python_311; job_skiplists=(job_test os_linux os_macos os_windows); job_test_args='-p no:pytest-qt --ignore=test/gui_qt'; job_type=test; job_variant='Python 3.11'; analyze_set_job_skip_job job_cache_extra_deps=(); job_id=test_python_310; job_name='Test (Python 3.10)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.10; job_reqs=(reqs/dist.txt reqs/test.txt); job_skip_cache_name=skip_test_python_310_py-3.10_ubuntu-latest; job_skip_cache_path=.skip_cache_test_python_310; job_skiplists=(job_test os_linux os_macos os_windows); job_test_args='-p no:pytest-qt --ignore=test/gui_qt'; job_type=test; job_variant='Python 3.10'; analyze_set_job_skip_job - job_cache_extra_deps=(); job_id=test_qt_gui; job_name='Test (Qt GUI)'; job_needs=(); job_os=Linux; job_platform=ubuntu-22.04; job_python=3.13.3; job_reqs=(reqs/dist.txt reqs/dist_extra_gui_qt.txt reqs/test.txt); job_skip_cache_name=skip_test_qt_gui_py-3.13.3_ubuntu-22.04; job_skip_cache_path=.skip_cache_test_qt_gui; job_skiplists=(job_test_gui_qt); job_test_args=test/gui_qt; job_type=test_gui_qt; job_variant='Qt GUI'; analyze_set_job_skip_job + job_cache_extra_deps=(); job_id=test_qt_gui; job_name='Test (Qt GUI)'; job_needs=(); job_os=Linux; job_platform=ubuntu-22.04; job_python=3.13.3; job_reqs=(reqs/dist.txt reqs/dist_extra_gui_qt.txt reqs/setup.txt reqs/test.txt); job_skip_cache_name=skip_test_qt_gui_py-3.13.3_ubuntu-22.04; job_skip_cache_path=.skip_cache_test_qt_gui; job_skiplists=(job_test_gui_qt); job_test_args=test/gui_qt; job_type=test_gui_qt; job_variant='Qt GUI'; analyze_set_job_skip_job job_cache_extra_deps=(); job_id=test_packaging; job_name='Test (Packaging)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.13.3; job_reqs=(reqs/packaging.txt reqs/setup.txt); job_skip_cache_name=skip_test_packaging_py-3.13.3_ubuntu-latest; job_skip_cache_path=.skip_cache_test_packaging; job_skiplists=(job_test_packaging); job_type=test_packaging; job_variant=Packaging; analyze_set_job_skip_job job_cache_extra_deps=(); job_id=test_code_quality; job_name='Test (Code Quality)'; job_needs=(); job_os=Linux; job_platform=ubuntu-latest; job_python=3.13.3; job_reqs=(reqs/code_quality.txt); job_skip_cache_name=skip_test_code_quality_py-3.13.3_ubuntu-latest; job_skip_cache_path=.skip_cache_test_code_quality; job_type=test_code_quality; job_variant='Code Quality'; analyze_set_job_skip_job job_cache_extra_deps=('reqs/dist_*.txt' linux/appimage/deps.sh); job_id=build_linux; job_name='Build (Linux)'; job_needs=(test_linux); job_os=Linux; job_platform=ubuntu-22.04; job_python=3.13.3; job_reqs=(reqs/build.txt reqs/setup.txt); job_skip_cache_name=skip_build_linux_py-3.13.3_ubuntu-22.04; job_skip_cache_path=.skip_cache_build_linux; job_skiplists=(job_build os_linux); job_type=build; job_variant=Linux; analyze_set_job_skip_job @@ -673,13 +673,13 @@ jobs: uses: actions/cache@v4 with: path: .cache - key: 0_${{ steps.set_cache.outputs.cache_name }}_${{ hashFiles('reqs/constraints.txt', 'reqs/dist.txt', 'reqs/dist_extra_gui_qt.txt', 'reqs/test.txt') }} + key: 0_${{ steps.set_cache.outputs.cache_name }}_${{ hashFiles('reqs/constraints.txt', 'reqs/dist.txt', 'reqs/dist_extra_gui_qt.txt', 'reqs/setup.txt', 'reqs/test.txt') }} - name: Install system dependencies run: apt_get_install libdbus-1-dev libdbus-glib-1-dev libudev-dev libegl-dev libxkbcommon-x11-0 libxkbcommon-dev - name: Setup Python environment - run: setup_python_env -c reqs/constraints.txt -r reqs/dist.txt -r reqs/dist_extra_gui_qt.txt -r reqs/test.txt + run: setup_python_env -c reqs/constraints.txt -r reqs/dist.txt -r reqs/dist_extra_gui_qt.txt -r reqs/setup.txt -r reqs/test.txt - name: Build UI run: python setup.py build_ui diff --git a/.github/workflows/ci/workflow_context.yml b/.github/workflows/ci/workflow_context.yml index c9243572e..a76c95d13 100644 --- a/.github/workflows/ci/workflow_context.yml +++ b/.github/workflows/ci/workflow_context.yml @@ -68,7 +68,7 @@ jobs: - <<: *test type: test_gui_qt variant: Qt GUI - reqs: ["dist", "dist_extra_gui_qt", "test"] + reqs: ["dist", "dist_extra_gui_qt", "setup", "test"] skiplists: ["job_test_gui_qt"] test_args: test/gui_qt diff --git a/MANIFEST.in b/MANIFEST.in index 88398ea4a..af71e6a52 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -30,11 +30,11 @@ include plover_build_utils/*.sh include pyproject.toml include pytest.ini include reqs/*.txt -include test/*.py -include test/gui_qt/*.py +recursive-include test *.py include tox.ini include windows/* exclude .pre-commit-config.yaml +prune doc/_build # without first including it, exluding .readthedocs.yml results in a warning when running locally include .readthedocs.yml exclude .readthedocs.yml diff --git a/README.md b/README.md index fd1fbe00e..24079d443 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- Plover logo + Plover logo

Plover

@@ -7,12 +7,12 @@

Bringing stenography to everyone.

- - Latest release + + Latest release - License - - CI status + License + + CI status ReadTheDocs @@ -121,14 +121,14 @@ Please follow through for your system: [Beginner's Guide]: https://plover.wiki/index.php/Beginner%27s_Guide [Blog]: http://plover.stenoknight.com -[Contributing]: https://github.com/openstenoproject/plover/blob/main/CONTRIBUTING.md -[Donate]: http://www.openstenoproject.org/donate +[Contributing]: https://github.com/opensteno/plover/blob/main/CONTRIBUTING.md +[Donate]: http://www.opensteno.org/donate [Google Group]: https://groups.google.com/forum/#!forum/ploversteno -[Homepage Source]: https://github.com/openstenoproject/plover/tree/gh-pages +[Homepage Source]: https://github.com/opensteno/plover/tree/gh-pages [Homepage]: http://opensteno.org/plover -[Issues]: https://github.com/openstenoproject/plover/issues?q=is:issue -[License]: https://github.com/openstenoproject/plover/blob/main/LICENSE.txt -[Open Steno Project Homepage Source]: https://github.com/openstenoproject/openstenoproject.github.io +[Issues]: https://github.com/opensteno/plover/issues?q=is:issue +[License]: https://github.com/opensteno/plover/blob/main/LICENSE.txt +[Open Steno Project Homepage Source]: https://github.com/opensteno/opensteno.github.io [Open Steno Project]: http://opensteno.org [Mascot]: http://plover.stenoknight.com/2010/10/new-logo.html [StenoJig]: https://github.com/JoshuaGrams/steno-jig @@ -138,6 +138,6 @@ Please follow through for your system: [Wiki]: https://plover.wiki [installation guide]: https://plover.wiki/index.php/Installation_Guide [panathea/plover\_icons]: https://github.com/panathea/plover_icons -[Windows README]: https://github.com/openstenoproject/plover/blob/main/windows/README.md -[Linux README]: https://github.com/openstenoproject/plover/blob/main/linux/README.md -[macOS README]: https://github.com/openstenoproject/plover/blob/main/osx/README.md +[Windows README]: https://github.com/opensteno/plover/blob/main/windows/README.md +[Linux README]: https://github.com/opensteno/plover/blob/main/linux/README.md +[macOS README]: https://github.com/opensteno/plover/blob/main/osx/README.md diff --git a/news.d/bugfix/1824.core b/news.d/bugfix/1824.core new file mode 100644 index 000000000..2a12741ff --- /dev/null +++ b/news.d/bugfix/1824.core @@ -0,0 +1 @@ +Fix translation catalog generation. diff --git a/plover/messages/es/LC_MESSAGES/plover.po b/plover/messages/es/LC_MESSAGES/plover.po index 0ecb96922..d1e0d9b45 100644 --- a/plover/messages/es/LC_MESSAGES/plover.po +++ b/plover/messages/es/LC_MESSAGES/plover.po @@ -1,20 +1,20 @@ + msgid "" msgstr "" -"Project-Id-Version: Plover\n" +"Project-Id-Version: plover 5.2.3\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-10-11 18:33+0000\n" +"POT-Creation-Date: 2026-03-07 10:58+0100\n" "PO-Revision-Date: 2021-10-12 20:54+0200\n" "Last-Translator: Noelia Ruiz Martínez \n" -"Language-Team: Noelia Ruiz Martínez \n" "Language: es\n" +"Language-Team: Noelia Ruiz Martínez \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Generated-By: Babel 2.9.0\n" -"X-Generator: Poedit 3.0\n" +"Generated-By: Babel 2.17.0\n" -#: plover/__init__.py:19 +#: plover/__init__.py:22 msgid "" "Founded by stenographer Mirabai Knight.\n" "\n" @@ -45,11 +45,11 @@ msgstr "" "" #. Short description for Plover, currently not used in the interface. -#: plover/__init__.py:33 +#: plover/__init__.py:38 msgid "Open Source Stenography Software" msgstr "Software de estenotipia de código abierto" -#: plover/__init__.py:34 +#: plover/__init__.py:39 msgid "" "Plover is a free open source program intended to bring realtime\n" "stenographic technology not just to stenographers, but also to\n" @@ -58,298 +58,392 @@ msgstr "" "Plover es un programa libre de código abierto que tiene el objetivo de " "llevar la tecnología de estenotipia en tiempo real,\n" "no solo a estenotipistas, sino también\n" -"a hackers, personas aficionadas, expertas en accesibilidad y genios de la " -"velocidad por todas partes." +"a hackers, personas aficionadas, expertas en accesibilidad y genios de la" +" velocidad por todas partes." + +#: plover/dictionary/helpers.py:24 +#, python-format +msgid "dictionary `%s` loaded with %u invalid steno errors" +msgstr "" #. Widget: “AboutDialog”, window title. -#: plover/gui_qt/about_dialog_ui.py:38 +#: plover/gui_qt/about_dialog_ui.py:53 msgid "Plover: About" msgstr "Plover: Acerca de" #. Widget: “AddTranslationDialog”, tooltip. #. Widget: “AddTranslationWidget”, tooltip. -#: plover/gui_qt/add_translation_dialog.py:12 +#: plover/gui_qt/add_translation_dialog.py:11 #: plover/gui_qt/add_translation_widget.py:23 msgid "Add a new translation to the dictionary." msgstr "Añadir una nueva traducción al diccionario." -#: plover/gui_qt/add_translation_dialog.py:14 +#: plover/gui_qt/add_translation_dialog.py:13 msgid "Add Translation" msgstr "Añadir traducción" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:193 +#: plover/gui_qt/add_translation_widget.py:194 +#, python-brace-format msgid "{dictionary} (disabled)" msgstr "{dictionary} (desactivado)" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:255 +#: plover/gui_qt/add_translation_widget.py:260 +#, python-brace-format msgid "{strokes} maps to " msgstr "{strokes} se asigna a " #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:266 +#: plover/gui_qt/add_translation_widget.py:272 msgid "Overwritten entries:" msgstr "Entradas sobrescritas:" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:271 +#: plover/gui_qt/add_translation_widget.py:277 +#, python-brace-format msgid "{strokes} is not mapped in any dictionary" msgstr "{strokes} no está asignada en ningún diccionario" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:284 +#: plover/gui_qt/add_translation_widget.py:291 +#, python-brace-format msgid "{translation} is mapped to: {strokes}" msgstr "{translation} está asignada a {strokes}" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:287 +#: plover/gui_qt/add_translation_widget.py:294 +#, python-brace-format msgid "{translation} is not in the dictionary" msgstr "{translation} no está en el diccionario" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:106 +#: plover/gui_qt/add_translation_widget_ui.py:124 msgid "Dictionary:" msgstr "Diccionario:" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:108 +#: plover/gui_qt/add_translation_widget_ui.py:126 msgid "Strokes:" msgstr "Acordes:" #. Widget: “AddTranslationWidget”, accessible name. #. Widget: “DictionaryEditor”. -#: plover/gui_qt/add_translation_widget_ui.py:110 -#: plover/gui_qt/dictionary_editor.py:173 +#: plover/gui_qt/add_translation_widget_ui.py:129 +#: plover/gui_qt/dictionary_editor.py:170 msgid "Strokes" msgstr "Acordes" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:112 +#: plover/gui_qt/add_translation_widget_ui.py:132 msgid "Translation:" msgstr "Traducción:" #. Widget: “AddTranslationWidget”, accessible name. #. Widget: “DictionaryEditor”. -#: plover/gui_qt/add_translation_widget_ui.py:114 -#: plover/gui_qt/dictionary_editor.py:176 +#: plover/gui_qt/add_translation_widget_ui.py:135 +#: plover/gui_qt/dictionary_editor.py:173 msgid "Translation" msgstr "Traducción" #. Widget: “AddTranslationWidget”, accessible name. #. Widget: “DictionaryEditor”. -#: plover/gui_qt/add_translation_widget_ui.py:116 -#: plover/gui_qt/dictionary_editor.py:179 +#: plover/gui_qt/add_translation_widget_ui.py:139 +#: plover/gui_qt/dictionary_editor.py:176 msgid "Dictionary" msgstr "Diccionario" #. Widget: “AddTranslationWidget”, accessible description. -#: plover/gui_qt/add_translation_widget_ui.py:118 +#: plover/gui_qt/add_translation_widget_ui.py:143 msgid "Select the target dictionary for the new translation." msgstr "Seleccionar el diccionario de destino para la nueva traducción." #. Widget: “AddTranslationWidget”, accessible name. -#: plover/gui_qt/add_translation_widget_ui.py:120 +#: plover/gui_qt/add_translation_widget_ui.py:147 msgid "Existing mappings (strokes)" msgstr "Asignaciones existentes (acordes)" #. Widget: “AddTranslationWidget”, accessible name. -#: plover/gui_qt/add_translation_widget_ui.py:122 +#: plover/gui_qt/add_translation_widget_ui.py:152 msgid "Existing mappings (translations)" msgstr "Asignaciones existentes (traducciones)" #. Widget: “FileWidget”, accessible name. -#: plover/gui_qt/config_file_widget_ui.py:45 +#: plover/gui_qt/config_file_widget_ui.py:61 msgid "Log file path." msgstr "Ruta para el fichero de registro." #. Widget: “FileWidget”, accessible description. -#: plover/gui_qt/config_file_widget_ui.py:47 +#: plover/gui_qt/config_file_widget_ui.py:65 msgid "Path to the log file." msgstr "Ruta para el fichero de registro." #. Widget: “FileWidget”, accessible name. -#: plover/gui_qt/config_file_widget_ui.py:49 +#: plover/gui_qt/config_file_widget_ui.py:69 msgid "Browse." msgstr "Examinar." #. Widget: “FileWidget”, accessible description. -#: plover/gui_qt/config_file_widget_ui.py:51 +#: plover/gui_qt/config_file_widget_ui.py:73 msgid "Open a file picker to select the log file." msgstr "Abrir un selector de archivos para elegir el fichero de registro." #. Widget: “FileWidget”, text. -#: plover/gui_qt/config_file_widget_ui.py:53 +#: plover/gui_qt/config_file_widget_ui.py:76 msgid "Browse" msgstr "Examinar" +#. Widget: “KeyboardWidget”, tool tip. +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_keyboard_widget_ui.py:56 +#: plover/gui_qt/config_plover_hid_widget_ui.py:89 +msgid "" +"When the first key in a chord is released, the chord is sent.\n" +"If the key is pressed and released again, another chord is sent." +msgstr "" + +#. Widget: “KeyboardWidget”, text. +#: plover/gui_qt/config_keyboard_widget_ui.py:60 +msgid "First-up chord send" +msgstr "" + #. Widget: “KeyboardWidget”, text. -#: plover/gui_qt/config_keyboard_widget_ui.py:36 +#: plover/gui_qt/config_keyboard_widget_ui.py:62 msgid "Arpeggiate" msgstr "Arpegiar" +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:93 +msgid "Send chord on first key release" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:96 +msgid "Tap and then hold a chord to send it repeatedly." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:99 +msgid "Double tap to repeat" +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:101 +msgid "Repeat delay (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:104 +msgid "Delay before chord starts repeating." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:107 +msgid "Repeat interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:110 +msgid "Interval between chord repetitions." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:113 +msgid "Device scan interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:116 +msgid "How often to scan for newly plugged-in devices." +msgstr "" + #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:205 +#: plover/gui_qt/config_serial_widget_ui.py:215 msgid "Serial" msgstr "Serie" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:207 +#: plover/gui_qt/config_serial_widget_ui.py:218 msgid "Connection" msgstr "Conexión" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:209 -#: plover/gui_qt/config_serial_widget_ui.py:211 +#: plover/gui_qt/config_serial_widget_ui.py:220 +#: plover/gui_qt/config_serial_widget_ui.py:223 msgid "Port" msgstr "Puerto" #. Widget: “SerialWidget”, accessible description. -#: plover/gui_qt/config_serial_widget_ui.py:213 +#: plover/gui_qt/config_serial_widget_ui.py:227 msgid "Serial port device name." msgstr "Nombre de dispositivo para puerto serie." #. Widget: “SerialWidget”, accessible description. -#: plover/gui_qt/config_serial_widget_ui.py:215 -msgid "Scan for available serial ports." +#: plover/gui_qt/config_serial_widget_ui.py:231 +#, fuzzy +msgid "Reload all available serial ports." msgstr "Escanear puertos serie disponibles." #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:217 -msgid "Scan" -msgstr "Escanear" +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_serial_widget_ui.py:234 +#: plover/gui_qt/plugins_manager_ui.py:146 +msgid "Refresh" +msgstr "" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:219 -#: plover/gui_qt/config_serial_widget_ui.py:221 +#: plover/gui_qt/config_serial_widget_ui.py:236 +#: plover/gui_qt/config_serial_widget_ui.py:239 msgid "Baudrate" msgstr "Baudios" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:223 +#: plover/gui_qt/config_serial_widget_ui.py:242 msgid "Data format" msgstr "Formato de datos" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:225 -#: plover/gui_qt/config_serial_widget_ui.py:227 +#: plover/gui_qt/config_serial_widget_ui.py:244 +#: plover/gui_qt/config_serial_widget_ui.py:247 msgid "Data bits" msgstr "Bits de datos" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:229 -#: plover/gui_qt/config_serial_widget_ui.py:231 +#: plover/gui_qt/config_serial_widget_ui.py:250 +#: plover/gui_qt/config_serial_widget_ui.py:253 msgid "Stop bits" msgstr "Bits de parada" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:233 -#: plover/gui_qt/config_serial_widget_ui.py:235 +#: plover/gui_qt/config_serial_widget_ui.py:256 +#: plover/gui_qt/config_serial_widget_ui.py:259 msgid "Parity" msgstr "Paridad" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:237 +#: plover/gui_qt/config_serial_widget_ui.py:265 msgid "Timeout" msgstr "Tiempo de espera" #. Widget: “SerialWidget”, text. +#: plover/gui_qt/config_serial_widget_ui.py:267 +#, fuzzy +msgid "Duration (s)" +msgstr "DuraciónTraducción" + #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:239 -#: plover/gui_qt/config_serial_widget_ui.py:241 +#: plover/gui_qt/config_serial_widget_ui.py:270 msgid "Duration" msgstr "DuraciónTraducción" #. Widget: “SerialWidget”, accessible description. -#: plover/gui_qt/config_serial_widget_ui.py:243 +#: plover/gui_qt/config_serial_widget_ui.py:274 msgid "Timeout duration in seconds." msgstr "Duración de tiempo de espera en segundos." -#. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:245 -msgid "Use timeout" -msgstr "Usar tiempo de espera" - #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:247 +#: plover/gui_qt/config_serial_widget_ui.py:277 msgid "Flow control" msgstr "Control de flujo" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:249 +#: plover/gui_qt/config_serial_widget_ui.py:279 msgid "Xon/Xoff" msgstr "Xon/Xoff" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:251 +#: plover/gui_qt/config_serial_widget_ui.py:281 msgid "RTS/CTS" msgstr "RTS/CTS" #. Widget: “NopeOption” (empty config option message, #. e.g. the machine option when selecting the Treal machine). -#: plover/gui_qt/config_window.py:47 +#: plover/gui_qt/config_window.py:51 msgid "Nothing to see here!" msgstr "¡Aquí no hay nada para ver!" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:176 +#: plover/gui_qt/config_window.py:173 msgid "Key" msgstr "Tecla" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:178 +#: plover/gui_qt/config_window.py:175 msgid "Action" msgstr "Acción" #. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:224 -msgid "Choice" -msgstr "Opción" - -#. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:226 +#: plover/gui_qt/config_window.py:221 msgid "Selected" msgstr "Seleccionado" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:320 +#. Widget: “MultipleChoicesOption”. +#: plover/gui_qt/config_window.py:223 +msgid "Choice" +msgstr "Opción" + +#: plover/gui_qt/config_window.py:354 msgid "Interface" msgstr "Interfaz" -#: plover/gui_qt/config_window.py:321 +#: plover/gui_qt/config_window.py:357 +msgid "Appearance:" +msgstr "" + +#: plover/gui_qt/config_window.py:362 plover/gui_qt/config_window.py:586 +msgid "System" +msgstr "Sistema" + +#: plover/gui_qt/config_window.py:363 +msgid "Light" +msgstr "" + +#: plover/gui_qt/config_window.py:364 +msgid "Dark" +msgstr "" + +#: plover/gui_qt/config_window.py:368 +msgid "" +"Set the application appearance:\n" +"- System: follow the operating system mode\n" +"- Light: force light mode\n" +"- Dark: force dark mode" +msgstr "" + +#: plover/gui_qt/config_window.py:375 msgid "Start minimized:" msgstr "Iniciar minimizado:" -#: plover/gui_qt/config_window.py:322 +#: plover/gui_qt/config_window.py:378 msgid "Minimize the main window to systray on startup." msgstr "Minimizar la ventana principal a la bandeja del sistema al arrancar." -#: plover/gui_qt/config_window.py:323 +#: plover/gui_qt/config_window.py:381 msgid "Show paper tape:" msgstr "Mostrar tira de papel:" -#: plover/gui_qt/config_window.py:324 +#: plover/gui_qt/config_window.py:384 msgid "Open the paper tape on startup." msgstr "Abrir la tira de papel al arrancar." -#: plover/gui_qt/config_window.py:325 +#: plover/gui_qt/config_window.py:387 msgid "Show suggestions:" msgstr "Mostrar sugerencias:" -#: plover/gui_qt/config_window.py:326 +#: plover/gui_qt/config_window.py:390 msgid "Open the suggestions dialog on startup." msgstr "Abrir el diálogo de sugerencias al arrancar." -#: plover/gui_qt/config_window.py:327 +#: plover/gui_qt/config_window.py:393 msgid "Add translation dialog opacity:" msgstr "Añadir opacidad para el diálogo de traducción:" -#: plover/gui_qt/config_window.py:329 +#: plover/gui_qt/config_window.py:397 msgid "" "Set the translation dialog opacity:\n" "- 0 makes the dialog invisible\n" @@ -359,104 +453,101 @@ msgstr "" "- 0 hace invisible el diálogo\n" "- 100 es totalmente opaco" -#: plover/gui_qt/config_window.py:332 +#: plover/gui_qt/config_window.py:403 msgid "Dictionaries display order:" msgstr "Orden para visualización de diccionarios:" -#: plover/gui_qt/config_window.py:334 +#: plover/gui_qt/config_window.py:406 msgid "top-down" msgstr "hacia abajo" -#: plover/gui_qt/config_window.py:334 +#: plover/gui_qt/config_window.py:406 msgid "bottom-up" msgstr "hacia arriba" -#: plover/gui_qt/config_window.py:335 +#: plover/gui_qt/config_window.py:409 msgid "" "Set the display order for dictionaries:\n" "- top-down: match the search order; highest priority first\n" "- bottom-up: reverse search order; lowest priority first\n" msgstr "" "Establecer orden para visualización de diccionarios:\n" -"- de arriba abajo: coincidir con el orden de búsqueda; primero el de mayor " -"prioridad\n" +"- de arriba abajo: coincidir con el orden de búsqueda; primero el de " +"mayor prioridad\n" "- de abajo arriba: invertir el orden de búsqueda; primero el de menor " "prioridad\n" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:340 +#: plover/gui_qt/config_window.py:418 msgid "Logging" msgstr "Registro" -#: plover/gui_qt/config_window.py:341 +#: plover/gui_qt/config_window.py:421 msgid "Log file:" msgstr "Fichero de registro:" -#: plover/gui_qt/config_window.py:343 +#: plover/gui_qt/config_window.py:424 msgid "Select a log file" msgstr "Seleccionar un fichero de registro" -#: plover/gui_qt/config_window.py:344 +#: plover/gui_qt/config_window.py:424 msgid "Log files (*.log)" msgstr "Ficheros de registro (*.log)" -#: plover/gui_qt/config_window.py:345 +#: plover/gui_qt/config_window.py:426 msgid "File to use for logging strokes/translations." msgstr "Fichero para usar en el registro de acordes/traducciones." -#: plover/gui_qt/config_window.py:346 +#: plover/gui_qt/config_window.py:429 msgid "Log strokes:" msgstr "Registrar acordes:" -#: plover/gui_qt/config_window.py:347 +#: plover/gui_qt/config_window.py:432 msgid "Save strokes to the logfile." msgstr "Guardar acordes en el fichero de registro." -#: plover/gui_qt/config_window.py:348 +#: plover/gui_qt/config_window.py:435 msgid "Log translations:" msgstr "Registrar traducciones:" -#: plover/gui_qt/config_window.py:349 +#: plover/gui_qt/config_window.py:438 msgid "Save translations to the logfile." msgstr "Guardar traducciones en el fichero de registro." -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:352 plover/gui_qt/main_window_ui.py:164 +#: plover/gui_qt/config_window.py:444 plover/gui_qt/main_window_ui.py:260 msgid "Machine" msgstr "Máquina" -#: plover/gui_qt/config_window.py:353 +#: plover/gui_qt/config_window.py:447 msgid "Machine:" msgstr "Máquina:" -#: plover/gui_qt/config_window.py:358 +#: plover/gui_qt/config_window.py:459 msgid "Options:" msgstr "Opciones:" -#: plover/gui_qt/config_window.py:359 +#: plover/gui_qt/config_window.py:461 msgid "Keymap:" msgstr "Asignaciones de teclas:" -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:362 plover/gui_qt/main_window_ui.py:180 +#: plover/gui_qt/config_window.py:466 plover/gui_qt/main_window_ui.py:292 msgid "Output" msgstr "Salida" -#: plover/gui_qt/config_window.py:363 +#: plover/gui_qt/config_window.py:469 msgid "Enable at start:" msgstr "Activar al inicio:" -#: plover/gui_qt/config_window.py:364 +#: plover/gui_qt/config_window.py:472 msgid "Enable output on startup." msgstr "Activar la salida al arrancar." -#: plover/gui_qt/config_window.py:365 +#: plover/gui_qt/config_window.py:475 msgid "Start attached:" msgstr "Suprimir espacio inicial:" -#: plover/gui_qt/config_window.py:366 +#: plover/gui_qt/config_window.py:479 msgid "" "Disable preceding space on first output.\n" "\n" @@ -466,37 +557,37 @@ msgstr "" "\n" "Esta opción solo es aplicable cuando los espacios se colocan antes." -#: plover/gui_qt/config_window.py:369 +#: plover/gui_qt/config_window.py:485 msgid "Start capitalized:" msgstr "Inicio en mayúscula:" -#: plover/gui_qt/config_window.py:370 +#: plover/gui_qt/config_window.py:488 msgid "Capitalize the first word." msgstr "Poner en mayúscula la primera palabra." -#: plover/gui_qt/config_window.py:371 +#: plover/gui_qt/config_window.py:491 msgid "Space placement:" msgstr "Ubicación de espacio:" -#: plover/gui_qt/config_window.py:373 +#: plover/gui_qt/config_window.py:496 msgid "Before Output" msgstr "Antes de la salida" -#: plover/gui_qt/config_window.py:374 +#: plover/gui_qt/config_window.py:497 msgid "After Output" msgstr "Después de la salida" -#: plover/gui_qt/config_window.py:376 +#: plover/gui_qt/config_window.py:500 msgid "Set automatic space placement: before or after each word." msgstr "" "Establecer la ubicación automática del espacio: antes o después de cada " "palabra." -#: plover/gui_qt/config_window.py:377 +#: plover/gui_qt/config_window.py:503 msgid "Undo levels:" msgstr "Niveles para deshacer:" -#: plover/gui_qt/config_window.py:381 +#: plover/gui_qt/config_window.py:507 msgid "" "Set how many preceding strokes can be undone.\n" "\n" @@ -508,160 +599,203 @@ msgstr "" "Nota: el valor efectivo tendrá en cuenta \n" "la entrada de diccionarios con el máximo número de acordes." -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:387 +#: plover/gui_qt/config_window.py:514 +msgid "Key press delay (ms):" +msgstr "" + +#: plover/gui_qt/config_window.py:522 +msgid "" +"Set the delay between emulated key presses (in milliseconds).\n" +"\n" +"Some programs may drop key presses if too many are sent\n" +"within a short period of time. Increasing the delay gives\n" +"programs time to process each key press.\n" +"Setting the delay too high will negatively impact the\n" +"performance of key stroke output." +msgstr "" + +#: plover/gui_qt/config_window.py:532 +msgid "Linux keyboard layout:" +msgstr "" + +#: plover/gui_qt/config_window.py:546 +msgid "" +"Set the keyboard layout configured in your system.\n" +"This only applies when using Linux/BSD and not using X11.\n" +"\n" +"When Wayland auto detect is selected,Plover is only able to detect the " +"first keyboard layout\n" +"and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:556 +msgid "" +"When Wayland auto detect is selected, Plover is only able to detect the " +"first keyboard layout and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:567 msgid "Plugins" msgstr "Complementos" -#: plover/gui_qt/config_window.py:388 -msgid "Extension:" +#: plover/gui_qt/config_window.py:570 +#, fuzzy +msgid "Extensions:" msgstr "Extensión:" -#: plover/gui_qt/config_window.py:392 -msgid "Name" -msgstr "Nombre" - #. Widget: “MainWindow”, text. -#: plover/gui_qt/config_window.py:392 plover/gui_qt/main_window_ui.py:182 +#: plover/gui_qt/config_window.py:578 plover/gui_qt/main_window_ui.py:294 msgid "Enabled" msgstr "Habilitado" -#: plover/gui_qt/config_window.py:393 +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_window.py:578 plover/gui_qt/plugins_manager_ui.py:136 +msgid "Name" +msgstr "Nombre" + +#: plover/gui_qt/config_window.py:580 msgid "Configure enabled plugin extensions." msgstr "Configurar extensiones de complementos habilitadas." -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:396 -msgid "System" -msgstr "Sistema" - -#: plover/gui_qt/config_window.py:397 +#: plover/gui_qt/config_window.py:589 msgid "System:" msgstr "Sistema:" #. Widget: “ConfigWindow”, window title. -#: plover/gui_qt/config_window_ui.py:43 +#: plover/gui_qt/config_window_ui.py:61 msgid "Plover: Configuration" msgstr "Plover: Configuración" +#. Widget: “ConsoleWidget”, window title. +#: plover/gui_qt/console_widget_ui.py:49 +msgid "Form" +msgstr "" + #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:40 +#: plover/gui_qt/dictionaries_widget.py:46 +#, python-brace-format msgid "Dictionaries ({extensions})" msgstr "Diccionarios ({extensions})" #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:43 +#: plover/gui_qt/dictionaries_widget.py:49 +#, python-brace-format msgid "{format} dictionaries ({extensions})" msgstr "Diccionarios {format} ({extensions})" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:374 +#: plover/gui_qt/dictionaries_widget.py:391 msgid "disabled" msgstr "deshabilitado" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:377 +#: plover/gui_qt/dictionaries_widget.py:394 msgid "favorite" msgstr "favorito" -#. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:380 +#: plover/gui_qt/dictionaries_widget.py:398 +#, python-brace-format msgid "errored: {exception}." msgstr "con error: {exception}." #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:384 +#: plover/gui_qt/dictionaries_widget.py:402 msgid "loading" msgstr "se está cargando" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:387 +#: plover/gui_qt/dictionaries_widget.py:405 msgid "read-only" msgstr "solo lectura" #. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:393 +#: plover/gui_qt/dictionaries_widget.py:411 +#, python-brace-format msgid "Full path: {path}." msgstr "Ruta completa: {path}." #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:396 +#: plover/gui_qt/dictionaries_widget.py:414 msgid "This dictionary is marked as the favorite." msgstr "Este diccionario está marcado como el favorito." #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:399 +#: plover/gui_qt/dictionaries_widget.py:417 msgid "This dictionary is being loaded." msgstr "Este diccionario se está cargando." -#. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:402 +#: plover/gui_qt/dictionaries_widget.py:421 +#, python-brace-format msgid "Loading this dictionary failed: {exception}." msgstr "La carga de este diccionario falló: {exception}." #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:406 +#: plover/gui_qt/dictionaries_widget.py:427 msgid "This dictionary is read-only." msgstr "Este diccionario es de solo lectura." #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:586 +#: plover/gui_qt/dictionaries_widget.py:618 +#, python-brace-format msgid "Save a copy of {name} as..." msgstr "Guardar una copia de {name} como..." #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:588 +#: plover/gui_qt/dictionaries_widget.py:620 +#, python-brace-format msgid "{name} - Copy" msgstr "{name} - Copiar" #. Widget: “DictionariesWidget”, “save as merge” file picker. -#: plover/gui_qt/dictionaries_widget.py:609 +#: plover/gui_qt/dictionaries_widget.py:642 +#, python-brace-format msgid "Merge {names} as..." msgstr "Fusionar {names} como..." -#. Widget: “DictionariesWidget”, “add” file picker. -#. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:636 -#: plover/gui_qt/dictionaries_widget_ui.py:139 -msgid "Add dictionaries" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget.py:671 +#: plover/gui_qt/dictionaries_widget_ui.py:203 +#, fuzzy +msgid "Load dictionaries" msgstr "Añadir diccionarios" #. Widget: “DictionariesWidget”, “new” file picker. #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget.py:647 -#: plover/gui_qt/dictionaries_widget_ui.py:163 -msgid "New dictionary" +#: plover/gui_qt/dictionaries_widget.py:683 +#: plover/gui_qt/dictionaries_widget_ui.py:205 +#, fuzzy +msgid "Create dictionary" msgstr "Nuevo diccionario" #. Widget: “DictionariesWidget”, title. #. Widget: “DictionariesWidget”, accessible name. -#: plover/gui_qt/dictionaries_widget_ui.py:109 -#: plover/gui_qt/dictionaries_widget_ui.py:111 +#: plover/gui_qt/dictionaries_widget_ui.py:125 +#: plover/gui_qt/dictionaries_widget_ui.py:208 msgid "Dictionaries" msgstr "Diccionarios" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:113 +#: plover/gui_qt/dictionaries_widget_ui.py:127 msgid "&Edit dictionaries" msgstr "&Editar diccionarios" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:115 +#: plover/gui_qt/dictionaries_widget_ui.py:130 msgid "Edit selected dictionaries" msgstr "Editar diccionarios seleccionados" #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:117 +#: plover/gui_qt/dictionaries_widget_ui.py:134 msgid "Ctrl+E" msgstr "Ctrl+E" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:119 +#: plover/gui_qt/dictionaries_widget_ui.py:137 msgid "&Save dictionaries as..." msgstr "&Guardar diccionarios como..." #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:121 +#: plover/gui_qt/dictionaries_widget_ui.py:140 msgid "" "Save the selected dictionaries: create a new copy of each dictionary, or " "merge them into a new dictionary." @@ -671,218 +805,238 @@ msgstr "" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “PaperTape”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:123 -#: plover/gui_qt/paper_tape_ui.py:107 +#: plover/gui_qt/dictionaries_widget_ui.py:144 +#: plover/gui_qt/paper_tape_ui.py:129 msgid "Ctrl+S" msgstr "Ctrl+S" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:125 +#: plover/gui_qt/dictionaries_widget_ui.py:147 msgid "&Remove dictionaries" msgstr "Elimina&r diccionarios" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:127 +#: plover/gui_qt/dictionaries_widget_ui.py:150 msgid "Remove selected dictionaries" msgstr "Eliminar diccionarios seleccionados" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:129 -#: plover/gui_qt/dictionary_editor_ui.py:136 +#: plover/gui_qt/dictionaries_widget_ui.py:154 +#: plover/gui_qt/dictionary_editor_ui.py:149 msgid "Del" msgstr "Suprimir" #. Widget: “DictionariesWidget”, text. #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:131 -#: plover/gui_qt/dictionary_editor_ui.py:138 +#: plover/gui_qt/dictionaries_widget_ui.py:157 +#: plover/gui_qt/dictionary_editor_ui.py:152 msgid "&Undo" msgstr "Des&hacer" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:133 +#: plover/gui_qt/dictionaries_widget_ui.py:160 msgid "Undo last add/delete/reorder operation." msgstr "Deshacer última operación añadir/borrar/reordenar." #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:135 -#: plover/gui_qt/dictionary_editor_ui.py:142 +#: plover/gui_qt/dictionaries_widget_ui.py:164 +#: plover/gui_qt/dictionary_editor_ui.py:159 msgid "Ctrl+Z" msgstr "Ctrl+Z" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:137 +#: plover/gui_qt/dictionaries_widget_ui.py:167 msgid "&Add dictionaries" msgstr "&Añadir diccionarios" +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:170 +msgid "Add dictionaries" +msgstr "Añadir diccionarios" + #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:141 +#: plover/gui_qt/dictionaries_widget_ui.py:174 msgid "Ctrl+O" msgstr "Ctrl+O" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:143 +#: plover/gui_qt/dictionaries_widget_ui.py:177 msgid "Add &translation" msgstr "Añadir &traducción" #. Widget: “DictionariesWidget”, tool tip. #. Widget: “DictionaryEditor”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:145 -#: plover/gui_qt/dictionary_editor_ui.py:146 +#: plover/gui_qt/dictionaries_widget_ui.py:180 +#: plover/gui_qt/dictionary_editor_ui.py:165 msgid "Add a new translation" msgstr "Añadir nueva traducción" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:147 -#: plover/gui_qt/dictionary_editor_ui.py:148 +#: plover/gui_qt/dictionaries_widget_ui.py:184 +#: plover/gui_qt/dictionary_editor_ui.py:169 msgid "Ctrl+N" msgstr "Ctrl+N" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:149 +#: plover/gui_qt/dictionaries_widget_ui.py:187 msgid "Move dictionaries &up" msgstr "S&ubir diccionarios" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:151 +#: plover/gui_qt/dictionaries_widget_ui.py:190 msgid "Move selected dictionaries up." msgstr "Desplazar diccionarios seleccionados hacia arriba." #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:153 +#: plover/gui_qt/dictionaries_widget_ui.py:193 msgid "Move dictionaries &down" msgstr "Bajar &diccionarios" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:155 +#: plover/gui_qt/dictionaries_widget_ui.py:196 msgid "Move selected dictionaries down." msgstr "Desplazar diccionarios seleccionados hacia abajo." #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:157 +#: plover/gui_qt/dictionaries_widget_ui.py:199 msgid "Create a copy of each dictionary" msgstr "Crear una copia de cada diccionario" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:159 +#: plover/gui_qt/dictionaries_widget_ui.py:201 msgid "Merge dictionaries into a new one" msgstr "Fusionar diccionarios en uno nuevo" -#. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:161 -msgid "Open dictionaries" -msgstr "Abrir diccionarios" - #. Widget: “DictionaryEditor”, window title. -#: plover/gui_qt/dictionary_editor_ui.py:108 +#: plover/gui_qt/dictionary_editor_ui.py:140 msgid "Plover: Dictionary Editor" msgstr "Plover: Editor de diccionario" +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:142 +msgid "&Delete" +msgstr "Borrar" + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:145 +msgid "Delete selected entries." +msgstr "Borrar entradas seleccionadas." + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:155 +msgid "Undo last add/delete/edit operation." +msgstr "Deshacer última operación añadir/borrar/editar." + +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:162 +msgid "&New translation" +msgstr "&Nueva traducción" + #. Widget: “DictionaryEditor”, accessible name. #. Widget: “DictionaryEditor”, title. -#: plover/gui_qt/dictionary_editor_ui.py:110 -#: plover/gui_qt/dictionary_editor_ui.py:112 +#: plover/gui_qt/dictionary_editor_ui.py:173 +#: plover/gui_qt/dictionary_editor_ui.py:176 msgid "Filter" msgstr "Filtrar" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:114 +#: plover/gui_qt/dictionary_editor_ui.py:178 msgid "By strokes:" msgstr "Por acordes:" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:116 +#: plover/gui_qt/dictionary_editor_ui.py:181 msgid "Strokes filter" msgstr "Filtro de acordes" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:118 +#: plover/gui_qt/dictionary_editor_ui.py:185 msgid "Apply filter" msgstr "Aplicar filtro" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:120 +#: plover/gui_qt/dictionary_editor_ui.py:188 msgid "Apply" msgstr "Aplicar" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:122 +#: plover/gui_qt/dictionary_editor_ui.py:190 msgid "By translation:" msgstr "Por traducción:" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:124 +#: plover/gui_qt/dictionary_editor_ui.py:193 msgid "Translation filter" msgstr "Filtro de traducciones" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:126 +#: plover/gui_qt/dictionary_editor_ui.py:197 msgid "Clear filter" msgstr "Limpiar filtro" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:128 +#: plover/gui_qt/dictionary_editor_ui.py:203 msgid "Clear" msgstr "Limpiar" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:130 +#: plover/gui_qt/dictionary_editor_ui.py:206 msgid "Mappings" msgstr "Asignaciones" -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:132 -msgid "&Delete" -msgstr "Borrar" - -#. Widget: “DictionaryEditor”, tool tip. -#: plover/gui_qt/dictionary_editor_ui.py:134 -msgid "Delete selected entries." -msgstr "Borrar entradas seleccionadas." - -#. Widget: “DictionaryEditor”, tool tip. -#: plover/gui_qt/dictionary_editor_ui.py:140 -msgid "Undo last add/delete/edit operation." -msgstr "Deshacer última operación añadir/borrar/editar." - -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:144 -msgid "&New translation" -msgstr "&Nueva traducción" - #. Widget: “LookupDialog”, tooltip. -#: plover/gui_qt/lookup_dialog.py:14 +#: plover/gui_qt/lookup_dialog.py:12 msgid "Search the dictionary for translations." msgstr "Buscar traducciones en el diccionario." -#: plover/gui_qt/lookup_dialog.py:16 +#: plover/gui_qt/lookup_dialog.py:14 msgid "Lookup" msgstr "Buscar" #. Widget: “LookupDialog”, window title. -#: plover/gui_qt/lookup_dialog_ui.py:56 +#: plover/gui_qt/lookup_dialog_ui.py:72 msgid "Plover: Dictionary Lookup" msgstr "Plover: Búsqueda en diccionario" #. Widget: “LookupDialog”, accessible name. -#: plover/gui_qt/lookup_dialog_ui.py:58 +#: plover/gui_qt/lookup_dialog_ui.py:75 msgid "Pattern" msgstr "Patrón" #. Widget: “LookupDialog”, accessible description. -#: plover/gui_qt/lookup_dialog_ui.py:60 +#: plover/gui_qt/lookup_dialog_ui.py:79 msgid "Translation pattern to lookup." msgstr "Patrón de traducción para buscar." #. Widget: “LookupDialog”, accessible name. -#: plover/gui_qt/lookup_dialog_ui.py:62 +#: plover/gui_qt/lookup_dialog_ui.py:83 msgid "Results" msgstr "Resultados" -#: plover/gui_qt/machine_options.py:106 +#: plover/gui_qt/machine_options.py:36 +#, python-brace-format +msgid "product: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:37 +#, python-brace-format +msgid "manufacturer: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:38 +#, python-brace-format +msgid "serial number: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:46 +#, python-brace-format +msgid "description: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:199 msgid "" "Arpeggiate allows using non-NKRO keyboards.\n" "\n" @@ -893,311 +1047,354 @@ msgstr "" "\n" "Cada tecla puede pulsarse por separado y el espacio envía el acorde." -#: plover/gui_qt/main_window.py:274 +#: plover/gui_qt/main_window.py:312 msgid "Application is still running." msgstr "La aplicación ya se está ejecutando." -#. Widget: “MainWindow”, accessible name. -#: plover/gui_qt/main_window_ui.py:166 -msgid "State" -msgstr "Estado" - -#. Widget: “MainWindow”, accessible description. -#: plover/gui_qt/main_window_ui.py:168 -msgid "Connection state for the current machine." -msgstr "Estado de conexión para la máquina actual." - -#. Widget: “MainWindow”, tool tip. -#. Widget: “MainWindow”, accessible description. -#: plover/gui_qt/main_window_ui.py:170 plover/gui_qt/main_window_ui.py:174 -#: plover/gui_qt/main_window_ui.py:218 -msgid "Disconnect and reconnect the machine." -msgstr "Desconectar y reconectar la máquina." - -#. Widget: “MainWindow”, accessible name. -#: plover/gui_qt/main_window_ui.py:172 -msgid "Reconnect" -msgstr "Reconectar" - -#. Widget: “MainWindow”, accessible name. -#: plover/gui_qt/main_window_ui.py:176 -msgid "Type" -msgstr "Tipo" - -#. Widget: “MainWindow”, accessible description. -#: plover/gui_qt/main_window_ui.py:178 -msgid "Change the current machine type." -msgstr "Cambiar el tipo de máquina actual." - #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:184 -msgid "Disabled" -msgstr "Deshabilitado" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:186 -msgid "&File" -msgstr "&Archivo" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:188 -msgid "&Tools" -msgstr "Herramien&tas" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:190 -msgid "&Help" -msgstr "A&yuda" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:192 -msgid "&Edit" -msgstr "&Editar" - -#. Widget: “MainWindow”, window title. -#: plover/gui_qt/main_window_ui.py:194 -msgid "Plover: Toolbar" -msgstr "Plover: Barra de herramientas" - -#. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:196 +#: plover/gui_qt/main_window_ui.py:202 msgid "&Quit Plover" msgstr "&Salir de Plover" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:198 +#: plover/gui_qt/main_window_ui.py:205 msgid "Quit the application." msgstr "Salir de la aplicación." #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:200 +#: plover/gui_qt/main_window_ui.py:209 msgid "Ctrl+Q" msgstr "Ctrl+Q" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:202 +#: plover/gui_qt/main_window_ui.py:212 msgid "&Configure" msgstr "&Configurar" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:204 +#: plover/gui_qt/main_window_ui.py:215 msgid "Open the configuration dialog." msgstr "Abrir el diálogo de configuración." #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:206 +#: plover/gui_qt/main_window_ui.py:219 msgid "Ctrl+," msgstr "Ctrl+," #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:208 +#: plover/gui_qt/main_window_ui.py:222 msgid "Open config &folder" msgstr "Abrir carpeta de &configuración" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:210 +#: plover/gui_qt/main_window_ui.py:225 msgid "Open the configuration folder." msgstr "Abrir carpeta de configuración." #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:212 +#: plover/gui_qt/main_window_ui.py:228 msgid "&About" msgstr "&Acerca de" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:214 +#: plover/gui_qt/main_window_ui.py:231 msgid "Open the about dialog." msgstr "Abrir el diálogo Acerca de." #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:216 +#: plover/gui_qt/main_window_ui.py:234 msgid "&Reconnect machine" msgstr "&Reconectar máquina" +#. Widget: “MainWindow”, tool tip. +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:237 plover/gui_qt/main_window_ui.py:272 +#: plover/gui_qt/main_window_ui.py:280 +msgid "Disconnect and reconnect the machine." +msgstr "Desconectar y reconectar la máquina." + #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:220 +#: plover/gui_qt/main_window_ui.py:241 msgid "Ctrl+R" msgstr "Ctrl+R" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:222 +#: plover/gui_qt/main_window_ui.py:244 msgid "&Show" msgstr "&Mostrar" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:224 +#: plover/gui_qt/main_window_ui.py:247 msgid "Show the main window." msgstr "Mostrar la ventana principal." #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:226 +#: plover/gui_qt/main_window_ui.py:250 msgid "Toggle &output" msgstr "Cambiar estad&o de salida" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:228 +#: plover/gui_qt/main_window_ui.py:253 msgid "Toggle the output." msgstr "Cambiar el estado de la salida." #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:230 +#: plover/gui_qt/main_window_ui.py:257 msgid "Ctrl+." msgstr "Ctrl+." +#. Widget: “MainWindow”, accessible name. +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/main_window_ui.py:263 plover/gui_qt/plugins_manager_ui.py:133 +msgid "State" +msgstr "Estado" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:267 +msgid "Connection state for the current machine." +msgstr "Estado de conexión para la máquina actual." + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:276 +msgid "Reconnect" +msgstr "Reconectar" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:285 +msgid "Type" +msgstr "Tipo" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:289 +msgid "Change the current machine type." +msgstr "Cambiar el tipo de máquina actual." + +#. Widget: “MainWindow”, text. +#: plover/gui_qt/main_window_ui.py:296 +msgid "Disabled" +msgstr "Deshabilitado" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:298 +msgid "&File" +msgstr "&Archivo" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:300 +msgid "&Tools" +msgstr "Herramien&tas" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:302 +msgid "&Help" +msgstr "A&yuda" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:304 +msgid "&Edit" +msgstr "&Editar" + +#. Widget: “MainWindow”, window title. +#: plover/gui_qt/main_window_ui.py:306 +msgid "Plover: Toolbar" +msgstr "Plover: Barra de herramientas" + #. Paper tape style. -#: plover/gui_qt/paper_tape.py:26 +#: plover/gui_qt/paper_tape.py:30 msgid "Paper" msgstr "Papel" #. Paper tape style. -#: plover/gui_qt/paper_tape.py:28 +#: plover/gui_qt/paper_tape.py:32 msgid "Raw" msgstr "Sin procesar" #. Widget: “PaperTape”, tooltip. -#: plover/gui_qt/paper_tape.py:111 +#: plover/gui_qt/paper_tape.py:122 msgid "Paper tape display of strokes." msgstr "Visualización de acordes en la tira de papel." -#: plover/gui_qt/paper_tape.py:113 +#: plover/gui_qt/paper_tape.py:124 msgid "Paper Tape" msgstr "Tira de papel" -#: plover/gui_qt/paper_tape.py:212 +#: plover/gui_qt/paper_tape.py:237 msgid "Do you want to clear the paper tape?" msgstr "¿Quieres limpiar la tira de papel?" -#: plover/gui_qt/paper_tape.py:226 +#: plover/gui_qt/paper_tape.py:255 msgid "Save Paper Tape" msgstr "Guardar tira de papel" #. Paper tape, "save" file picker. -#: plover/gui_qt/paper_tape.py:228 +#: plover/gui_qt/paper_tape.py:258 msgid "Text files (*.txt)" msgstr "Ficheros de texto (*.txt)" -#. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:89 -msgid "Mode:" -msgstr "Modo:" - -#. Widget: “PaperTape”, accessible name. -#: plover/gui_qt/paper_tape_ui.py:91 -msgid "Mode" -msgstr "Modo" - -#. Widget: “PaperTape”, accessible description. -#: plover/gui_qt/paper_tape_ui.py:93 -msgid "Select paper tape display mode." -msgstr "Seleccionar modo de visualización en tira de papel." - -#. Widget: “PaperTape”, accessible name. -#: plover/gui_qt/paper_tape_ui.py:95 -msgid "Tape" -msgstr "Tira" - #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:97 plover/gui_qt/suggestions_dialog_ui.py:55 +#: plover/gui_qt/paper_tape_ui.py:112 plover/gui_qt/suggestions_dialog_ui.py:70 msgid "&Clear" msgstr "&Limpiar" #. Widget: “PaperTape”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:99 +#: plover/gui_qt/paper_tape_ui.py:115 msgid "Clear paper tape." msgstr "Limpiar la tira de papel." #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:101 plover/gui_qt/suggestions_dialog_ui.py:59 +#: plover/gui_qt/paper_tape_ui.py:119 plover/gui_qt/suggestions_dialog_ui.py:77 msgid "Ctrl+L" msgstr "Ctrl+L" #. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:103 +#: plover/gui_qt/paper_tape_ui.py:122 msgid "&Save" msgstr "&Guardar" #. Widget: “PaperTape”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:105 +#: plover/gui_qt/paper_tape_ui.py:125 msgid "Save paper tape to file." msgstr "Guardar tira de papel en fichero." #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:109 plover/gui_qt/suggestions_dialog_ui.py:61 +#: plover/gui_qt/paper_tape_ui.py:132 plover/gui_qt/suggestions_dialog_ui.py:80 msgid "&Toggle \"always on top\"" msgstr "Cambiar es&tado de \"siempre arriba\"" #. Widget: “PaperTape”, tool tip. #. Widget: “SuggestionsDialog”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:111 plover/gui_qt/suggestions_dialog_ui.py:63 +#: plover/gui_qt/paper_tape_ui.py:135 plover/gui_qt/suggestions_dialog_ui.py:83 msgid "Toggle \"always on top\"." msgstr "Cambiar estado de \"siempre arriba\"." #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:113 plover/gui_qt/suggestions_dialog_ui.py:65 +#: plover/gui_qt/paper_tape_ui.py:139 plover/gui_qt/suggestions_dialog_ui.py:87 msgid "Ctrl+T" msgstr "Ctrl+T" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:115 plover/gui_qt/suggestions_dialog_ui.py:67 +#: plover/gui_qt/paper_tape_ui.py:142 plover/gui_qt/suggestions_dialog_ui.py:90 msgid "Select &font" msgstr "Seleccionar &fuente" #. Widget: “PaperTape”, tool tip. #. Widget: “SuggestionsDialog”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:117 plover/gui_qt/suggestions_dialog_ui.py:69 +#: plover/gui_qt/paper_tape_ui.py:145 plover/gui_qt/suggestions_dialog_ui.py:93 msgid "Open font selection dialog." msgstr "Abrir diálogo de selección de fuentes." +#. Widget: “PaperTape”, text. +#: plover/gui_qt/paper_tape_ui.py:148 +msgid "Mode:" +msgstr "Modo:" + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:151 +msgid "Mode" +msgstr "Modo" + +#. Widget: “PaperTape”, accessible description. +#: plover/gui_qt/paper_tape_ui.py:155 +msgid "Select paper tape display mode." +msgstr "Seleccionar modo de visualización en tira de papel." + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:159 +msgid "Tape" +msgstr "Tira" + +#. Widget: “PluginsManager”, window title. +#. Widget: “RunDialog”, window title. +#: plover/gui_qt/plugins_manager_ui.py:130 plover/gui_qt/run_dialog_ui.py:51 +msgid "Dialog" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:139 +msgid "Version" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:142 +msgid "Summary" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:144 +#, fuzzy +msgid "Restart" +msgstr "Estado" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:148 +msgid "Uninstall" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:150 +msgid "Install/Update" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:152 +msgid "..." +msgstr "" + #. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/suggestions_dialog.py:27 +#: plover/gui_qt/suggestions_dialog.py:26 msgid "Suggest possible strokes for the last written words." msgstr "Sugerir posibles acordes para las últimas palabras escritas." #. Widget: “SuggestionsDialog”, accessible name. -#: plover/gui_qt/suggestions_dialog.py:29 -#: plover/gui_qt/suggestions_dialog_ui.py:53 +#: plover/gui_qt/suggestions_dialog.py:28 +#: plover/gui_qt/suggestions_dialog_ui.py:97 msgid "Suggestions" msgstr "Sugerencias" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:58 +#: plover/gui_qt/suggestions_dialog.py:62 msgid "&Text" msgstr "&Texto" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:60 +#: plover/gui_qt/suggestions_dialog.py:64 msgid "&Strokes" msgstr "Acorde&s" #. Widget: “SuggestionsDialog”, tool tip. -#: plover/gui_qt/suggestions_dialog_ui.py:57 +#: plover/gui_qt/suggestions_dialog_ui.py:73 msgid "Clear the history." msgstr "Vaciar el historial." #. Widget: “SuggestionsWidget”. -#: plover/gui_qt/suggestions_widget.py:23 +#: plover/gui_qt/suggestions_widget.py:27 msgid "no suggestions" msgstr "no hay sugerencias" -#: plover/gui_qt/trayicon.py:120 +#: plover/gui_qt/trayicon.py:118 +#, python-brace-format msgid "{machine} is {state}" msgstr "{machine} está {state}" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:126 +#: plover/gui_qt/trayicon.py:124 msgid "output is enabled" msgstr "la salida está activada" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:129 +#: plover/gui_qt/trayicon.py:127 msgid "output is disabled" msgstr "la salida está desactivada" +#: plover/gui_qt/utils.py:28 +msgid "Copy selection to clipboard" +msgstr "" + #. Machine state. #: plover/machine/base.py:20 msgid "stopped" @@ -1222,3 +1419,13 @@ msgstr "desconectada" #: plover/machine/keyboard.py:14 msgid "Keyboard" msgstr "Teclado" + +#~ msgid "Scan" +#~ msgstr "Escanear" + +#~ msgid "Use timeout" +#~ msgstr "Usar tiempo de espera" + +#~ msgid "Open dictionaries" +#~ msgstr "Abrir diccionarios" + diff --git a/plover/messages/fr/LC_MESSAGES/plover.po b/plover/messages/fr/LC_MESSAGES/plover.po index fa4708028..552869bcd 100644 --- a/plover/messages/fr/LC_MESSAGES/plover.po +++ b/plover/messages/fr/LC_MESSAGES/plover.po @@ -5,21 +5,20 @@ # msgid "" msgstr "" -"Project-Id-Version: plover 4.0.0.dev0\n" +"Project-Id-Version: plover 5.2.3\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-05-23 20:19+0200\n" +"POT-Creation-Date: 2026-03-07 10:58+0100\n" "PO-Revision-Date: 2021-10-16 12:48+0900\n" "Last-Translator: Benoit Pierre \n" -"Language-Team: fr \n" "Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"Generated-By: Babel 2.9.0\n" -"X-Generator: Poedit 3.0\n" +"Generated-By: Babel 2.17.0\n" -#: plover/__init__.py:19 +#: plover/__init__.py:22 msgid "" "Founded by stenographer Mirabai Knight.\n" "\n" @@ -50,319 +49,412 @@ msgstr "" "" #. Short description for Plover, currently not used in the interface. -#: plover/__init__.py:33 +#: plover/__init__.py:38 msgid "Open Source Stenography Software" msgstr "Logiciel libre de sténographie" -#: plover/__init__.py:34 +#: plover/__init__.py:39 #, fuzzy msgid "" "Plover is a free open source program intended to bring realtime\n" "stenographic technology not just to stenographers, but also to\n" "hackers, hobbyists, accessibility mavens, and all-around speed demons." msgstr "" -"Plover est un logiciel libre gratuit destiné à mettre la technologie de la " -"sténographie en temps réel à la portée de non seulement les sténographes, " -"mais aussi les hackers, les amateurs, les spécialistes de l'accessibilité et " -"tous les démons de la vitesse." +"Plover est un logiciel libre gratuit destiné à mettre la technologie de " +"la sténographie en temps réel à la portée de non seulement les " +"sténographes, mais aussi les hackers, les amateurs, les spécialistes de " +"l'accessibilité et tous les démons de la vitesse." + +#: plover/dictionary/helpers.py:24 +#, python-format +msgid "dictionary `%s` loaded with %u invalid steno errors" +msgstr "" #. Widget: “AboutDialog”, window title. -#: plover/gui_qt/about_dialog_ui.py:38 +#: plover/gui_qt/about_dialog_ui.py:53 msgid "Plover: About" msgstr "Plover: À propos" #. Widget: “AddTranslationDialog”, tooltip. #. Widget: “AddTranslationWidget”, tooltip. -#: plover/gui_qt/add_translation_dialog.py:10 +#: plover/gui_qt/add_translation_dialog.py:11 #: plover/gui_qt/add_translation_widget.py:23 msgid "Add a new translation to the dictionary." msgstr "Ajoute une nouvelle traduction au dictionnaire." -#: plover/gui_qt/add_translation_dialog.py:12 +#: plover/gui_qt/add_translation_dialog.py:13 msgid "Add Translation" msgstr "Ajouter une traduction" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:200 +#: plover/gui_qt/add_translation_widget.py:194 +#, python-brace-format msgid "{dictionary} (disabled)" msgstr "{dictionary} (désactivé)" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:259 +#: plover/gui_qt/add_translation_widget.py:260 +#, python-brace-format msgid "{strokes} maps to " msgstr "{strokes} se traduit par " #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:270 +#: plover/gui_qt/add_translation_widget.py:272 msgid "Overwritten entries:" msgstr "Entrées surchargées :" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:275 +#: plover/gui_qt/add_translation_widget.py:277 +#, python-brace-format msgid "{strokes} is not mapped in any dictionary" msgstr "{strokes} n'est pas dans le dictionnaire" #. Widget: “AddTranslationWidget”. #: plover/gui_qt/add_translation_widget.py:291 +#, python-brace-format msgid "{translation} is mapped to: {strokes}" msgstr "\"{translation}\" est assigné à {strokes}" #. Widget: “AddTranslationWidget”. #: plover/gui_qt/add_translation_widget.py:294 +#, python-brace-format msgid "{translation} is not in the dictionary" msgstr "\"{translation}\" n'est pas dans le dictionnaire" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:106 +#: plover/gui_qt/add_translation_widget_ui.py:124 msgid "Dictionary:" msgstr "Dictionnaire :" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:108 +#: plover/gui_qt/add_translation_widget_ui.py:126 msgid "Strokes:" msgstr "Accords :" #. Widget: “AddTranslationWidget”, accessible name. #. Widget: “DictionaryEditor”. -#: plover/gui_qt/add_translation_widget_ui.py:110 -#: plover/gui_qt/dictionary_editor.py:164 +#: plover/gui_qt/add_translation_widget_ui.py:129 +#: plover/gui_qt/dictionary_editor.py:170 msgid "Strokes" msgstr "Accords" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:112 +#: plover/gui_qt/add_translation_widget_ui.py:132 msgid "Translation:" msgstr "Traduction :" #. Widget: “AddTranslationWidget”, accessible name. #. Widget: “DictionaryEditor”. -#: plover/gui_qt/add_translation_widget_ui.py:114 -#: plover/gui_qt/dictionary_editor.py:167 +#: plover/gui_qt/add_translation_widget_ui.py:135 +#: plover/gui_qt/dictionary_editor.py:173 msgid "Translation" msgstr "Traduction" #. Widget: “AddTranslationWidget”, accessible name. #. Widget: “DictionaryEditor”. -#: plover/gui_qt/add_translation_widget_ui.py:116 -#: plover/gui_qt/dictionary_editor.py:170 +#: plover/gui_qt/add_translation_widget_ui.py:139 +#: plover/gui_qt/dictionary_editor.py:176 msgid "Dictionary" msgstr "Dictionnaire" #. Widget: “AddTranslationWidget”, accessible description. -#: plover/gui_qt/add_translation_widget_ui.py:118 +#: plover/gui_qt/add_translation_widget_ui.py:143 #, fuzzy msgid "Select the target dictionary for the new translation." msgstr "Cherche les nouvelles traductions dans le dictionnaire." #. Widget: “AddTranslationWidget”, accessible name. -#: plover/gui_qt/add_translation_widget_ui.py:120 +#: plover/gui_qt/add_translation_widget_ui.py:147 msgid "Existing mappings (strokes)" msgstr "Traductions existantes (accords)" #. Widget: “AddTranslationWidget”, accessible name. -#: plover/gui_qt/add_translation_widget_ui.py:122 +#: plover/gui_qt/add_translation_widget_ui.py:152 #, fuzzy msgid "Existing mappings (translations)" msgstr "Traductions existantes (traductions)" #. Widget: “FileWidget”, accessible name. -#: plover/gui_qt/config_file_widget_ui.py:45 +#: plover/gui_qt/config_file_widget_ui.py:61 msgid "Log file path." msgstr "Chemin du journal." #. Widget: “FileWidget”, accessible description. -#: plover/gui_qt/config_file_widget_ui.py:47 +#: plover/gui_qt/config_file_widget_ui.py:65 msgid "Path to the log file." msgstr "Chemin du journal." #. Widget: “FileWidget”, accessible name. -#: plover/gui_qt/config_file_widget_ui.py:49 +#: plover/gui_qt/config_file_widget_ui.py:69 msgid "Browse." msgstr "Parcourir." #. Widget: “FileWidget”, accessible description. -#: plover/gui_qt/config_file_widget_ui.py:51 +#: plover/gui_qt/config_file_widget_ui.py:73 msgid "Open a file picker to select the log file." msgstr "Ouvre un sélecteur de fichiers pour sélectionner le journal." #. Widget: “FileWidget”, text. -#: plover/gui_qt/config_file_widget_ui.py:53 +#: plover/gui_qt/config_file_widget_ui.py:76 msgid "Browse" msgstr "Parcourir" +#. Widget: “KeyboardWidget”, tool tip. +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_keyboard_widget_ui.py:56 +#: plover/gui_qt/config_plover_hid_widget_ui.py:89 +msgid "" +"When the first key in a chord is released, the chord is sent.\n" +"If the key is pressed and released again, another chord is sent." +msgstr "" + +#. Widget: “KeyboardWidget”, text. +#: plover/gui_qt/config_keyboard_widget_ui.py:60 +msgid "First-up chord send" +msgstr "" + #. Widget: “KeyboardWidget”, text. -#: plover/gui_qt/config_keyboard_widget_ui.py:36 +#: plover/gui_qt/config_keyboard_widget_ui.py:62 msgid "Arpeggiate" msgstr "Arpéger" +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:93 +msgid "Send chord on first key release" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:96 +msgid "Tap and then hold a chord to send it repeatedly." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:99 +msgid "Double tap to repeat" +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:101 +msgid "Repeat delay (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:104 +msgid "Delay before chord starts repeating." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:107 +msgid "Repeat interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:110 +msgid "Interval between chord repetitions." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:113 +msgid "Device scan interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:116 +msgid "How often to scan for newly plugged-in devices." +msgstr "" + #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:205 +#: plover/gui_qt/config_serial_widget_ui.py:215 #, fuzzy msgid "Serial" msgstr "Connexion en série" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:207 +#: plover/gui_qt/config_serial_widget_ui.py:218 msgid "Connection" msgstr "Connexion" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:209 -#: plover/gui_qt/config_serial_widget_ui.py:211 +#: plover/gui_qt/config_serial_widget_ui.py:220 +#: plover/gui_qt/config_serial_widget_ui.py:223 msgid "Port" msgstr "Port" #. Widget: “SerialWidget”, accessible description. -#: plover/gui_qt/config_serial_widget_ui.py:213 +#: plover/gui_qt/config_serial_widget_ui.py:227 #, fuzzy msgid "Serial port device name." msgstr "Nom du périphérique de port série." #. Widget: “SerialWidget”, accessible description. -#: plover/gui_qt/config_serial_widget_ui.py:215 +#: plover/gui_qt/config_serial_widget_ui.py:231 #, fuzzy -msgid "Scan for available serial ports." +msgid "Reload all available serial ports." msgstr "Scanner les ports série." #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:217 -msgid "Scan" -msgstr "Balayer" +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_serial_widget_ui.py:234 +#: plover/gui_qt/plugins_manager_ui.py:146 +msgid "Refresh" +msgstr "" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:219 -#: plover/gui_qt/config_serial_widget_ui.py:221 +#: plover/gui_qt/config_serial_widget_ui.py:236 +#: plover/gui_qt/config_serial_widget_ui.py:239 msgid "Baudrate" msgstr "Bauds" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:223 +#: plover/gui_qt/config_serial_widget_ui.py:242 msgid "Data format" msgstr "Format des données" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:225 -#: plover/gui_qt/config_serial_widget_ui.py:227 +#: plover/gui_qt/config_serial_widget_ui.py:244 +#: plover/gui_qt/config_serial_widget_ui.py:247 msgid "Data bits" msgstr "Bits de données" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:229 -#: plover/gui_qt/config_serial_widget_ui.py:231 +#: plover/gui_qt/config_serial_widget_ui.py:250 +#: plover/gui_qt/config_serial_widget_ui.py:253 msgid "Stop bits" msgstr "Bits d'arrêt" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:233 -#: plover/gui_qt/config_serial_widget_ui.py:235 +#: plover/gui_qt/config_serial_widget_ui.py:256 +#: plover/gui_qt/config_serial_widget_ui.py:259 msgid "Parity" msgstr "Parité" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:237 +#: plover/gui_qt/config_serial_widget_ui.py:265 msgid "Timeout" msgstr "Délai de transmission" #. Widget: “SerialWidget”, text. +#: plover/gui_qt/config_serial_widget_ui.py:267 +#, fuzzy +msgid "Duration (s)" +msgstr "Durée" + #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:239 -#: plover/gui_qt/config_serial_widget_ui.py:241 +#: plover/gui_qt/config_serial_widget_ui.py:270 msgid "Duration" msgstr "Durée" #. Widget: “SerialWidget”, accessible description. -#: plover/gui_qt/config_serial_widget_ui.py:243 +#: plover/gui_qt/config_serial_widget_ui.py:274 #, fuzzy msgid "Timeout duration in seconds." msgstr "Durée du délai d’expiration en secondes." -#. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:245 -msgid "Use timeout" -msgstr "Utiliser" - #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:247 +#: plover/gui_qt/config_serial_widget_ui.py:277 msgid "Flow control" msgstr "Contrôle de flux" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:249 +#: plover/gui_qt/config_serial_widget_ui.py:279 msgid "Xon/Xoff" msgstr "Xon/Xoff" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:251 +#: plover/gui_qt/config_serial_widget_ui.py:281 msgid "RTS/CTS" msgstr "RTS/CTS" #. Widget: “NopeOption” (empty config option message, #. e.g. the machine option when selecting the Treal machine). -#: plover/gui_qt/config_window.py:47 +#: plover/gui_qt/config_window.py:51 msgid "Nothing to see here!" msgstr "Rien à voir ici !" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:176 +#: plover/gui_qt/config_window.py:173 msgid "Key" msgstr "Touche" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:178 +#: plover/gui_qt/config_window.py:175 msgid "Action" msgstr "Action" #. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:224 -msgid "Choice" -msgstr "Choix" - -#. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:226 +#: plover/gui_qt/config_window.py:221 msgid "Selected" msgstr "Sélectionné" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:320 +#. Widget: “MultipleChoicesOption”. +#: plover/gui_qt/config_window.py:223 +msgid "Choice" +msgstr "Choix" + +#: plover/gui_qt/config_window.py:354 msgid "Interface" msgstr "Interface" -#: plover/gui_qt/config_window.py:321 +#: plover/gui_qt/config_window.py:357 +msgid "Appearance:" +msgstr "" + +#: plover/gui_qt/config_window.py:362 plover/gui_qt/config_window.py:586 +msgid "System" +msgstr "Système" + +#: plover/gui_qt/config_window.py:363 +msgid "Light" +msgstr "" + +#: plover/gui_qt/config_window.py:364 +msgid "Dark" +msgstr "" + +#: plover/gui_qt/config_window.py:368 +msgid "" +"Set the application appearance:\n" +"- System: follow the operating system mode\n" +"- Light: force light mode\n" +"- Dark: force dark mode" +msgstr "" + +#: plover/gui_qt/config_window.py:375 msgid "Start minimized:" msgstr "Démarrer minimisé :" -#: plover/gui_qt/config_window.py:322 +#: plover/gui_qt/config_window.py:378 msgid "Minimize the main window to systray on startup." msgstr "Minimise la fenêtre principale au démarrage." -#: plover/gui_qt/config_window.py:323 +#: plover/gui_qt/config_window.py:381 msgid "Show paper tape:" msgstr "Afficher la bande papier :" -#: plover/gui_qt/config_window.py:324 +#: plover/gui_qt/config_window.py:384 msgid "Open the paper tape on startup." msgstr "Ouvre la bande papier au démarrage." -#: plover/gui_qt/config_window.py:325 +#: plover/gui_qt/config_window.py:387 msgid "Show suggestions:" msgstr "Afficher les suggestions :" -#: plover/gui_qt/config_window.py:326 +#: plover/gui_qt/config_window.py:390 msgid "Open the suggestions dialog on startup." msgstr "Ouvre la fenêtre des suggestions au démarrage." -#: plover/gui_qt/config_window.py:327 +#: plover/gui_qt/config_window.py:393 msgid "Add translation dialog opacity:" msgstr "" "Opacité de la fenêtre\n" "\"Ajouter une traduction\" :" -#: plover/gui_qt/config_window.py:329 +#: plover/gui_qt/config_window.py:397 msgid "" "Set the translation dialog opacity:\n" "- 0 makes the dialog invisible\n" @@ -372,19 +464,19 @@ msgstr "" "- 0 pour la rendre invisible\n" "- 100 pour une fenêtre complètement opaque" -#: plover/gui_qt/config_window.py:332 +#: plover/gui_qt/config_window.py:403 msgid "Dictionaries display order:" msgstr "Sens d'affichage des dictionnaires :" -#: plover/gui_qt/config_window.py:334 +#: plover/gui_qt/config_window.py:406 msgid "top-down" msgstr "haut-en-bas" -#: plover/gui_qt/config_window.py:334 +#: plover/gui_qt/config_window.py:406 msgid "bottom-up" msgstr "bas-en-haut" -#: plover/gui_qt/config_window.py:335 +#: plover/gui_qt/config_window.py:409 msgid "" "Set the display order for dictionaries:\n" "- top-down: match the search order; highest priority first\n" @@ -393,82 +485,80 @@ msgstr "" "Défini le sens d'affichage des dictionnaires :\n" "- haut-en-bas : correspond à l'ordre de recherche; par priorité " "décroissante\n" -"- bas-en-haut : dans l'ordre inverse de recherche; par priorité croissante\n" +"- bas-en-haut : dans l'ordre inverse de recherche; par priorité " +"croissante\n" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:340 +#: plover/gui_qt/config_window.py:418 msgid "Logging" msgstr "Journal" -#: plover/gui_qt/config_window.py:341 +#: plover/gui_qt/config_window.py:421 msgid "Log file:" msgstr "Fichier :" -#: plover/gui_qt/config_window.py:343 +#: plover/gui_qt/config_window.py:424 msgid "Select a log file" msgstr "Sélectionner un fichier de journal" -#: plover/gui_qt/config_window.py:344 +#: plover/gui_qt/config_window.py:424 msgid "Log files (*.log)" msgstr "Fichiers de journal (*.log)" -#: plover/gui_qt/config_window.py:345 +#: plover/gui_qt/config_window.py:426 msgid "File to use for logging strokes/translations." msgstr "Fichier à utiliser pour la journalisation des accords/traductions." -#: plover/gui_qt/config_window.py:346 +#: plover/gui_qt/config_window.py:429 msgid "Log strokes:" msgstr "Enregistrer les accords :" -#: plover/gui_qt/config_window.py:347 +#: plover/gui_qt/config_window.py:432 msgid "Save strokes to the logfile." msgstr "Enregistre les accords dans le journal." -#: plover/gui_qt/config_window.py:348 +#: plover/gui_qt/config_window.py:435 msgid "Log translations:" msgstr "Enregistrer les traductions :" -#: plover/gui_qt/config_window.py:349 +#: plover/gui_qt/config_window.py:438 msgid "Save translations to the logfile." msgstr "Enregistre les traductions dans le journal." -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:352 plover/gui_qt/main_window_ui.py:164 +#: plover/gui_qt/config_window.py:444 plover/gui_qt/main_window_ui.py:260 msgid "Machine" msgstr "Machine" -#: plover/gui_qt/config_window.py:353 +#: plover/gui_qt/config_window.py:447 msgid "Machine:" msgstr "Machine :" -#: plover/gui_qt/config_window.py:358 +#: plover/gui_qt/config_window.py:459 msgid "Options:" msgstr "Paramètres :" -#: plover/gui_qt/config_window.py:359 +#: plover/gui_qt/config_window.py:461 msgid "Keymap:" msgstr "Disposition :" -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:362 plover/gui_qt/main_window_ui.py:180 +#: plover/gui_qt/config_window.py:466 plover/gui_qt/main_window_ui.py:292 msgid "Output" msgstr "Sortie" -#: plover/gui_qt/config_window.py:363 +#: plover/gui_qt/config_window.py:469 msgid "Enable at start:" msgstr "Activer au démarrage :" -#: plover/gui_qt/config_window.py:364 +#: plover/gui_qt/config_window.py:472 msgid "Enable output on startup." msgstr "Active la sortie au démarrage." -#: plover/gui_qt/config_window.py:365 +#: plover/gui_qt/config_window.py:475 msgid "Start attached:" msgstr "Supprimer l'espace initial :" -#: plover/gui_qt/config_window.py:366 +#: plover/gui_qt/config_window.py:479 msgid "" "Disable preceding space on first output.\n" "\n" @@ -479,36 +569,35 @@ msgstr "" "Cette option n'a de sens que lorsque le placement\n" "des espaces s'effectue avant chaque mot." -#: plover/gui_qt/config_window.py:369 +#: plover/gui_qt/config_window.py:485 msgid "Start capitalized:" msgstr "Capitaliser le premier mot :" -#: plover/gui_qt/config_window.py:370 +#: plover/gui_qt/config_window.py:488 msgid "Capitalize the first word." msgstr "Capitalise le premier mot." -#: plover/gui_qt/config_window.py:371 +#: plover/gui_qt/config_window.py:491 msgid "Space placement:" msgstr "Placement de l'espace :" -#: plover/gui_qt/config_window.py:373 +#: plover/gui_qt/config_window.py:496 msgid "Before Output" msgstr "Avant la traduction" -#: plover/gui_qt/config_window.py:374 +#: plover/gui_qt/config_window.py:497 msgid "After Output" msgstr "Après la traduction" -#: plover/gui_qt/config_window.py:376 +#: plover/gui_qt/config_window.py:500 msgid "Set automatic space placement: before or after each word." -msgstr "" -"Définie le placement automatique des espaces: avant ou après chaque mot." +msgstr "Définie le placement automatique des espaces: avant ou après chaque mot." -#: plover/gui_qt/config_window.py:377 +#: plover/gui_qt/config_window.py:503 msgid "Undo levels:" msgstr "Niveaux d'annulation :" -#: plover/gui_qt/config_window.py:381 +#: plover/gui_qt/config_window.py:507 msgid "" "Set how many preceding strokes can be undone.\n" "\n" @@ -521,162 +610,205 @@ msgstr "" "N.B.: le nombre effectif prend en compte l'entrée des dictionnaires " "nécessitant le plus d'accords." -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:387 +#: plover/gui_qt/config_window.py:514 +msgid "Key press delay (ms):" +msgstr "" + +#: plover/gui_qt/config_window.py:522 +msgid "" +"Set the delay between emulated key presses (in milliseconds).\n" +"\n" +"Some programs may drop key presses if too many are sent\n" +"within a short period of time. Increasing the delay gives\n" +"programs time to process each key press.\n" +"Setting the delay too high will negatively impact the\n" +"performance of key stroke output." +msgstr "" + +#: plover/gui_qt/config_window.py:532 +msgid "Linux keyboard layout:" +msgstr "" + +#: plover/gui_qt/config_window.py:546 +msgid "" +"Set the keyboard layout configured in your system.\n" +"This only applies when using Linux/BSD and not using X11.\n" +"\n" +"When Wayland auto detect is selected,Plover is only able to detect the " +"first keyboard layout\n" +"and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:556 +msgid "" +"When Wayland auto detect is selected, Plover is only able to detect the " +"first keyboard layout and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:567 msgid "Plugins" msgstr "Greffons" -#: plover/gui_qt/config_window.py:388 -msgid "Extension:" +#: plover/gui_qt/config_window.py:570 +#, fuzzy +msgid "Extensions:" msgstr "Extension :" -#: plover/gui_qt/config_window.py:392 -msgid "Name" -msgstr "Nom" - #. Widget: “MainWindow”, text. -#: plover/gui_qt/config_window.py:392 plover/gui_qt/main_window_ui.py:182 +#: plover/gui_qt/config_window.py:578 plover/gui_qt/main_window_ui.py:294 msgid "Enabled" msgstr "Activée" -#: plover/gui_qt/config_window.py:393 +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_window.py:578 plover/gui_qt/plugins_manager_ui.py:136 +msgid "Name" +msgstr "Nom" + +#: plover/gui_qt/config_window.py:580 msgid "Configure enabled plugin extensions." msgstr "Configure les extensions activées." -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:396 -msgid "System" -msgstr "Système" - -#: plover/gui_qt/config_window.py:397 +#: plover/gui_qt/config_window.py:589 msgid "System:" msgstr "Système :" #. Widget: “ConfigWindow”, window title. -#: plover/gui_qt/config_window_ui.py:43 +#: plover/gui_qt/config_window_ui.py:61 msgid "Plover: Configuration" msgstr "Plover : Configuration" +#. Widget: “ConsoleWidget”, window title. +#: plover/gui_qt/console_widget_ui.py:49 +msgid "Form" +msgstr "" + #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:40 +#: plover/gui_qt/dictionaries_widget.py:46 +#, python-brace-format msgid "Dictionaries ({extensions})" msgstr "Dictionnaires ({extensions})" #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:43 +#: plover/gui_qt/dictionaries_widget.py:49 +#, python-brace-format msgid "{format} dictionaries ({extensions})" msgstr "Dictionnaires {format} ({extensions})" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:374 +#: plover/gui_qt/dictionaries_widget.py:391 msgid "disabled" msgstr "désactivé" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:377 +#: plover/gui_qt/dictionaries_widget.py:394 msgid "favorite" msgstr "favori" -#. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:380 +#: plover/gui_qt/dictionaries_widget.py:398 +#, python-brace-format msgid "errored: {exception}." msgstr "erreur : {exception}" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:384 +#: plover/gui_qt/dictionaries_widget.py:402 msgid "loading" msgstr "chargement" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:387 +#: plover/gui_qt/dictionaries_widget.py:405 msgid "read-only" msgstr "lecture seule" #. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:393 +#: plover/gui_qt/dictionaries_widget.py:411 +#, python-brace-format msgid "Full path: {path}." msgstr "Chemin complet : {path}." +# | msgid "This dictionary is marked as a favorite." #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:396 +#: plover/gui_qt/dictionaries_widget.py:414 #, fuzzy -#| msgid "This dictionary is marked as a favorite." msgid "This dictionary is marked as the favorite." msgstr "Ce dictionnaire est marqué comme favori." #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:399 +#: plover/gui_qt/dictionaries_widget.py:417 msgid "This dictionary is being loaded." msgstr "Ce dictionnaire est en cours de chargement." -#. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:402 +#: plover/gui_qt/dictionaries_widget.py:421 +#, python-brace-format msgid "Loading this dictionary failed: {exception}." msgstr "Erreur lors du chargement du dictionnaire : {exception}." #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:406 +#: plover/gui_qt/dictionaries_widget.py:427 msgid "This dictionary is read-only." msgstr "Ce dictionnaire est en lecture-seule." #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:586 +#: plover/gui_qt/dictionaries_widget.py:618 +#, python-brace-format msgid "Save a copy of {name} as..." msgstr "Enregistrez une copie de {name} sous..." #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:588 +#: plover/gui_qt/dictionaries_widget.py:620 +#, python-brace-format msgid "{name} - Copy" msgstr "{name} - Copie" #. Widget: “DictionariesWidget”, “save as merge” file picker. -#: plover/gui_qt/dictionaries_widget.py:609 +#: plover/gui_qt/dictionaries_widget.py:642 +#, python-brace-format msgid "Merge {names} as..." msgstr "Fusionner {names} sous..." -#. Widget: “DictionariesWidget”, “add” file picker. -#. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:636 -#: plover/gui_qt/dictionaries_widget_ui.py:139 -msgid "Add dictionaries" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget.py:671 +#: plover/gui_qt/dictionaries_widget_ui.py:203 +#, fuzzy +msgid "Load dictionaries" msgstr "Ajoute des dictionnaires" #. Widget: “DictionariesWidget”, “new” file picker. #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget.py:647 -#: plover/gui_qt/dictionaries_widget_ui.py:163 -msgid "New dictionary" +#: plover/gui_qt/dictionaries_widget.py:683 +#: plover/gui_qt/dictionaries_widget_ui.py:205 +#, fuzzy +msgid "Create dictionary" msgstr "Nouveau dictionnaire" #. Widget: “DictionariesWidget”, title. #. Widget: “DictionariesWidget”, accessible name. -#: plover/gui_qt/dictionaries_widget_ui.py:109 -#: plover/gui_qt/dictionaries_widget_ui.py:111 +#: plover/gui_qt/dictionaries_widget_ui.py:125 +#: plover/gui_qt/dictionaries_widget_ui.py:208 msgid "Dictionaries" msgstr "Dictionnaires" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:113 +#: plover/gui_qt/dictionaries_widget_ui.py:127 msgid "&Edit dictionaries" msgstr "&Éditer les dictionnaires" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:115 +#: plover/gui_qt/dictionaries_widget_ui.py:130 msgid "Edit selected dictionaries" msgstr "Édite les dictionnaires sélectionnés" #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:117 +#: plover/gui_qt/dictionaries_widget_ui.py:134 msgid "Ctrl+E" msgstr "Ctrl+E" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:119 +#: plover/gui_qt/dictionaries_widget_ui.py:137 msgid "&Save dictionaries as..." msgstr "&Enregistrer les dictionnaires sous..." #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:121 +#: plover/gui_qt/dictionaries_widget_ui.py:140 msgid "" "Save the selected dictionaries: create a new copy of each dictionary, or " "merge them into a new dictionary." @@ -686,219 +818,239 @@ msgstr "" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “PaperTape”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:123 -#: plover/gui_qt/paper_tape_ui.py:107 +#: plover/gui_qt/dictionaries_widget_ui.py:144 +#: plover/gui_qt/paper_tape_ui.py:129 msgid "Ctrl+S" msgstr "Ctrl+S" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:125 +#: plover/gui_qt/dictionaries_widget_ui.py:147 msgid "&Remove dictionaries" msgstr "Supprimer les dictionnaires" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:127 +#: plover/gui_qt/dictionaries_widget_ui.py:150 msgid "Remove selected dictionaries" msgstr "Supprime les dictionnaires sélectionnés" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:129 -#: plover/gui_qt/dictionary_editor_ui.py:136 +#: plover/gui_qt/dictionaries_widget_ui.py:154 +#: plover/gui_qt/dictionary_editor_ui.py:149 msgid "Del" msgstr "Supprimer" #. Widget: “DictionariesWidget”, text. #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:131 -#: plover/gui_qt/dictionary_editor_ui.py:138 +#: plover/gui_qt/dictionaries_widget_ui.py:157 +#: plover/gui_qt/dictionary_editor_ui.py:152 msgid "&Undo" msgstr "Annuler" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:133 +#: plover/gui_qt/dictionaries_widget_ui.py:160 msgid "Undo last add/delete/reorder operation." msgstr "Annule la dernière opération." #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:135 -#: plover/gui_qt/dictionary_editor_ui.py:142 +#: plover/gui_qt/dictionaries_widget_ui.py:164 +#: plover/gui_qt/dictionary_editor_ui.py:159 msgid "Ctrl+Z" msgstr "Ctrl+Z" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:137 +#: plover/gui_qt/dictionaries_widget_ui.py:167 msgid "&Add dictionaries" msgstr "&Ajouter des dictionnaires" +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:170 +msgid "Add dictionaries" +msgstr "Ajoute des dictionnaires" + #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:141 +#: plover/gui_qt/dictionaries_widget_ui.py:174 msgid "Ctrl+O" msgstr "Ctrl+O" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:143 +#: plover/gui_qt/dictionaries_widget_ui.py:177 msgid "Add &translation" msgstr "Ajouter une traduction" #. Widget: “DictionariesWidget”, tool tip. #. Widget: “DictionaryEditor”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:145 -#: plover/gui_qt/dictionary_editor_ui.py:146 +#: plover/gui_qt/dictionaries_widget_ui.py:180 +#: plover/gui_qt/dictionary_editor_ui.py:165 msgid "Add a new translation" msgstr "Ajoute une nouvelle traduction" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:147 -#: plover/gui_qt/dictionary_editor_ui.py:148 +#: plover/gui_qt/dictionaries_widget_ui.py:184 +#: plover/gui_qt/dictionary_editor_ui.py:169 msgid "Ctrl+N" msgstr "Ctrl+N" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:149 +#: plover/gui_qt/dictionaries_widget_ui.py:187 msgid "Move dictionaries &up" msgstr "Déplacer les dictionnaires vers le haut" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:151 +#: plover/gui_qt/dictionaries_widget_ui.py:190 msgid "Move selected dictionaries up." msgstr "Déplace les dictionnaires sélectionnés vers le haut." #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:153 +#: plover/gui_qt/dictionaries_widget_ui.py:193 msgid "Move dictionaries &down" msgstr "Déplacer les dictionnaires vers le bas" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:155 +#: plover/gui_qt/dictionaries_widget_ui.py:196 msgid "Move selected dictionaries down." msgstr "Déplace les dictionnaires sélectionnés vers le bas." #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:157 +#: plover/gui_qt/dictionaries_widget_ui.py:199 msgid "Create a copy of each dictionary" msgstr "Créer une copie de chaque dictionnaire" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:159 +#: plover/gui_qt/dictionaries_widget_ui.py:201 msgid "Merge dictionaries into a new one" msgstr "Fusionner les dictionnaires en un nouveau" -#. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:161 -msgid "Open dictionaries" -msgstr "Ouvrir des dictionnaires" - #. Widget: “DictionaryEditor”, window title. -#: plover/gui_qt/dictionary_editor_ui.py:108 +#: plover/gui_qt/dictionary_editor_ui.py:140 msgid "Plover: Dictionary Editor" msgstr "Plover: Éditeur de dictionnaire" +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:142 +msgid "&Delete" +msgstr "Supprimer" + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:145 +msgid "Delete selected entries." +msgstr "Supprime les entrées sélectionnées." + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:155 +msgid "Undo last add/delete/edit operation." +msgstr "Annule la dernière opération." + +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:162 +msgid "&New translation" +msgstr "&Nouvelle traduction" + #. Widget: “DictionaryEditor”, accessible name. #. Widget: “DictionaryEditor”, title. -#: plover/gui_qt/dictionary_editor_ui.py:110 -#: plover/gui_qt/dictionary_editor_ui.py:112 +#: plover/gui_qt/dictionary_editor_ui.py:173 +#: plover/gui_qt/dictionary_editor_ui.py:176 msgid "Filter" msgstr "Filtre" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:114 +#: plover/gui_qt/dictionary_editor_ui.py:178 msgid "By strokes:" msgstr "Par accords :" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:116 +#: plover/gui_qt/dictionary_editor_ui.py:181 msgid "Strokes filter" msgstr "Filtre d'accords" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:118 +#: plover/gui_qt/dictionary_editor_ui.py:185 msgid "Apply filter" msgstr "Appliquer le filtre" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:120 +#: plover/gui_qt/dictionary_editor_ui.py:188 msgid "Apply" msgstr "Appliquer" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:122 +#: plover/gui_qt/dictionary_editor_ui.py:190 msgid "By translation:" msgstr "Par traduction :" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:124 +#: plover/gui_qt/dictionary_editor_ui.py:193 msgid "Translation filter" msgstr "Filtre de traduction" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:126 +#: plover/gui_qt/dictionary_editor_ui.py:197 msgid "Clear filter" msgstr "Effacer le filtre" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:128 +#: plover/gui_qt/dictionary_editor_ui.py:203 msgid "Clear" msgstr "Effacer" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:130 +#: plover/gui_qt/dictionary_editor_ui.py:206 msgid "Mappings" msgstr "Traductions" -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:132 -msgid "&Delete" -msgstr "Supprimer" - -#. Widget: “DictionaryEditor”, tool tip. -#: plover/gui_qt/dictionary_editor_ui.py:134 -msgid "Delete selected entries." -msgstr "Supprime les entrées sélectionnées." - -#. Widget: “DictionaryEditor”, tool tip. -#: plover/gui_qt/dictionary_editor_ui.py:140 -msgid "Undo last add/delete/edit operation." -msgstr "Annule la dernière opération." - -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:144 -msgid "&New translation" -msgstr "&Nouvelle traduction" - #. Widget: “LookupDialog”, tooltip. -#: plover/gui_qt/lookup_dialog.py:14 +#: plover/gui_qt/lookup_dialog.py:12 msgid "Search the dictionary for translations." msgstr "Cherche les traductions du dictionnaire." -#: plover/gui_qt/lookup_dialog.py:16 +#: plover/gui_qt/lookup_dialog.py:14 msgid "Lookup" msgstr "Recherche" #. Widget: “LookupDialog”, window title. -#: plover/gui_qt/lookup_dialog_ui.py:56 +#: plover/gui_qt/lookup_dialog_ui.py:72 msgid "Plover: Dictionary Lookup" msgstr "Plover: Recherche" #. Widget: “LookupDialog”, accessible name. -#: plover/gui_qt/lookup_dialog_ui.py:58 +#: plover/gui_qt/lookup_dialog_ui.py:75 msgid "Pattern" msgstr "Motif" #. Widget: “LookupDialog”, accessible description. -#: plover/gui_qt/lookup_dialog_ui.py:60 +#: plover/gui_qt/lookup_dialog_ui.py:79 #, fuzzy msgid "Translation pattern to lookup." msgstr "Motifs de traduction à chercher." #. Widget: “LookupDialog”, accessible name. -#: plover/gui_qt/lookup_dialog_ui.py:62 +#: plover/gui_qt/lookup_dialog_ui.py:83 msgid "Results" msgstr "Résultats" -#: plover/gui_qt/machine_options.py:106 +#: plover/gui_qt/machine_options.py:36 +#, python-brace-format +msgid "product: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:37 +#, python-brace-format +msgid "manufacturer: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:38 +#, python-brace-format +msgid "serial number: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:46 +#, python-brace-format +msgid "description: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:199 msgid "" "Arpeggiate allows using non-NKRO keyboards.\n" "\n" @@ -910,307 +1062,354 @@ msgstr "" "Chaque touche peut alors être frappée individuellement,\n" "et la barre d'espace utilisée pour terminer l'accord." -#. Widget: “MainWindow”, accessible name. -#: plover/gui_qt/main_window_ui.py:166 -msgid "State" -msgstr "État" - -#. Widget: “MainWindow”, accessible description. -#: plover/gui_qt/main_window_ui.py:168 -msgid "Connection state for the current machine." -msgstr "État de connexion de la machine." - -#. Widget: “MainWindow”, tool tip. -#. Widget: “MainWindow”, accessible description. -#: plover/gui_qt/main_window_ui.py:170 plover/gui_qt/main_window_ui.py:174 -#: plover/gui_qt/main_window_ui.py:218 -msgid "Disconnect and reconnect the machine." -msgstr "Déconnecte puis reconnecte la machine." - -#. Widget: “MainWindow”, accessible name. -#: plover/gui_qt/main_window_ui.py:172 -msgid "Reconnect" -msgstr "Reconnecter" - -#. Widget: “MainWindow”, accessible name. -#: plover/gui_qt/main_window_ui.py:176 -msgid "Type" -msgstr "Modèle" - -#. Widget: “MainWindow”, accessible description. -#: plover/gui_qt/main_window_ui.py:178 -msgid "Change the current machine type." -msgstr "Modifie le type de machine." - -#. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:184 -msgid "Disabled" -msgstr "Désactivée" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:186 -msgid "&File" -msgstr "&Fichier" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:188 -msgid "&Tools" -msgstr "Outils" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:190 -msgid "&Help" -msgstr "Aide" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:192 -msgid "&Edit" -msgstr "&Éditer" - -#. Widget: “MainWindow”, window title. -#: plover/gui_qt/main_window_ui.py:194 -msgid "Plover: Toolbar" -msgstr "Plover: Bar d'outils" +#: plover/gui_qt/main_window.py:312 +msgid "Application is still running." +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:196 +#: plover/gui_qt/main_window_ui.py:202 msgid "&Quit Plover" msgstr "&Quitter Plover" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:198 +#: plover/gui_qt/main_window_ui.py:205 msgid "Quit the application." msgstr "Quitte l'application." #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:200 +#: plover/gui_qt/main_window_ui.py:209 msgid "Ctrl+Q" msgstr "Ctrl+Q" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:202 +#: plover/gui_qt/main_window_ui.py:212 msgid "&Configure" msgstr "&Configurer" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:204 +#: plover/gui_qt/main_window_ui.py:215 msgid "Open the configuration dialog." msgstr "Ouvre la fenêtre de configuration." #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:206 +#: plover/gui_qt/main_window_ui.py:219 msgid "Ctrl+," msgstr "Ctrl+," #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:208 +#: plover/gui_qt/main_window_ui.py:222 msgid "Open config &folder" msgstr "&Ouvrir le dossier contenant la configuration" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:210 +#: plover/gui_qt/main_window_ui.py:225 msgid "Open the configuration folder." msgstr "Ouvre le dossier contenant la configuration." #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:212 +#: plover/gui_qt/main_window_ui.py:228 msgid "&About" msgstr "À propos" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:214 +#: plover/gui_qt/main_window_ui.py:231 msgid "Open the about dialog." msgstr "Ouvre la fenêtre \"À propos\"." #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:216 +#: plover/gui_qt/main_window_ui.py:234 msgid "&Reconnect machine" msgstr "&Reconnecter la machine" +#. Widget: “MainWindow”, tool tip. +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:237 plover/gui_qt/main_window_ui.py:272 +#: plover/gui_qt/main_window_ui.py:280 +msgid "Disconnect and reconnect the machine." +msgstr "Déconnecte puis reconnecte la machine." + #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:220 +#: plover/gui_qt/main_window_ui.py:241 msgid "Ctrl+R" msgstr "Ctrl+R" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:222 +#: plover/gui_qt/main_window_ui.py:244 msgid "&Show" msgstr "Afficher" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:224 +#: plover/gui_qt/main_window_ui.py:247 msgid "Show the main window." msgstr "Affiche la fenêtre principale." #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:226 +#: plover/gui_qt/main_window_ui.py:250 msgid "Toggle &output" msgstr "Activer/désactiver la sortie" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:228 +#: plover/gui_qt/main_window_ui.py:253 msgid "Toggle the output." msgstr "Active/désactive la sortie." #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:230 +#: plover/gui_qt/main_window_ui.py:257 msgid "Ctrl+." msgstr "Ctrl+." +#. Widget: “MainWindow”, accessible name. +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/main_window_ui.py:263 plover/gui_qt/plugins_manager_ui.py:133 +msgid "State" +msgstr "État" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:267 +msgid "Connection state for the current machine." +msgstr "État de connexion de la machine." + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:276 +msgid "Reconnect" +msgstr "Reconnecter" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:285 +msgid "Type" +msgstr "Modèle" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:289 +msgid "Change the current machine type." +msgstr "Modifie le type de machine." + +#. Widget: “MainWindow”, text. +#: plover/gui_qt/main_window_ui.py:296 +msgid "Disabled" +msgstr "Désactivée" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:298 +msgid "&File" +msgstr "&Fichier" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:300 +msgid "&Tools" +msgstr "Outils" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:302 +msgid "&Help" +msgstr "Aide" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:304 +msgid "&Edit" +msgstr "&Éditer" + +#. Widget: “MainWindow”, window title. +#: plover/gui_qt/main_window_ui.py:306 +msgid "Plover: Toolbar" +msgstr "Plover: Bar d'outils" + #. Paper tape style. -#: plover/gui_qt/paper_tape.py:26 +#: plover/gui_qt/paper_tape.py:30 msgid "Paper" msgstr "Papier" #. Paper tape style. -#: plover/gui_qt/paper_tape.py:28 +#: plover/gui_qt/paper_tape.py:32 msgid "Raw" msgstr "Brut" #. Widget: “PaperTape”, tooltip. -#: plover/gui_qt/paper_tape.py:111 +#: plover/gui_qt/paper_tape.py:122 msgid "Paper tape display of strokes." msgstr "Affichage des entrées du ruban." -#: plover/gui_qt/paper_tape.py:113 +#: plover/gui_qt/paper_tape.py:124 msgid "Paper Tape" msgstr "Ruban" -#: plover/gui_qt/paper_tape.py:212 +#: plover/gui_qt/paper_tape.py:237 msgid "Do you want to clear the paper tape?" msgstr "Voulez vous effacer l'historique de la bande papier?" -#: plover/gui_qt/paper_tape.py:226 +#: plover/gui_qt/paper_tape.py:255 msgid "Save Paper Tape" msgstr "Enregistrer la bande papier" #. Paper tape, "save" file picker. -#: plover/gui_qt/paper_tape.py:228 +#: plover/gui_qt/paper_tape.py:258 msgid "Text files (*.txt)" msgstr "Fichiers texte (*.txt)" -#. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:89 -msgid "Mode:" -msgstr "Mode :" - -#. Widget: “PaperTape”, accessible name. -#: plover/gui_qt/paper_tape_ui.py:91 -msgid "Mode" -msgstr "Mode" - -#. Widget: “PaperTape”, accessible description. -#: plover/gui_qt/paper_tape_ui.py:93 -msgid "Select paper tape display mode." -msgstr "Choisit le mode d'affichage du ruban." - -#. Widget: “PaperTape”, accessible name. -#: plover/gui_qt/paper_tape_ui.py:95 -msgid "Tape" -msgstr "Ruban" - #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:97 plover/gui_qt/suggestions_dialog_ui.py:55 +#: plover/gui_qt/paper_tape_ui.py:112 plover/gui_qt/suggestions_dialog_ui.py:70 msgid "&Clear" msgstr "&Effacer" #. Widget: “PaperTape”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:99 +#: plover/gui_qt/paper_tape_ui.py:115 msgid "Clear paper tape." msgstr "Efface le ruban." #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:101 plover/gui_qt/suggestions_dialog_ui.py:59 +#: plover/gui_qt/paper_tape_ui.py:119 plover/gui_qt/suggestions_dialog_ui.py:77 msgid "Ctrl+L" msgstr "Ctrl+L" #. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:103 +#: plover/gui_qt/paper_tape_ui.py:122 msgid "&Save" msgstr "&Sauvegarder" #. Widget: “PaperTape”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:105 +#: plover/gui_qt/paper_tape_ui.py:125 msgid "Save paper tape to file." msgstr "Enregistre la bande papier." #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:109 plover/gui_qt/suggestions_dialog_ui.py:61 +#: plover/gui_qt/paper_tape_ui.py:132 plover/gui_qt/suggestions_dialog_ui.py:80 msgid "&Toggle \"always on top\"" msgstr "&Basculer \"toujours visible\"" #. Widget: “PaperTape”, tool tip. #. Widget: “SuggestionsDialog”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:111 plover/gui_qt/suggestions_dialog_ui.py:63 +#: plover/gui_qt/paper_tape_ui.py:135 plover/gui_qt/suggestions_dialog_ui.py:83 msgid "Toggle \"always on top\"." msgstr "Bascule \"toujours visible\"." #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:113 plover/gui_qt/suggestions_dialog_ui.py:65 +#: plover/gui_qt/paper_tape_ui.py:139 plover/gui_qt/suggestions_dialog_ui.py:87 msgid "Ctrl+T" msgstr "Ctrl+T" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:115 plover/gui_qt/suggestions_dialog_ui.py:67 +#: plover/gui_qt/paper_tape_ui.py:142 plover/gui_qt/suggestions_dialog_ui.py:90 msgid "Select &font" msgstr "Sélectionner la &fonte de caractères" #. Widget: “PaperTape”, tool tip. #. Widget: “SuggestionsDialog”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:117 plover/gui_qt/suggestions_dialog_ui.py:69 +#: plover/gui_qt/paper_tape_ui.py:145 plover/gui_qt/suggestions_dialog_ui.py:93 msgid "Open font selection dialog." msgstr "Ouvre la fenêtre de sélection de la fonte de caractères." +#. Widget: “PaperTape”, text. +#: plover/gui_qt/paper_tape_ui.py:148 +msgid "Mode:" +msgstr "Mode :" + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:151 +msgid "Mode" +msgstr "Mode" + +#. Widget: “PaperTape”, accessible description. +#: plover/gui_qt/paper_tape_ui.py:155 +msgid "Select paper tape display mode." +msgstr "Choisit le mode d'affichage du ruban." + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:159 +msgid "Tape" +msgstr "Ruban" + +#. Widget: “PluginsManager”, window title. +#. Widget: “RunDialog”, window title. +#: plover/gui_qt/plugins_manager_ui.py:130 plover/gui_qt/run_dialog_ui.py:51 +msgid "Dialog" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:139 +msgid "Version" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:142 +msgid "Summary" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:144 +#, fuzzy +msgid "Restart" +msgstr "État" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:148 +msgid "Uninstall" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:150 +msgid "Install/Update" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:152 +msgid "..." +msgstr "" + #. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/suggestions_dialog.py:27 +#: plover/gui_qt/suggestions_dialog.py:26 msgid "Suggest possible strokes for the last written words." msgstr "Suggère des accords possibles pour les derniers mots écris." #. Widget: “SuggestionsDialog”, accessible name. -#: plover/gui_qt/suggestions_dialog.py:29 -#: plover/gui_qt/suggestions_dialog_ui.py:53 +#: plover/gui_qt/suggestions_dialog.py:28 +#: plover/gui_qt/suggestions_dialog_ui.py:97 msgid "Suggestions" msgstr "Suggestions" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:58 +#: plover/gui_qt/suggestions_dialog.py:62 msgid "&Text" msgstr "&Texte" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:60 +#: plover/gui_qt/suggestions_dialog.py:64 msgid "&Strokes" msgstr "&Accords" #. Widget: “SuggestionsDialog”, tool tip. -#: plover/gui_qt/suggestions_dialog_ui.py:57 +#: plover/gui_qt/suggestions_dialog_ui.py:73 msgid "Clear the history." msgstr "Efface l'historique." #. Widget: “SuggestionsWidget”. -#: plover/gui_qt/suggestions_widget.py:23 +#: plover/gui_qt/suggestions_widget.py:27 msgid "no suggestions" msgstr "pas de suggestions" -#: plover/gui_qt/trayicon.py:115 +#: plover/gui_qt/trayicon.py:118 +#, python-brace-format msgid "{machine} is {state}" msgstr "la machine \"{machine}\" est {state}" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:121 +#: plover/gui_qt/trayicon.py:124 msgid "output is enabled" msgstr "la sortie est activée" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:124 +#: plover/gui_qt/trayicon.py:127 msgid "output is disabled" msgstr "la sortie est désactivée" +#: plover/gui_qt/utils.py:28 +msgid "Copy selection to clipboard" +msgstr "" + #. Machine state. #: plover/machine/base.py:20 msgid "stopped" @@ -1235,3 +1434,13 @@ msgstr "déconnectée" #: plover/machine/keyboard.py:14 msgid "Keyboard" msgstr "Clavier" + +#~ msgid "Scan" +#~ msgstr "Balayer" + +#~ msgid "Use timeout" +#~ msgstr "Utiliser" + +#~ msgid "Open dictionaries" +#~ msgstr "Ouvrir des dictionnaires" + diff --git a/plover/messages/it/LC_MESSAGES/plover.po b/plover/messages/it/LC_MESSAGES/plover.po index 71d99faa8..f92d70a1e 100644 --- a/plover/messages/it/LC_MESSAGES/plover.po +++ b/plover/messages/it/LC_MESSAGES/plover.po @@ -1,25 +1,25 @@ -# Translations template for plover. -# Copyright (C) 2021 ORGANIZATION +# Italian translations for plover. +# Copyright (C) 2026 ORGANIZATION # This file is distributed under the same license as the plover project. -# FIRST AUTHOR , 2021. +# FIRST AUTHOR , 2026. # +#, fuzzy msgid "" msgstr "" -"Project-Id-Version: plover 4.0.0.dev8+401.g819b997\n" +"Project-Id-Version: plover 5.2.3\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-04-17 22:00+0000\n" -"PO-Revision-Date: 2021-04-18 01:46+0200\n" -"Last-Translator: Paolo A. Michela Zucco \n" -"Language-Team: \n" -"Language: it_IT\n" +"POT-Creation-Date: 2026-03-07 10:58+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.0\n" -"X-Generator: Poedit 2.4.2\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Generated-By: Babel 2.17.0\n" -#: plover/__init__.py:19 +#: plover/__init__.py:22 msgid "" "Founded by stenographer Mirabai Knight.\n" "\n" @@ -35,1009 +35,1347 @@ msgid "" "and many more on GitHub:\n" "" msgstr "" -"Fondato dalla stenografa Mirabai Knight.\n" -"\n" -"Sviluppatori:\n" -"\n" -"Joshua Lifton\n" -"Hesky Fisher\n" -"Thea Morin\n" -"Benoit Pierre\n" -"Sammi Ta\n" -"Martin Koerner\n" -"\n" -"e molti altri su GitHub:\n" -"" #. Short description for Plover, currently not used in the interface. -#: plover/__init__.py:33 +#: plover/__init__.py:38 msgid "Open Source Stenography Software" -msgstr "Software Open Source per la Stenografia a macchina" +msgstr "" -#: plover/__init__.py:34 +#: plover/__init__.py:39 msgid "" "Plover is a free open source program intended to bring realtime\n" "stenographic technology not just to stenographers, but also to\n" "hackers, hobbyists, accessibility mavens, and all-around speed demons." msgstr "" -"Plover è un programma gratuito open source creato con l'intento di portare " -"la tecnologia\n" -"della stenografia a macchina in tempo reale non solo agli stenografi, ma " -"anche ad hackers,\n" -"hobbisti, esperti dell'accessibilità e campioni di velocità a tutto tondo." -#. Widget: “AboutDialog”, windowtitle. -#: plover/gui_qt/about_dialog_ui.py:38 +#: plover/dictionary/helpers.py:24 +#, python-format +msgid "dictionary `%s` loaded with %u invalid steno errors" +msgstr "" + +#. Widget: “AboutDialog”, window title. +#: plover/gui_qt/about_dialog_ui.py:53 msgid "Plover: About" -msgstr "Plover: Informazioni su" +msgstr "" #. Widget: “AddTranslationDialog”, tooltip. #. Widget: “AddTranslationWidget”, tooltip. -#: plover/gui_qt/add_translation_dialog.py:8 -#: plover/gui_qt/add_translation_widget.py:22 +#: plover/gui_qt/add_translation_dialog.py:11 +#: plover/gui_qt/add_translation_widget.py:23 msgid "Add a new translation to the dictionary." -msgstr "Aggiungi definizione al dizionario." +msgstr "" -#: plover/gui_qt/add_translation_dialog.py:10 +#: plover/gui_qt/add_translation_dialog.py:13 msgid "Add Translation" -msgstr "Aggiungi definizione" +msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:199 +#: plover/gui_qt/add_translation_widget.py:194 +#, python-brace-format msgid "{dictionary} (disabled)" -msgstr "{dictionary} (disabilitato)" +msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:258 +#: plover/gui_qt/add_translation_widget.py:260 +#, python-brace-format msgid "{strokes} maps to " -msgstr "{strokes} definizione " +msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:269 +#: plover/gui_qt/add_translation_widget.py:272 msgid "Overwritten entries:" -msgstr "Definizioni sovrascritte:" +msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:274 +#: plover/gui_qt/add_translation_widget.py:277 +#, python-brace-format msgid "{strokes} is not mapped in any dictionary" -msgstr "{strokes} non assegnata ad alcun dizionario" +msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:290 +#: plover/gui_qt/add_translation_widget.py:291 +#, python-brace-format msgid "{translation} is mapped to: {strokes}" -msgstr "{translation} assegnata a {strokes}" +msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:293 +#: plover/gui_qt/add_translation_widget.py:294 +#, python-brace-format msgid "{translation} is not in the dictionary" -msgstr "{translation} non presente nel dizionario" +msgstr "" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:101 +#: plover/gui_qt/add_translation_widget_ui.py:124 +msgid "Dictionary:" +msgstr "" + +#. Widget: “AddTranslationWidget”, text. +#: plover/gui_qt/add_translation_widget_ui.py:126 msgid "Strokes:" -msgstr "Note steno:" +msgstr "" + +#. Widget: “AddTranslationWidget”, accessible name. +#. Widget: “DictionaryEditor”. +#: plover/gui_qt/add_translation_widget_ui.py:129 +#: plover/gui_qt/dictionary_editor.py:170 +msgid "Strokes" +msgstr "" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:103 +#: plover/gui_qt/add_translation_widget_ui.py:132 msgid "Translation:" -msgstr "Traduzione:" +msgstr "" -#. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:105 -msgid "Dictionary:" -msgstr "Dizionario:" +#. Widget: “AddTranslationWidget”, accessible name. +#. Widget: “DictionaryEditor”. +#: plover/gui_qt/add_translation_widget_ui.py:135 +#: plover/gui_qt/dictionary_editor.py:173 +msgid "Translation" +msgstr "" + +#. Widget: “AddTranslationWidget”, accessible name. +#. Widget: “DictionaryEditor”. +#: plover/gui_qt/add_translation_widget_ui.py:139 +#: plover/gui_qt/dictionary_editor.py:176 +msgid "Dictionary" +msgstr "" + +#. Widget: “AddTranslationWidget”, accessible description. +#: plover/gui_qt/add_translation_widget_ui.py:143 +msgid "Select the target dictionary for the new translation." +msgstr "" + +#. Widget: “AddTranslationWidget”, accessible name. +#: plover/gui_qt/add_translation_widget_ui.py:147 +msgid "Existing mappings (strokes)" +msgstr "" + +#. Widget: “AddTranslationWidget”, accessible name. +#: plover/gui_qt/add_translation_widget_ui.py:152 +msgid "Existing mappings (translations)" +msgstr "" + +#. Widget: “FileWidget”, accessible name. +#: plover/gui_qt/config_file_widget_ui.py:61 +msgid "Log file path." +msgstr "" + +#. Widget: “FileWidget”, accessible description. +#: plover/gui_qt/config_file_widget_ui.py:65 +msgid "Path to the log file." +msgstr "" + +#. Widget: “FileWidget”, accessible name. +#: plover/gui_qt/config_file_widget_ui.py:69 +msgid "Browse." +msgstr "" + +#. Widget: “FileWidget”, accessible description. +#: plover/gui_qt/config_file_widget_ui.py:73 +msgid "Open a file picker to select the log file." +msgstr "" #. Widget: “FileWidget”, text. -#: plover/gui_qt/config_file_widget_ui.py:45 +#: plover/gui_qt/config_file_widget_ui.py:76 msgid "Browse" -msgstr "Naviga" +msgstr "" + +#. Widget: “KeyboardWidget”, tool tip. +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_keyboard_widget_ui.py:56 +#: plover/gui_qt/config_plover_hid_widget_ui.py:89 +msgid "" +"When the first key in a chord is released, the chord is sent.\n" +"If the key is pressed and released again, another chord is sent." +msgstr "" #. Widget: “KeyboardWidget”, text. -#: plover/gui_qt/config_keyboard_widget_ui.py:36 +#: plover/gui_qt/config_keyboard_widget_ui.py:60 +msgid "First-up chord send" +msgstr "" + +#. Widget: “KeyboardWidget”, text. +#: plover/gui_qt/config_keyboard_widget_ui.py:62 msgid "Arpeggiate" -msgstr "Arpeggiare" +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:93 +msgid "Send chord on first key release" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:96 +msgid "Tap and then hold a chord to send it repeatedly." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:99 +msgid "Double tap to repeat" +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:101 +msgid "Repeat delay (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:104 +msgid "Delay before chord starts repeating." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:107 +msgid "Repeat interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:110 +msgid "Interval between chord repetitions." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:113 +msgid "Device scan interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:116 +msgid "How often to scan for newly plugged-in devices." +msgstr "" + +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:215 +msgid "Serial" +msgstr "" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:209 +#: plover/gui_qt/config_serial_widget_ui.py:218 msgid "Connection" -msgstr "Connessione" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:211 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:220 +#: plover/gui_qt/config_serial_widget_ui.py:223 msgid "Port" -msgstr "Porta" +msgstr "" + +#. Widget: “SerialWidget”, accessible description. +#: plover/gui_qt/config_serial_widget_ui.py:227 +msgid "Serial port device name." +msgstr "" + +#. Widget: “SerialWidget”, accessible description. +#: plover/gui_qt/config_serial_widget_ui.py:231 +msgid "Reload all available serial ports." +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:213 -msgid "Scan" -msgstr "Scannerizza" +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_serial_widget_ui.py:234 +#: plover/gui_qt/plugins_manager_ui.py:146 +msgid "Refresh" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:215 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:236 +#: plover/gui_qt/config_serial_widget_ui.py:239 msgid "Baudrate" -msgstr "Velocità Baud" +msgstr "" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:217 +#: plover/gui_qt/config_serial_widget_ui.py:242 msgid "Data format" -msgstr "Formato Dati" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:219 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:244 +#: plover/gui_qt/config_serial_widget_ui.py:247 msgid "Data bits" -msgstr "Bits dati" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:221 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:250 +#: plover/gui_qt/config_serial_widget_ui.py:253 msgid "Stop bits" -msgstr "Bits di stop" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:223 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:256 +#: plover/gui_qt/config_serial_widget_ui.py:259 msgid "Parity" -msgstr "Parità" +msgstr "" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:225 +#: plover/gui_qt/config_serial_widget_ui.py:265 msgid "Timeout" -msgstr "Timeout" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:227 -msgid "seconds" -msgstr "secondi" +#: plover/gui_qt/config_serial_widget_ui.py:267 +msgid "Duration (s)" +msgstr "" -#. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:229 -msgid "Use timeout" -msgstr "Usa timeout" +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:270 +msgid "Duration" +msgstr "" + +#. Widget: “SerialWidget”, accessible description. +#: plover/gui_qt/config_serial_widget_ui.py:274 +msgid "Timeout duration in seconds." +msgstr "" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:231 +#: plover/gui_qt/config_serial_widget_ui.py:277 msgid "Flow control" -msgstr "Controllo di flusso" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:233 +#: plover/gui_qt/config_serial_widget_ui.py:279 msgid "Xon/Xoff" -msgstr "Xon/Xoff" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:235 +#: plover/gui_qt/config_serial_widget_ui.py:281 msgid "RTS/CTS" -msgstr "RTS/CTS" +msgstr "" #. Widget: “NopeOption” (empty config option message, #. e.g. the machine option when selecting the Treal machine). -#: plover/gui_qt/config_window.py:45 +#: plover/gui_qt/config_window.py:51 msgid "Nothing to see here!" -msgstr "Niente da visualizzare!" +msgstr "" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:145 +#: plover/gui_qt/config_window.py:173 msgid "Key" -msgstr "Tasto" +msgstr "" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:147 +#: plover/gui_qt/config_window.py:175 msgid "Action" -msgstr "Azione" +msgstr "" #. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:196 -msgid "Choice" -msgstr "Scelta" +#: plover/gui_qt/config_window.py:221 +msgid "Selected" +msgstr "" #. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:198 -msgid "Selected" -msgstr "Selezionato" +#: plover/gui_qt/config_window.py:223 +msgid "Choice" +msgstr "" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:294 +#: plover/gui_qt/config_window.py:354 msgid "Interface" -msgstr "Interfaccia" +msgstr "" + +#: plover/gui_qt/config_window.py:357 +msgid "Appearance:" +msgstr "" + +#: plover/gui_qt/config_window.py:362 plover/gui_qt/config_window.py:586 +msgid "System" +msgstr "" + +#: plover/gui_qt/config_window.py:363 +msgid "Light" +msgstr "" -#: plover/gui_qt/config_window.py:295 +#: plover/gui_qt/config_window.py:364 +msgid "Dark" +msgstr "" + +#: plover/gui_qt/config_window.py:368 +msgid "" +"Set the application appearance:\n" +"- System: follow the operating system mode\n" +"- Light: force light mode\n" +"- Dark: force dark mode" +msgstr "" + +#: plover/gui_qt/config_window.py:375 msgid "Start minimized:" -msgstr "Avvia minimizzato:" +msgstr "" -#: plover/gui_qt/config_window.py:296 +#: plover/gui_qt/config_window.py:378 msgid "Minimize the main window to systray on startup." -msgstr "Minimizza finestra principale nella barra sistema." +msgstr "" -#: plover/gui_qt/config_window.py:297 +#: plover/gui_qt/config_window.py:381 msgid "Show paper tape:" -msgstr "Mostra note steno:" +msgstr "" -#: plover/gui_qt/config_window.py:298 +#: plover/gui_qt/config_window.py:384 msgid "Open the paper tape on startup." -msgstr "Apri note steno all'avvio." +msgstr "" -#: plover/gui_qt/config_window.py:299 +#: plover/gui_qt/config_window.py:387 msgid "Show suggestions:" -msgstr "Mostra i suggerimenti:" +msgstr "" -#: plover/gui_qt/config_window.py:300 +#: plover/gui_qt/config_window.py:390 msgid "Open the suggestions dialog on startup." -msgstr "Mostra finestra suggerimenti all'avvio." +msgstr "" -#: plover/gui_qt/config_window.py:301 +#: plover/gui_qt/config_window.py:393 msgid "Add translation dialog opacity:" -msgstr "Opacizza finestra di dialogo:" +msgstr "" -#: plover/gui_qt/config_window.py:303 +#: plover/gui_qt/config_window.py:397 msgid "" "Set the translation dialog opacity:\n" "- 0 makes the dialog invisible\n" "- 100 is fully opaque" msgstr "" -"Setta opacità finestra di traduzione:\n" -"- 0 finestra invisibile\n" -"- 100 finestra totalmente opaca" -#: plover/gui_qt/config_window.py:306 +#: plover/gui_qt/config_window.py:403 msgid "Dictionaries display order:" -msgstr "Ordine visualizzazione dizionari:" +msgstr "" -#: plover/gui_qt/config_window.py:308 +#: plover/gui_qt/config_window.py:406 msgid "top-down" -msgstr "dall'alto al basso" +msgstr "" -#: plover/gui_qt/config_window.py:308 +#: plover/gui_qt/config_window.py:406 msgid "bottom-up" -msgstr "dal basso all'alto" +msgstr "" -#: plover/gui_qt/config_window.py:309 +#: plover/gui_qt/config_window.py:409 msgid "" "Set the display order for dictionaries:\n" "- top-down: match the search order; highest priority first\n" "- bottom-up: reverse search order; lowest priority first\n" msgstr "" -"Settare l'ordine di visualizzazione dei dizionari:\n" -"- dall'alto al basso: corrispondenza con l'ordine di ricerca; priorità più " -"alta al primo\n" -"- dal basso all'alto: inversione dell'ordine di ricerca; priorità più bassa " -"al primo\n" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:314 +#: plover/gui_qt/config_window.py:418 msgid "Logging" -msgstr "Registro log" +msgstr "" -#: plover/gui_qt/config_window.py:315 +#: plover/gui_qt/config_window.py:421 msgid "Log file:" -msgstr "File di registro:" +msgstr "" -#: plover/gui_qt/config_window.py:317 +#: plover/gui_qt/config_window.py:424 msgid "Select a log file" -msgstr "Selezionare un file di registro" +msgstr "" -#: plover/gui_qt/config_window.py:318 +#: plover/gui_qt/config_window.py:424 msgid "Log files (*.log)" -msgstr "Files del registro (*.log)" +msgstr "" -#: plover/gui_qt/config_window.py:319 +#: plover/gui_qt/config_window.py:426 msgid "File to use for logging strokes/translations." -msgstr "File in uso per registro note steno/traduzioni." +msgstr "" -#: plover/gui_qt/config_window.py:320 +#: plover/gui_qt/config_window.py:429 msgid "Log strokes:" -msgstr "Registra note steno:" +msgstr "" -#: plover/gui_qt/config_window.py:321 +#: plover/gui_qt/config_window.py:432 msgid "Save strokes to the logfile." -msgstr "Salva note steno nel registro." +msgstr "" -#: plover/gui_qt/config_window.py:322 +#: plover/gui_qt/config_window.py:435 msgid "Log translations:" -msgstr "Registra le traduzioni:" +msgstr "" -#: plover/gui_qt/config_window.py:323 +#: plover/gui_qt/config_window.py:438 msgid "Save translations to the logfile." -msgstr "Salva le traduzioni nel file di registro." +msgstr "" -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:326 plover/gui_qt/main_window_ui.py:170 +#: plover/gui_qt/config_window.py:444 plover/gui_qt/main_window_ui.py:260 msgid "Machine" -msgstr "Macchina" +msgstr "" -#: plover/gui_qt/config_window.py:327 +#: plover/gui_qt/config_window.py:447 msgid "Machine:" -msgstr "Macchina:" +msgstr "" -#: plover/gui_qt/config_window.py:332 +#: plover/gui_qt/config_window.py:459 msgid "Options:" -msgstr "Opzioni:" +msgstr "" -#: plover/gui_qt/config_window.py:333 +#: plover/gui_qt/config_window.py:461 msgid "Keymap:" -msgstr "Mappa dei tasti:" +msgstr "" -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:336 plover/gui_qt/main_window_ui.py:174 +#: plover/gui_qt/config_window.py:466 plover/gui_qt/main_window_ui.py:292 msgid "Output" -msgstr "Traduzione note steno" +msgstr "" -#: plover/gui_qt/config_window.py:337 +#: plover/gui_qt/config_window.py:469 msgid "Enable at start:" -msgstr "Attiva all'avvio:" +msgstr "" -#: plover/gui_qt/config_window.py:338 +#: plover/gui_qt/config_window.py:472 msgid "Enable output on startup." -msgstr "Attiva traduzione steno all'avvio." +msgstr "" -#: plover/gui_qt/config_window.py:339 +#: plover/gui_qt/config_window.py:475 msgid "Start attached:" -msgstr "Inizia senza spazio iniziale:" +msgstr "" -#: plover/gui_qt/config_window.py:340 +#: plover/gui_qt/config_window.py:479 msgid "" "Disable preceding space on first output.\n" "\n" "This option is only applicable when spaces are placed before." msgstr "" -"Disabilita lo spazio anteriore per la prima parola.\n" -"\n" -"Questa opzione è applicabile solo nel caso in cui lo spazio sia prima della " -"parola." -#: plover/gui_qt/config_window.py:343 +#: plover/gui_qt/config_window.py:485 msgid "Start capitalized:" -msgstr "Inizia in maiuscolo:" +msgstr "" -#: plover/gui_qt/config_window.py:344 +#: plover/gui_qt/config_window.py:488 msgid "Capitalize the first word." -msgstr "Inizia in maiuscolo." +msgstr "" -#: plover/gui_qt/config_window.py:345 +#: plover/gui_qt/config_window.py:491 msgid "Space placement:" -msgstr "Posizionamento dello spazio:" +msgstr "" -#: plover/gui_qt/config_window.py:347 +#: plover/gui_qt/config_window.py:496 msgid "Before Output" -msgstr "Prima della parola" +msgstr "" -#: plover/gui_qt/config_window.py:348 +#: plover/gui_qt/config_window.py:497 msgid "After Output" -msgstr "Dopo la parola" +msgstr "" -#: plover/gui_qt/config_window.py:350 +#: plover/gui_qt/config_window.py:500 msgid "Set automatic space placement: before or after each word." -msgstr "Collocazione spazio: prima o dopo ogni parola parola." +msgstr "" -#: plover/gui_qt/config_window.py:351 +#: plover/gui_qt/config_window.py:503 msgid "Undo levels:" -msgstr "Numero note steno annullabili:" +msgstr "" -#: plover/gui_qt/config_window.py:355 +#: plover/gui_qt/config_window.py:507 msgid "" "Set how many preceding strokes can be undone.\n" "\n" "Note: the effective value will take into account the\n" "dictionaries entry with the maximum number of strokes." msgstr "" -"Settare il numero di note steno precedenti che è possibile annullare.\n" + +#: plover/gui_qt/config_window.py:514 +msgid "Key press delay (ms):" +msgstr "" + +#: plover/gui_qt/config_window.py:522 +msgid "" +"Set the delay between emulated key presses (in milliseconds).\n" "\n" -"Nota: il valore effettivo terrà conto dell'entrata\n" -"con il maggior numero di note steno nei dizionari." +"Some programs may drop key presses if too many are sent\n" +"within a short period of time. Increasing the delay gives\n" +"programs time to process each key press.\n" +"Setting the delay too high will negatively impact the\n" +"performance of key stroke output." +msgstr "" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:361 -msgid "Plugins" -msgstr "Plugins" +#: plover/gui_qt/config_window.py:532 +msgid "Linux keyboard layout:" +msgstr "" -#: plover/gui_qt/config_window.py:362 -msgid "Extension:" -msgstr "Estensione:" +#: plover/gui_qt/config_window.py:546 +msgid "" +"Set the keyboard layout configured in your system.\n" +"This only applies when using Linux/BSD and not using X11.\n" +"\n" +"When Wayland auto detect is selected,Plover is only able to detect the " +"first keyboard layout\n" +"and can not detect layout switches." +msgstr "" -#: plover/gui_qt/config_window.py:366 -msgid "Name" -msgstr "Nome" +#: plover/gui_qt/config_window.py:556 +msgid "" +"When Wayland auto detect is selected, Plover is only able to detect the " +"first keyboard layout and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:567 +msgid "Plugins" +msgstr "" + +#: plover/gui_qt/config_window.py:570 +msgid "Extensions:" +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/config_window.py:366 plover/gui_qt/main_window_ui.py:176 +#: plover/gui_qt/config_window.py:578 plover/gui_qt/main_window_ui.py:294 msgid "Enabled" -msgstr "Abilita" +msgstr "" -#: plover/gui_qt/config_window.py:367 -msgid "Configure enabled plugin extensions." -msgstr "Configura estensioni abilitate del plugin." +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_window.py:578 plover/gui_qt/plugins_manager_ui.py:136 +msgid "Name" +msgstr "" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:370 -msgid "System" -msgstr "Sistema" +#: plover/gui_qt/config_window.py:580 +msgid "Configure enabled plugin extensions." +msgstr "" -#: plover/gui_qt/config_window.py:371 +#: plover/gui_qt/config_window.py:589 msgid "System:" -msgstr "Sistema:" +msgstr "" -#. Widget: “ConfigWindow”, windowtitle. -#: plover/gui_qt/config_window_ui.py:43 +#. Widget: “ConfigWindow”, window title. +#: plover/gui_qt/config_window_ui.py:61 msgid "Plover: Configuration" -msgstr "Plover: Configurazione" +msgstr "" + +#. Widget: “ConsoleWidget”, window title. +#: plover/gui_qt/console_widget_ui.py:49 +msgid "Form" +msgstr "" #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:43 +#: plover/gui_qt/dictionaries_widget.py:46 +#, python-brace-format msgid "Dictionaries ({extensions})" -msgstr "Dizionari ({extensions})" +msgstr "" #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:46 +#: plover/gui_qt/dictionaries_widget.py:49 +#, python-brace-format msgid "{format} dictionaries ({extensions})" -msgstr "{format} dizionari ({extensions})" +msgstr "" -#. Widget: “DictionariesWidget”, “add” menu. -#: plover/gui_qt/dictionaries_widget.py:106 -msgid "Open dictionaries" -msgstr "Aprire dizionari" +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:391 +msgid "disabled" +msgstr "" -#. Widget: “DictionariesWidget”, “add” menu. -#. Widget: “DictionariesWidget”, “new” file picker. -#: plover/gui_qt/dictionaries_widget.py:110 -#: plover/gui_qt/dictionaries_widget.py:483 -msgid "New dictionary" -msgstr "Nuovo dizionario" +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:394 +msgid "favorite" +msgstr "" -#. Widget: “DictionariesWidget”, “save” menu. -#: plover/gui_qt/dictionaries_widget.py:117 -msgid "Create a copy of each dictionary" -msgstr "Crea una copia di ogni dizionario" +#: plover/gui_qt/dictionaries_widget.py:398 +#, python-brace-format +msgid "errored: {exception}." +msgstr "" -#. Widget: “DictionariesWidget”, “save” menu. -#: plover/gui_qt/dictionaries_widget.py:121 -msgid "Merge dictionaries into a new one" -msgstr "Unisci i dizionari in uno nuovo" +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:402 +msgid "loading" +msgstr "" + +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:405 +msgid "read-only" +msgstr "" #. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:196 +#: plover/gui_qt/dictionaries_widget.py:411 +#, python-brace-format +msgid "Full path: {path}." +msgstr "" + +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget.py:414 +msgid "This dictionary is marked as the favorite." +msgstr "" + +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget.py:417 msgid "This dictionary is being loaded." -msgstr "Questo dizionario si sta caricando." +msgstr "" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:205 -msgid "This dictionary is read-only." -msgstr "Questo dizionario è di sola lettura." +#: plover/gui_qt/dictionaries_widget.py:421 +#, python-brace-format +msgid "Loading this dictionary failed: {exception}." +msgstr "" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:209 -msgid "This dictionary is marked as a favorite." -msgstr "Questo dizionario è selezionato come favorito." +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget.py:427 +msgid "This dictionary is read-only." +msgstr "" #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:399 +#: plover/gui_qt/dictionaries_widget.py:618 +#, python-brace-format msgid "Save a copy of {name} as..." -msgstr "Salva una copia di {name} come..." +msgstr "" #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:401 +#: plover/gui_qt/dictionaries_widget.py:620 +#, python-brace-format msgid "{name} - Copy" -msgstr "{name} - Copia" +msgstr "" #. Widget: “DictionariesWidget”, “save as merge” file picker. -#: plover/gui_qt/dictionaries_widget.py:422 +#: plover/gui_qt/dictionaries_widget.py:642 +#, python-brace-format msgid "Merge {names} as..." -msgstr "Unisci {names} as..." +msgstr "" -#. Widget: “DictionariesWidget”, “add” file picker. -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:466 -#: plover/gui_qt/dictionaries_widget_ui.py:130 -msgid "Add dictionaries" -msgstr "Aggiungi dizionari" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget.py:671 +#: plover/gui_qt/dictionaries_widget_ui.py:203 +msgid "Load dictionaries" +msgstr "" +#. Widget: “DictionariesWidget”, “new” file picker. #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:102 +#: plover/gui_qt/dictionaries_widget.py:683 +#: plover/gui_qt/dictionaries_widget_ui.py:205 +msgid "Create dictionary" +msgstr "" + +#. Widget: “DictionariesWidget”, title. +#. Widget: “DictionariesWidget”, accessible name. +#: plover/gui_qt/dictionaries_widget_ui.py:125 +#: plover/gui_qt/dictionaries_widget_ui.py:208 msgid "Dictionaries" -msgstr "Dizionari" +msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:104 +#: plover/gui_qt/dictionaries_widget_ui.py:127 msgid "&Edit dictionaries" -msgstr "&Editare dizionari" +msgstr "" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:106 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:130 msgid "Edit selected dictionaries" -msgstr "Editare dizionari selezionati" +msgstr "" #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:108 +#: plover/gui_qt/dictionaries_widget_ui.py:134 msgid "Ctrl+E" -msgstr "Ctrl+E" +msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:110 +#: plover/gui_qt/dictionaries_widget_ui.py:137 msgid "&Save dictionaries as..." -msgstr "&Salva dizionari come." +msgstr "" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:112 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:140 msgid "" "Save the selected dictionaries: create a new copy of each dictionary, or " "merge them into a new dictionary." msgstr "" -"Salva i dizionari selezionati: crea una nuova copia di ciascun dizionario, o " -"uniscili in un nuovo dizionario." #. Widget: “DictionariesWidget”, shortcut. #. Widget: “PaperTape”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:114 -#: plover/gui_qt/paper_tape_ui.py:99 +#: plover/gui_qt/dictionaries_widget_ui.py:144 +#: plover/gui_qt/paper_tape_ui.py:129 msgid "Ctrl+S" -msgstr "Ctrl+S" +msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:116 +#: plover/gui_qt/dictionaries_widget_ui.py:147 msgid "&Remove dictionaries" -msgstr "&Rimuovi dizionari" +msgstr "" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:118 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:150 msgid "Remove selected dictionaries" -msgstr "Elimina dizionari selezionati" +msgstr "" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:120 -#: plover/gui_qt/dictionary_editor_ui.py:116 +#: plover/gui_qt/dictionaries_widget_ui.py:154 +#: plover/gui_qt/dictionary_editor_ui.py:149 msgid "Del" -msgstr "Cancella" +msgstr "" #. Widget: “DictionariesWidget”, text. #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:122 -#: plover/gui_qt/dictionary_editor_ui.py:118 +#: plover/gui_qt/dictionaries_widget_ui.py:157 +#: plover/gui_qt/dictionary_editor_ui.py:152 msgid "&Undo" -msgstr "Annulla &operazione" +msgstr "" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:124 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:160 msgid "Undo last add/delete/reorder operation." -msgstr "Annulla ultima operazione di aggiunta/cancellazione/riordino." +msgstr "" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:126 -#: plover/gui_qt/dictionary_editor_ui.py:122 +#: plover/gui_qt/dictionaries_widget_ui.py:164 +#: plover/gui_qt/dictionary_editor_ui.py:159 msgid "Ctrl+Z" -msgstr "Ctrl+Z" +msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:128 +#: plover/gui_qt/dictionaries_widget_ui.py:167 msgid "&Add dictionaries" -msgstr "&Aggiungere dizionari" +msgstr "" + +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:170 +msgid "Add dictionaries" +msgstr "" #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:132 +#: plover/gui_qt/dictionaries_widget_ui.py:174 msgid "Ctrl+O" -msgstr "Ctrl+O" +msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:134 +#: plover/gui_qt/dictionaries_widget_ui.py:177 msgid "Add &translation" -msgstr "Aggiungere &traduzione" +msgstr "" -#. Widget: “DictionariesWidget”, tooltip. -#. Widget: “DictionaryEditor”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:136 -#: plover/gui_qt/dictionary_editor_ui.py:126 +#. Widget: “DictionariesWidget”, tool tip. +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:180 +#: plover/gui_qt/dictionary_editor_ui.py:165 msgid "Add a new translation" -msgstr "Aggiungere traduzione" +msgstr "" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:138 -#: plover/gui_qt/dictionary_editor_ui.py:128 +#: plover/gui_qt/dictionaries_widget_ui.py:184 +#: plover/gui_qt/dictionary_editor_ui.py:169 msgid "Ctrl+N" -msgstr "Ctrl+N" +msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:140 +#: plover/gui_qt/dictionaries_widget_ui.py:187 msgid "Move dictionaries &up" -msgstr "S&posta dizionari sù" +msgstr "" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:142 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:190 msgid "Move selected dictionaries up." -msgstr "Sposta dizionari selezionati verso l'alto." +msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:144 +#: plover/gui_qt/dictionaries_widget_ui.py:193 msgid "Move dictionaries &down" -msgstr "Sposta dizionari &giù" +msgstr "" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:146 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:196 msgid "Move selected dictionaries down." -msgstr "Sposta dizionari selezionati verso il basso." - -#. Widget: “DictionaryEditor”. -#: plover/gui_qt/dictionary_editor.py:163 -msgid "Strokes" -msgstr "Note steno" +msgstr "" -#. Widget: “DictionaryEditor”. -#: plover/gui_qt/dictionary_editor.py:166 -msgid "Translation" -msgstr "Traduzione" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget_ui.py:199 +msgid "Create a copy of each dictionary" +msgstr "" -#. Widget: “DictionaryEditor”. -#: plover/gui_qt/dictionary_editor.py:169 -msgid "Dictionary" -msgstr "Dizionario" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget_ui.py:201 +msgid "Merge dictionaries into a new one" +msgstr "" -#. Widget: “DictionaryEditor”, windowtitle. -#: plover/gui_qt/dictionary_editor_ui.py:100 +#. Widget: “DictionaryEditor”, window title. +#: plover/gui_qt/dictionary_editor_ui.py:140 msgid "Plover: Dictionary Editor" -msgstr "Plover: Editor dizionario" +msgstr "" + +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:142 +msgid "&Delete" +msgstr "" + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:145 +msgid "Delete selected entries." +msgstr "" +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:155 +msgid "Undo last add/delete/edit operation." +msgstr "" + +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:162 +msgid "&New translation" +msgstr "" + +#. Widget: “DictionaryEditor”, accessible name. #. Widget: “DictionaryEditor”, title. -#: plover/gui_qt/dictionary_editor_ui.py:102 +#: plover/gui_qt/dictionary_editor_ui.py:173 +#: plover/gui_qt/dictionary_editor_ui.py:176 msgid "Filter" -msgstr "Filtra" +msgstr "" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:104 +#: plover/gui_qt/dictionary_editor_ui.py:178 msgid "By strokes:" -msgstr "Per note steno:" +msgstr "" -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:106 -msgid "Apply" -msgstr "Applica" +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:181 +msgid "Strokes filter" +msgstr "" -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:108 -msgid "By translation:" -msgstr "Per traduzione:" +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:185 +msgid "Apply filter" +msgstr "" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:110 -msgid "Clear" -msgstr "Pulisci" +#: plover/gui_qt/dictionary_editor_ui.py:188 +msgid "Apply" +msgstr "" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:112 -msgid "&Delete" -msgstr "&Cancella" +#: plover/gui_qt/dictionary_editor_ui.py:190 +msgid "By translation:" +msgstr "" -#. Widget: “DictionaryEditor”, tooltip. -#: plover/gui_qt/dictionary_editor_ui.py:114 -msgid "Delete selected entries." -msgstr "Cancella entrate selezionate." +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:193 +msgid "Translation filter" +msgstr "" -#. Widget: “DictionaryEditor”, tooltip. -#: plover/gui_qt/dictionary_editor_ui.py:120 -msgid "Undo last add/delete/edit operation." -msgstr "Cancellare l'ultima operazione di aggiunta/cancellazione/editazione." +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:197 +msgid "Clear filter" +msgstr "" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:124 -msgid "&New translation" -msgstr "&Nuova traduzione" +#: plover/gui_qt/dictionary_editor_ui.py:203 +msgid "Clear" +msgstr "" + +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:206 +msgid "Mappings" +msgstr "" #. Widget: “LookupDialog”, tooltip. -#: plover/gui_qt/lookup_dialog.py:13 +#: plover/gui_qt/lookup_dialog.py:12 msgid "Search the dictionary for translations." -msgstr "Cerca il dizionario per le traduzioni." +msgstr "" -#: plover/gui_qt/lookup_dialog.py:15 +#: plover/gui_qt/lookup_dialog.py:14 msgid "Lookup" -msgstr "Ricerca" +msgstr "" -#. Widget: “LookupDialog”, windowtitle. -#: plover/gui_qt/lookup_dialog_ui.py:56 +#. Widget: “LookupDialog”, window title. +#: plover/gui_qt/lookup_dialog_ui.py:72 msgid "Plover: Dictionary Lookup" -msgstr "Plover: Ricerca nel dizionario" +msgstr "" -#: plover/gui_qt/machine_options.py:104 -msgid "" -"Arpeggiate allows using non-NKRO keyboards.\n" -"\n" -"Each key can be pressed separately and the\n" -"space bar is pressed to send the stroke." +#. Widget: “LookupDialog”, accessible name. +#: plover/gui_qt/lookup_dialog_ui.py:75 +msgid "Pattern" msgstr "" -"Arpeggiando è possibile usare una tastiera non NKRO.\n" -"\n" -"Ogni tasto può essere premuto separatamente\n" -"premere la barra spazio per inviare la battuta." -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:172 plover/gui_qt/main_window_ui.py:212 -msgid "Disconnect and reconnect the machine." -msgstr "Disconnettere e riconnettere la macchina." +#. Widget: “LookupDialog”, accessible description. +#: plover/gui_qt/lookup_dialog_ui.py:79 +msgid "Translation pattern to lookup." +msgstr "" -#. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:178 -msgid "Disabled" -msgstr "Disabilita" +#. Widget: “LookupDialog”, accessible name. +#: plover/gui_qt/lookup_dialog_ui.py:83 +msgid "Results" +msgstr "" -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:180 -msgid "&File" -msgstr "&File" +#: plover/gui_qt/machine_options.py:36 +#, python-brace-format +msgid "product: {value}" +msgstr "" -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:182 -msgid "&Tools" -msgstr "Stru&menti" +#: plover/gui_qt/machine_options.py:37 +#, python-brace-format +msgid "manufacturer: {value}" +msgstr "" -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:184 -msgid "&Help" -msgstr "Ai&uto" +#: plover/gui_qt/machine_options.py:38 +#, python-brace-format +msgid "serial number: {value}" +msgstr "" -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:186 -msgid "&Edit" -msgstr "E&dita" +#: plover/gui_qt/machine_options.py:46 +#, python-brace-format +msgid "description: {value}" +msgstr "" -#. Widget: “MainWindow”, windowtitle. -#: plover/gui_qt/main_window_ui.py:188 -msgid "Plover: Toolbar" -msgstr "Plover: Barra degli strumenti" +#: plover/gui_qt/machine_options.py:199 +msgid "" +"Arpeggiate allows using non-NKRO keyboards.\n" +"\n" +"Each key can be pressed separately and the\n" +"space bar is pressed to send the stroke." +msgstr "" + +#: plover/gui_qt/main_window.py:312 +msgid "Application is still running." +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:190 +#: plover/gui_qt/main_window_ui.py:202 msgid "&Quit Plover" -msgstr "Uscire da P&lover" +msgstr "" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:192 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:205 msgid "Quit the application." -msgstr "Uscire dall'applicazione." +msgstr "" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:194 +#: plover/gui_qt/main_window_ui.py:209 msgid "Ctrl+Q" -msgstr "Ctrl+Q" +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:196 +#: plover/gui_qt/main_window_ui.py:212 msgid "&Configure" -msgstr "Co&nfigura" +msgstr "" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:198 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:215 msgid "Open the configuration dialog." -msgstr "Aprire la finestra di configurazione." +msgstr "" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:200 +#: plover/gui_qt/main_window_ui.py:219 msgid "Ctrl+," -msgstr "Ctrl+," +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:202 +#: plover/gui_qt/main_window_ui.py:222 msgid "Open config &folder" -msgstr "Aprire cartella di &configurazione" +msgstr "" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:204 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:225 msgid "Open the configuration folder." -msgstr "Apre la cartella di configurazione." +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:206 +#: plover/gui_qt/main_window_ui.py:228 msgid "&About" -msgstr "Informazioni su" +msgstr "" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:208 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:231 msgid "Open the about dialog." -msgstr "Aprire la finestra: Informazioni su." +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:210 +#: plover/gui_qt/main_window_ui.py:234 msgid "&Reconnect machine" -msgstr "&Riconnettere macchina" +msgstr "" + +#. Widget: “MainWindow”, tool tip. +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:237 plover/gui_qt/main_window_ui.py:272 +#: plover/gui_qt/main_window_ui.py:280 +msgid "Disconnect and reconnect the machine." +msgstr "" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:214 +#: plover/gui_qt/main_window_ui.py:241 msgid "Ctrl+R" -msgstr "Ctrl+R" +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:216 +#: plover/gui_qt/main_window_ui.py:244 msgid "&Show" -msgstr "M&ostra" +msgstr "" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:218 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:247 msgid "Show the main window." -msgstr "Mostra la finestra principale." +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:220 +#: plover/gui_qt/main_window_ui.py:250 msgid "Toggle &output" -msgstr "&Attiva/disattiva traduzione" +msgstr "" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:222 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:253 msgid "Toggle the output." -msgstr "Cambia lo stato dell'output." +msgstr "" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:224 +#: plover/gui_qt/main_window_ui.py:257 msgid "Ctrl+." -msgstr "Ctrl+." +msgstr "" -#: plover/gui_qt/paper_tape.py:25 -msgid "Paper Tape" -msgstr "Note Steno" +#. Widget: “MainWindow”, accessible name. +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/main_window_ui.py:263 plover/gui_qt/plugins_manager_ui.py:133 +msgid "State" +msgstr "" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:267 +msgid "Connection state for the current machine." +msgstr "" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:276 +msgid "Reconnect" +msgstr "" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:285 +msgid "Type" +msgstr "" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:289 +msgid "Change the current machine type." +msgstr "" + +#. Widget: “MainWindow”, text. +#: plover/gui_qt/main_window_ui.py:296 +msgid "Disabled" +msgstr "" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:298 +msgid "&File" +msgstr "" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:300 +msgid "&Tools" +msgstr "" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:302 +msgid "&Help" +msgstr "" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:304 +msgid "&Edit" +msgstr "" + +#. Widget: “MainWindow”, window title. +#: plover/gui_qt/main_window_ui.py:306 +msgid "Plover: Toolbar" +msgstr "" #. Paper tape style. -#: plover/gui_qt/paper_tape.py:32 +#: plover/gui_qt/paper_tape.py:30 msgid "Paper" -msgstr "Carta" +msgstr "" #. Paper tape style. -#: plover/gui_qt/paper_tape.py:34 +#: plover/gui_qt/paper_tape.py:32 msgid "Raw" -msgstr "Senza formattazione" +msgstr "" + +#. Widget: “PaperTape”, tooltip. +#: plover/gui_qt/paper_tape.py:122 +msgid "Paper tape display of strokes." +msgstr "" + +#: plover/gui_qt/paper_tape.py:124 +msgid "Paper Tape" +msgstr "" -#: plover/gui_qt/paper_tape.py:158 +#: plover/gui_qt/paper_tape.py:237 msgid "Do you want to clear the paper tape?" -msgstr "Cancellare note steno?" +msgstr "" -#: plover/gui_qt/paper_tape.py:172 +#: plover/gui_qt/paper_tape.py:255 msgid "Save Paper Tape" -msgstr "Salva Note Steno" +msgstr "" #. Paper tape, "save" file picker. -#: plover/gui_qt/paper_tape.py:174 +#: plover/gui_qt/paper_tape.py:258 msgid "Text files (*.txt)" -msgstr "Files di testo (*.txt)" - -#. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:87 -msgid "Mode" -msgstr "Modalità" +msgstr "" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:89 plover/gui_qt/suggestions_dialog_ui.py:53 +#: plover/gui_qt/paper_tape_ui.py:112 plover/gui_qt/suggestions_dialog_ui.py:70 msgid "&Clear" -msgstr "&Pulisci" +msgstr "" -#. Widget: “PaperTape”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:91 +#. Widget: “PaperTape”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:115 msgid "Clear paper tape." -msgstr "Cancella schermo." +msgstr "" #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:93 plover/gui_qt/suggestions_dialog_ui.py:57 +#: plover/gui_qt/paper_tape_ui.py:119 plover/gui_qt/suggestions_dialog_ui.py:77 msgid "Ctrl+L" -msgstr "Ctrl+L" +msgstr "" #. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:95 +#: plover/gui_qt/paper_tape_ui.py:122 msgid "&Save" -msgstr "&Salva" +msgstr "" -#. Widget: “PaperTape”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:97 +#. Widget: “PaperTape”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:125 msgid "Save paper tape to file." -msgstr "Salva note steno su file." +msgstr "" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:101 plover/gui_qt/suggestions_dialog_ui.py:59 +#: plover/gui_qt/paper_tape_ui.py:132 plover/gui_qt/suggestions_dialog_ui.py:80 msgid "&Toggle \"always on top\"" -msgstr "&Attiva/disattiva \"sempre in primo piano\"" +msgstr "" -#. Widget: “PaperTape”, tooltip. -#. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:103 plover/gui_qt/suggestions_dialog_ui.py:61 +#. Widget: “PaperTape”, tool tip. +#. Widget: “SuggestionsDialog”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:135 plover/gui_qt/suggestions_dialog_ui.py:83 msgid "Toggle \"always on top\"." -msgstr "Cambia lo stato \"sempre in primo piano\"." +msgstr "" #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:105 plover/gui_qt/suggestions_dialog_ui.py:63 +#: plover/gui_qt/paper_tape_ui.py:139 plover/gui_qt/suggestions_dialog_ui.py:87 msgid "Ctrl+T" -msgstr "Ctrl+T" +msgstr "" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:107 plover/gui_qt/suggestions_dialog_ui.py:65 +#: plover/gui_qt/paper_tape_ui.py:142 plover/gui_qt/suggestions_dialog_ui.py:90 msgid "Select &font" -msgstr "Seleziona c&arattere" +msgstr "" -#. Widget: “PaperTape”, tooltip. -#. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:109 plover/gui_qt/suggestions_dialog_ui.py:67 +#. Widget: “PaperTape”, tool tip. +#. Widget: “SuggestionsDialog”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:145 plover/gui_qt/suggestions_dialog_ui.py:93 msgid "Open font selection dialog." -msgstr "Apre finestra di selezione caratteri." +msgstr "" + +#. Widget: “PaperTape”, text. +#: plover/gui_qt/paper_tape_ui.py:148 +msgid "Mode:" +msgstr "" + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:151 +msgid "Mode" +msgstr "" + +#. Widget: “PaperTape”, accessible description. +#: plover/gui_qt/paper_tape_ui.py:155 +msgid "Select paper tape display mode." +msgstr "" + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:159 +msgid "Tape" +msgstr "" + +#. Widget: “PluginsManager”, window title. +#. Widget: “RunDialog”, window title. +#: plover/gui_qt/plugins_manager_ui.py:130 plover/gui_qt/run_dialog_ui.py:51 +msgid "Dialog" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:139 +msgid "Version" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:142 +msgid "Summary" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:144 +msgid "Restart" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:148 +msgid "Uninstall" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:150 +msgid "Install/Update" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:152 +msgid "..." +msgstr "" #. Widget: “SuggestionsDialog”, tooltip. #: plover/gui_qt/suggestions_dialog.py:26 msgid "Suggest possible strokes for the last written words." -msgstr "Suggerisci possibili note steno per le ultime parole scritte." +msgstr "" +#. Widget: “SuggestionsDialog”, accessible name. #: plover/gui_qt/suggestions_dialog.py:28 +#: plover/gui_qt/suggestions_dialog_ui.py:97 msgid "Suggestions" -msgstr "Suggerimenti" +msgstr "" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:57 +#: plover/gui_qt/suggestions_dialog.py:62 msgid "&Text" -msgstr "&Testo" +msgstr "" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:59 +#: plover/gui_qt/suggestions_dialog.py:64 msgid "&Strokes" -msgstr "&Note steno" +msgstr "" -#. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/suggestions_dialog_ui.py:55 +#. Widget: “SuggestionsDialog”, tool tip. +#: plover/gui_qt/suggestions_dialog_ui.py:73 msgid "Clear the history." -msgstr "Cancella schermo." +msgstr "" #. Widget: “SuggestionsWidget”. -#: plover/gui_qt/suggestions_widget.py:42 +#: plover/gui_qt/suggestions_widget.py:27 msgid "no suggestions" -msgstr "nessun suggerimento" +msgstr "" -#: plover/gui_qt/trayicon.py:116 +#: plover/gui_qt/trayicon.py:118 +#, python-brace-format msgid "{machine} is {state}" -msgstr "{machine} è {state}" +msgstr "" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:122 +#: plover/gui_qt/trayicon.py:124 msgid "output is enabled" -msgstr "l'output è attivato" +msgstr "" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:125 +#: plover/gui_qt/trayicon.py:127 msgid "output is disabled" -msgstr "l'output è disattivato" +msgstr "" + +#: plover/gui_qt/utils.py:28 +msgid "Copy selection to clipboard" +msgstr "" #. Machine state. #: plover/machine/base.py:20 msgid "stopped" -msgstr "fermato" +msgstr "" #. Machine state. #: plover/machine/base.py:22 msgid "initializing" -msgstr "inizializzazione" +msgstr "" #. Machine state. #: plover/machine/base.py:24 msgid "connected" -msgstr "connessa" +msgstr "" #. Machine state. #: plover/machine/base.py:26 msgid "disconnected" -msgstr "disconnessa" +msgstr "" #. Machine name. #: plover/machine/keyboard.py:14 msgid "Keyboard" -msgstr "Tastiera" - -#~ msgid "Plover: Add Translation" -#~ msgstr "Aggiungi definizione" - -#~ msgid "disabled" -#~ msgstr "disabilita" - -#~ msgid "Form" -#~ msgstr "Forma" - -#, python-format -#~ msgid "%s dictionaries" -#~ msgstr "%s dizionari" - -#~ msgid "Plover: Paper Tape" -#~ msgstr "Plover: Note steno" +msgstr "" -#~ msgid "Plover: Suggestions" -#~ msgstr "Plover: Informazioni su" diff --git a/plover/messages/nl/LC_MESSAGES/plover.po b/plover/messages/nl/LC_MESSAGES/plover.po index c90124ea3..9ed958792 100644 --- a/plover/messages/nl/LC_MESSAGES/plover.po +++ b/plover/messages/nl/LC_MESSAGES/plover.po @@ -1,4 +1,4 @@ -# Translations template for plover. +# Dutch translations for plover. # Copyright (C) 2021 ORGANIZATION # This file is distributed under the same license as the plover project. # @@ -6,21 +6,20 @@ # Willem Sonke , 2021. msgid "" msgstr "" -"Project-Id-Version: plover 4.0.0.dev8\n" +"Project-Id-Version: plover 5.2.3\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-04-16 05:40+0200\n" +"POT-Creation-Date: 2026-03-07 10:58+0100\n" "PO-Revision-Date: 2021-04-17 16:41+0200\n" "Last-Translator: Willem Sonke \n" +"Language: nl\n" "Language-Team: Dutch \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.0\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 20.12.3\n" +"Generated-By: Babel 2.17.0\n" -#: plover/__init__.py:19 +#: plover/__init__.py:22 msgid "" "Founded by stenographer Mirabai Knight.\n" "\n" @@ -51,11 +50,11 @@ msgstr "" "" #. Short description for Plover, currently not used in the interface. -#: plover/__init__.py:33 +#: plover/__init__.py:38 msgid "Open Source Stenography Software" msgstr "Opensourcesoftware voor stenografie" -#: plover/__init__.py:34 +#: plover/__init__.py:39 msgid "" "Plover is a free open source program intended to bring realtime\n" "stenographic technology not just to stenographers, but also to\n" @@ -63,210 +62,397 @@ msgid "" msgstr "" "Plover is een vrij opensourceprogramma met het doel om realtime\n" "stenografische technologie beschikbaar te maken niet alleen voor\n" -"stenografen, maar ook voor hackers, hobbyisten, fans van toegankelijkheid\n" +"stenografen, maar ook voor hackers, hobbyisten, fans van toegankelijkheid" +"\n" "en snelheidsduivels." -#. Widget: “AboutDialog”, windowtitle. -#: plover/gui_qt/about_dialog_ui.py:38 +#: plover/dictionary/helpers.py:24 +#, python-format +msgid "dictionary `%s` loaded with %u invalid steno errors" +msgstr "" + +#. Widget: “AboutDialog”, window title. +#: plover/gui_qt/about_dialog_ui.py:53 msgid "Plover: About" msgstr "Plover: Over" #. Widget: “AddTranslationDialog”, tooltip. #. Widget: “AddTranslationWidget”, tooltip. -#: plover/gui_qt/add_translation_dialog.py:8 -#: plover/gui_qt/add_translation_widget.py:22 +#: plover/gui_qt/add_translation_dialog.py:11 +#: plover/gui_qt/add_translation_widget.py:23 msgid "Add a new translation to the dictionary." msgstr "Voeg een nieuwe vertaling toe aan het woordenboek." -#: plover/gui_qt/add_translation_dialog.py:10 +#: plover/gui_qt/add_translation_dialog.py:13 msgid "Add Translation" msgstr "Vertaling toevoegen" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:199 +#: plover/gui_qt/add_translation_widget.py:194 +#, python-brace-format msgid "{dictionary} (disabled)" msgstr "{dictionary} (uitgeschakeld)" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:258 +#: plover/gui_qt/add_translation_widget.py:260 +#, python-brace-format msgid "{strokes} maps to " msgstr "{strokes} wordt vertaald als " #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:269 +#: plover/gui_qt/add_translation_widget.py:272 msgid "Overwritten entries:" msgstr "Overschreven regels:" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:274 +#: plover/gui_qt/add_translation_widget.py:277 +#, python-brace-format msgid "{strokes} is not mapped in any dictionary" msgstr "{strokes} is in geen enkel woordenboek opgenomen" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:290 +#: plover/gui_qt/add_translation_widget.py:291 +#, python-brace-format msgid "{translation} is mapped to: {strokes}" msgstr "{translation} is opgenomen als: {strokes}" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:293 +#: plover/gui_qt/add_translation_widget.py:294 +#, python-brace-format msgid "{translation} is not in the dictionary" msgstr "{translation} is niet in het woordenboek" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:101 +#: plover/gui_qt/add_translation_widget_ui.py:124 +msgid "Dictionary:" +msgstr "Woordenboek:" + +#. Widget: “AddTranslationWidget”, text. +#: plover/gui_qt/add_translation_widget_ui.py:126 msgid "Strokes:" msgstr "Aanslagen:" +#. Widget: “AddTranslationWidget”, accessible name. +#. Widget: “DictionaryEditor”. +#: plover/gui_qt/add_translation_widget_ui.py:129 +#: plover/gui_qt/dictionary_editor.py:170 +msgid "Strokes" +msgstr "Aanslagen" + #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:103 +#: plover/gui_qt/add_translation_widget_ui.py:132 msgid "Translation:" msgstr "Vertaling:" -#. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:105 -msgid "Dictionary:" -msgstr "Woordenboek:" +#. Widget: “AddTranslationWidget”, accessible name. +#. Widget: “DictionaryEditor”. +#: plover/gui_qt/add_translation_widget_ui.py:135 +#: plover/gui_qt/dictionary_editor.py:173 +msgid "Translation" +msgstr "Vertaling" + +#. Widget: “AddTranslationWidget”, accessible name. +#. Widget: “DictionaryEditor”. +#: plover/gui_qt/add_translation_widget_ui.py:139 +#: plover/gui_qt/dictionary_editor.py:176 +msgid "Dictionary" +msgstr "Woordenboek" + +#. Widget: “AddTranslationWidget”, accessible description. +#: plover/gui_qt/add_translation_widget_ui.py:143 +#, fuzzy +msgid "Select the target dictionary for the new translation." +msgstr "Zoek in het woordenboek naar vertalingen." + +#. Widget: “AddTranslationWidget”, accessible name. +#: plover/gui_qt/add_translation_widget_ui.py:147 +msgid "Existing mappings (strokes)" +msgstr "" + +#. Widget: “AddTranslationWidget”, accessible name. +#: plover/gui_qt/add_translation_widget_ui.py:152 +msgid "Existing mappings (translations)" +msgstr "" + +#. Widget: “FileWidget”, accessible name. +#: plover/gui_qt/config_file_widget_ui.py:61 +#, fuzzy +msgid "Log file path." +msgstr "Logbestand:" + +#. Widget: “FileWidget”, accessible description. +#: plover/gui_qt/config_file_widget_ui.py:65 +#, fuzzy +msgid "Path to the log file." +msgstr "Sla aanslagen op in het logbestand." + +#. Widget: “FileWidget”, accessible name. +#: plover/gui_qt/config_file_widget_ui.py:69 +#, fuzzy +msgid "Browse." +msgstr "Bladeren" + +#. Widget: “FileWidget”, accessible description. +#: plover/gui_qt/config_file_widget_ui.py:73 +#, fuzzy +msgid "Open a file picker to select the log file." +msgstr "Sla aanslagen op in het logbestand." #. Widget: “FileWidget”, text. -#: plover/gui_qt/config_file_widget_ui.py:45 +#: plover/gui_qt/config_file_widget_ui.py:76 msgid "Browse" msgstr "Bladeren" +#. Widget: “KeyboardWidget”, tool tip. +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_keyboard_widget_ui.py:56 +#: plover/gui_qt/config_plover_hid_widget_ui.py:89 +msgid "" +"When the first key in a chord is released, the chord is sent.\n" +"If the key is pressed and released again, another chord is sent." +msgstr "" + #. Widget: “KeyboardWidget”, text. -#: plover/gui_qt/config_keyboard_widget_ui.py:36 +#: plover/gui_qt/config_keyboard_widget_ui.py:60 +msgid "First-up chord send" +msgstr "" + +#. Widget: “KeyboardWidget”, text. +#: plover/gui_qt/config_keyboard_widget_ui.py:62 msgid "Arpeggiate" msgstr "Arpeggiëren" +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:93 +msgid "Send chord on first key release" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:96 +msgid "Tap and then hold a chord to send it repeatedly." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:99 +msgid "Double tap to repeat" +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:101 +msgid "Repeat delay (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:104 +msgid "Delay before chord starts repeating." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:107 +msgid "Repeat interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:110 +msgid "Interval between chord repetitions." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:113 +msgid "Device scan interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:116 +msgid "How often to scan for newly plugged-in devices." +msgstr "" + +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:215 +msgid "Serial" +msgstr "" + #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:209 +#: plover/gui_qt/config_serial_widget_ui.py:218 msgid "Connection" msgstr "Verbinding" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:211 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:220 +#: plover/gui_qt/config_serial_widget_ui.py:223 msgid "Port" msgstr "Poort" +#. Widget: “SerialWidget”, accessible description. +#: plover/gui_qt/config_serial_widget_ui.py:227 +msgid "Serial port device name." +msgstr "" + +#. Widget: “SerialWidget”, accessible description. +#: plover/gui_qt/config_serial_widget_ui.py:231 +msgid "Reload all available serial ports." +msgstr "" + #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:213 -msgid "Scan" -msgstr "Scannen" +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_serial_widget_ui.py:234 +#: plover/gui_qt/plugins_manager_ui.py:146 +msgid "Refresh" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:215 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:236 +#: plover/gui_qt/config_serial_widget_ui.py:239 msgid "Baudrate" msgstr "Baudrate" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:217 +#: plover/gui_qt/config_serial_widget_ui.py:242 msgid "Data format" msgstr "Gegevensformaat" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:219 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:244 +#: plover/gui_qt/config_serial_widget_ui.py:247 msgid "Data bits" msgstr "Gegevensbits" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:221 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:250 +#: plover/gui_qt/config_serial_widget_ui.py:253 msgid "Stop bits" msgstr "Stopbits" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:223 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:256 +#: plover/gui_qt/config_serial_widget_ui.py:259 msgid "Parity" msgstr "Pariteit" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:225 +#: plover/gui_qt/config_serial_widget_ui.py:265 msgid "Timeout" msgstr "Time-out" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:227 -msgid "seconds" -msgstr "seconden" +#: plover/gui_qt/config_serial_widget_ui.py:267 +msgid "Duration (s)" +msgstr "" -#. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:229 -msgid "Use timeout" -msgstr "Time-out gebruiken" +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:270 +#, fuzzy +msgid "Duration" +msgstr "Actie" + +#. Widget: “SerialWidget”, accessible description. +#: plover/gui_qt/config_serial_widget_ui.py:274 +msgid "Timeout duration in seconds." +msgstr "" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:231 +#: plover/gui_qt/config_serial_widget_ui.py:277 msgid "Flow control" msgstr "Flowcontrole" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:233 +#: plover/gui_qt/config_serial_widget_ui.py:279 msgid "Xon/Xoff" msgstr "Xon/Xoff" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:235 +#: plover/gui_qt/config_serial_widget_ui.py:281 msgid "RTS/CTS" msgstr "RTS/CTS" #. Widget: “NopeOption” (empty config option message, #. e.g. the machine option when selecting the Treal machine). -#: plover/gui_qt/config_window.py:45 +#: plover/gui_qt/config_window.py:51 msgid "Nothing to see here!" msgstr "Niks te zien hier!" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:145 +#: plover/gui_qt/config_window.py:173 msgid "Key" msgstr "Toets" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:147 +#: plover/gui_qt/config_window.py:175 msgid "Action" msgstr "Actie" #. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:196 -msgid "Choice" -msgstr "Keuze" - -#. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:198 +#: plover/gui_qt/config_window.py:221 msgid "Selected" msgstr "Geselecteerd" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:294 +#. Widget: “MultipleChoicesOption”. +#: plover/gui_qt/config_window.py:223 +msgid "Choice" +msgstr "Keuze" + +#: plover/gui_qt/config_window.py:354 msgid "Interface" msgstr "Interface" -#: plover/gui_qt/config_window.py:295 +#: plover/gui_qt/config_window.py:357 +msgid "Appearance:" +msgstr "" + +#: plover/gui_qt/config_window.py:362 plover/gui_qt/config_window.py:586 +msgid "System" +msgstr "Systeem" + +#: plover/gui_qt/config_window.py:363 +msgid "Light" +msgstr "" + +#: plover/gui_qt/config_window.py:364 +msgid "Dark" +msgstr "" + +#: plover/gui_qt/config_window.py:368 +msgid "" +"Set the application appearance:\n" +"- System: follow the operating system mode\n" +"- Light: force light mode\n" +"- Dark: force dark mode" +msgstr "" + +#: plover/gui_qt/config_window.py:375 msgid "Start minimized:" msgstr "Start geminimaliseerd:" -#: plover/gui_qt/config_window.py:296 +#: plover/gui_qt/config_window.py:378 msgid "Minimize the main window to systray on startup." msgstr "Minimaliseer bij het opstarten het hoofdvenster naar de systray." -#: plover/gui_qt/config_window.py:297 +#: plover/gui_qt/config_window.py:381 msgid "Show paper tape:" msgstr "Papierstrook weergeven:" -#: plover/gui_qt/config_window.py:298 +#: plover/gui_qt/config_window.py:384 msgid "Open the paper tape on startup." msgstr "Open de papierstrook bij het opstarten." -#: plover/gui_qt/config_window.py:299 +#: plover/gui_qt/config_window.py:387 msgid "Show suggestions:" msgstr "Suggesties weergeven:" -#: plover/gui_qt/config_window.py:300 +#: plover/gui_qt/config_window.py:390 msgid "Open the suggestions dialog on startup." msgstr "Open het venster met suggesties bij het opstarten." -#: plover/gui_qt/config_window.py:301 +#: plover/gui_qt/config_window.py:393 msgid "Add translation dialog opacity:" msgstr "Doorzichtigheid van het vertalingsvenster:" -#: plover/gui_qt/config_window.py:303 +#: plover/gui_qt/config_window.py:397 msgid "" "Set the translation dialog opacity:\n" "- 0 makes the dialog invisible\n" @@ -276,103 +462,101 @@ msgstr "" "- 0 maakt het venster onzichtbaar\n" "- 100 is volledig ondoorzichtig" -#: plover/gui_qt/config_window.py:306 +#: plover/gui_qt/config_window.py:403 msgid "Dictionaries display order:" msgstr "Volgorde woordenboeken:" -#: plover/gui_qt/config_window.py:308 +#: plover/gui_qt/config_window.py:406 msgid "top-down" msgstr "boven naar onder" -#: plover/gui_qt/config_window.py:308 +#: plover/gui_qt/config_window.py:406 msgid "bottom-up" msgstr "onder naar boven" -#: plover/gui_qt/config_window.py:309 +#: plover/gui_qt/config_window.py:409 msgid "" "Set the display order for dictionaries:\n" "- top-down: match the search order; highest priority first\n" "- bottom-up: reverse search order; lowest priority first\n" msgstr "" "Dit stelt de volgorde van de woordenboeken in:\n" -"- boven naar onder: in dezelfde volgorde als er gezocht wordt, hoogste" -" prioriteit eerst\n" -"- onder naar boven: andersom dan de zoekvolgorde, laagste prioriteit eerst\n" +"- boven naar onder: in dezelfde volgorde als er gezocht wordt, hoogste " +"prioriteit eerst\n" +"- onder naar boven: andersom dan de zoekvolgorde, laagste prioriteit " +"eerst\n" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:314 +#: plover/gui_qt/config_window.py:418 msgid "Logging" msgstr "Logs" -#: plover/gui_qt/config_window.py:315 +#: plover/gui_qt/config_window.py:421 msgid "Log file:" msgstr "Logbestand:" -#: plover/gui_qt/config_window.py:317 +#: plover/gui_qt/config_window.py:424 msgid "Select a log file" msgstr "Selecteer een logbestand" -#: plover/gui_qt/config_window.py:318 +#: plover/gui_qt/config_window.py:424 msgid "Log files (*.log)" msgstr "Logbestanden (*.log)" -#: plover/gui_qt/config_window.py:319 +#: plover/gui_qt/config_window.py:426 msgid "File to use for logging strokes/translations." msgstr "Bestand om aanslagen en vertalingen naar te schrijven." -#: plover/gui_qt/config_window.py:320 +#: plover/gui_qt/config_window.py:429 msgid "Log strokes:" msgstr "Aanslagen loggen:" -#: plover/gui_qt/config_window.py:321 +#: plover/gui_qt/config_window.py:432 msgid "Save strokes to the logfile." msgstr "Sla aanslagen op in het logbestand." -#: plover/gui_qt/config_window.py:322 +#: plover/gui_qt/config_window.py:435 msgid "Log translations:" msgstr "Vertalingen loggen:" -#: plover/gui_qt/config_window.py:323 +#: plover/gui_qt/config_window.py:438 msgid "Save translations to the logfile." msgstr "Sla vertalingen op in het logbestand." -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:326 plover/gui_qt/main_window_ui.py:170 +#: plover/gui_qt/config_window.py:444 plover/gui_qt/main_window_ui.py:260 msgid "Machine" msgstr "Machine" -#: plover/gui_qt/config_window.py:327 +#: plover/gui_qt/config_window.py:447 msgid "Machine:" msgstr "Machine:" -#: plover/gui_qt/config_window.py:332 +#: plover/gui_qt/config_window.py:459 msgid "Options:" msgstr "Opties:" -#: plover/gui_qt/config_window.py:333 +#: plover/gui_qt/config_window.py:461 msgid "Keymap:" msgstr "Toetsenmapping:" -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:336 plover/gui_qt/main_window_ui.py:174 +#: plover/gui_qt/config_window.py:466 plover/gui_qt/main_window_ui.py:292 msgid "Output" msgstr "Uitvoer" -#: plover/gui_qt/config_window.py:337 +#: plover/gui_qt/config_window.py:469 msgid "Enable at start:" msgstr "Inschakelen bij starten:" -#: plover/gui_qt/config_window.py:338 +#: plover/gui_qt/config_window.py:472 msgid "Enable output on startup." msgstr "Schakel uitvoer in bij het opstarten." -#: plover/gui_qt/config_window.py:339 +#: plover/gui_qt/config_window.py:475 msgid "Start attached:" msgstr "Start aaneengeschreven:" -#: plover/gui_qt/config_window.py:340 +#: plover/gui_qt/config_window.py:479 msgid "" "Disable preceding space on first output.\n" "\n" @@ -382,36 +566,35 @@ msgstr "" "\n" "Deze optie is alleen van toepassing als spaties ervoor worden geplaatst." -#: plover/gui_qt/config_window.py:343 +#: plover/gui_qt/config_window.py:485 msgid "Start capitalized:" msgstr "Start met hoofdletter:" -#: plover/gui_qt/config_window.py:344 +#: plover/gui_qt/config_window.py:488 msgid "Capitalize the first word." msgstr "Schrijf het eerste woord met een hoofdletter." -#: plover/gui_qt/config_window.py:345 +#: plover/gui_qt/config_window.py:491 msgid "Space placement:" msgstr "Spatieplaatsing:" -#: plover/gui_qt/config_window.py:347 +#: plover/gui_qt/config_window.py:496 msgid "Before Output" msgstr "Voor uitvoer" -#: plover/gui_qt/config_window.py:348 +#: plover/gui_qt/config_window.py:497 msgid "After Output" msgstr "Na uitvoer" -#: plover/gui_qt/config_window.py:350 +#: plover/gui_qt/config_window.py:500 msgid "Set automatic space placement: before or after each word." -msgstr "" -"Stelt de automatische plaatsing van spaties in: voor of na ieder woord." +msgstr "Stelt de automatische plaatsing van spaties in: voor of na ieder woord." -#: plover/gui_qt/config_window.py:351 +#: plover/gui_qt/config_window.py:503 msgid "Undo levels:" msgstr "Aantal ongedaan-maak-stappen:" -#: plover/gui_qt/config_window.py:355 +#: plover/gui_qt/config_window.py:507 msgid "" "Set how many preceding strokes can be undone.\n" "\n" @@ -423,317 +606,452 @@ msgstr "" "Let op: de daadwerkelijke waarde hangt ook of van de regel\n" "in het woordenboek met de meeste aanslagen." -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:361 +#: plover/gui_qt/config_window.py:514 +msgid "Key press delay (ms):" +msgstr "" + +#: plover/gui_qt/config_window.py:522 +msgid "" +"Set the delay between emulated key presses (in milliseconds).\n" +"\n" +"Some programs may drop key presses if too many are sent\n" +"within a short period of time. Increasing the delay gives\n" +"programs time to process each key press.\n" +"Setting the delay too high will negatively impact the\n" +"performance of key stroke output." +msgstr "" + +#: plover/gui_qt/config_window.py:532 +msgid "Linux keyboard layout:" +msgstr "" + +#: plover/gui_qt/config_window.py:546 +msgid "" +"Set the keyboard layout configured in your system.\n" +"This only applies when using Linux/BSD and not using X11.\n" +"\n" +"When Wayland auto detect is selected,Plover is only able to detect the " +"first keyboard layout\n" +"and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:556 +msgid "" +"When Wayland auto detect is selected, Plover is only able to detect the " +"first keyboard layout and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:567 msgid "Plugins" msgstr "Plug-ins" -#: plover/gui_qt/config_window.py:362 -msgid "Extension:" +#: plover/gui_qt/config_window.py:570 +#, fuzzy +msgid "Extensions:" msgstr "Extensie:" -#: plover/gui_qt/config_window.py:366 -msgid "Name" -msgstr "Naam" - #. Widget: “MainWindow”, text. -#: plover/gui_qt/config_window.py:366 plover/gui_qt/main_window_ui.py:176 +#: plover/gui_qt/config_window.py:578 plover/gui_qt/main_window_ui.py:294 msgid "Enabled" msgstr "Ingeschakeld" -#: plover/gui_qt/config_window.py:367 +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_window.py:578 plover/gui_qt/plugins_manager_ui.py:136 +msgid "Name" +msgstr "Naam" + +#: plover/gui_qt/config_window.py:580 msgid "Configure enabled plugin extensions." msgstr "Stel in welke plug-in-extensies ingeschakeld zijn." -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:370 -msgid "System" -msgstr "Systeem" - -#: plover/gui_qt/config_window.py:371 +#: plover/gui_qt/config_window.py:589 msgid "System:" msgstr "Systeem:" -#. Widget: “ConfigWindow”, windowtitle. -#: plover/gui_qt/config_window_ui.py:43 +#. Widget: “ConfigWindow”, window title. +#: plover/gui_qt/config_window_ui.py:61 msgid "Plover: Configuration" msgstr "Plover: Instellingen" +#. Widget: “ConsoleWidget”, window title. +#: plover/gui_qt/console_widget_ui.py:49 +msgid "Form" +msgstr "" + #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:43 +#: plover/gui_qt/dictionaries_widget.py:46 +#, python-brace-format msgid "Dictionaries ({extensions})" msgstr "Woordenboeken ({extensions})" #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:46 +#: plover/gui_qt/dictionaries_widget.py:49 +#, python-brace-format msgid "{format} dictionaries ({extensions})" msgstr "{format} woordenboeken ({extensions})" -#. Widget: “DictionariesWidget”, “add” menu. -#: plover/gui_qt/dictionaries_widget.py:106 -msgid "Open dictionaries" -msgstr "Open woordenboeken" +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:391 +#, fuzzy +msgid "disabled" +msgstr "Uitgeschakeld" -#. Widget: “DictionariesWidget”, “add” menu. -#. Widget: “DictionariesWidget”, “new” file picker. -#: plover/gui_qt/dictionaries_widget.py:110 -#: plover/gui_qt/dictionaries_widget.py:483 -msgid "New dictionary" -msgstr "Nieuw woordenboek" +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:394 +msgid "favorite" +msgstr "" -#. Widget: “DictionariesWidget”, “save” menu. -#: plover/gui_qt/dictionaries_widget.py:117 -msgid "Create a copy of each dictionary" -msgstr "Maak een kopie van ieder woordenboek" +#: plover/gui_qt/dictionaries_widget.py:398 +#, python-brace-format +msgid "errored: {exception}." +msgstr "" -#. Widget: “DictionariesWidget”, “save” menu. -#: plover/gui_qt/dictionaries_widget.py:121 -msgid "Merge dictionaries into a new one" -msgstr "Voeg woordenboeken samen in een nieuw woordenboek" +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:402 +#, fuzzy +msgid "loading" +msgstr "Logs" + +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:405 +msgid "read-only" +msgstr "" #. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:196 +#: plover/gui_qt/dictionaries_widget.py:411 +#, python-brace-format +msgid "Full path: {path}." +msgstr "" + +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget.py:414 +#, fuzzy +msgid "This dictionary is marked as the favorite." +msgstr "Dit woordenboek is gemarkeerd als favoriet." + +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget.py:417 msgid "This dictionary is being loaded." msgstr "Dit woordenboek wordt momenteel geladen." -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:205 -msgid "This dictionary is read-only." +#: plover/gui_qt/dictionaries_widget.py:421 +#, fuzzy, python-brace-format +msgid "Loading this dictionary failed: {exception}." msgstr "Dit woordenboek is alleen-lezen." -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:209 -msgid "This dictionary is marked as a favorite." -msgstr "Dit woordenboek is gemarkeerd als favoriet." +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget.py:427 +msgid "This dictionary is read-only." +msgstr "Dit woordenboek is alleen-lezen." #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:399 +#: plover/gui_qt/dictionaries_widget.py:618 +#, python-brace-format msgid "Save a copy of {name} as..." msgstr "Sla een kopie van {name} op als..." #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:401 +#: plover/gui_qt/dictionaries_widget.py:620 +#, python-brace-format msgid "{name} - Copy" msgstr "{name} - Kopie" #. Widget: “DictionariesWidget”, “save as merge” file picker. -#: plover/gui_qt/dictionaries_widget.py:422 +#: plover/gui_qt/dictionaries_widget.py:642 +#, python-brace-format msgid "Merge {names} as..." msgstr "Voeg {names} samen als..." -#. Widget: “DictionariesWidget”, “add” file picker. -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:466 -#: plover/gui_qt/dictionaries_widget_ui.py:130 -msgid "Add dictionaries" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget.py:671 +#: plover/gui_qt/dictionaries_widget_ui.py:203 +#, fuzzy +msgid "Load dictionaries" msgstr "Woordenboeken toevoegen" +#. Widget: “DictionariesWidget”, “new” file picker. #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:102 +#: plover/gui_qt/dictionaries_widget.py:683 +#: plover/gui_qt/dictionaries_widget_ui.py:205 +#, fuzzy +msgid "Create dictionary" +msgstr "Nieuw woordenboek" + +#. Widget: “DictionariesWidget”, title. +#. Widget: “DictionariesWidget”, accessible name. +#: plover/gui_qt/dictionaries_widget_ui.py:125 +#: plover/gui_qt/dictionaries_widget_ui.py:208 msgid "Dictionaries" msgstr "Woordenboeken" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:104 +#: plover/gui_qt/dictionaries_widget_ui.py:127 msgid "&Edit dictionaries" msgstr "Woordenboeken &bewerken" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:106 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:130 msgid "Edit selected dictionaries" msgstr "Geselecteerde woordenboeken bewerken" #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:108 +#: plover/gui_qt/dictionaries_widget_ui.py:134 msgid "Ctrl+E" msgstr "Ctrl+E" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:110 +#: plover/gui_qt/dictionaries_widget_ui.py:137 msgid "&Save dictionaries as..." msgstr "Woordenboeken &opslaan als..." -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:112 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:140 msgid "" "Save the selected dictionaries: create a new copy of each dictionary, or " "merge them into a new dictionary." msgstr "" -"Sla de geselecteerde woordenboeken op: maak een nieuwe kopie van ieder" -" woordenboek, of voeg ze samen in een enkel nieuw woordenboek." +"Sla de geselecteerde woordenboeken op: maak een nieuwe kopie van ieder " +"woordenboek, of voeg ze samen in een enkel nieuw woordenboek." #. Widget: “DictionariesWidget”, shortcut. #. Widget: “PaperTape”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:114 -#: plover/gui_qt/paper_tape_ui.py:99 +#: plover/gui_qt/dictionaries_widget_ui.py:144 +#: plover/gui_qt/paper_tape_ui.py:129 msgid "Ctrl+S" msgstr "Ctrl+S" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:116 +#: plover/gui_qt/dictionaries_widget_ui.py:147 msgid "&Remove dictionaries" msgstr "Woordenboeken &verwijderen" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:118 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:150 msgid "Remove selected dictionaries" msgstr "Verwijder geselecteerde woordenboeken" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:120 -#: plover/gui_qt/dictionary_editor_ui.py:116 +#: plover/gui_qt/dictionaries_widget_ui.py:154 +#: plover/gui_qt/dictionary_editor_ui.py:149 msgid "Del" msgstr "Del" #. Widget: “DictionariesWidget”, text. #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:122 -#: plover/gui_qt/dictionary_editor_ui.py:118 +#: plover/gui_qt/dictionaries_widget_ui.py:157 +#: plover/gui_qt/dictionary_editor_ui.py:152 msgid "&Undo" msgstr "&Ongedaan maken" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:124 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:160 msgid "Undo last add/delete/reorder operation." msgstr "Maak de laatste toevoeg-/verwijder-/verplaats-operatie ongedaan." #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:126 -#: plover/gui_qt/dictionary_editor_ui.py:122 +#: plover/gui_qt/dictionaries_widget_ui.py:164 +#: plover/gui_qt/dictionary_editor_ui.py:159 msgid "Ctrl+Z" msgstr "Ctrl+Z" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:128 +#: plover/gui_qt/dictionaries_widget_ui.py:167 msgid "&Add dictionaries" msgstr "&Woordenboeken toevoegen" +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:170 +msgid "Add dictionaries" +msgstr "Woordenboeken toevoegen" + #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:132 +#: plover/gui_qt/dictionaries_widget_ui.py:174 msgid "Ctrl+O" msgstr "Ctrl+O" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:134 +#: plover/gui_qt/dictionaries_widget_ui.py:177 msgid "Add &translation" msgstr "&Vertaling toevoegen" -#. Widget: “DictionariesWidget”, tooltip. -#. Widget: “DictionaryEditor”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:136 -#: plover/gui_qt/dictionary_editor_ui.py:126 +#. Widget: “DictionariesWidget”, tool tip. +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:180 +#: plover/gui_qt/dictionary_editor_ui.py:165 msgid "Add a new translation" msgstr "Voeg een nieuwe vertaling toe" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:138 -#: plover/gui_qt/dictionary_editor_ui.py:128 +#: plover/gui_qt/dictionaries_widget_ui.py:184 +#: plover/gui_qt/dictionary_editor_ui.py:169 msgid "Ctrl+N" msgstr "Ctrl+N" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:140 +#: plover/gui_qt/dictionaries_widget_ui.py:187 msgid "Move dictionaries &up" msgstr "Schuif woordenboeken om&hoog" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:142 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:190 msgid "Move selected dictionaries up." msgstr "Beweeg de geselecteerde woordenboeken omhoog." #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:144 +#: plover/gui_qt/dictionaries_widget_ui.py:193 msgid "Move dictionaries &down" msgstr "Schuif woordenboeken om&loog" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:146 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:196 msgid "Move selected dictionaries down." msgstr "Beweeg de geselecteerde woordenboeken omlaag." -#. Widget: “DictionaryEditor”. -#: plover/gui_qt/dictionary_editor.py:163 -msgid "Strokes" -msgstr "Aanslagen" - -#. Widget: “DictionaryEditor”. -#: plover/gui_qt/dictionary_editor.py:166 -msgid "Translation" -msgstr "Vertaling" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget_ui.py:199 +msgid "Create a copy of each dictionary" +msgstr "Maak een kopie van ieder woordenboek" -#. Widget: “DictionaryEditor”. -#: plover/gui_qt/dictionary_editor.py:169 -msgid "Dictionary" -msgstr "Woordenboek" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget_ui.py:201 +msgid "Merge dictionaries into a new one" +msgstr "Voeg woordenboeken samen in een nieuw woordenboek" -#. Widget: “DictionaryEditor”, windowtitle. -#: plover/gui_qt/dictionary_editor_ui.py:100 +#. Widget: “DictionaryEditor”, window title. +#: plover/gui_qt/dictionary_editor_ui.py:140 msgid "Plover: Dictionary Editor" msgstr "Plover: Bewerk woordenboek" +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:142 +msgid "&Delete" +msgstr "&Verwijderen" + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:145 +msgid "Delete selected entries." +msgstr "Verwijder geselecteerde regels." + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:155 +msgid "Undo last add/delete/edit operation." +msgstr "Maak de laatste toevoeg-/verwijder-/bewerk-operatie ongedaan." + +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:162 +msgid "&New translation" +msgstr "&Nieuwe vertaling" + +#. Widget: “DictionaryEditor”, accessible name. #. Widget: “DictionaryEditor”, title. -#: plover/gui_qt/dictionary_editor_ui.py:102 +#: plover/gui_qt/dictionary_editor_ui.py:173 +#: plover/gui_qt/dictionary_editor_ui.py:176 msgid "Filter" msgstr "Filter" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:104 +#: plover/gui_qt/dictionary_editor_ui.py:178 msgid "By strokes:" msgstr "Op aanslagen:" +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:181 +#, fuzzy +msgid "Strokes filter" +msgstr "Aanslagen" + +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:185 +#, fuzzy +msgid "Apply filter" +msgstr "Filter" + #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:106 +#: plover/gui_qt/dictionary_editor_ui.py:188 msgid "Apply" msgstr "Toepassen" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:108 +#: plover/gui_qt/dictionary_editor_ui.py:190 msgid "By translation:" msgstr "Op vertaling:" +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:193 +#, fuzzy +msgid "Translation filter" +msgstr "Vertaling" + +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:197 +#, fuzzy +msgid "Clear filter" +msgstr "Filter" + #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:110 +#: plover/gui_qt/dictionary_editor_ui.py:203 msgid "Clear" msgstr "Leegmaken" -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:112 -msgid "&Delete" -msgstr "&Verwijderen" - -#. Widget: “DictionaryEditor”, tooltip. -#: plover/gui_qt/dictionary_editor_ui.py:114 -msgid "Delete selected entries." -msgstr "Verwijder geselecteerde regels." - -#. Widget: “DictionaryEditor”, tooltip. -#: plover/gui_qt/dictionary_editor_ui.py:120 -msgid "Undo last add/delete/edit operation." -msgstr "Maak de laatste toevoeg-/verwijder-/bewerk-operatie ongedaan." - -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:124 -msgid "&New translation" -msgstr "&Nieuwe vertaling" +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:206 +msgid "Mappings" +msgstr "" #. Widget: “LookupDialog”, tooltip. -#: plover/gui_qt/lookup_dialog.py:13 +#: plover/gui_qt/lookup_dialog.py:12 msgid "Search the dictionary for translations." msgstr "Zoek in het woordenboek naar vertalingen." -#: plover/gui_qt/lookup_dialog.py:15 +#: plover/gui_qt/lookup_dialog.py:14 msgid "Lookup" msgstr "Opzoeken" -#. Widget: “LookupDialog”, windowtitle. -#: plover/gui_qt/lookup_dialog_ui.py:56 +#. Widget: “LookupDialog”, window title. +#: plover/gui_qt/lookup_dialog_ui.py:72 msgid "Plover: Dictionary Lookup" msgstr "Plover: Zoek in woordenboek" -#: plover/gui_qt/machine_options.py:104 +#. Widget: “LookupDialog”, accessible name. +#: plover/gui_qt/lookup_dialog_ui.py:75 +#, fuzzy +msgid "Pattern" +msgstr "Papier" + +#. Widget: “LookupDialog”, accessible description. +#: plover/gui_qt/lookup_dialog_ui.py:79 +msgid "Translation pattern to lookup." +msgstr "" + +#. Widget: “LookupDialog”, accessible name. +#: plover/gui_qt/lookup_dialog_ui.py:83 +msgid "Results" +msgstr "" + +#: plover/gui_qt/machine_options.py:36 +#, python-brace-format +msgid "product: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:37 +#, python-brace-format +msgid "manufacturer: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:38 +#, python-brace-format +msgid "serial number: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:46 +#, python-brace-format +msgid "description: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:199 msgid "" "Arpeggiate allows using non-NKRO keyboards.\n" "\n" @@ -746,258 +1064,358 @@ msgstr "" "Iedere toets kan één voor één ingedrukt worden,\n" "waarna de spatiebalk de aanslag verzendt." -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:172 plover/gui_qt/main_window_ui.py:212 -msgid "Disconnect and reconnect the machine." -msgstr "Verbreek en herstel de verbinding met de machine." - -#. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:178 -msgid "Disabled" -msgstr "Uitgeschakeld" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:180 -msgid "&File" -msgstr "&Bestand" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:182 -msgid "&Tools" -msgstr "&Gereedschappen" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:184 -msgid "&Help" -msgstr "&Help" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:186 -msgid "&Edit" -msgstr "&Bewerken" - -#. Widget: “MainWindow”, windowtitle. -#: plover/gui_qt/main_window_ui.py:188 -msgid "Plover: Toolbar" -msgstr "Plover: Werkbalk" +#: plover/gui_qt/main_window.py:312 +msgid "Application is still running." +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:190 +#: plover/gui_qt/main_window_ui.py:202 msgid "&Quit Plover" msgstr "Plover &afsluiten" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:192 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:205 msgid "Quit the application." msgstr "Sluit deze applicatie af." #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:194 +#: plover/gui_qt/main_window_ui.py:209 msgid "Ctrl+Q" msgstr "Ctrl+Q" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:196 +#: plover/gui_qt/main_window_ui.py:212 msgid "&Configure" msgstr "&Instellingen" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:198 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:215 msgid "Open the configuration dialog." msgstr "Opent het instellingen-venster." #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:200 +#: plover/gui_qt/main_window_ui.py:219 msgid "Ctrl+," msgstr "Ctrl+," #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:202 +#: plover/gui_qt/main_window_ui.py:222 msgid "Open config &folder" msgstr "Open &instellingenmap" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:204 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:225 msgid "Open the configuration folder." msgstr "Opent de map met configuratiebestanden." #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:206 +#: plover/gui_qt/main_window_ui.py:228 msgid "&About" msgstr "&Over" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:208 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:231 msgid "Open the about dialog." msgstr "Opent een venster met informatie over Plover." #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:210 +#: plover/gui_qt/main_window_ui.py:234 msgid "&Reconnect machine" msgstr "&Herverbinden met machine" +#. Widget: “MainWindow”, tool tip. +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:237 plover/gui_qt/main_window_ui.py:272 +#: plover/gui_qt/main_window_ui.py:280 +msgid "Disconnect and reconnect the machine." +msgstr "Verbreek en herstel de verbinding met de machine." + #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:214 +#: plover/gui_qt/main_window_ui.py:241 msgid "Ctrl+R" msgstr "Ctrl+R" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:216 +#: plover/gui_qt/main_window_ui.py:244 msgid "&Show" msgstr "&Weergeven" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:218 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:247 msgid "Show the main window." msgstr "Het hoofdvenster weergeven." #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:220 +#: plover/gui_qt/main_window_ui.py:250 msgid "Toggle &output" msgstr "&Uitvoer aan-/uitzetten" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:222 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:253 msgid "Toggle the output." msgstr "Zet de uitvoer aan of uit." #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:224 +#: plover/gui_qt/main_window_ui.py:257 msgid "Ctrl+." msgstr "Ctrl+." -#: plover/gui_qt/paper_tape.py:25 -msgid "Paper Tape" -msgstr "Papierstrook" +#. Widget: “MainWindow”, accessible name. +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/main_window_ui.py:263 plover/gui_qt/plugins_manager_ui.py:133 +#, fuzzy +msgid "State" +msgstr "&Opslaan" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:267 +msgid "Connection state for the current machine." +msgstr "" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:276 +#, fuzzy +msgid "Reconnect" +msgstr "verbonden" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:285 +msgid "Type" +msgstr "" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:289 +msgid "Change the current machine type." +msgstr "" + +#. Widget: “MainWindow”, text. +#: plover/gui_qt/main_window_ui.py:296 +msgid "Disabled" +msgstr "Uitgeschakeld" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:298 +msgid "&File" +msgstr "&Bestand" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:300 +msgid "&Tools" +msgstr "&Gereedschappen" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:302 +msgid "&Help" +msgstr "&Help" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:304 +msgid "&Edit" +msgstr "&Bewerken" + +#. Widget: “MainWindow”, window title. +#: plover/gui_qt/main_window_ui.py:306 +msgid "Plover: Toolbar" +msgstr "Plover: Werkbalk" #. Paper tape style. -#: plover/gui_qt/paper_tape.py:32 +#: plover/gui_qt/paper_tape.py:30 msgid "Paper" msgstr "Papier" #. Paper tape style. -#: plover/gui_qt/paper_tape.py:34 +#: plover/gui_qt/paper_tape.py:32 msgid "Raw" msgstr "Ruw" -#: plover/gui_qt/paper_tape.py:158 +#. Widget: “PaperTape”, tooltip. +#: plover/gui_qt/paper_tape.py:122 +msgid "Paper tape display of strokes." +msgstr "" + +#: plover/gui_qt/paper_tape.py:124 +msgid "Paper Tape" +msgstr "Papierstrook" + +#: plover/gui_qt/paper_tape.py:237 msgid "Do you want to clear the paper tape?" msgstr "De papierstrook echt wissen?" -#: plover/gui_qt/paper_tape.py:172 +#: plover/gui_qt/paper_tape.py:255 msgid "Save Paper Tape" msgstr "Papierstrook opslaan" #. Paper tape, "save" file picker. -#: plover/gui_qt/paper_tape.py:174 +#: plover/gui_qt/paper_tape.py:258 msgid "Text files (*.txt)" msgstr "Tekstbestanden (*.txt)" -#. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:87 -msgid "Mode" -msgstr "Modus" - #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:89 plover/gui_qt/suggestions_dialog_ui.py:53 +#: plover/gui_qt/paper_tape_ui.py:112 plover/gui_qt/suggestions_dialog_ui.py:70 msgid "&Clear" msgstr "&Leegmaken" -#. Widget: “PaperTape”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:91 +#. Widget: “PaperTape”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:115 msgid "Clear paper tape." msgstr "Maakt de papierstrook leeg." #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:93 plover/gui_qt/suggestions_dialog_ui.py:57 +#: plover/gui_qt/paper_tape_ui.py:119 plover/gui_qt/suggestions_dialog_ui.py:77 msgid "Ctrl+L" msgstr "Ctrl+L" #. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:95 +#: plover/gui_qt/paper_tape_ui.py:122 msgid "&Save" msgstr "&Opslaan" -#. Widget: “PaperTape”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:97 +#. Widget: “PaperTape”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:125 msgid "Save paper tape to file." msgstr "Slaat de papierstrook op in een bestand." #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:101 plover/gui_qt/suggestions_dialog_ui.py:59 +#: plover/gui_qt/paper_tape_ui.py:132 plover/gui_qt/suggestions_dialog_ui.py:80 msgid "&Toggle \"always on top\"" msgstr "\"Altijd bovenaan\" &aan/uit" -#. Widget: “PaperTape”, tooltip. -#. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:103 plover/gui_qt/suggestions_dialog_ui.py:61 +#. Widget: “PaperTape”, tool tip. +#. Widget: “SuggestionsDialog”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:135 plover/gui_qt/suggestions_dialog_ui.py:83 msgid "Toggle \"always on top\"." msgstr "Zet de instelling \"altijd bovenaan\" aan of uit." #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:105 plover/gui_qt/suggestions_dialog_ui.py:63 +#: plover/gui_qt/paper_tape_ui.py:139 plover/gui_qt/suggestions_dialog_ui.py:87 msgid "Ctrl+T" msgstr "Ctrl+T" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:107 plover/gui_qt/suggestions_dialog_ui.py:65 +#: plover/gui_qt/paper_tape_ui.py:142 plover/gui_qt/suggestions_dialog_ui.py:90 msgid "Select &font" msgstr "&Lettertype selecteren" -#. Widget: “PaperTape”, tooltip. -#. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:109 plover/gui_qt/suggestions_dialog_ui.py:67 +#. Widget: “PaperTape”, tool tip. +#. Widget: “SuggestionsDialog”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:145 plover/gui_qt/suggestions_dialog_ui.py:93 msgid "Open font selection dialog." msgstr "Opent het venster om een lettertype te selecteren." +#. Widget: “PaperTape”, text. +#: plover/gui_qt/paper_tape_ui.py:148 +#, fuzzy +msgid "Mode:" +msgstr "Modus" + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:151 +msgid "Mode" +msgstr "Modus" + +#. Widget: “PaperTape”, accessible description. +#: plover/gui_qt/paper_tape_ui.py:155 +#, fuzzy +msgid "Select paper tape display mode." +msgstr "Slaat de papierstrook op in een bestand." + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:159 +#, fuzzy +msgid "Tape" +msgstr "Papier" + +#. Widget: “PluginsManager”, window title. +#. Widget: “RunDialog”, window title. +#: plover/gui_qt/plugins_manager_ui.py:130 plover/gui_qt/run_dialog_ui.py:51 +msgid "Dialog" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:139 +msgid "Version" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:142 +msgid "Summary" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:144 +msgid "Restart" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:148 +msgid "Uninstall" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:150 +msgid "Install/Update" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:152 +msgid "..." +msgstr "" + #. Widget: “SuggestionsDialog”, tooltip. #: plover/gui_qt/suggestions_dialog.py:26 msgid "Suggest possible strokes for the last written words." msgstr "Stel mogelijke aanslagen voor de laatste geschreven woorden voor." +#. Widget: “SuggestionsDialog”, accessible name. #: plover/gui_qt/suggestions_dialog.py:28 +#: plover/gui_qt/suggestions_dialog_ui.py:97 msgid "Suggestions" msgstr "Suggesties" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:57 +#: plover/gui_qt/suggestions_dialog.py:62 msgid "&Text" msgstr "&Tekst" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:59 +#: plover/gui_qt/suggestions_dialog.py:64 msgid "&Strokes" msgstr "&Aanslagen" -#. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/suggestions_dialog_ui.py:55 +#. Widget: “SuggestionsDialog”, tool tip. +#: plover/gui_qt/suggestions_dialog_ui.py:73 msgid "Clear the history." msgstr "Maakt de geschiedenis leeg." #. Widget: “SuggestionsWidget”. -#: plover/gui_qt/suggestions_widget.py:42 +#: plover/gui_qt/suggestions_widget.py:27 msgid "no suggestions" msgstr "geen suggesties" -#: plover/gui_qt/trayicon.py:116 +#: plover/gui_qt/trayicon.py:118 +#, python-brace-format msgid "{machine} is {state}" msgstr "{machine} is {state}" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:122 +#: plover/gui_qt/trayicon.py:124 msgid "output is enabled" msgstr "uitvoer staat aan" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:125 +#: plover/gui_qt/trayicon.py:127 msgid "output is disabled" msgstr "uitvoer staat uit" +#: plover/gui_qt/utils.py:28 +msgid "Copy selection to clipboard" +msgstr "" + #. Machine state. #: plover/machine/base.py:20 msgid "stopped" @@ -1022,3 +1440,16 @@ msgstr "verbinding verbroken" #: plover/machine/keyboard.py:14 msgid "Keyboard" msgstr "Toetsenbord" + +#~ msgid "Scan" +#~ msgstr "Scannen" + +#~ msgid "seconds" +#~ msgstr "seconden" + +#~ msgid "Use timeout" +#~ msgstr "Time-out gebruiken" + +#~ msgid "Open dictionaries" +#~ msgstr "Open woordenboeken" + diff --git a/plover/messages/plover.pot b/plover/messages/plover.pot index 8f3ae2791..c65bbf589 100644 --- a/plover/messages/plover.pot +++ b/plover/messages/plover.pot @@ -1,23 +1,23 @@ # Translations template for plover. -# Copyright (C) 2022 ORGANIZATION +# Copyright (C) 2026 ORGANIZATION # This file is distributed under the same license as the plover project. -# FIRST AUTHOR , 2022. +# FIRST AUTHOR , 2026. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: plover 4.0.0.dev10\n" +"Project-Id-Version: plover 5.2.3\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2022-02-06 17:18+0000\n" +"POT-Creation-Date: 2026-03-07 10:58+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Generated-By: Babel 2.17.0\n" -#: plover/__init__.py:19 +#: plover/__init__.py:22 msgid "" "Founded by stenographer Mirabai Knight.\n" "\n" @@ -35,440 +35,529 @@ msgid "" msgstr "" #. Short description for Plover, currently not used in the interface. -#: plover/__init__.py:33 +#: plover/__init__.py:38 msgid "Open Source Stenography Software" msgstr "" -#: plover/__init__.py:34 +#: plover/__init__.py:39 msgid "" "Plover is a free open source program intended to bring realtime\n" "stenographic technology not just to stenographers, but also to\n" "hackers, hobbyists, accessibility mavens, and all-around speed demons." msgstr "" +#: plover/dictionary/helpers.py:24 +#, python-format +msgid "dictionary `%s` loaded with %u invalid steno errors" +msgstr "" + #. Widget: “AboutDialog”, window title. -#: plover/gui_qt/about_dialog_ui.py:38 +#: plover/gui_qt/about_dialog_ui.py:53 msgid "Plover: About" msgstr "" #. Widget: “AddTranslationDialog”, tooltip. #. Widget: “AddTranslationWidget”, tooltip. -#: plover/gui_qt/add_translation_dialog.py:12 +#: plover/gui_qt/add_translation_dialog.py:11 #: plover/gui_qt/add_translation_widget.py:23 msgid "Add a new translation to the dictionary." msgstr "" -#: plover/gui_qt/add_translation_dialog.py:14 +#: plover/gui_qt/add_translation_dialog.py:13 msgid "Add Translation" msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:193 +#: plover/gui_qt/add_translation_widget.py:194 +#, python-brace-format msgid "{dictionary} (disabled)" msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:255 +#: plover/gui_qt/add_translation_widget.py:260 +#, python-brace-format msgid "{strokes} maps to " msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:266 +#: plover/gui_qt/add_translation_widget.py:272 msgid "Overwritten entries:" msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:271 +#: plover/gui_qt/add_translation_widget.py:277 +#, python-brace-format msgid "{strokes} is not mapped in any dictionary" msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:284 +#: plover/gui_qt/add_translation_widget.py:291 +#, python-brace-format msgid "{translation} is mapped to: {strokes}" msgstr "" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:287 +#: plover/gui_qt/add_translation_widget.py:294 +#, python-brace-format msgid "{translation} is not in the dictionary" msgstr "" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:106 +#: plover/gui_qt/add_translation_widget_ui.py:124 msgid "Dictionary:" msgstr "" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:108 +#: plover/gui_qt/add_translation_widget_ui.py:126 msgid "Strokes:" msgstr "" #. Widget: “AddTranslationWidget”, accessible name. #. Widget: “DictionaryEditor”. -#: plover/gui_qt/add_translation_widget_ui.py:110 -#: plover/gui_qt/dictionary_editor.py:173 +#: plover/gui_qt/add_translation_widget_ui.py:129 +#: plover/gui_qt/dictionary_editor.py:170 msgid "Strokes" msgstr "" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:112 +#: plover/gui_qt/add_translation_widget_ui.py:132 msgid "Translation:" msgstr "" #. Widget: “AddTranslationWidget”, accessible name. #. Widget: “DictionaryEditor”. -#: plover/gui_qt/add_translation_widget_ui.py:114 -#: plover/gui_qt/dictionary_editor.py:176 +#: plover/gui_qt/add_translation_widget_ui.py:135 +#: plover/gui_qt/dictionary_editor.py:173 msgid "Translation" msgstr "" #. Widget: “AddTranslationWidget”, accessible name. #. Widget: “DictionaryEditor”. -#: plover/gui_qt/add_translation_widget_ui.py:116 -#: plover/gui_qt/dictionary_editor.py:179 +#: plover/gui_qt/add_translation_widget_ui.py:139 +#: plover/gui_qt/dictionary_editor.py:176 msgid "Dictionary" msgstr "" #. Widget: “AddTranslationWidget”, accessible description. -#: plover/gui_qt/add_translation_widget_ui.py:118 +#: plover/gui_qt/add_translation_widget_ui.py:143 msgid "Select the target dictionary for the new translation." msgstr "" #. Widget: “AddTranslationWidget”, accessible name. -#: plover/gui_qt/add_translation_widget_ui.py:120 +#: plover/gui_qt/add_translation_widget_ui.py:147 msgid "Existing mappings (strokes)" msgstr "" #. Widget: “AddTranslationWidget”, accessible name. -#: plover/gui_qt/add_translation_widget_ui.py:122 +#: plover/gui_qt/add_translation_widget_ui.py:152 msgid "Existing mappings (translations)" msgstr "" #. Widget: “FileWidget”, accessible name. -#: plover/gui_qt/config_file_widget_ui.py:45 +#: plover/gui_qt/config_file_widget_ui.py:61 msgid "Log file path." msgstr "" #. Widget: “FileWidget”, accessible description. -#: plover/gui_qt/config_file_widget_ui.py:47 +#: plover/gui_qt/config_file_widget_ui.py:65 msgid "Path to the log file." msgstr "" #. Widget: “FileWidget”, accessible name. -#: plover/gui_qt/config_file_widget_ui.py:49 +#: plover/gui_qt/config_file_widget_ui.py:69 msgid "Browse." msgstr "" #. Widget: “FileWidget”, accessible description. -#: plover/gui_qt/config_file_widget_ui.py:51 +#: plover/gui_qt/config_file_widget_ui.py:73 msgid "Open a file picker to select the log file." msgstr "" #. Widget: “FileWidget”, text. -#: plover/gui_qt/config_file_widget_ui.py:53 +#: plover/gui_qt/config_file_widget_ui.py:76 msgid "Browse" msgstr "" +#. Widget: “KeyboardWidget”, tool tip. +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_keyboard_widget_ui.py:56 +#: plover/gui_qt/config_plover_hid_widget_ui.py:89 +msgid "" +"When the first key in a chord is released, the chord is sent.\n" +"If the key is pressed and released again, another chord is sent." +msgstr "" + +#. Widget: “KeyboardWidget”, text. +#: plover/gui_qt/config_keyboard_widget_ui.py:60 +msgid "First-up chord send" +msgstr "" + #. Widget: “KeyboardWidget”, text. -#: plover/gui_qt/config_keyboard_widget_ui.py:36 +#: plover/gui_qt/config_keyboard_widget_ui.py:62 msgid "Arpeggiate" msgstr "" +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:93 +msgid "Send chord on first key release" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:96 +msgid "Tap and then hold a chord to send it repeatedly." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:99 +msgid "Double tap to repeat" +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:101 +msgid "Repeat delay (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:104 +msgid "Delay before chord starts repeating." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:107 +msgid "Repeat interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:110 +msgid "Interval between chord repetitions." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:113 +msgid "Device scan interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:116 +msgid "How often to scan for newly plugged-in devices." +msgstr "" + #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:205 +#: plover/gui_qt/config_serial_widget_ui.py:215 msgid "Serial" msgstr "" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:207 +#: plover/gui_qt/config_serial_widget_ui.py:218 msgid "Connection" msgstr "" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:209 -#: plover/gui_qt/config_serial_widget_ui.py:211 +#: plover/gui_qt/config_serial_widget_ui.py:220 +#: plover/gui_qt/config_serial_widget_ui.py:223 msgid "Port" msgstr "" #. Widget: “SerialWidget”, accessible description. -#: plover/gui_qt/config_serial_widget_ui.py:213 +#: plover/gui_qt/config_serial_widget_ui.py:227 msgid "Serial port device name." msgstr "" #. Widget: “SerialWidget”, accessible description. -#: plover/gui_qt/config_serial_widget_ui.py:215 -msgid "Scan for available serial ports." +#: plover/gui_qt/config_serial_widget_ui.py:231 +msgid "Reload all available serial ports." msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:217 -msgid "Scan" +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_serial_widget_ui.py:234 +#: plover/gui_qt/plugins_manager_ui.py:146 +msgid "Refresh" msgstr "" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:219 -#: plover/gui_qt/config_serial_widget_ui.py:221 +#: plover/gui_qt/config_serial_widget_ui.py:236 +#: plover/gui_qt/config_serial_widget_ui.py:239 msgid "Baudrate" msgstr "" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:223 +#: plover/gui_qt/config_serial_widget_ui.py:242 msgid "Data format" msgstr "" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:225 -#: plover/gui_qt/config_serial_widget_ui.py:227 +#: plover/gui_qt/config_serial_widget_ui.py:244 +#: plover/gui_qt/config_serial_widget_ui.py:247 msgid "Data bits" msgstr "" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:229 -#: plover/gui_qt/config_serial_widget_ui.py:231 +#: plover/gui_qt/config_serial_widget_ui.py:250 +#: plover/gui_qt/config_serial_widget_ui.py:253 msgid "Stop bits" msgstr "" #. Widget: “SerialWidget”, text. #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:233 -#: plover/gui_qt/config_serial_widget_ui.py:235 +#: plover/gui_qt/config_serial_widget_ui.py:256 +#: plover/gui_qt/config_serial_widget_ui.py:259 msgid "Parity" msgstr "" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:237 +#: plover/gui_qt/config_serial_widget_ui.py:265 msgid "Timeout" msgstr "" #. Widget: “SerialWidget”, text. +#: plover/gui_qt/config_serial_widget_ui.py:267 +msgid "Duration (s)" +msgstr "" + #. Widget: “SerialWidget”, accessible name. -#: plover/gui_qt/config_serial_widget_ui.py:239 -#: plover/gui_qt/config_serial_widget_ui.py:241 +#: plover/gui_qt/config_serial_widget_ui.py:270 msgid "Duration" msgstr "" #. Widget: “SerialWidget”, accessible description. -#: plover/gui_qt/config_serial_widget_ui.py:243 +#: plover/gui_qt/config_serial_widget_ui.py:274 msgid "Timeout duration in seconds." msgstr "" -#. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:245 -msgid "Use timeout" -msgstr "" - #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:247 +#: plover/gui_qt/config_serial_widget_ui.py:277 msgid "Flow control" msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:249 +#: plover/gui_qt/config_serial_widget_ui.py:279 msgid "Xon/Xoff" msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:251 +#: plover/gui_qt/config_serial_widget_ui.py:281 msgid "RTS/CTS" msgstr "" #. Widget: “NopeOption” (empty config option message, #. e.g. the machine option when selecting the Treal machine). -#: plover/gui_qt/config_window.py:46 +#: plover/gui_qt/config_window.py:51 msgid "Nothing to see here!" msgstr "" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:175 +#: plover/gui_qt/config_window.py:173 msgid "Key" msgstr "" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:177 +#: plover/gui_qt/config_window.py:175 msgid "Action" msgstr "" #. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:223 -msgid "Choice" +#: plover/gui_qt/config_window.py:221 +msgid "Selected" msgstr "" #. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:225 -msgid "Selected" +#: plover/gui_qt/config_window.py:223 +msgid "Choice" msgstr "" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:319 +#: plover/gui_qt/config_window.py:354 msgid "Interface" msgstr "" -#: plover/gui_qt/config_window.py:320 +#: plover/gui_qt/config_window.py:357 +msgid "Appearance:" +msgstr "" + +#: plover/gui_qt/config_window.py:362 plover/gui_qt/config_window.py:586 +msgid "System" +msgstr "" + +#: plover/gui_qt/config_window.py:363 +msgid "Light" +msgstr "" + +#: plover/gui_qt/config_window.py:364 +msgid "Dark" +msgstr "" + +#: plover/gui_qt/config_window.py:368 +msgid "" +"Set the application appearance:\n" +"- System: follow the operating system mode\n" +"- Light: force light mode\n" +"- Dark: force dark mode" +msgstr "" + +#: plover/gui_qt/config_window.py:375 msgid "Start minimized:" msgstr "" -#: plover/gui_qt/config_window.py:321 +#: plover/gui_qt/config_window.py:378 msgid "Minimize the main window to systray on startup." msgstr "" -#: plover/gui_qt/config_window.py:322 +#: plover/gui_qt/config_window.py:381 msgid "Show paper tape:" msgstr "" -#: plover/gui_qt/config_window.py:323 +#: plover/gui_qt/config_window.py:384 msgid "Open the paper tape on startup." msgstr "" -#: plover/gui_qt/config_window.py:324 +#: plover/gui_qt/config_window.py:387 msgid "Show suggestions:" msgstr "" -#: plover/gui_qt/config_window.py:325 +#: plover/gui_qt/config_window.py:390 msgid "Open the suggestions dialog on startup." msgstr "" -#: plover/gui_qt/config_window.py:326 +#: plover/gui_qt/config_window.py:393 msgid "Add translation dialog opacity:" msgstr "" -#: plover/gui_qt/config_window.py:328 +#: plover/gui_qt/config_window.py:397 msgid "" "Set the translation dialog opacity:\n" "- 0 makes the dialog invisible\n" "- 100 is fully opaque" msgstr "" -#: plover/gui_qt/config_window.py:331 +#: plover/gui_qt/config_window.py:403 msgid "Dictionaries display order:" msgstr "" -#: plover/gui_qt/config_window.py:333 +#: plover/gui_qt/config_window.py:406 msgid "top-down" msgstr "" -#: plover/gui_qt/config_window.py:333 +#: plover/gui_qt/config_window.py:406 msgid "bottom-up" msgstr "" -#: plover/gui_qt/config_window.py:334 +#: plover/gui_qt/config_window.py:409 msgid "" "Set the display order for dictionaries:\n" "- top-down: match the search order; highest priority first\n" "- bottom-up: reverse search order; lowest priority first\n" msgstr "" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:339 +#: plover/gui_qt/config_window.py:418 msgid "Logging" msgstr "" -#: plover/gui_qt/config_window.py:340 +#: plover/gui_qt/config_window.py:421 msgid "Log file:" msgstr "" -#: plover/gui_qt/config_window.py:342 +#: plover/gui_qt/config_window.py:424 msgid "Select a log file" msgstr "" -#: plover/gui_qt/config_window.py:343 +#: plover/gui_qt/config_window.py:424 msgid "Log files (*.log)" msgstr "" -#: plover/gui_qt/config_window.py:344 +#: plover/gui_qt/config_window.py:426 msgid "File to use for logging strokes/translations." msgstr "" -#: plover/gui_qt/config_window.py:345 +#: plover/gui_qt/config_window.py:429 msgid "Log strokes:" msgstr "" -#: plover/gui_qt/config_window.py:346 +#: plover/gui_qt/config_window.py:432 msgid "Save strokes to the logfile." msgstr "" -#: plover/gui_qt/config_window.py:347 +#: plover/gui_qt/config_window.py:435 msgid "Log translations:" msgstr "" -#: plover/gui_qt/config_window.py:348 +#: plover/gui_qt/config_window.py:438 msgid "Save translations to the logfile." msgstr "" -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:351 plover/gui_qt/main_window_ui.py:164 +#: plover/gui_qt/config_window.py:444 plover/gui_qt/main_window_ui.py:260 msgid "Machine" msgstr "" -#: plover/gui_qt/config_window.py:352 +#: plover/gui_qt/config_window.py:447 msgid "Machine:" msgstr "" -#: plover/gui_qt/config_window.py:357 +#: plover/gui_qt/config_window.py:459 msgid "Options:" msgstr "" -#: plover/gui_qt/config_window.py:358 +#: plover/gui_qt/config_window.py:461 msgid "Keymap:" msgstr "" -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:361 plover/gui_qt/main_window_ui.py:180 +#: plover/gui_qt/config_window.py:466 plover/gui_qt/main_window_ui.py:292 msgid "Output" msgstr "" -#: plover/gui_qt/config_window.py:362 +#: plover/gui_qt/config_window.py:469 msgid "Enable at start:" msgstr "" -#: plover/gui_qt/config_window.py:363 +#: plover/gui_qt/config_window.py:472 msgid "Enable output on startup." msgstr "" -#: plover/gui_qt/config_window.py:364 +#: plover/gui_qt/config_window.py:475 msgid "Start attached:" msgstr "" -#: plover/gui_qt/config_window.py:365 +#: plover/gui_qt/config_window.py:479 msgid "" "Disable preceding space on first output.\n" "\n" "This option is only applicable when spaces are placed before." msgstr "" -#: plover/gui_qt/config_window.py:368 +#: plover/gui_qt/config_window.py:485 msgid "Start capitalized:" msgstr "" -#: plover/gui_qt/config_window.py:369 +#: plover/gui_qt/config_window.py:488 msgid "Capitalize the first word." msgstr "" -#: plover/gui_qt/config_window.py:370 +#: plover/gui_qt/config_window.py:491 msgid "Space placement:" msgstr "" -#: plover/gui_qt/config_window.py:372 +#: plover/gui_qt/config_window.py:496 msgid "Before Output" msgstr "" -#: plover/gui_qt/config_window.py:373 +#: plover/gui_qt/config_window.py:497 msgid "After Output" msgstr "" -#: plover/gui_qt/config_window.py:375 +#: plover/gui_qt/config_window.py:500 msgid "Set automatic space placement: before or after each word." msgstr "" -#: plover/gui_qt/config_window.py:376 +#: plover/gui_qt/config_window.py:503 msgid "Undo levels:" msgstr "" -#: plover/gui_qt/config_window.py:380 +#: plover/gui_qt/config_window.py:507 msgid "" "Set how many preceding strokes can be undone.\n" "\n" @@ -476,160 +565,200 @@ msgid "" "dictionaries entry with the maximum number of strokes." msgstr "" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:386 -msgid "Plugins" +#: plover/gui_qt/config_window.py:514 +msgid "Key press delay (ms):" msgstr "" -#: plover/gui_qt/config_window.py:387 -msgid "Extension:" +#: plover/gui_qt/config_window.py:522 +msgid "" +"Set the delay between emulated key presses (in milliseconds).\n" +"\n" +"Some programs may drop key presses if too many are sent\n" +"within a short period of time. Increasing the delay gives\n" +"programs time to process each key press.\n" +"Setting the delay too high will negatively impact the\n" +"performance of key stroke output." msgstr "" -#: plover/gui_qt/config_window.py:391 -msgid "Name" +#: plover/gui_qt/config_window.py:532 +msgid "Linux keyboard layout:" +msgstr "" + +#: plover/gui_qt/config_window.py:546 +msgid "" +"Set the keyboard layout configured in your system.\n" +"This only applies when using Linux/BSD and not using X11.\n" +"\n" +"When Wayland auto detect is selected,Plover is only able to detect the " +"first keyboard layout\n" +"and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:556 +msgid "" +"When Wayland auto detect is selected, Plover is only able to detect the " +"first keyboard layout and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:567 +msgid "Plugins" +msgstr "" + +#: plover/gui_qt/config_window.py:570 +msgid "Extensions:" msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/config_window.py:391 plover/gui_qt/main_window_ui.py:182 +#: plover/gui_qt/config_window.py:578 plover/gui_qt/main_window_ui.py:294 msgid "Enabled" msgstr "" -#: plover/gui_qt/config_window.py:392 -msgid "Configure enabled plugin extensions." +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_window.py:578 plover/gui_qt/plugins_manager_ui.py:136 +msgid "Name" msgstr "" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:395 -msgid "System" +#: plover/gui_qt/config_window.py:580 +msgid "Configure enabled plugin extensions." msgstr "" -#: plover/gui_qt/config_window.py:396 +#: plover/gui_qt/config_window.py:589 msgid "System:" msgstr "" #. Widget: “ConfigWindow”, window title. -#: plover/gui_qt/config_window_ui.py:43 +#: plover/gui_qt/config_window_ui.py:61 msgid "Plover: Configuration" msgstr "" +#. Widget: “ConsoleWidget”, window title. +#: plover/gui_qt/console_widget_ui.py:49 +msgid "Form" +msgstr "" + #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:39 +#: plover/gui_qt/dictionaries_widget.py:46 +#, python-brace-format msgid "Dictionaries ({extensions})" msgstr "" #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:42 +#: plover/gui_qt/dictionaries_widget.py:49 +#, python-brace-format msgid "{format} dictionaries ({extensions})" msgstr "" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:373 +#: plover/gui_qt/dictionaries_widget.py:391 msgid "disabled" msgstr "" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:376 +#: plover/gui_qt/dictionaries_widget.py:394 msgid "favorite" msgstr "" -#. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:379 +#: plover/gui_qt/dictionaries_widget.py:398 +#, python-brace-format msgid "errored: {exception}." msgstr "" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:383 +#: plover/gui_qt/dictionaries_widget.py:402 msgid "loading" msgstr "" #. Widget: “DictionariesWidget”, accessible text. -#: plover/gui_qt/dictionaries_widget.py:386 +#: plover/gui_qt/dictionaries_widget.py:405 msgid "read-only" msgstr "" #. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:392 +#: plover/gui_qt/dictionaries_widget.py:411 +#, python-brace-format msgid "Full path: {path}." msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:395 +#: plover/gui_qt/dictionaries_widget.py:414 msgid "This dictionary is marked as the favorite." msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:398 +#: plover/gui_qt/dictionaries_widget.py:417 msgid "This dictionary is being loaded." msgstr "" -#. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:401 +#: plover/gui_qt/dictionaries_widget.py:421 +#, python-brace-format msgid "Loading this dictionary failed: {exception}." msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget.py:405 +#: plover/gui_qt/dictionaries_widget.py:427 msgid "This dictionary is read-only." msgstr "" #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:585 +#: plover/gui_qt/dictionaries_widget.py:618 +#, python-brace-format msgid "Save a copy of {name} as..." msgstr "" #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:587 +#: plover/gui_qt/dictionaries_widget.py:620 +#, python-brace-format msgid "{name} - Copy" msgstr "" #. Widget: “DictionariesWidget”, “save as merge” file picker. -#: plover/gui_qt/dictionaries_widget.py:608 +#: plover/gui_qt/dictionaries_widget.py:642 +#, python-brace-format msgid "Merge {names} as..." msgstr "" -#. Widget: “DictionariesWidget”, “add” file picker. #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget.py:635 -#: plover/gui_qt/dictionaries_widget_ui.py:161 +#: plover/gui_qt/dictionaries_widget.py:671 +#: plover/gui_qt/dictionaries_widget_ui.py:203 msgid "Load dictionaries" msgstr "" #. Widget: “DictionariesWidget”, “new” file picker. #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget.py:646 -#: plover/gui_qt/dictionaries_widget_ui.py:163 +#: plover/gui_qt/dictionaries_widget.py:683 +#: plover/gui_qt/dictionaries_widget_ui.py:205 msgid "Create dictionary" msgstr "" #. Widget: “DictionariesWidget”, title. #. Widget: “DictionariesWidget”, accessible name. -#: plover/gui_qt/dictionaries_widget_ui.py:109 -#: plover/gui_qt/dictionaries_widget_ui.py:111 +#: plover/gui_qt/dictionaries_widget_ui.py:125 +#: plover/gui_qt/dictionaries_widget_ui.py:208 msgid "Dictionaries" msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:113 +#: plover/gui_qt/dictionaries_widget_ui.py:127 msgid "&Edit dictionaries" msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:115 +#: plover/gui_qt/dictionaries_widget_ui.py:130 msgid "Edit selected dictionaries" msgstr "" #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:117 +#: plover/gui_qt/dictionaries_widget_ui.py:134 msgid "Ctrl+E" msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:119 +#: plover/gui_qt/dictionaries_widget_ui.py:137 msgid "&Save dictionaries as..." msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:121 +#: plover/gui_qt/dictionaries_widget_ui.py:140 msgid "" "Save the selected dictionaries: create a new copy of each dictionary, or " "merge them into a new dictionary." @@ -637,530 +766,592 @@ msgstr "" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “PaperTape”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:123 -#: plover/gui_qt/paper_tape_ui.py:107 +#: plover/gui_qt/dictionaries_widget_ui.py:144 +#: plover/gui_qt/paper_tape_ui.py:129 msgid "Ctrl+S" msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:125 +#: plover/gui_qt/dictionaries_widget_ui.py:147 msgid "&Remove dictionaries" msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:127 +#: plover/gui_qt/dictionaries_widget_ui.py:150 msgid "Remove selected dictionaries" msgstr "" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:129 -#: plover/gui_qt/dictionary_editor_ui.py:136 +#: plover/gui_qt/dictionaries_widget_ui.py:154 +#: plover/gui_qt/dictionary_editor_ui.py:149 msgid "Del" msgstr "" #. Widget: “DictionariesWidget”, text. #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:131 -#: plover/gui_qt/dictionary_editor_ui.py:138 +#: plover/gui_qt/dictionaries_widget_ui.py:157 +#: plover/gui_qt/dictionary_editor_ui.py:152 msgid "&Undo" msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:133 +#: plover/gui_qt/dictionaries_widget_ui.py:160 msgid "Undo last add/delete/reorder operation." msgstr "" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:135 -#: plover/gui_qt/dictionary_editor_ui.py:142 +#: plover/gui_qt/dictionaries_widget_ui.py:164 +#: plover/gui_qt/dictionary_editor_ui.py:159 msgid "Ctrl+Z" msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:137 +#: plover/gui_qt/dictionaries_widget_ui.py:167 msgid "&Add dictionaries" msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:139 +#: plover/gui_qt/dictionaries_widget_ui.py:170 msgid "Add dictionaries" msgstr "" #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:141 +#: plover/gui_qt/dictionaries_widget_ui.py:174 msgid "Ctrl+O" msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:143 +#: plover/gui_qt/dictionaries_widget_ui.py:177 msgid "Add &translation" msgstr "" #. Widget: “DictionariesWidget”, tool tip. #. Widget: “DictionaryEditor”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:145 -#: plover/gui_qt/dictionary_editor_ui.py:146 +#: plover/gui_qt/dictionaries_widget_ui.py:180 +#: plover/gui_qt/dictionary_editor_ui.py:165 msgid "Add a new translation" msgstr "" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:147 -#: plover/gui_qt/dictionary_editor_ui.py:148 +#: plover/gui_qt/dictionaries_widget_ui.py:184 +#: plover/gui_qt/dictionary_editor_ui.py:169 msgid "Ctrl+N" msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:149 +#: plover/gui_qt/dictionaries_widget_ui.py:187 msgid "Move dictionaries &up" msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:151 +#: plover/gui_qt/dictionaries_widget_ui.py:190 msgid "Move selected dictionaries up." msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:153 +#: plover/gui_qt/dictionaries_widget_ui.py:193 msgid "Move dictionaries &down" msgstr "" #. Widget: “DictionariesWidget”, tool tip. -#: plover/gui_qt/dictionaries_widget_ui.py:155 +#: plover/gui_qt/dictionaries_widget_ui.py:196 msgid "Move selected dictionaries down." msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:157 +#: plover/gui_qt/dictionaries_widget_ui.py:199 msgid "Create a copy of each dictionary" msgstr "" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:159 +#: plover/gui_qt/dictionaries_widget_ui.py:201 msgid "Merge dictionaries into a new one" msgstr "" #. Widget: “DictionaryEditor”, window title. -#: plover/gui_qt/dictionary_editor_ui.py:108 +#: plover/gui_qt/dictionary_editor_ui.py:140 msgid "Plover: Dictionary Editor" msgstr "" +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:142 +msgid "&Delete" +msgstr "" + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:145 +msgid "Delete selected entries." +msgstr "" + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:155 +msgid "Undo last add/delete/edit operation." +msgstr "" + +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:162 +msgid "&New translation" +msgstr "" + #. Widget: “DictionaryEditor”, accessible name. #. Widget: “DictionaryEditor”, title. -#: plover/gui_qt/dictionary_editor_ui.py:110 -#: plover/gui_qt/dictionary_editor_ui.py:112 +#: plover/gui_qt/dictionary_editor_ui.py:173 +#: plover/gui_qt/dictionary_editor_ui.py:176 msgid "Filter" msgstr "" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:114 +#: plover/gui_qt/dictionary_editor_ui.py:178 msgid "By strokes:" msgstr "" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:116 +#: plover/gui_qt/dictionary_editor_ui.py:181 msgid "Strokes filter" msgstr "" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:118 +#: plover/gui_qt/dictionary_editor_ui.py:185 msgid "Apply filter" msgstr "" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:120 +#: plover/gui_qt/dictionary_editor_ui.py:188 msgid "Apply" msgstr "" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:122 +#: plover/gui_qt/dictionary_editor_ui.py:190 msgid "By translation:" msgstr "" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:124 +#: plover/gui_qt/dictionary_editor_ui.py:193 msgid "Translation filter" msgstr "" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:126 +#: plover/gui_qt/dictionary_editor_ui.py:197 msgid "Clear filter" msgstr "" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:128 +#: plover/gui_qt/dictionary_editor_ui.py:203 msgid "Clear" msgstr "" #. Widget: “DictionaryEditor”, accessible name. -#: plover/gui_qt/dictionary_editor_ui.py:130 +#: plover/gui_qt/dictionary_editor_ui.py:206 msgid "Mappings" msgstr "" -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:132 -msgid "&Delete" -msgstr "" - -#. Widget: “DictionaryEditor”, tool tip. -#: plover/gui_qt/dictionary_editor_ui.py:134 -msgid "Delete selected entries." -msgstr "" - -#. Widget: “DictionaryEditor”, tool tip. -#: plover/gui_qt/dictionary_editor_ui.py:140 -msgid "Undo last add/delete/edit operation." -msgstr "" - -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:144 -msgid "&New translation" -msgstr "" - #. Widget: “LookupDialog”, tooltip. -#: plover/gui_qt/lookup_dialog.py:14 +#: plover/gui_qt/lookup_dialog.py:12 msgid "Search the dictionary for translations." msgstr "" -#: plover/gui_qt/lookup_dialog.py:16 +#: plover/gui_qt/lookup_dialog.py:14 msgid "Lookup" msgstr "" #. Widget: “LookupDialog”, window title. -#: plover/gui_qt/lookup_dialog_ui.py:56 +#: plover/gui_qt/lookup_dialog_ui.py:72 msgid "Plover: Dictionary Lookup" msgstr "" #. Widget: “LookupDialog”, accessible name. -#: plover/gui_qt/lookup_dialog_ui.py:58 +#: plover/gui_qt/lookup_dialog_ui.py:75 msgid "Pattern" msgstr "" #. Widget: “LookupDialog”, accessible description. -#: plover/gui_qt/lookup_dialog_ui.py:60 +#: plover/gui_qt/lookup_dialog_ui.py:79 msgid "Translation pattern to lookup." msgstr "" #. Widget: “LookupDialog”, accessible name. -#: plover/gui_qt/lookup_dialog_ui.py:62 +#: plover/gui_qt/lookup_dialog_ui.py:83 msgid "Results" msgstr "" -#: plover/gui_qt/machine_options.py:106 -msgid "" -"Arpeggiate allows using non-NKRO keyboards.\n" -"\n" -"Each key can be pressed separately and the\n" -"space bar is pressed to send the stroke." -msgstr "" - -#: plover/gui_qt/main_window.py:273 -msgid "Application is still running." -msgstr "" - -#. Widget: “MainWindow”, accessible name. -#: plover/gui_qt/main_window_ui.py:166 -msgid "State" +#: plover/gui_qt/machine_options.py:36 +#, python-brace-format +msgid "product: {value}" msgstr "" -#. Widget: “MainWindow”, accessible description. -#: plover/gui_qt/main_window_ui.py:168 -msgid "Connection state for the current machine." -msgstr "" - -#. Widget: “MainWindow”, tool tip. -#. Widget: “MainWindow”, accessible description. -#: plover/gui_qt/main_window_ui.py:170 plover/gui_qt/main_window_ui.py:174 -#: plover/gui_qt/main_window_ui.py:218 -msgid "Disconnect and reconnect the machine." +#: plover/gui_qt/machine_options.py:37 +#, python-brace-format +msgid "manufacturer: {value}" msgstr "" -#. Widget: “MainWindow”, accessible name. -#: plover/gui_qt/main_window_ui.py:172 -msgid "Reconnect" -msgstr "" - -#. Widget: “MainWindow”, accessible name. -#: plover/gui_qt/main_window_ui.py:176 -msgid "Type" -msgstr "" - -#. Widget: “MainWindow”, accessible description. -#: plover/gui_qt/main_window_ui.py:178 -msgid "Change the current machine type." -msgstr "" - -#. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:184 -msgid "Disabled" -msgstr "" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:186 -msgid "&File" -msgstr "" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:188 -msgid "&Tools" +#: plover/gui_qt/machine_options.py:38 +#, python-brace-format +msgid "serial number: {value}" msgstr "" -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:190 -msgid "&Help" +#: plover/gui_qt/machine_options.py:46 +#, python-brace-format +msgid "description: {value}" msgstr "" -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:192 -msgid "&Edit" +#: plover/gui_qt/machine_options.py:199 +msgid "" +"Arpeggiate allows using non-NKRO keyboards.\n" +"\n" +"Each key can be pressed separately and the\n" +"space bar is pressed to send the stroke." msgstr "" -#. Widget: “MainWindow”, window title. -#: plover/gui_qt/main_window_ui.py:194 -msgid "Plover: Toolbar" +#: plover/gui_qt/main_window.py:312 +msgid "Application is still running." msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:196 +#: plover/gui_qt/main_window_ui.py:202 msgid "&Quit Plover" msgstr "" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:198 +#: plover/gui_qt/main_window_ui.py:205 msgid "Quit the application." msgstr "" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:200 +#: plover/gui_qt/main_window_ui.py:209 msgid "Ctrl+Q" msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:202 +#: plover/gui_qt/main_window_ui.py:212 msgid "&Configure" msgstr "" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:204 +#: plover/gui_qt/main_window_ui.py:215 msgid "Open the configuration dialog." msgstr "" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:206 +#: plover/gui_qt/main_window_ui.py:219 msgid "Ctrl+," msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:208 +#: plover/gui_qt/main_window_ui.py:222 msgid "Open config &folder" msgstr "" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:210 +#: plover/gui_qt/main_window_ui.py:225 msgid "Open the configuration folder." msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:212 +#: plover/gui_qt/main_window_ui.py:228 msgid "&About" msgstr "" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:214 +#: plover/gui_qt/main_window_ui.py:231 msgid "Open the about dialog." msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:216 +#: plover/gui_qt/main_window_ui.py:234 msgid "&Reconnect machine" msgstr "" +#. Widget: “MainWindow”, tool tip. +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:237 plover/gui_qt/main_window_ui.py:272 +#: plover/gui_qt/main_window_ui.py:280 +msgid "Disconnect and reconnect the machine." +msgstr "" + #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:220 +#: plover/gui_qt/main_window_ui.py:241 msgid "Ctrl+R" msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:222 +#: plover/gui_qt/main_window_ui.py:244 msgid "&Show" msgstr "" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:224 +#: plover/gui_qt/main_window_ui.py:247 msgid "Show the main window." msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:226 +#: plover/gui_qt/main_window_ui.py:250 msgid "Toggle &output" msgstr "" #. Widget: “MainWindow”, tool tip. -#: plover/gui_qt/main_window_ui.py:228 +#: plover/gui_qt/main_window_ui.py:253 msgid "Toggle the output." msgstr "" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:230 +#: plover/gui_qt/main_window_ui.py:257 msgid "Ctrl+." msgstr "" +#. Widget: “MainWindow”, accessible name. +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/main_window_ui.py:263 plover/gui_qt/plugins_manager_ui.py:133 +msgid "State" +msgstr "" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:267 +msgid "Connection state for the current machine." +msgstr "" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:276 +msgid "Reconnect" +msgstr "" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:285 +msgid "Type" +msgstr "" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:289 +msgid "Change the current machine type." +msgstr "" + +#. Widget: “MainWindow”, text. +#: plover/gui_qt/main_window_ui.py:296 +msgid "Disabled" +msgstr "" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:298 +msgid "&File" +msgstr "" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:300 +msgid "&Tools" +msgstr "" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:302 +msgid "&Help" +msgstr "" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:304 +msgid "&Edit" +msgstr "" + +#. Widget: “MainWindow”, window title. +#: plover/gui_qt/main_window_ui.py:306 +msgid "Plover: Toolbar" +msgstr "" + #. Paper tape style. -#: plover/gui_qt/paper_tape.py:26 +#: plover/gui_qt/paper_tape.py:30 msgid "Paper" msgstr "" #. Paper tape style. -#: plover/gui_qt/paper_tape.py:28 +#: plover/gui_qt/paper_tape.py:32 msgid "Raw" msgstr "" #. Widget: “PaperTape”, tooltip. -#: plover/gui_qt/paper_tape.py:105 +#: plover/gui_qt/paper_tape.py:122 msgid "Paper tape display of strokes." msgstr "" -#: plover/gui_qt/paper_tape.py:107 +#: plover/gui_qt/paper_tape.py:124 msgid "Paper Tape" msgstr "" -#: plover/gui_qt/paper_tape.py:207 +#: plover/gui_qt/paper_tape.py:237 msgid "Do you want to clear the paper tape?" msgstr "" -#: plover/gui_qt/paper_tape.py:221 +#: plover/gui_qt/paper_tape.py:255 msgid "Save Paper Tape" msgstr "" #. Paper tape, "save" file picker. -#: plover/gui_qt/paper_tape.py:223 +#: plover/gui_qt/paper_tape.py:258 msgid "Text files (*.txt)" msgstr "" -#. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:89 -msgid "Mode:" -msgstr "" - -#. Widget: “PaperTape”, accessible name. -#: plover/gui_qt/paper_tape_ui.py:91 -msgid "Mode" -msgstr "" - -#. Widget: “PaperTape”, accessible description. -#: plover/gui_qt/paper_tape_ui.py:93 -msgid "Select paper tape display mode." -msgstr "" - -#. Widget: “PaperTape”, accessible name. -#: plover/gui_qt/paper_tape_ui.py:95 -msgid "Tape" -msgstr "" - #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:97 plover/gui_qt/suggestions_dialog_ui.py:55 +#: plover/gui_qt/paper_tape_ui.py:112 plover/gui_qt/suggestions_dialog_ui.py:70 msgid "&Clear" msgstr "" #. Widget: “PaperTape”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:99 +#: plover/gui_qt/paper_tape_ui.py:115 msgid "Clear paper tape." msgstr "" #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:101 plover/gui_qt/suggestions_dialog_ui.py:59 +#: plover/gui_qt/paper_tape_ui.py:119 plover/gui_qt/suggestions_dialog_ui.py:77 msgid "Ctrl+L" msgstr "" #. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:103 +#: plover/gui_qt/paper_tape_ui.py:122 msgid "&Save" msgstr "" #. Widget: “PaperTape”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:105 +#: plover/gui_qt/paper_tape_ui.py:125 msgid "Save paper tape to file." msgstr "" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:109 plover/gui_qt/suggestions_dialog_ui.py:61 +#: plover/gui_qt/paper_tape_ui.py:132 plover/gui_qt/suggestions_dialog_ui.py:80 msgid "&Toggle \"always on top\"" msgstr "" #. Widget: “PaperTape”, tool tip. #. Widget: “SuggestionsDialog”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:111 plover/gui_qt/suggestions_dialog_ui.py:63 +#: plover/gui_qt/paper_tape_ui.py:135 plover/gui_qt/suggestions_dialog_ui.py:83 msgid "Toggle \"always on top\"." msgstr "" #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:113 plover/gui_qt/suggestions_dialog_ui.py:65 +#: plover/gui_qt/paper_tape_ui.py:139 plover/gui_qt/suggestions_dialog_ui.py:87 msgid "Ctrl+T" msgstr "" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:115 plover/gui_qt/suggestions_dialog_ui.py:67 +#: plover/gui_qt/paper_tape_ui.py:142 plover/gui_qt/suggestions_dialog_ui.py:90 msgid "Select &font" msgstr "" #. Widget: “PaperTape”, tool tip. #. Widget: “SuggestionsDialog”, tool tip. -#: plover/gui_qt/paper_tape_ui.py:117 plover/gui_qt/suggestions_dialog_ui.py:69 +#: plover/gui_qt/paper_tape_ui.py:145 plover/gui_qt/suggestions_dialog_ui.py:93 msgid "Open font selection dialog." msgstr "" +#. Widget: “PaperTape”, text. +#: plover/gui_qt/paper_tape_ui.py:148 +msgid "Mode:" +msgstr "" + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:151 +msgid "Mode" +msgstr "" + +#. Widget: “PaperTape”, accessible description. +#: plover/gui_qt/paper_tape_ui.py:155 +msgid "Select paper tape display mode." +msgstr "" + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:159 +msgid "Tape" +msgstr "" + +#. Widget: “PluginsManager”, window title. +#. Widget: “RunDialog”, window title. +#: plover/gui_qt/plugins_manager_ui.py:130 plover/gui_qt/run_dialog_ui.py:51 +msgid "Dialog" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:139 +msgid "Version" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:142 +msgid "Summary" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:144 +msgid "Restart" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:148 +msgid "Uninstall" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:150 +msgid "Install/Update" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:152 +msgid "..." +msgstr "" + #. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/suggestions_dialog.py:27 +#: plover/gui_qt/suggestions_dialog.py:26 msgid "Suggest possible strokes for the last written words." msgstr "" #. Widget: “SuggestionsDialog”, accessible name. -#: plover/gui_qt/suggestions_dialog.py:29 -#: plover/gui_qt/suggestions_dialog_ui.py:53 +#: plover/gui_qt/suggestions_dialog.py:28 +#: plover/gui_qt/suggestions_dialog_ui.py:97 msgid "Suggestions" msgstr "" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:58 +#: plover/gui_qt/suggestions_dialog.py:62 msgid "&Text" msgstr "" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:60 +#: plover/gui_qt/suggestions_dialog.py:64 msgid "&Strokes" msgstr "" #. Widget: “SuggestionsDialog”, tool tip. -#: plover/gui_qt/suggestions_dialog_ui.py:57 +#: plover/gui_qt/suggestions_dialog_ui.py:73 msgid "Clear the history." msgstr "" #. Widget: “SuggestionsWidget”. -#: plover/gui_qt/suggestions_widget.py:23 +#: plover/gui_qt/suggestions_widget.py:27 msgid "no suggestions" msgstr "" -#: plover/gui_qt/trayicon.py:120 +#: plover/gui_qt/trayicon.py:118 +#, python-brace-format msgid "{machine} is {state}" msgstr "" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:126 +#: plover/gui_qt/trayicon.py:124 msgid "output is enabled" msgstr "" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:129 +#: plover/gui_qt/trayicon.py:127 msgid "output is disabled" msgstr "" +#: plover/gui_qt/utils.py:28 +msgid "Copy selection to clipboard" +msgstr "" + #. Machine state. #: plover/machine/base.py:20 msgid "stopped" diff --git a/plover/messages/zh_tw/LC_MESSAGES/plover.po b/plover/messages/zh_tw/LC_MESSAGES/plover.po index f5c35b566..518ba0dcf 100644 --- a/plover/messages/zh_tw/LC_MESSAGES/plover.po +++ b/plover/messages/zh_tw/LC_MESSAGES/plover.po @@ -1,25 +1,24 @@ -# Translations template for plover. +# Chinese (Traditional, Taiwan) translations for plover. # Copyright (C) 2021 ORGANIZATION # This file is distributed under the same license as the plover project. # FIRST AUTHOR , 2021. # msgid "" msgstr "" -"Project-Id-Version: plover 4.0.0.dev8\n" +"Project-Id-Version: plover 5.2.3\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-04-16 05:40+0200\n" +"POT-Creation-Date: 2026-03-07 10:58+0100\n" "PO-Revision-Date: 2021-08-25 14:34+0800\n" +"Last-Translator: \n" +"Language: zh_TW\n" "Language-Team: \n" +"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.0\n" -"X-Generator: Poedit 3.0\n" -"Last-Translator: \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Language: zh_TW\n" +"Generated-By: Babel 2.17.0\n" -#: plover/__init__.py:19 +#: plover/__init__.py:22 msgid "" "Founded by stenographer Mirabai Knight.\n" "\n" @@ -49,11 +48,11 @@ msgstr "" "" #. Short description for Plover, currently not used in the interface. -#: plover/__init__.py:33 +#: plover/__init__.py:38 msgid "Open Source Stenography Software" msgstr "開源速錄軟體" -#: plover/__init__.py:34 +#: plover/__init__.py:39 msgid "" "Plover is a free open source program intended to bring realtime\n" "stenographic technology not just to stenographers, but also to\n" @@ -63,207 +62,393 @@ msgstr "" "其目的在將實時速錄技術帶給專業速錄師、程式設計師、\n" "業餘愛好者、以及追求速度的狂人。" -#. Widget: “AboutDialog”, windowtitle. -#: plover/gui_qt/about_dialog_ui.py:38 +#: plover/dictionary/helpers.py:24 +#, python-format +msgid "dictionary `%s` loaded with %u invalid steno errors" +msgstr "" + +#. Widget: “AboutDialog”, window title. +#: plover/gui_qt/about_dialog_ui.py:53 msgid "Plover: About" msgstr "Plover: 關於" #. Widget: “AddTranslationDialog”, tooltip. #. Widget: “AddTranslationWidget”, tooltip. -#: plover/gui_qt/add_translation_dialog.py:8 -#: plover/gui_qt/add_translation_widget.py:22 +#: plover/gui_qt/add_translation_dialog.py:11 +#: plover/gui_qt/add_translation_widget.py:23 msgid "Add a new translation to the dictionary." msgstr "在字典中添加新的翻譯。" -#: plover/gui_qt/add_translation_dialog.py:10 +#: plover/gui_qt/add_translation_dialog.py:13 msgid "Add Translation" msgstr "添加翻譯" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:199 +#: plover/gui_qt/add_translation_widget.py:194 +#, python-brace-format msgid "{dictionary} (disabled)" msgstr "{dictionary} (已禁用)" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:258 +#: plover/gui_qt/add_translation_widget.py:260 +#, python-brace-format msgid "{strokes} maps to " msgstr "{strokes} 對映至 " #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:269 +#: plover/gui_qt/add_translation_widget.py:272 msgid "Overwritten entries:" msgstr "被覆蓋的項目:" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:274 +#: plover/gui_qt/add_translation_widget.py:277 +#, python-brace-format msgid "{strokes} is not mapped in any dictionary" msgstr "{strokes} 在所有字典中皆尚未指定" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:290 +#: plover/gui_qt/add_translation_widget.py:291 +#, python-brace-format msgid "{translation} is mapped to: {strokes}" msgstr "{translation}對映至: {strokes}" #. Widget: “AddTranslationWidget”. -#: plover/gui_qt/add_translation_widget.py:293 +#: plover/gui_qt/add_translation_widget.py:294 +#, python-brace-format msgid "{translation} is not in the dictionary" msgstr "{translation} 並不在此字典內" #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:101 +#: plover/gui_qt/add_translation_widget_ui.py:124 +msgid "Dictionary:" +msgstr "字典:" + +#. Widget: “AddTranslationWidget”, text. +#: plover/gui_qt/add_translation_widget_ui.py:126 msgid "Strokes:" msgstr "和弦:" +#. Widget: “AddTranslationWidget”, accessible name. +#. Widget: “DictionaryEditor”. +#: plover/gui_qt/add_translation_widget_ui.py:129 +#: plover/gui_qt/dictionary_editor.py:170 +msgid "Strokes" +msgstr "和弦" + #. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:103 +#: plover/gui_qt/add_translation_widget_ui.py:132 msgid "Translation:" msgstr "翻譯:" -#. Widget: “AddTranslationWidget”, text. -#: plover/gui_qt/add_translation_widget_ui.py:105 -msgid "Dictionary:" -msgstr "字典:" +#. Widget: “AddTranslationWidget”, accessible name. +#. Widget: “DictionaryEditor”. +#: plover/gui_qt/add_translation_widget_ui.py:135 +#: plover/gui_qt/dictionary_editor.py:173 +msgid "Translation" +msgstr "翻譯" + +#. Widget: “AddTranslationWidget”, accessible name. +#. Widget: “DictionaryEditor”. +#: plover/gui_qt/add_translation_widget_ui.py:139 +#: plover/gui_qt/dictionary_editor.py:176 +msgid "Dictionary" +msgstr "字典" + +#. Widget: “AddTranslationWidget”, accessible description. +#: plover/gui_qt/add_translation_widget_ui.py:143 +#, fuzzy +msgid "Select the target dictionary for the new translation." +msgstr "在字典內尋找翻譯。" + +#. Widget: “AddTranslationWidget”, accessible name. +#: plover/gui_qt/add_translation_widget_ui.py:147 +msgid "Existing mappings (strokes)" +msgstr "" + +#. Widget: “AddTranslationWidget”, accessible name. +#: plover/gui_qt/add_translation_widget_ui.py:152 +msgid "Existing mappings (translations)" +msgstr "" + +#. Widget: “FileWidget”, accessible name. +#: plover/gui_qt/config_file_widget_ui.py:61 +#, fuzzy +msgid "Log file path." +msgstr "紀錄檔:" + +#. Widget: “FileWidget”, accessible description. +#: plover/gui_qt/config_file_widget_ui.py:65 +#, fuzzy +msgid "Path to the log file." +msgstr "將和弦紀錄至紀錄檔。" + +#. Widget: “FileWidget”, accessible name. +#: plover/gui_qt/config_file_widget_ui.py:69 +#, fuzzy +msgid "Browse." +msgstr "瀏覽" + +#. Widget: “FileWidget”, accessible description. +#: plover/gui_qt/config_file_widget_ui.py:73 +#, fuzzy +msgid "Open a file picker to select the log file." +msgstr "將和弦紀錄至紀錄檔。" #. Widget: “FileWidget”, text. -#: plover/gui_qt/config_file_widget_ui.py:45 +#: plover/gui_qt/config_file_widget_ui.py:76 msgid "Browse" msgstr "瀏覽" +#. Widget: “KeyboardWidget”, tool tip. +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_keyboard_widget_ui.py:56 +#: plover/gui_qt/config_plover_hid_widget_ui.py:89 +msgid "" +"When the first key in a chord is released, the chord is sent.\n" +"If the key is pressed and released again, another chord is sent." +msgstr "" + +#. Widget: “KeyboardWidget”, text. +#: plover/gui_qt/config_keyboard_widget_ui.py:60 +msgid "First-up chord send" +msgstr "" + #. Widget: “KeyboardWidget”, text. -#: plover/gui_qt/config_keyboard_widget_ui.py:36 +#: plover/gui_qt/config_keyboard_widget_ui.py:62 msgid "Arpeggiate" msgstr "琶音" +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:93 +msgid "Send chord on first key release" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:96 +msgid "Tap and then hold a chord to send it repeatedly." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:99 +msgid "Double tap to repeat" +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:101 +msgid "Repeat delay (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:104 +msgid "Delay before chord starts repeating." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:107 +msgid "Repeat interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:110 +msgid "Interval between chord repetitions." +msgstr "" + +#. Widget: “PloverHidWidget”, text. +#: plover/gui_qt/config_plover_hid_widget_ui.py:113 +msgid "Device scan interval (ms)" +msgstr "" + +#. Widget: “PloverHidWidget”, tool tip. +#: plover/gui_qt/config_plover_hid_widget_ui.py:116 +msgid "How often to scan for newly plugged-in devices." +msgstr "" + +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:215 +msgid "Serial" +msgstr "" + #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:209 +#: plover/gui_qt/config_serial_widget_ui.py:218 msgid "Connection" msgstr "連接" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:211 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:220 +#: plover/gui_qt/config_serial_widget_ui.py:223 msgid "Port" msgstr "連接埠" +#. Widget: “SerialWidget”, accessible description. +#: plover/gui_qt/config_serial_widget_ui.py:227 +msgid "Serial port device name." +msgstr "" + +#. Widget: “SerialWidget”, accessible description. +#: plover/gui_qt/config_serial_widget_ui.py:231 +msgid "Reload all available serial ports." +msgstr "" + #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:213 -msgid "Scan" -msgstr "偵測" +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_serial_widget_ui.py:234 +#: plover/gui_qt/plugins_manager_ui.py:146 +msgid "Refresh" +msgstr "" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:215 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:236 +#: plover/gui_qt/config_serial_widget_ui.py:239 msgid "Baudrate" msgstr "傳輸速率" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:217 +#: plover/gui_qt/config_serial_widget_ui.py:242 msgid "Data format" msgstr "資料形式" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:219 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:244 +#: plover/gui_qt/config_serial_widget_ui.py:247 msgid "Data bits" msgstr "資料位元數" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:221 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:250 +#: plover/gui_qt/config_serial_widget_ui.py:253 msgid "Stop bits" msgstr "停止位元數" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:223 +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:256 +#: plover/gui_qt/config_serial_widget_ui.py:259 msgid "Parity" msgstr "同位元檢查" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:225 +#: plover/gui_qt/config_serial_widget_ui.py:265 msgid "Timeout" msgstr "等待時間" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:227 -msgid "seconds" -msgstr "秒" +#: plover/gui_qt/config_serial_widget_ui.py:267 +msgid "Duration (s)" +msgstr "" -#. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:229 -msgid "Use timeout" -msgstr "使用等待時間" +#. Widget: “SerialWidget”, accessible name. +#: plover/gui_qt/config_serial_widget_ui.py:270 +#, fuzzy +msgid "Duration" +msgstr "字根" + +#. Widget: “SerialWidget”, accessible description. +#: plover/gui_qt/config_serial_widget_ui.py:274 +msgid "Timeout duration in seconds." +msgstr "" #. Widget: “SerialWidget”, title. -#: plover/gui_qt/config_serial_widget_ui.py:231 +#: plover/gui_qt/config_serial_widget_ui.py:277 msgid "Flow control" msgstr "流量控制" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:233 +#: plover/gui_qt/config_serial_widget_ui.py:279 msgid "Xon/Xoff" msgstr "Xon/Xoff" #. Widget: “SerialWidget”, text. -#: plover/gui_qt/config_serial_widget_ui.py:235 +#: plover/gui_qt/config_serial_widget_ui.py:281 msgid "RTS/CTS" msgstr "RTS/CTS" #. Widget: “NopeOption” (empty config option message, #. e.g. the machine option when selecting the Treal machine). -#: plover/gui_qt/config_window.py:45 +#: plover/gui_qt/config_window.py:51 msgid "Nothing to see here!" msgstr "這裡沒有東西!" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:145 +#: plover/gui_qt/config_window.py:173 msgid "Key" msgstr "按鍵" #. Widget: “KeymapOption”. -#: plover/gui_qt/config_window.py:147 +#: plover/gui_qt/config_window.py:175 msgid "Action" msgstr "字根" #. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:196 -msgid "Choice" -msgstr "選項" - -#. Widget: “MultipleChoicesOption”. -#: plover/gui_qt/config_window.py:198 +#: plover/gui_qt/config_window.py:221 msgid "Selected" msgstr "已選取" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:294 +#. Widget: “MultipleChoicesOption”. +#: plover/gui_qt/config_window.py:223 +msgid "Choice" +msgstr "選項" + +#: plover/gui_qt/config_window.py:354 msgid "Interface" msgstr "界面" -#: plover/gui_qt/config_window.py:295 +#: plover/gui_qt/config_window.py:357 +msgid "Appearance:" +msgstr "" + +#: plover/gui_qt/config_window.py:362 plover/gui_qt/config_window.py:586 +msgid "System" +msgstr "語言系統" + +#: plover/gui_qt/config_window.py:363 +msgid "Light" +msgstr "" + +#: plover/gui_qt/config_window.py:364 +msgid "Dark" +msgstr "" + +#: plover/gui_qt/config_window.py:368 +msgid "" +"Set the application appearance:\n" +"- System: follow the operating system mode\n" +"- Light: force light mode\n" +"- Dark: force dark mode" +msgstr "" + +#: plover/gui_qt/config_window.py:375 msgid "Start minimized:" msgstr "啟用時最小化:" -#: plover/gui_qt/config_window.py:296 +#: plover/gui_qt/config_window.py:378 msgid "Minimize the main window to systray on startup." msgstr "開啟程式時將主視窗最小化。" -#: plover/gui_qt/config_window.py:297 +#: plover/gui_qt/config_window.py:381 msgid "Show paper tape:" msgstr "顯示輸入紙帶:" -#: plover/gui_qt/config_window.py:298 +#: plover/gui_qt/config_window.py:384 msgid "Open the paper tape on startup." msgstr "開啟程式時同時開啟輸入紙帶。" -#: plover/gui_qt/config_window.py:299 +#: plover/gui_qt/config_window.py:387 msgid "Show suggestions:" msgstr "顯示和弦建議:" -#: plover/gui_qt/config_window.py:300 +#: plover/gui_qt/config_window.py:390 msgid "Open the suggestions dialog on startup." msgstr "開啟程式時同時開啟和弦建議視窗。" -#: plover/gui_qt/config_window.py:301 +#: plover/gui_qt/config_window.py:393 msgid "Add translation dialog opacity:" msgstr "「新增翻譯」視窗透明度:" -#: plover/gui_qt/config_window.py:303 +#: plover/gui_qt/config_window.py:397 msgid "" "Set the translation dialog opacity:\n" "- 0 makes the dialog invisible\n" @@ -272,99 +457,96 @@ msgstr "" "設定「新增翻譯」視窗透明度\n" "-0為完全透明,100為完全不透明" -#: plover/gui_qt/config_window.py:306 +#: plover/gui_qt/config_window.py:403 msgid "Dictionaries display order:" msgstr "字典顯示順序:" -#: plover/gui_qt/config_window.py:308 +#: plover/gui_qt/config_window.py:406 msgid "top-down" msgstr "由上而下" -#: plover/gui_qt/config_window.py:308 +#: plover/gui_qt/config_window.py:406 msgid "bottom-up" msgstr "由下而上" -#: plover/gui_qt/config_window.py:309 +#: plover/gui_qt/config_window.py:409 msgid "" "Set the display order for dictionaries:\n" "- top-down: match the search order; highest priority first\n" "- bottom-up: reverse search order; lowest priority first\n" msgstr "設定字典的顯示順序。\n" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:314 +#: plover/gui_qt/config_window.py:418 msgid "Logging" msgstr "輸入紀錄" -#: plover/gui_qt/config_window.py:315 +#: plover/gui_qt/config_window.py:421 msgid "Log file:" msgstr "紀錄檔:" -#: plover/gui_qt/config_window.py:317 +#: plover/gui_qt/config_window.py:424 msgid "Select a log file" msgstr "選擇紀錄檔" -#: plover/gui_qt/config_window.py:318 +#: plover/gui_qt/config_window.py:424 msgid "Log files (*.log)" msgstr "記錄檔(*.log)" -#: plover/gui_qt/config_window.py:319 +#: plover/gui_qt/config_window.py:426 msgid "File to use for logging strokes/translations." msgstr "用來記錄輸入過的和弦、翻譯的檔案。" -#: plover/gui_qt/config_window.py:320 +#: plover/gui_qt/config_window.py:429 msgid "Log strokes:" msgstr "紀錄和弦:" -#: plover/gui_qt/config_window.py:321 +#: plover/gui_qt/config_window.py:432 msgid "Save strokes to the logfile." msgstr "將和弦紀錄至紀錄檔。" -#: plover/gui_qt/config_window.py:322 +#: plover/gui_qt/config_window.py:435 msgid "Log translations:" msgstr "紀錄翻譯:" -#: plover/gui_qt/config_window.py:323 +#: plover/gui_qt/config_window.py:438 msgid "Save translations to the logfile." msgstr "將翻譯紀錄至紀錄檔。" -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:326 plover/gui_qt/main_window_ui.py:170 +#: plover/gui_qt/config_window.py:444 plover/gui_qt/main_window_ui.py:260 msgid "Machine" msgstr "輸入硬體" -#: plover/gui_qt/config_window.py:327 +#: plover/gui_qt/config_window.py:447 msgid "Machine:" msgstr "輸入硬體:" -#: plover/gui_qt/config_window.py:332 +#: plover/gui_qt/config_window.py:459 msgid "Options:" msgstr "選項:" -#: plover/gui_qt/config_window.py:333 +#: plover/gui_qt/config_window.py:461 msgid "Keymap:" msgstr "按鍵映射:" -#. Widget: “ConfigWindow”. #. Widget: “MainWindow”, title. -#: plover/gui_qt/config_window.py:336 plover/gui_qt/main_window_ui.py:174 +#: plover/gui_qt/config_window.py:466 plover/gui_qt/main_window_ui.py:292 msgid "Output" msgstr "輸出" -#: plover/gui_qt/config_window.py:337 +#: plover/gui_qt/config_window.py:469 msgid "Enable at start:" msgstr "啟用時啟用輸出:" -#: plover/gui_qt/config_window.py:338 +#: plover/gui_qt/config_window.py:472 msgid "Enable output on startup." msgstr "啟用時啟用輸出。" -#: plover/gui_qt/config_window.py:339 +#: plover/gui_qt/config_window.py:475 msgid "Start attached:" msgstr "首字取消空白:" -#: plover/gui_qt/config_window.py:340 +#: plover/gui_qt/config_window.py:479 msgid "" "Disable preceding space on first output.\n" "\n" @@ -374,35 +556,35 @@ msgstr "" "\n" "這個選項只適用於空白放置於字串前方時。" -#: plover/gui_qt/config_window.py:343 +#: plover/gui_qt/config_window.py:485 msgid "Start capitalized:" msgstr "首字大寫:" -#: plover/gui_qt/config_window.py:344 +#: plover/gui_qt/config_window.py:488 msgid "Capitalize the first word." msgstr "將第一個字母大寫。" -#: plover/gui_qt/config_window.py:345 +#: plover/gui_qt/config_window.py:491 msgid "Space placement:" msgstr "空白的放置位置:" -#: plover/gui_qt/config_window.py:347 +#: plover/gui_qt/config_window.py:496 msgid "Before Output" msgstr "在字串前面" -#: plover/gui_qt/config_window.py:348 +#: plover/gui_qt/config_window.py:497 msgid "After Output" msgstr "在字串後面" -#: plover/gui_qt/config_window.py:350 +#: plover/gui_qt/config_window.py:500 msgid "Set automatic space placement: before or after each word." msgstr "設定空白的放置位置。" -#: plover/gui_qt/config_window.py:351 +#: plover/gui_qt/config_window.py:503 msgid "Undo levels:" msgstr "最大回復次數:" -#: plover/gui_qt/config_window.py:355 +#: plover/gui_qt/config_window.py:507 msgid "" "Set how many preceding strokes can be undone.\n" "\n" @@ -410,138 +592,206 @@ msgid "" "dictionaries entry with the maximum number of strokes." msgstr "設定回復的最大次數。" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:361 +#: plover/gui_qt/config_window.py:514 +msgid "Key press delay (ms):" +msgstr "" + +#: plover/gui_qt/config_window.py:522 +msgid "" +"Set the delay between emulated key presses (in milliseconds).\n" +"\n" +"Some programs may drop key presses if too many are sent\n" +"within a short period of time. Increasing the delay gives\n" +"programs time to process each key press.\n" +"Setting the delay too high will negatively impact the\n" +"performance of key stroke output." +msgstr "" + +#: plover/gui_qt/config_window.py:532 +msgid "Linux keyboard layout:" +msgstr "" + +#: plover/gui_qt/config_window.py:546 +msgid "" +"Set the keyboard layout configured in your system.\n" +"This only applies when using Linux/BSD and not using X11.\n" +"\n" +"When Wayland auto detect is selected,Plover is only able to detect the " +"first keyboard layout\n" +"and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:556 +msgid "" +"When Wayland auto detect is selected, Plover is only able to detect the " +"first keyboard layout and can not detect layout switches." +msgstr "" + +#: plover/gui_qt/config_window.py:567 msgid "Plugins" msgstr "外掛程式" -#: plover/gui_qt/config_window.py:362 -msgid "Extension:" +#: plover/gui_qt/config_window.py:570 +#, fuzzy +msgid "Extensions:" msgstr "擴充程式:" -#: plover/gui_qt/config_window.py:366 -msgid "Name" -msgstr "名稱" - #. Widget: “MainWindow”, text. -#: plover/gui_qt/config_window.py:366 plover/gui_qt/main_window_ui.py:176 +#: plover/gui_qt/config_window.py:578 plover/gui_qt/main_window_ui.py:294 msgid "Enabled" msgstr "已啟用" -#: plover/gui_qt/config_window.py:367 +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/config_window.py:578 plover/gui_qt/plugins_manager_ui.py:136 +msgid "Name" +msgstr "名稱" + +#: plover/gui_qt/config_window.py:580 msgid "Configure enabled plugin extensions." msgstr "設定已開啟的外掛程式。" -#. Widget: “ConfigWindow”. -#: plover/gui_qt/config_window.py:370 -msgid "System" -msgstr "語言系統" - -#: plover/gui_qt/config_window.py:371 +#: plover/gui_qt/config_window.py:589 msgid "System:" msgstr "語言系統:" -#. Widget: “ConfigWindow”, windowtitle. -#: plover/gui_qt/config_window_ui.py:43 +#. Widget: “ConfigWindow”, window title. +#: plover/gui_qt/config_window_ui.py:61 msgid "Plover: Configuration" msgstr "Plover: 設定" +#. Widget: “ConsoleWidget”, window title. +#: plover/gui_qt/console_widget_ui.py:49 +msgid "Form" +msgstr "" + #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:43 +#: plover/gui_qt/dictionaries_widget.py:46 +#, python-brace-format msgid "Dictionaries ({extensions})" msgstr "字典 ({extensions})" #. Widget: “DictionariesWidget”, file picker. -#: plover/gui_qt/dictionaries_widget.py:46 +#: plover/gui_qt/dictionaries_widget.py:49 +#, python-brace-format msgid "{format} dictionaries ({extensions})" msgstr "{format} 字典 ({extensions})" -#. Widget: “DictionariesWidget”, “add” menu. -#: plover/gui_qt/dictionaries_widget.py:106 -msgid "Open dictionaries" -msgstr "開啟字典" +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:391 +#, fuzzy +msgid "disabled" +msgstr "已禁用" -#. Widget: “DictionariesWidget”, “add” menu. -#. Widget: “DictionariesWidget”, “new” file picker. -#: plover/gui_qt/dictionaries_widget.py:110 -#: plover/gui_qt/dictionaries_widget.py:483 -msgid "New dictionary" -msgstr "新字典" +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:394 +msgid "favorite" +msgstr "" -#. Widget: “DictionariesWidget”, “save” menu. -#: plover/gui_qt/dictionaries_widget.py:117 -msgid "Create a copy of each dictionary" -msgstr "複製每一個字典" +#: plover/gui_qt/dictionaries_widget.py:398 +#, python-brace-format +msgid "errored: {exception}." +msgstr "" -#. Widget: “DictionariesWidget”, “save” menu. -#: plover/gui_qt/dictionaries_widget.py:121 -msgid "Merge dictionaries into a new one" -msgstr "合併字典" +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:402 +#, fuzzy +msgid "loading" +msgstr "輸入紀錄" + +#. Widget: “DictionariesWidget”, accessible text. +#: plover/gui_qt/dictionaries_widget.py:405 +msgid "read-only" +msgstr "" #. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:196 +#: plover/gui_qt/dictionaries_widget.py:411 +#, python-brace-format +msgid "Full path: {path}." +msgstr "" + +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget.py:414 +#, fuzzy +msgid "This dictionary is marked as the favorite." +msgstr "字典已被加到最愛。" + +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget.py:417 msgid "This dictionary is being loaded." msgstr "字典正在載入中…" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:205 -msgid "This dictionary is read-only." +#: plover/gui_qt/dictionaries_widget.py:421 +#, fuzzy, python-brace-format +msgid "Loading this dictionary failed: {exception}." msgstr "字典為唯讀狀態。" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:209 -msgid "This dictionary is marked as a favorite." -msgstr "字典已被加到最愛。" +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget.py:427 +msgid "This dictionary is read-only." +msgstr "字典為唯讀狀態。" #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:399 +#: plover/gui_qt/dictionaries_widget.py:618 +#, python-brace-format msgid "Save a copy of {name} as..." msgstr "將{name}另存至..." #. Widget: “DictionariesWidget”, “save as copy” file picker. -#: plover/gui_qt/dictionaries_widget.py:401 +#: plover/gui_qt/dictionaries_widget.py:620 +#, python-brace-format msgid "{name} - Copy" msgstr "{name} - 副本" #. Widget: “DictionariesWidget”, “save as merge” file picker. -#: plover/gui_qt/dictionaries_widget.py:422 +#: plover/gui_qt/dictionaries_widget.py:642 +#, python-brace-format msgid "Merge {names} as..." msgstr "合併 {names} 為..." -#. Widget: “DictionariesWidget”, “add” file picker. -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget.py:466 -#: plover/gui_qt/dictionaries_widget_ui.py:130 -msgid "Add dictionaries" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget.py:671 +#: plover/gui_qt/dictionaries_widget_ui.py:203 +#, fuzzy +msgid "Load dictionaries" msgstr "新增字典" +#. Widget: “DictionariesWidget”, “new” file picker. #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:102 +#: plover/gui_qt/dictionaries_widget.py:683 +#: plover/gui_qt/dictionaries_widget_ui.py:205 +#, fuzzy +msgid "Create dictionary" +msgstr "新字典" + +#. Widget: “DictionariesWidget”, title. +#. Widget: “DictionariesWidget”, accessible name. +#: plover/gui_qt/dictionaries_widget_ui.py:125 +#: plover/gui_qt/dictionaries_widget_ui.py:208 msgid "Dictionaries" msgstr "字典" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:104 +#: plover/gui_qt/dictionaries_widget_ui.py:127 msgid "&Edit dictionaries" msgstr "&編輯字典" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:106 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:130 msgid "Edit selected dictionaries" msgstr "編輯選中的字典" #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:108 +#: plover/gui_qt/dictionaries_widget_ui.py:134 msgid "Ctrl+E" msgstr "Ctrl+E" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:110 +#: plover/gui_qt/dictionaries_widget_ui.py:137 msgid "&Save dictionaries as..." msgstr "&另存字典為..." -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:112 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:140 msgid "" "Save the selected dictionaries: create a new copy of each dictionary, or " "merge them into a new dictionary." @@ -549,176 +799,243 @@ msgstr "將字典存檔:各自存檔或是合成一個檔案。" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “PaperTape”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:114 -#: plover/gui_qt/paper_tape_ui.py:99 +#: plover/gui_qt/dictionaries_widget_ui.py:144 +#: plover/gui_qt/paper_tape_ui.py:129 msgid "Ctrl+S" msgstr "Ctrl+S" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:116 +#: plover/gui_qt/dictionaries_widget_ui.py:147 msgid "&Remove dictionaries" msgstr "&移除字典" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:118 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:150 msgid "Remove selected dictionaries" msgstr "移除選中的字典" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:120 -#: plover/gui_qt/dictionary_editor_ui.py:116 +#: plover/gui_qt/dictionaries_widget_ui.py:154 +#: plover/gui_qt/dictionary_editor_ui.py:149 msgid "Del" msgstr "刪除" #. Widget: “DictionariesWidget”, text. #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:122 -#: plover/gui_qt/dictionary_editor_ui.py:118 +#: plover/gui_qt/dictionaries_widget_ui.py:157 +#: plover/gui_qt/dictionary_editor_ui.py:152 msgid "&Undo" msgstr "&回復" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:124 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:160 msgid "Undo last add/delete/reorder operation." msgstr "回復上一個動作。" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:126 -#: plover/gui_qt/dictionary_editor_ui.py:122 +#: plover/gui_qt/dictionaries_widget_ui.py:164 +#: plover/gui_qt/dictionary_editor_ui.py:159 msgid "Ctrl+Z" msgstr "Ctrl+Z" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:128 +#: plover/gui_qt/dictionaries_widget_ui.py:167 msgid "&Add dictionaries" msgstr "&新增字典" +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:170 +msgid "Add dictionaries" +msgstr "新增字典" + #. Widget: “DictionariesWidget”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:132 +#: plover/gui_qt/dictionaries_widget_ui.py:174 msgid "Ctrl+O" msgstr "Ctrl+O" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:134 +#: plover/gui_qt/dictionaries_widget_ui.py:177 msgid "Add &translation" msgstr "新增 &翻譯" -#. Widget: “DictionariesWidget”, tooltip. -#. Widget: “DictionaryEditor”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:136 -#: plover/gui_qt/dictionary_editor_ui.py:126 +#. Widget: “DictionariesWidget”, tool tip. +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:180 +#: plover/gui_qt/dictionary_editor_ui.py:165 msgid "Add a new translation" msgstr "新增新的翻譯" #. Widget: “DictionariesWidget”, shortcut. #. Widget: “DictionaryEditor”, shortcut. -#: plover/gui_qt/dictionaries_widget_ui.py:138 -#: plover/gui_qt/dictionary_editor_ui.py:128 +#: plover/gui_qt/dictionaries_widget_ui.py:184 +#: plover/gui_qt/dictionary_editor_ui.py:169 msgid "Ctrl+N" msgstr "Ctrl+N" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:140 +#: plover/gui_qt/dictionaries_widget_ui.py:187 msgid "Move dictionaries &up" msgstr "將字典向&上 移動" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:142 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:190 msgid "Move selected dictionaries up." msgstr "將字典向上移動。" #. Widget: “DictionariesWidget”, text. -#: plover/gui_qt/dictionaries_widget_ui.py:144 +#: plover/gui_qt/dictionaries_widget_ui.py:193 msgid "Move dictionaries &down" msgstr "將字典向&下 移動" -#. Widget: “DictionariesWidget”, tooltip. -#: plover/gui_qt/dictionaries_widget_ui.py:146 +#. Widget: “DictionariesWidget”, tool tip. +#: plover/gui_qt/dictionaries_widget_ui.py:196 msgid "Move selected dictionaries down." msgstr "將字典向下移動。" -#. Widget: “DictionaryEditor”. -#: plover/gui_qt/dictionary_editor.py:163 -msgid "Strokes" -msgstr "和弦" - -#. Widget: “DictionaryEditor”. -#: plover/gui_qt/dictionary_editor.py:166 -msgid "Translation" -msgstr "翻譯" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget_ui.py:199 +msgid "Create a copy of each dictionary" +msgstr "複製每一個字典" -#. Widget: “DictionaryEditor”. -#: plover/gui_qt/dictionary_editor.py:169 -msgid "Dictionary" -msgstr "字典" +#. Widget: “DictionariesWidget”, text. +#: plover/gui_qt/dictionaries_widget_ui.py:201 +msgid "Merge dictionaries into a new one" +msgstr "合併字典" -#. Widget: “DictionaryEditor”, windowtitle. -#: plover/gui_qt/dictionary_editor_ui.py:100 +#. Widget: “DictionaryEditor”, window title. +#: plover/gui_qt/dictionary_editor_ui.py:140 msgid "Plover: Dictionary Editor" msgstr "Plover:字典編輯器" +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:142 +msgid "&Delete" +msgstr "&刪除" + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:145 +msgid "Delete selected entries." +msgstr "刪除所選項目。" + +#. Widget: “DictionaryEditor”, tool tip. +#: plover/gui_qt/dictionary_editor_ui.py:155 +msgid "Undo last add/delete/edit operation." +msgstr "回復上一個動作。" + +#. Widget: “DictionaryEditor”, text. +#: plover/gui_qt/dictionary_editor_ui.py:162 +msgid "&New translation" +msgstr "&新增新的翻譯" + +#. Widget: “DictionaryEditor”, accessible name. #. Widget: “DictionaryEditor”, title. -#: plover/gui_qt/dictionary_editor_ui.py:102 +#: plover/gui_qt/dictionary_editor_ui.py:173 +#: plover/gui_qt/dictionary_editor_ui.py:176 msgid "Filter" msgstr "過濾" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:104 +#: plover/gui_qt/dictionary_editor_ui.py:178 msgid "By strokes:" msgstr "依照和弦:" +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:181 +#, fuzzy +msgid "Strokes filter" +msgstr "和弦" + +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:185 +#, fuzzy +msgid "Apply filter" +msgstr "過濾" + #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:106 +#: plover/gui_qt/dictionary_editor_ui.py:188 msgid "Apply" msgstr "適用" #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:108 +#: plover/gui_qt/dictionary_editor_ui.py:190 msgid "By translation:" msgstr "依照翻譯:" +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:193 +#, fuzzy +msgid "Translation filter" +msgstr "翻譯" + +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:197 +#, fuzzy +msgid "Clear filter" +msgstr "過濾" + #. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:110 +#: plover/gui_qt/dictionary_editor_ui.py:203 msgid "Clear" msgstr "清除" -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:112 -msgid "&Delete" -msgstr "&刪除" - -#. Widget: “DictionaryEditor”, tooltip. -#: plover/gui_qt/dictionary_editor_ui.py:114 -msgid "Delete selected entries." -msgstr "刪除所選項目。" - -#. Widget: “DictionaryEditor”, tooltip. -#: plover/gui_qt/dictionary_editor_ui.py:120 -msgid "Undo last add/delete/edit operation." -msgstr "回復上一個動作。" - -#. Widget: “DictionaryEditor”, text. -#: plover/gui_qt/dictionary_editor_ui.py:124 -msgid "&New translation" -msgstr "&新增新的翻譯" +#. Widget: “DictionaryEditor”, accessible name. +#: plover/gui_qt/dictionary_editor_ui.py:206 +msgid "Mappings" +msgstr "" #. Widget: “LookupDialog”, tooltip. -#: plover/gui_qt/lookup_dialog.py:13 +#: plover/gui_qt/lookup_dialog.py:12 msgid "Search the dictionary for translations." msgstr "在字典內尋找翻譯。" -#: plover/gui_qt/lookup_dialog.py:15 +#: plover/gui_qt/lookup_dialog.py:14 msgid "Lookup" msgstr "查詢" -#. Widget: “LookupDialog”, windowtitle. -#: plover/gui_qt/lookup_dialog_ui.py:56 +#. Widget: “LookupDialog”, window title. +#: plover/gui_qt/lookup_dialog_ui.py:72 msgid "Plover: Dictionary Lookup" msgstr "Plover:字典查詢" -#: plover/gui_qt/machine_options.py:104 +#. Widget: “LookupDialog”, accessible name. +#: plover/gui_qt/lookup_dialog_ui.py:75 +#, fuzzy +msgid "Pattern" +msgstr "紙帶模式" + +#. Widget: “LookupDialog”, accessible description. +#: plover/gui_qt/lookup_dialog_ui.py:79 +msgid "Translation pattern to lookup." +msgstr "" + +#. Widget: “LookupDialog”, accessible name. +#: plover/gui_qt/lookup_dialog_ui.py:83 +msgid "Results" +msgstr "" + +#: plover/gui_qt/machine_options.py:36 +#, python-brace-format +msgid "product: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:37 +#, python-brace-format +msgid "manufacturer: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:38 +#, python-brace-format +msgid "serial number: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:46 +#, python-brace-format +msgid "description: {value}" +msgstr "" + +#: plover/gui_qt/machine_options.py:199 msgid "" "Arpeggiate allows using non-NKRO keyboards.\n" "\n" @@ -730,258 +1047,358 @@ msgstr "" "每個鍵可以分開來輸出,\n" "最後按下空白鍵以送出和弦。" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:172 plover/gui_qt/main_window_ui.py:212 -msgid "Disconnect and reconnect the machine." -msgstr "將輸入硬體重新連接。" - -#. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:178 -msgid "Disabled" -msgstr "已禁用" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:180 -msgid "&File" -msgstr "&檔案" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:182 -msgid "&Tools" -msgstr "&工具" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:184 -msgid "&Help" -msgstr "&協助" - -#. Widget: “MainWindow”, title. -#: plover/gui_qt/main_window_ui.py:186 -msgid "&Edit" -msgstr "&編輯" - -#. Widget: “MainWindow”, windowtitle. -#: plover/gui_qt/main_window_ui.py:188 -msgid "Plover: Toolbar" -msgstr "Plover: 工具列" +#: plover/gui_qt/main_window.py:312 +msgid "Application is still running." +msgstr "" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:190 +#: plover/gui_qt/main_window_ui.py:202 msgid "&Quit Plover" msgstr "&離開 Plover" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:192 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:205 msgid "Quit the application." msgstr "關閉應用程式。" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:194 +#: plover/gui_qt/main_window_ui.py:209 msgid "Ctrl+Q" msgstr "Ctrl+Q" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:196 +#: plover/gui_qt/main_window_ui.py:212 msgid "&Configure" msgstr "&設定" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:198 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:215 msgid "Open the configuration dialog." msgstr "開啟設定視窗。" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:200 +#: plover/gui_qt/main_window_ui.py:219 msgid "Ctrl+," msgstr "Ctrl+," #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:202 +#: plover/gui_qt/main_window_ui.py:222 msgid "Open config &folder" msgstr "開啟設定檔目錄" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:204 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:225 msgid "Open the configuration folder." msgstr "開啟設定檔所在目錄。" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:206 +#: plover/gui_qt/main_window_ui.py:228 msgid "&About" msgstr "&關於" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:208 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:231 msgid "Open the about dialog." msgstr "開啟關於視窗。" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:210 +#: plover/gui_qt/main_window_ui.py:234 msgid "&Reconnect machine" msgstr "&重新連接輸入硬體" +#. Widget: “MainWindow”, tool tip. +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:237 plover/gui_qt/main_window_ui.py:272 +#: plover/gui_qt/main_window_ui.py:280 +msgid "Disconnect and reconnect the machine." +msgstr "將輸入硬體重新連接。" + #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:214 +#: plover/gui_qt/main_window_ui.py:241 msgid "Ctrl+R" msgstr "Ctrl+R" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:216 +#: plover/gui_qt/main_window_ui.py:244 msgid "&Show" msgstr "&顯示" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:218 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:247 msgid "Show the main window." msgstr "顯示主視窗。" #. Widget: “MainWindow”, text. -#: plover/gui_qt/main_window_ui.py:220 +#: plover/gui_qt/main_window_ui.py:250 msgid "Toggle &output" msgstr "切換&輸出" -#. Widget: “MainWindow”, tooltip. -#: plover/gui_qt/main_window_ui.py:222 +#. Widget: “MainWindow”, tool tip. +#: plover/gui_qt/main_window_ui.py:253 msgid "Toggle the output." msgstr "切換輸出。" #. Widget: “MainWindow”, shortcut. -#: plover/gui_qt/main_window_ui.py:224 +#: plover/gui_qt/main_window_ui.py:257 msgid "Ctrl+." msgstr "Ctrl+." -#: plover/gui_qt/paper_tape.py:25 -msgid "Paper Tape" -msgstr "紙帶" +#. Widget: “MainWindow”, accessible name. +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/main_window_ui.py:263 plover/gui_qt/plugins_manager_ui.py:133 +#, fuzzy +msgid "State" +msgstr "&存檔" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:267 +msgid "Connection state for the current machine." +msgstr "" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:276 +#, fuzzy +msgid "Reconnect" +msgstr "已連接" + +#. Widget: “MainWindow”, accessible name. +#: plover/gui_qt/main_window_ui.py:285 +msgid "Type" +msgstr "" + +#. Widget: “MainWindow”, accessible description. +#: plover/gui_qt/main_window_ui.py:289 +msgid "Change the current machine type." +msgstr "" + +#. Widget: “MainWindow”, text. +#: plover/gui_qt/main_window_ui.py:296 +msgid "Disabled" +msgstr "已禁用" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:298 +msgid "&File" +msgstr "&檔案" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:300 +msgid "&Tools" +msgstr "&工具" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:302 +msgid "&Help" +msgstr "&協助" + +#. Widget: “MainWindow”, title. +#: plover/gui_qt/main_window_ui.py:304 +msgid "&Edit" +msgstr "&編輯" + +#. Widget: “MainWindow”, window title. +#: plover/gui_qt/main_window_ui.py:306 +msgid "Plover: Toolbar" +msgstr "Plover: 工具列" #. Paper tape style. -#: plover/gui_qt/paper_tape.py:32 +#: plover/gui_qt/paper_tape.py:30 msgid "Paper" msgstr "紙帶模式" #. Paper tape style. -#: plover/gui_qt/paper_tape.py:34 +#: plover/gui_qt/paper_tape.py:32 msgid "Raw" msgstr "原始模式" -#: plover/gui_qt/paper_tape.py:158 +#. Widget: “PaperTape”, tooltip. +#: plover/gui_qt/paper_tape.py:122 +msgid "Paper tape display of strokes." +msgstr "" + +#: plover/gui_qt/paper_tape.py:124 +msgid "Paper Tape" +msgstr "紙帶" + +#: plover/gui_qt/paper_tape.py:237 msgid "Do you want to clear the paper tape?" msgstr "確認要清除紙帶嗎?" -#: plover/gui_qt/paper_tape.py:172 +#: plover/gui_qt/paper_tape.py:255 msgid "Save Paper Tape" msgstr "將紙帶存檔" #. Paper tape, "save" file picker. -#: plover/gui_qt/paper_tape.py:174 +#: plover/gui_qt/paper_tape.py:258 msgid "Text files (*.txt)" msgstr "Text 文字檔 (*.txt)" -#. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:87 -msgid "Mode" -msgstr "模式" - #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:89 plover/gui_qt/suggestions_dialog_ui.py:53 +#: plover/gui_qt/paper_tape_ui.py:112 plover/gui_qt/suggestions_dialog_ui.py:70 msgid "&Clear" msgstr "&清除" -#. Widget: “PaperTape”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:91 +#. Widget: “PaperTape”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:115 msgid "Clear paper tape." msgstr "清除紙帶。" #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:93 plover/gui_qt/suggestions_dialog_ui.py:57 +#: plover/gui_qt/paper_tape_ui.py:119 plover/gui_qt/suggestions_dialog_ui.py:77 msgid "Ctrl+L" msgstr "Ctrl+L" #. Widget: “PaperTape”, text. -#: plover/gui_qt/paper_tape_ui.py:95 +#: plover/gui_qt/paper_tape_ui.py:122 msgid "&Save" msgstr "&存檔" -#. Widget: “PaperTape”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:97 +#. Widget: “PaperTape”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:125 msgid "Save paper tape to file." msgstr "將輸入紙帶存檔。" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:101 plover/gui_qt/suggestions_dialog_ui.py:59 +#: plover/gui_qt/paper_tape_ui.py:132 plover/gui_qt/suggestions_dialog_ui.py:80 msgid "&Toggle \"always on top\"" msgstr "&切換懸浮視窗" -#. Widget: “PaperTape”, tooltip. -#. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:103 plover/gui_qt/suggestions_dialog_ui.py:61 +#. Widget: “PaperTape”, tool tip. +#. Widget: “SuggestionsDialog”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:135 plover/gui_qt/suggestions_dialog_ui.py:83 msgid "Toggle \"always on top\"." msgstr "切換懸浮視窗。" #. Widget: “PaperTape”, shortcut. #. Widget: “SuggestionsDialog”, shortcut. -#: plover/gui_qt/paper_tape_ui.py:105 plover/gui_qt/suggestions_dialog_ui.py:63 +#: plover/gui_qt/paper_tape_ui.py:139 plover/gui_qt/suggestions_dialog_ui.py:87 msgid "Ctrl+T" msgstr "Ctrl+T" #. Widget: “PaperTape”, text. #. Widget: “SuggestionsDialog”, text. -#: plover/gui_qt/paper_tape_ui.py:107 plover/gui_qt/suggestions_dialog_ui.py:65 +#: plover/gui_qt/paper_tape_ui.py:142 plover/gui_qt/suggestions_dialog_ui.py:90 msgid "Select &font" msgstr "選擇&字體" -#. Widget: “PaperTape”, tooltip. -#. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/paper_tape_ui.py:109 plover/gui_qt/suggestions_dialog_ui.py:67 +#. Widget: “PaperTape”, tool tip. +#. Widget: “SuggestionsDialog”, tool tip. +#: plover/gui_qt/paper_tape_ui.py:145 plover/gui_qt/suggestions_dialog_ui.py:93 msgid "Open font selection dialog." msgstr "開啟字體選擇視窗。" +#. Widget: “PaperTape”, text. +#: plover/gui_qt/paper_tape_ui.py:148 +#, fuzzy +msgid "Mode:" +msgstr "模式" + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:151 +msgid "Mode" +msgstr "模式" + +#. Widget: “PaperTape”, accessible description. +#: plover/gui_qt/paper_tape_ui.py:155 +#, fuzzy +msgid "Select paper tape display mode." +msgstr "將輸入紙帶存檔。" + +#. Widget: “PaperTape”, accessible name. +#: plover/gui_qt/paper_tape_ui.py:159 +#, fuzzy +msgid "Tape" +msgstr "紙帶模式" + +#. Widget: “PluginsManager”, window title. +#. Widget: “RunDialog”, window title. +#: plover/gui_qt/plugins_manager_ui.py:130 plover/gui_qt/run_dialog_ui.py:51 +msgid "Dialog" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:139 +msgid "Version" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:142 +msgid "Summary" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:144 +msgid "Restart" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:148 +msgid "Uninstall" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:150 +msgid "Install/Update" +msgstr "" + +#. Widget: “PluginsManager”, text. +#: plover/gui_qt/plugins_manager_ui.py:152 +msgid "..." +msgstr "" + #. Widget: “SuggestionsDialog”, tooltip. #: plover/gui_qt/suggestions_dialog.py:26 msgid "Suggest possible strokes for the last written words." msgstr "列出上一和弦的所有可能和弦。" +#. Widget: “SuggestionsDialog”, accessible name. #: plover/gui_qt/suggestions_dialog.py:28 +#: plover/gui_qt/suggestions_dialog_ui.py:97 msgid "Suggestions" msgstr "和弦建議" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:57 +#: plover/gui_qt/suggestions_dialog.py:62 msgid "&Text" msgstr "&文字" #. Widget: “SuggestionsDialog”, “font” menu. -#: plover/gui_qt/suggestions_dialog.py:59 +#: plover/gui_qt/suggestions_dialog.py:64 msgid "&Strokes" msgstr "&和弦" -#. Widget: “SuggestionsDialog”, tooltip. -#: plover/gui_qt/suggestions_dialog_ui.py:55 +#. Widget: “SuggestionsDialog”, tool tip. +#: plover/gui_qt/suggestions_dialog_ui.py:73 msgid "Clear the history." msgstr "清除歷史紀錄。" #. Widget: “SuggestionsWidget”. -#: plover/gui_qt/suggestions_widget.py:42 +#: plover/gui_qt/suggestions_widget.py:27 msgid "no suggestions" msgstr "無和弦建議" -#: plover/gui_qt/trayicon.py:116 +#: plover/gui_qt/trayicon.py:118 +#, python-brace-format msgid "{machine} is {state}" msgstr "{machine}{state}" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:122 +#: plover/gui_qt/trayicon.py:124 msgid "output is enabled" msgstr "輸出已開啟" #. Tray icon tooltip. -#: plover/gui_qt/trayicon.py:125 +#: plover/gui_qt/trayicon.py:127 msgid "output is disabled" msgstr "輸出已關閉" +#: plover/gui_qt/utils.py:28 +msgid "Copy selection to clipboard" +msgstr "" + #. Machine state. #: plover/machine/base.py:20 msgid "stopped" @@ -1006,3 +1423,16 @@ msgstr "尚未連接" #: plover/machine/keyboard.py:14 msgid "Keyboard" msgstr "鍵盤" + +#~ msgid "Scan" +#~ msgstr "偵測" + +#~ msgid "seconds" +#~ msgstr "秒" + +#~ msgid "Use timeout" +#~ msgstr "使用等待時間" + +#~ msgid "Open dictionaries" +#~ msgstr "開啟字典" + diff --git a/plover_build_utils/functions.sh b/plover_build_utils/functions.sh index d5b2b3b26..c81242977 100644 --- a/plover_build_utils/functions.sh +++ b/plover_build_utils/functions.sh @@ -303,6 +303,10 @@ release_prepare() run "$python" setup.py patch_version "$1" run git add plover/__init__.py run git add doc/conf.py + run "$python" setup.py extract_messages + run git add plover/messages/plover.pot + run "$python" setup.py update_catalog + run git add plover/messages/*/*/*.po run towncrier build --version "$1" --yes } diff --git a/plover_build_utils/pyqt.py b/plover_build_utils/pyqt.py deleted file mode 100644 index 2e132ee29..000000000 --- a/plover_build_utils/pyqt.py +++ /dev/null @@ -1,43 +0,0 @@ -import re - - -def gettext(contents): - # replace ``_translate("context", `` by ``_(`` - contents = re.sub( - r"\n", ('\n_ = __import__(__package__.split(".", 1)[0])._\n'), contents, 1 - ) - contents = re.sub( - r"\n\s+_translate = QtCore\.QCoreApplication\.translate\n", "\n", contents - ) - - def repl(m): - gd = m.groupdict() - comment = "{ws}# i18n: Widget: “{widget}”".format(**gd) - field = gd["field"] - if field: - field = " ".join( - word.lower() for word in re.split(r"([A-Z][a-z_0-9]+)", field) if word - ) - comment += ", {field}".format(field=field) - comment += "." - gd["pre2"] = gd["pre2"] or "" - return "{comment}\n{ws}{pre1}{pre2}_(".format(comment=comment, **gd) - - contents = re.sub( - ( - r"(?P *)(?P.*?)(?P\.set(?P\w+)\()?" - r'\b_translate\("(?P.*)",\s' - ), - repl, - contents, - ) - assert re.search(r"\b_translate\(", contents) is None - return contents - - -def no_autoconnection(contents): - # remove calls to ``QtCore.QMetaObject.connectSlotsByName`` - contents = re.sub( - r"\n\s+QtCore\.QMetaObject\.connectSlotsByName\(\w+\)\n", "\n", contents - ) - return contents diff --git a/plover_build_utils/qt_ui_hooks.py b/plover_build_utils/qt_ui_hooks.py new file mode 100644 index 000000000..90a5267bc --- /dev/null +++ b/plover_build_utils/qt_ui_hooks.py @@ -0,0 +1,59 @@ +import re +from typing import Match + + +def convert_ui_translations(contents: str) -> str: + """ + Transforms Qt-generated translation calls into standard Gettext calls. + + This function processes the content of a Python file generated by `pyside6-uic` and: + 1. Injects a project-wide `_` translation function import at the top of the file. + 2. Replaces `QCoreApplication.translate("Context", "Message")` with `_("Message")`. + 3. Generates descriptive 'i18n:' comments above each translated string, including + the widget context and the specific UI field (e.g., 'window title', 'text', 'tool tip') + being set. These comments are later extracted by Babel to provide context for translators. + 4. Ensures compliance by asserting that no legacy `_translate` calls remain. + """ + contents = re.sub( + r"\n", ('\n_ = __import__(__package__.split(".", 1)[0])._\n'), contents, 1 + ) + + def repl(m: Match[str]) -> str: + gd = m.groupdict() + comment = "{ws}# i18n: Widget: “{widget}”".format(**gd) + field = gd["field"] + if field: + field = " ".join( + word.lower() for word in re.split(r"([A-Z][a-z_0-9]+)", field) if word + ) + comment += ", {field}".format(field=field) + comment += "." + gd["pre2"] = gd["pre2"] or "" + return "{comment}\n{ws}{pre1}{pre2}_({msg}".format(comment=comment, **gd) + + contents = re.sub( + ( + r"(?P *)(?P.*?)(?P\.set(?P\w+)\()?" + r'(?:QCoreApplication\.translate)\("(?P.*?)",\s*' + r'(?Pu?"(?:[^"\\]|\\.)*?")' + r"(?:,\s*None)?" + ), + repl, + contents, + ) + assert re.search(r"\b_translate\(", contents) is None + return contents + + +def remove_ui_autoconnection(contents: str) -> str: + """ + Removes automatic signal-slot connection calls from the generated UI file. + + Strips `connectSlotsByName` calls to prevent implicit bindings via naming + conventions. This ensures all connections are explicitly defined for + improved clarity and maintainability. + """ + contents = re.sub( + r"\n\s+QtCore\.QMetaObject\.connectSlotsByName\(\w+\)\n", "\n", contents + ) + return contents diff --git a/plover_build_utils/setup.py b/plover_build_utils/setup.py index 722e5d57f..0c9d3660c 100644 --- a/plover_build_utils/setup.py +++ b/plover_build_utils/setup.py @@ -72,6 +72,7 @@ def babel_options(package, resource_dir=None): }, "update_catalog": { "domain": package, + "input_file": template, "output_dir": localedir, }, } @@ -89,7 +90,7 @@ class BuildUi(Command): ] hooks = """ - plover_build_utils.pyqt:no_autoconnection + plover_build_utils.qt_ui_hooks:remove_ui_autoconnection """.split() def initialize_options(self): @@ -136,7 +137,7 @@ def _build_resources(self, src): def run(self): self.run_command("egg_info") - std_hook_prefix = __package__ + ".pyqt:" + std_hook_prefix = __package__ + ".qt_ui_hooks:" hooks_info = [ h[len(std_hook_prefix) :] if h.startswith(std_hook_prefix) else h for h in self.hooks diff --git a/setup.py b/setup.py index b3b81e8b3..3defeadf9 100755 --- a/setup.py +++ b/setup.py @@ -2,6 +2,7 @@ # Copyright (c) 2010 Joshua Harlan Lifton. # See LICENSE.txt for details. +import glob import os import re import subprocess @@ -191,6 +192,18 @@ def run(self): doc_conf_file_path, r"^release = .*$", 'release = "%s"', version ) + from babel.messages.pofile import read_po, write_po + + for messages_file_path in glob.glob( + os.path.join("plover", "messages", "*", "LC_MESSAGES", "plover.po") + ): + with open(messages_file_path, "rb") as fp: + catalog = read_po(fp) + catalog.project = __software_name__ + catalog.version = version + with open(messages_file_path, "wb") as fp: + write_po(fp, catalog) + cmdclass["patch_version"] = PatchVersion @@ -358,7 +371,7 @@ def run(self): options.update(babel_options(__software_name__)) BuildPy.build_dependencies.append("compile_catalog") -BuildUi.hooks.append("plover_build_utils.pyqt:gettext") +BuildUi.hooks.append("plover_build_utils.qt_ui_hooks:convert_ui_translations") # }}} diff --git a/test/gui_qt/test_i18n_files.py b/test/gui_qt/test_i18n_files.py new file mode 100644 index 000000000..3b0b942f9 --- /dev/null +++ b/test/gui_qt/test_i18n_files.py @@ -0,0 +1,153 @@ +import os +import subprocess +import sys +import tempfile +import difflib +import shutil +from pathlib import Path + +import pytest + +import plover + + +def filter_i18n_file(lines): + filtered = [] + for line in lines: + # Ignore Copyright and Author comments + if line.startswith("# Copyright (C)"): + continue + if line.startswith("# FIRST AUTHOR"): + continue + # Ignore volatile header metadata fields that change on every run + if any( + field in line + for field in [ + '"POT-Creation-Date:', + '"PO-Revision-Date:', + '"Generated-By:', + '"Report-Msgid-Bugs-To:', + '"X-Generator:', + '"Last-Translator:', + '"Language-Team:', + ] + ): + continue + filtered.append(line) + return filtered + + +def run_pybabel(args, cwd, env): + cmd = [sys.executable, "-m", "babel.messages.frontend"] + args + try: + return subprocess.check_output( + cmd, + cwd=cwd, + env=env, + stderr=subprocess.STDOUT, + ) + except subprocess.CalledProcessError as e: + print(f"\nCommand {' '.join(cmd)} failed with output:\n{e.output.decode()}") + raise + + +@pytest.mark.gui_qt +def test_i18n_files_up_to_date(): + # Paths setup + root_dir = Path(__file__).parent.parent.parent.absolute() + messages_dir = root_dir / "plover" / "messages" + pot_path = messages_dir / "plover.pot" + + with tempfile.TemporaryDirectory() as tmpdir: + tmp_dir_path = Path(tmpdir) + # Copy the current messages directory to avoid polluting the workspace + tmp_messages_dir = tmp_dir_path / "messages" + shutil.copytree(messages_dir, tmp_messages_dir) + + tmp_pot_path = tmp_messages_dir / "plover.pot" + + env = os.environ.copy() + # Ensure the project root is in PYTHONPATH + env["PYTHONPATH"] = str(root_dir) + + # 1. Run extraction into the temp POT + # Matches settings in plover_build_utils/setup.py:babel_options + run_pybabel( + [ + "extract", + "--project", + "plover", + "--version", + plover.__version__, + "--add-comments", + "i18n:", + "--strip-comments", + "-o", + str(tmp_pot_path), + "plover", + ], + cwd=root_dir, + env=env, + ) + + # 2. Run update_catalog in the temp messages dir + run_pybabel( + [ + "update", + "--domain", + "plover", + "-i", + str(tmp_pot_path), + "-d", + str(tmp_messages_dir), + ], + cwd=root_dir, + env=env, + ) + + # 3. Compare POT + with open(pot_path, "r", encoding="utf-8") as f: + current_pot_lines = f.readlines() + with open(tmp_pot_path, "r", encoding="utf-8") as f: + generated_pot_lines = f.readlines() + + pot_diff = "".join( + difflib.unified_diff( + filter_i18n_file(current_pot_lines), + filter_i18n_file(generated_pot_lines), + fromfile="plover/messages/plover.pot", + tofile="newly_extracted.pot", + ) + ) + + # 4. Compare POs + po_diffs = [] + # Find all PO files in the original messages dir + for current_po_path in messages_dir.glob("*/LC_MESSAGES/plover.po"): + relative_path = current_po_path.relative_to(messages_dir) + generated_po_path = tmp_messages_dir / relative_path + + with open(current_po_path, "r", encoding="utf-8") as f: + current_po_lines = f.readlines() + with open(generated_po_path, "r", encoding="utf-8") as f: + generated_po_lines = f.readlines() + + diff = "".join( + difflib.unified_diff( + filter_i18n_file(current_po_lines), + filter_i18n_file(generated_po_lines), + fromfile=f"plover/messages/{relative_path}", + tofile=f"newly_updated_{relative_path.name}", + ) + ) + if diff: + po_diffs.append(diff) + + # Final validation + if pot_diff or po_diffs: + error_msg = "Fix with: python setup.py extract_messages update_catalog\n\n" + if pot_diff: + error_msg += f"POT Diff:\n{pot_diff}\n" + for diff in po_diffs: + error_msg += f"PO Diff:\n{diff}\n" + assert False, error_msg