Fix Dropdown issue

This commit is contained in:
2026-10-18 20:26:22 +02:00
parent 95f101c0c9
commit 673af1ae43
23 changed files with 2219 additions and 975 deletions

178
po/README.md Normal file
View File

@@ -0,0 +1,178 @@
# Translations (i18n)
Everything about the catalogs, in one place: which file is which, how a string gets
from the source code into a translated window, and how to add a language. The
commands live in `scripts/i18n.sh`, wired into the Makefile as `pot`,
`i18n-check` and `i18n-status`.
## The pieces
| file | what it is |
| --- | --- |
| `po/gkeymapper.pot` | the template: every translatable string in the sources, with the file and line it comes from. **Generated** by `make pot` — never translated, and its msgids are never edited by hand. |
| `po/<lang>.po` | one catalog per language. This is what a translator edits. |
| `locale/<lang>/LC_MESSAGES/gkeymapper.mo` | the compiled catalog the program reads at runtime. Generated by `make translations`, gitignored. **Never edit** — it is overwritten on every build. |
| `scripts/i18n.sh` | `extract`, `update`, `check`, `status`, `todo`, `new` (see below). |
Languages: `de`, `en`, `es`, `fr`. The set is `po/*.po` — the Makefile picks up a
new catalog by itself (`LANGS`), nothing has to be registered.
`en.po` is special: English is the source language, and its catalog repeats every
msgid as its msgstr (an *identity* catalog). It exists so that choosing
"English" works on a German desktop, where the session locale would otherwise
select the German catalog. `i18n-check` enforces the identity — a translation that
drifts in is reported.
## How a string reaches the window
1. `_("...")` marks it in `src/` (or `shared/`) — the two directories the GUI is
built from. `N_("...")` is for strings that are only *collected* when they are
not translated yet: `src/help.cpp` keeps its paragraphs in a static array and
translates them when the window is built (`_(text)`). Both keywords are in the
pot; a string marked with neither is invisible to translators.
2. `make pot` writes `po/gkeymapper.pot` from the sources.
3. `scripts/i18n.sh update` merges the pot into every catalog. New strings come in
with an empty msgstr (= untranslated), existing translations are kept.
4. Translating is editing `po/<lang>.po`: replace the msgstr, leave the msgid
alone. Any text editor, or `poedit` if you prefer one.
5. `make translations` compiles `locale/<lang>/LC_MESSAGES/gkeymapper.mo`.
6. The program reads the catalog whose language it was started with. The GUI picks
it up automatically once gettext is set up in `src/main.cpp`; *which* language is
used comes from the options window (stored in `~/.config/gKeyMapper/gui.conf`,
`language=de`), or from the session when that setting is empty. Internally
`apply_gui_language()` (`src/settings.cpp`) sets `LANGUAGE` and re-runs
`setlocale` — `LANGUAGE` wins over `LANG`/`LC_ALL` in gettext, which is what
makes switching without a restart and an explicit `en` on a German desktop work.
The catalogs are searched under `$GKEYMAPPER_LOCALEDIR`, falling back to the
compiled-in `LOCALEDIR`.
## The common case: a string is added or changed
```bash
# 1. in the code
_("New text") # or N_("...") for a deferred one
# 2. the template
make pot # prints what is new and what is gone
# 3. what is missing where
make i18n-check # names every catalog that lacks it
# 4. every catalog takes it in (empty msgstr)
scripts/i18n.sh update # or: scripts/i18n.sh update de
# 5. translate
scripts/i18n.sh todo de # untranslated + fuzzy, with the source location
$EDITOR po/de.po # and es, fr - and en, where the msgstr is the msgid
# 6. check and compile
make i18n-check # must print "everything in sync"
make translations
# 7. see it
GKEYMAPPER_LOCALEDIR=$PWD/locale LANGUAGE=de_DE.UTF-8 ./gkeymapper
```
Commit the source change, `po/gkeymapper.pot` and the catalogs **together**: a pot
without the catalogs is a half-done change, and `make i18n-check` says so.
A new string in one place and the same text in another is *one* message for
gettext — the pot lists both locations, and one msgstr covers both.
## Adding a language
```bash
scripts/i18n.sh new it Italiano # po/it.po, header in the project's shape,
# every msgstr empty (the second word is
# Language-Team; it defaults to the code)
scripts/i18n.sh todo it # work through it
$EDITOR po/it.po
```
Then offer it in the GUI, or nobody can select it — `src/optionsdialog.cpp`:
* `kLanguageCodes[]` — the codes, in the same order as the labels ("", the empty
one, means "follow the session" and has to stay first);
* `languageOptions[]` — the labels. Use the **endonym** ("Italiano", not
"Italian"): the list reads the same in every language, so a user who lands in
the wrong language can still find their own.
`make i18n-check` checks exactly that pairing (a catalog that cannot be selected, a
code without a catalog, two arrays of different length). `make translations`
compiles the new catalog; `make run` and the test command above use the working
tree's `locale/`.
## Commands
| command | what it does |
| --- | --- |
| `scripts/i18n.sh extract` (`make pot`) | Regenerate `po/gkeymapper.pot` from the sources. Prints the messages that appeared and disappeared. Refuses to write an empty pot, so a broken gettext cannot empty the good one. |
| `scripts/i18n.sh update [lang...]` | Merge the pot into the catalogs, without source locations (see Conventions). Keeps translations, marks new strings untranslated. |
| `scripts/i18n.sh check` (`make i18n-check`) | Everything below. Exit code 1 when something is wrong, so it also works as a pre-commit step. |
| `scripts/i18n.sh status` (`make i18n-status`) | Per language: messages, translated, fuzzy, untranslated, and whether the compiled catalog is older than the po. |
| `scripts/i18n.sh todo <lang>` | The untranslated and fuzzy messages, with the source locations taken from the pot. The output is a valid po file, if you want to keep it. |
| `scripts/i18n.sh new <lang> [team]` | Create `po/<lang>.po` from the pot. `new en` writes the identity catalog. |
The gettext tools are taken from `PATH` and can be overridden like the Makefile's
variables, e.g. `XGETTEXT=/usr/bin/xgettext scripts/i18n.sh extract`.
## What `check` looks at
* the pot against the sources: same messages? A string added or changed without
`make pot` is the mistake this catches (a `#:` line number that moved is only
reported as a note — refresh it whenever it suits you);
* every catalog: it parses (`msgfmt -c`, which also compares the format
specifiers of msgid and msgstr), it defines the same messages as the pot, nothing
is untranslated or fuzzy, and its `Language:` header matches its file name;
* `po/en.po` is an identity catalog;
* `po/*.po` and the language list of the options window (`src/optionsdialog.cpp`)
agree;
* no strings are marked in `daemon/`: the daemon has no gettext setup, so `_()`
there would be translated into a catalog that is never read.
Notes that are *not* failures: catalogs that were not merged since the last
extract, and obsolete entries (`#~`, strings that are gone from the sources —
`msgattrib --no-obsolete po/<lang>.po > tmp && mv tmp po/<lang>.po` drops them).
## Conventions
* **No `#: file:line` comments in the catalogs.** The locations are noise for a
translator and churn whenever a line moves, so they live only in the pot
(`update` therefore uses `msgmerge --no-location`) and `todo` shows them from
there when they are needed. This is also why the catalogs are merged with the
script instead of a bare `msgmerge --update`, which would copy the locations in.
* **The build does not regenerate the pot** (`make translations` only runs
`msgfmt`). A template that is rewritten by every build is a template nobody
looks at; instead `make pot` is a deliberate step and `make i18n-check` fails
when it was forgotten.
* **Mnemonics stay mnemonics.** `_Cancel` uses the `_` to underline a letter;
`_Abbrechen` moves it to a letter that exists in that language. A translation
without the underscore loses the keyboard shortcut silently.
* **Format specifiers** (`%s`, `%d`) keep their number and order — `msgfmt -c`
catches a mismatch.
* **No plurals yet**: the program only uses `_()`, so no catalog carries a
`Plural-Forms` header. With the first `ngettext()` that header has to go into
every catalog (and `scripts/i18n.sh new` should write it).
* **HTML-ish markup** in a msgid (`<b>`, `<i>`) has to survive in the msgstr; the
help window renders it.
* German belongs in `po/de.po` only — sources, comments and documentation are
English.
## Troubleshooting
* *A window stays English while another window is translated* — the string is
missing from the catalog (or the catalog was not recompiled: `make translations`).
`scripts/i18n.sh todo <lang>` lists what is open.
* *Shortcut without an underline* — the mnemonic `_` is missing in the msgstr.
* *`po/*.po~` files appear* — that is `msgmerge`'s backup from a manual
`msgmerge --update`; the script deletes it. Never commit them.
* *A fuzzy entry is shown in English* — on purpose: fuzzy means "the text was
changed, this translation needs a look", and gettext falls back to the msgid
until it is confirmed (remove the `#, fuzzy` line).
* *"not merged against the current pot" in `check`* — run `scripts/i18n.sh update`;
until then the catalog header carries an older date than the pot.
* *Nothing is extracted at all* — `xgettext`'s built-in keyword list is not the
same everywhere, so the script always passes `--keyword=_ --keyword=N_`. If the
pot comes out empty, the script stops instead of replacing the pot.
The rest of the project's conventions (GUI, daemon, mappings) are in `AGENTS.md`.

317
po/de.po
View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gkeymapper 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-18 03:08+0200\n"
"POT-Creation-Date: 2026-10-18 20:18+0200\n"
"PO-Revision-Date: 2026-10-18 03:08+0200\n"
"Last-Translator: \n"
"Language-Team: German\n"
@@ -15,14 +15,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Choose file"
msgstr "Datei auswählen"
msgid "_Cancel"
msgstr "_Abbrechen"
msgid "_Open"
msgstr "_Öffnen"
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr "G-Key-Mapper für die Logitech G910 (GTK4)."
msgid "No keys recorded yet"
msgstr "Noch keine Tasten aufgezeichnet"
@@ -30,6 +24,14 @@ msgstr "Noch keine Tasten aufgezeichnet"
msgid "Capture key sequence"
msgstr "Tastensequenz aufnehmen"
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
msgstr ""
"Tasten der Reihe nach drücken (Modifikatoren wie Strg, Alt, Shift, Super und "
"AltGr werden mit aufgezeichnet). Mit Fertig übernehmen oder mit Abbrechen "
"verwerfen."
msgid "Clear"
msgstr "Leeren"
@@ -40,12 +42,120 @@ msgid "Done"
msgstr "Fertig"
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgstr ""
"Tasten der Reihe nach drücken (Modifikatoren wie Strg, Alt, Shift, Super und "
"AltGr werden mit aufgezeichnet). Mit Fertig übernehmen oder mit Abbrechen "
"verwerfen."
"<b>Die neun Zeilen</b> – eine pro G-Taste. Typ wählen, Ziel eingeben oder "
"aufnehmen und <i>Mappings speichern</i> drücken."
msgid "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgstr "<b>Taste</b> – drückt die aufgenommene Sequenz einmal, z. B. ctrl+c."
msgid ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, e."
"g. for push-to-talk. Only a single step can be held."
msgstr ""
"<b>Taste (halten)</b> – drückt sie und hält sie, solange die G-Taste "
"gehalten wird, z. B. für Push-to-Talk. Nur ein einzelner Schritt kann "
"gehalten werden."
msgid ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox --"
"new-window."
msgstr ""
"<b>Befehl</b> – führt ein Programm oder eine Kommandozeile aus, z. B. /usr/"
"bin/firefox --new-window."
msgid "<b>Disabled</b> – the key does nothing."
msgstr "<b>Deaktiviert</b> – die Taste tut nichts."
msgid ""
"<b>Capture</b> – records the keys you press next: press them, then <i>Done</"
"i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgstr ""
"<b>Aufnehmen</b> – zeichnet die nächsten Tastenanschläge auf: drücken, dann "
"<i>Fertig</i>. Modifikatoren bleiben erhalten (shift, altgr, …) und die "
"Namen sind layoutunabhängig, ctrl+z bedeutet also die Taste, die auf deinem "
"Layout z tippt."
msgid ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgstr ""
"<b>Mappings speichern</b> – schreibt ~/.config/gKeyMapper/mappings.conf und "
"lässt den Daemon sie neu laden. Die Menüeinträge <i>Konfiguration "
"exportieren...</i> und <i>Konfiguration importieren...</i> machen dasselbe "
"mit einer Datei deiner Wahl."
msgid ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. <i>Options</"
"i> shows the same in more detail."
msgstr ""
"<b>Daemon-Status</b> – die Fußzeile zeigt, ob gkeymapper-daemon läuft, "
"welche Tastatur gefunden wurde und welche G-Taste zuletzt ausgelöst hat. "
"<i>Optionen</i> zeigt dasselbe ausführlicher."
msgid ""
"<b>Autostart</b> – <i>Start with the session</i> opens this window minimized "
"to the tray when you log in. The G keys work without it: gkeymapper-daemon "
"(a user service) reads them and replays the actions, and that daemon is the "
"only part that has to run."
msgstr ""
"<b>Autostart</b> – <i>Beim Anmelden starten</i> startet dieses Fenster "
"minimiert im Infobereich. Die G-Tasten funktionieren auch ohne: gkeymapper-"
"daemon (ein Benutzerdienst) liest sie und spielt die Aktionen ab – nur "
"dieser Daemon muss laufen."
msgid ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved yet come "
"along."
msgstr ""
"<b>Infobereich und Fenster</b> – mit <i>In den Infobereich minimieren</i> "
"wird das Fenster beim Schließen oder Minimieren versteckt statt geschlossen; "
"das Symbol im Infobereich zeigt es wieder (<i>Anzeigen</i>) und beendet das "
"Programm (<i>Beenden</i>). Ein erneuter Start von gKeyMapper schließt das "
"alte Fenster – noch nicht gespeicherte Zeilen kommen dabei mit."
msgid "Help"
msgstr "Hilfe"
msgid "Close window"
msgstr "Fenster schließen"
msgid "Daemon: not reachable"
msgstr "Daemon: nicht erreichbar"
msgid "Daemon: running"
msgstr "Daemon: läuft"
msgid "Device: not found"
msgstr "Gerät: nicht gefunden"
#, c-format
msgid "Device: %s"
msgstr "Gerät: %s"
msgid "Configuration error"
msgstr "Konfigurationsfehler"
#, c-format
msgid "Last key: %s"
msgstr "Letzte Taste: %s"
msgid "Choose file"
msgstr "Datei auswählen"
msgid "_Cancel"
msgstr "_Abbrechen"
msgid "_Open"
msgstr "_Öffnen"
msgid "Choose file..."
msgstr "Datei auswählen..."
@@ -56,12 +166,12 @@ msgstr "z. B. /usr/bin/firefox oder eigener Befehl"
msgid "Capture"
msgstr "Aufnehmen"
msgid "e.g. ctrl+c, ctrl+v"
msgstr "z. B. Strg+C, Strg+V"
msgid "e.g. ctrl+w (held while the G key is held)"
msgstr "z. B. Strg+W (gehalten, solange die G-Taste gedrückt ist)"
msgid "e.g. ctrl+c, ctrl+v"
msgstr "z. B. Strg+C, Strg+V"
#, c-format
msgid "Could not save %s.\n"
msgstr "Konnte %s nicht speichern.\n"
@@ -69,19 +179,12 @@ msgstr "Konnte %s nicht speichern.\n"
msgid "Mappings saved to "
msgstr "Mappings gespeichert nach "
#, c-format
msgid "Could not open %s.\n"
msgstr "Konnte %s nicht öffnen.\n"
msgid "Could not export mappings.\n"
msgstr "Mappings konnten nicht exportiert werden.\n"
msgid "gKeyMapper"
msgstr "gKeyMapper"
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr "G-Key-Mapper für die Logitech G910 (GTK4)."
msgid "Export configuration"
msgstr "Konfiguration exportieren"
@@ -100,9 +203,15 @@ msgstr "Konfiguration exportieren..."
msgid "Import configuration..."
msgstr "Konfiguration importieren..."
msgid "Options"
msgstr "Optionen"
msgid "About"
msgstr "Über"
msgid "Quit"
msgstr "Beenden"
msgid "G1 to G9 of the Logitech G910 remapped to keys or commands"
msgstr "G1 bis G9 der Logitech G910 auf Tasten oder Befehle ummappen"
@@ -136,44 +245,12 @@ msgstr "Mappings speichern"
msgid "Saved to ~/.config/gKeyMapper/mappings.conf"
msgstr "Gespeichert in ~/.config/gKeyMapper/mappings.conf"
msgid "Daemon: not reachable"
msgstr "Daemon: nicht erreichbar"
msgid "Daemon: running"
msgstr "Daemon: läuft"
msgid "Device: %s"
msgstr "Gerät: %s"
msgid "Device: not found"
msgstr "Gerät: nicht gefunden"
msgid "Configuration error"
msgstr "Konfigurationsfehler"
msgid "Last key: %s"
msgstr "Letzte Taste: %s"
msgid "Daemon: checking..."
msgstr "Daemon: wird geprüft ..."
msgid "Options"
msgstr "Optionen"
msgid "Help"
msgstr "Hilfe"
msgid "Quit"
msgstr "Beenden"
msgid "Show"
msgstr "Anzeigen"
msgid "Close"
msgstr "Beenden"
msgid "Close window"
msgstr "Fenster schließen"
#, c-format
msgid "Could not open %s.\n"
msgstr "Konnte %s nicht öffnen.\n"
msgid "Window"
msgstr "Fenster"
@@ -181,13 +258,15 @@ msgstr "Fenster"
msgid "Minimize to tray"
msgstr "In den Infobereich minimieren"
msgid "Start with the session"
msgstr "Beim Anmelden starten"
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
"Opens this window minimized to the tray when you log in. Not needed for the "
"G keys - the daemon does the work and is the only part that has to run."
msgstr ""
"Beim Schließen oder Minimieren wird das Fenster versteckt statt beendet. Das "
"Symbol im Infobereich zeigt es wieder (Anzeigen) und beendet das Programm "
"(Beenden)."
"Öffnet dieses Fenster beim Anmelden minimiert im Infobereich. Für die G-"
"Tasten nicht nötig – die Arbeit macht der Daemon, und nur der muss laufen."
msgid "Language"
msgstr "Sprache"
@@ -198,21 +277,6 @@ msgstr "Systemsprache"
msgid "The interface switches right away, including the tray menu."
msgstr "Die Oberfläche wechselt sofort – auch das Menü im Infobereich."
msgid "Start with the session"
msgstr "Beim Anmelden starten"
msgid ""
"Opens this window when you log in. Not needed for the G keys - the daemon "
"does the work and is the only part that has to run."
msgstr ""
"Öffnet dieses Fenster beim Anmelden. Für die G-Tasten nicht nötig – die "
"Arbeit macht der Daemon, und nur der muss laufen."
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr ""
"Auf diesem Desktop gibt es keinen Infobereich, daher kann das Fenster nicht "
"versteckt werden."
msgid "Daemon status"
msgstr "Daemon-Status"
@@ -234,6 +298,19 @@ msgstr "Konfigurationsdatei"
msgid "Last key"
msgstr "Letzte Taste"
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
msgstr ""
"Beim Schließen oder Minimieren wird das Fenster versteckt statt beendet. Das "
"Symbol im Infobereich zeigt es wieder (Anzeigen) und beendet das Programm "
"(Beenden)."
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr ""
"Auf diesem Desktop gibt es keinen Infobereich, daher kann das Fenster nicht "
"versteckt werden."
msgid "active"
msgstr "aktiv"
@@ -249,82 +326,8 @@ msgstr "nicht erreichbar"
msgid "not found"
msgstr "nicht gefunden"
msgid ""
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgstr ""
"<b>Die neun Zeilen</b> – eine pro G-Taste. Typ wählen, Ziel eingeben oder "
"aufnehmen und <i>Mappings speichern</i> drücken."
msgid "Show"
msgstr "Anzeigen"
msgid "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgstr "<b>Taste</b> – drückt die aufgenommene Sequenz einmal, z. B. ctrl+c."
msgid ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, "
"e.g. for push-to-talk. Only a single step can be held."
msgstr ""
"<b>Taste (halten)</b> – drückt sie und hält sie, solange die G-Taste "
"gehalten wird, z. B. für Push-to-Talk. Nur ein einzelner Schritt kann "
"gehalten werden."
msgid ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox "
"--new-window."
msgstr ""
"<b>Befehl</b> – führt ein Programm oder eine Kommandozeile aus, z. B. "
"/usr/bin/firefox --new-window."
msgid "<b>Disabled</b> – the key does nothing."
msgstr "<b>Deaktiviert</b> – die Taste tut nichts."
msgid ""
"<b>Capture</b> – records the keys you press next: press them, then "
"<i>Done</i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgstr ""
"<b>Aufnehmen</b> – zeichnet die nächsten Tastenanschläge auf: drücken, dann "
"<i>Fertig</i>. Modifikatoren bleiben erhalten (shift, altgr, …) und die "
"Namen sind layoutunabhängig, ctrl+z bedeutet also die Taste, die auf deinem "
"Layout z tippt."
msgid ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgstr ""
"<b>Mappings speichern</b> – schreibt ~/.config/gKeyMapper/mappings.conf und "
"lässt den Daemon sie neu laden. Die Menüeinträge <i>Konfiguration "
"exportieren...</i> und <i>Konfiguration importieren...</i> machen dasselbe "
"mit einer Datei deiner Wahl."
msgid ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. "
"<i>Options</i> shows the same in more detail."
msgstr ""
"<b>Daemon-Status</b> – die Fußzeile zeigt, ob gkeymapper-daemon läuft, "
"welche Tastatur gefunden wurde und welche G-Taste zuletzt ausgelöst hat. "
"<i>Optionen</i> zeigt dasselbe ausführlicher."
msgid ""
"<b>Autostart</b> – <i>Start with the session</i> only opens this window when "
"you log in. The G keys work without it: gkeymapper-daemon (a user service) "
"reads them and replays the actions, and that daemon is the only part that has "
"to run."
msgstr ""
"<b>Autostart</b> – <i>Beim Anmelden starten</i> öffnet nur dieses Fenster. "
"Die G-Tasten funktionieren auch ohne: gkeymapper-daemon (ein Benutzerdienst) "
"liest sie und spielt die Aktionen ab – nur dieser Daemon muss laufen."
msgid ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved are lost "
"with it."
msgstr ""
"<b>Infobereich und Fenster</b> – mit <i>In den Infobereich minimieren</i> "
"wird das Fenster beim Schließen oder Minimieren versteckt statt geschlossen; "
"das Symbol im Infobereich zeigt es wieder (<i>Anzeigen</i>) und beendet das "
"Programm (<i>Beenden</i>). Ein erneuter Start von gKeyMapper schließt das "
"alte Fenster – nicht gespeicherte Zeilen gehen damit verloren."
msgid "Close"
msgstr "Beenden"

304
po/en.po
View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gkeymapper 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-18 03:08+0200\n"
"POT-Creation-Date: 2026-10-18 20:18+0200\n"
"PO-Revision-Date: 2026-10-18 03:08+0200\n"
"Last-Translator: \n"
"Language-Team: English\n"
@@ -16,14 +16,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Choose file"
msgstr "Choose file"
msgid "_Cancel"
msgstr "_Cancel"
msgid "_Open"
msgstr "_Open"
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr "G-Key mapper for the Logitech G910 (GTK4)."
msgid "No keys recorded yet"
msgstr "No keys recorded yet"
@@ -31,6 +25,13 @@ msgstr "No keys recorded yet"
msgid "Capture key sequence"
msgstr "Capture key sequence"
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
msgstr ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
msgid "Clear"
msgstr "Clear"
@@ -41,11 +42,117 @@ msgid "Done"
msgstr "Done"
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgstr ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgid "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgstr "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgid ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, e."
"g. for push-to-talk. Only a single step can be held."
msgstr ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, e."
"g. for push-to-talk. Only a single step can be held."
msgid ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox --"
"new-window."
msgstr ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox --"
"new-window."
msgid "<b>Disabled</b> – the key does nothing."
msgstr "<b>Disabled</b> – the key does nothing."
msgid ""
"<b>Capture</b> – records the keys you press next: press them, then <i>Done</"
"i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgstr ""
"<b>Capture</b> – records the keys you press next: press them, then <i>Done</"
"i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgid ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgstr ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgid ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. <i>Options</"
"i> shows the same in more detail."
msgstr ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. <i>Options</"
"i> shows the same in more detail."
msgid ""
"<b>Autostart</b> – <i>Start with the session</i> opens this window minimized "
"to the tray when you log in. The G keys work without it: gkeymapper-daemon "
"(a user service) reads them and replays the actions, and that daemon is the "
"only part that has to run."
msgstr ""
"<b>Autostart</b> – <i>Start with the session</i> opens this window minimized "
"to the tray when you log in. The G keys work without it: gkeymapper-daemon "
"(a user service) reads them and replays the actions, and that daemon is the "
"only part that has to run."
msgid ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved yet come "
"along."
msgstr ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved yet come "
"along."
msgid "Help"
msgstr "Help"
msgid "Close window"
msgstr "Close window"
msgid "Daemon: not reachable"
msgstr "Daemon: not reachable"
msgid "Daemon: running"
msgstr "Daemon: running"
msgid "Device: not found"
msgstr "Device: not found"
#, c-format
msgid "Device: %s"
msgstr "Device: %s"
msgid "Configuration error"
msgstr "Configuration error"
#, c-format
msgid "Last key: %s"
msgstr "Last key: %s"
msgid "Choose file"
msgstr "Choose file"
msgid "_Cancel"
msgstr "_Cancel"
msgid "_Open"
msgstr "_Open"
msgid "Choose file..."
msgstr "Choose file..."
@@ -56,12 +163,12 @@ msgstr "e.g. /usr/bin/firefox or custom command"
msgid "Capture"
msgstr "Capture"
msgid "e.g. ctrl+c, ctrl+v"
msgstr "e.g. ctrl+c, ctrl+v"
msgid "e.g. ctrl+w (held while the G key is held)"
msgstr "e.g. ctrl+w (held while the G key is held)"
msgid "e.g. ctrl+c, ctrl+v"
msgstr "e.g. ctrl+c, ctrl+v"
#, c-format
msgid "Could not save %s.\n"
msgstr "Could not save %s.\n"
@@ -69,19 +176,12 @@ msgstr "Could not save %s.\n"
msgid "Mappings saved to "
msgstr "Mappings saved to "
#, c-format
msgid "Could not open %s.\n"
msgstr "Could not open %s.\n"
msgid "Could not export mappings.\n"
msgstr "Could not export mappings.\n"
msgid "gKeyMapper"
msgstr "gKeyMapper"
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr "G-Key mapper for the Logitech G910 (GTK4)."
msgid "Export configuration"
msgstr "Export configuration"
@@ -100,9 +200,15 @@ msgstr "Export configuration..."
msgid "Import configuration..."
msgstr "Import configuration..."
msgid "Options"
msgstr "Options"
msgid "About"
msgstr "About"
msgid "Quit"
msgstr "Quit"
msgid "G1 to G9 of the Logitech G910 remapped to keys or commands"
msgstr "G1 to G9 of the Logitech G910 remapped to keys or commands"
@@ -136,44 +242,12 @@ msgstr "Save mappings"
msgid "Saved to ~/.config/gKeyMapper/mappings.conf"
msgstr "Saved to ~/.config/gKeyMapper/mappings.conf"
msgid "Daemon: not reachable"
msgstr "Daemon: not reachable"
msgid "Daemon: running"
msgstr "Daemon: running"
msgid "Device: %s"
msgstr "Device: %s"
msgid "Device: not found"
msgstr "Device: not found"
msgid "Configuration error"
msgstr "Configuration error"
msgid "Last key: %s"
msgstr "Last key: %s"
msgid "Daemon: checking..."
msgstr "Daemon: checking..."
msgid "Options"
msgstr "Options"
msgid "Help"
msgstr "Help"
msgid "Quit"
msgstr "Quit"
msgid "Show"
msgstr "Show"
msgid "Close"
msgstr "Close"
msgid "Close window"
msgstr "Close window"
#, c-format
msgid "Could not open %s.\n"
msgstr "Could not open %s.\n"
msgid "Window"
msgstr "Window"
@@ -181,12 +255,15 @@ msgstr "Window"
msgid "Minimize to tray"
msgstr "Minimize to tray"
msgid "Start with the session"
msgstr "Start with the session"
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
"Opens this window minimized to the tray when you log in. Not needed for the "
"G keys - the daemon does the work and is the only part that has to run."
msgstr ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
"Opens this window minimized to the tray when you log in. Not needed for the "
"G keys - the daemon does the work and is the only part that has to run."
msgid "Language"
msgstr "Language"
@@ -197,19 +274,6 @@ msgstr "System language"
msgid "The interface switches right away, including the tray menu."
msgstr "The interface switches right away, including the tray menu."
msgid "Start with the session"
msgstr "Start with the session"
msgid ""
"Opens this window when you log in. Not needed for the G keys - the daemon "
"does the work and is the only part that has to run."
msgstr ""
"Opens this window when you log in. Not needed for the G keys - the daemon "
"does the work and is the only part that has to run."
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr "No tray is available on this desktop, so the window cannot be hidden."
msgid "Daemon status"
msgstr "Daemon status"
@@ -231,6 +295,16 @@ msgstr "Configuration file"
msgid "Last key"
msgstr "Last key"
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
msgstr ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr "No tray is available on this desktop, so the window cannot be hidden."
msgid "active"
msgstr "active"
@@ -246,80 +320,8 @@ msgstr "not reachable"
msgid "not found"
msgstr "not found"
msgid ""
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgstr ""
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgid "Show"
msgstr "Show"
msgid "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgstr "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgid ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, "
"e.g. for push-to-talk. Only a single step can be held."
msgstr ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, "
"e.g. for push-to-talk. Only a single step can be held."
msgid ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox "
"--new-window."
msgstr ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox "
"--new-window."
msgid "<b>Disabled</b> – the key does nothing."
msgstr "<b>Disabled</b> – the key does nothing."
msgid ""
"<b>Capture</b> – records the keys you press next: press them, then "
"<i>Done</i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgstr ""
"<b>Capture</b> – records the keys you press next: press them, then "
"<i>Done</i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgid ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgstr ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgid ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. "
"<i>Options</i> shows the same in more detail."
msgstr ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. "
"<i>Options</i> shows the same in more detail."
msgid ""
"<b>Autostart</b> – <i>Start with the session</i> only opens this window when "
"you log in. The G keys work without it: gkeymapper-daemon (a user service) "
"reads them and replays the actions, and that daemon is the only part that has "
"to run."
msgstr ""
"<b>Autostart</b> – <i>Start with the session</i> only opens this window when "
"you log in. The G keys work without it: gkeymapper-daemon (a user service) "
"reads them and replays the actions, and that daemon is the only part that has "
"to run."
msgid ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved are lost "
"with it."
msgstr ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved are lost "
"with it."
msgid "Close"
msgstr "Close"

313
po/es.po
View File

@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gkeymapper 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-18 03:08+0200\n"
"POT-Creation-Date: 2026-10-18 20:18+0200\n"
"PO-Revision-Date: 2026-10-18 03:08+0200\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
@@ -13,14 +13,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Choose file"
msgstr "Elegir archivo"
msgid "_Cancel"
msgstr "_Cancelar"
msgid "_Open"
msgstr "_Abrir"
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr "Asignador de teclas G para el Logitech G910 (GTK4)."
msgid "No keys recorded yet"
msgstr "Aún no se ha registrado ninguna tecla"
@@ -28,6 +22,14 @@ msgstr "Aún no se ha registrado ninguna tecla"
msgid "Capture key sequence"
msgstr "Capturar secuencia de teclas"
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
msgstr ""
"Pulsa las teclas en orden (los modificadores como Ctrl, Alt, Mayús, Super y "
"AltGr también se registran). Haz clic en Aceptar para aplicar o en Cancelar "
"para descartar."
msgid "Clear"
msgstr "Borrar"
@@ -38,12 +40,119 @@ msgid "Done"
msgstr "Aceptar"
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgstr ""
"Pulsa las teclas en orden (los modificadores como Ctrl, Alt, Mayús, Super y "
"AltGr también se registran). Haz clic en Aceptar para aplicar o en Cancelar "
"para descartar."
"<b>Las nueve filas</b> – una por tecla G. Elige el tipo, introduce o captura "
"el destino y pulsa <i>Guardar asignaciones</i>."
msgid "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgstr "<b>Tecla</b> – pulsa la secuencia capturada una vez, p. ej. ctrl+c."
msgid ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, e."
"g. for push-to-talk. Only a single step can be held."
msgstr ""
"<b>Tecla (mantener)</b> – la pulsa y la mantiene mientras se mantiene la "
"tecla G, p. ej. para pulsar para hablar. Solo se puede mantener un paso."
msgid ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox --"
"new-window."
msgstr ""
"<b>Comando</b> – ejecuta un programa o una línea de comandos, p. ej. /usr/"
"bin/firefox --new-window."
msgid "<b>Disabled</b> – the key does nothing."
msgstr "<b>Desactivado</b> – la tecla no hace nada."
msgid ""
"<b>Capture</b> – records the keys you press next: press them, then <i>Done</"
"i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgstr ""
"<b>Capturar</b> – graba las siguientes teclas que pulses: púlsalas y luego "
"<i>Aceptar</i>. Los modificadores se conservan (shift, altgr, …) y los "
"nombres no dependen de la distribución, así que ctrl+z es la tecla que "
"escribe z en tu distribución."
msgid ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgstr ""
"<b>Guardar asignaciones</b> – escribe ~/.config/gKeyMapper/mappings.conf y "
"hace que el daemon la recargue. Las entradas de menú <i>Exportar "
"configuración...</i> e <i>Importar configuración...</i> hacen lo mismo con "
"el archivo que elijas."
msgid ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. <i>Options</"
"i> shows the same in more detail."
msgstr ""
"<b>Estado del daemon</b> – el pie de ventana muestra si gkeymapper-daemon "
"está en ejecución, qué teclado ha encontrado y la última tecla G que se ha "
"pulsado. <i>Opciones</i> muestra lo mismo con más detalle."
msgid ""
"<b>Autostart</b> – <i>Start with the session</i> opens this window minimized "
"to the tray when you log in. The G keys work without it: gkeymapper-daemon "
"(a user service) reads them and replays the actions, and that daemon is the "
"only part that has to run."
msgstr ""
"<b>Inicio automático</b> – <i>Iniciar con la sesión</i> abre esta ventana "
"minimizada en la bandeja al iniciar la sesión. Las teclas G funcionan sin "
"ella: gkeymapper-daemon (un servicio de usuario) las lee y reproduce las "
"acciones, y ese daemon es lo único que tiene que estar en marcha."
msgid ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved yet come "
"along."
msgstr ""
"<b>Bandeja y ventana</b> – con <i>Minimizar a la bandeja</i>, al cerrar o "
"minimizar la ventana se oculta en lugar de cerrarse; el icono de la bandeja "
"la vuelve a mostrar (<i>Mostrar</i>) y cierra el programa (<i>Cerrar</i>). "
"Volver a iniciar gKeyMapper cierra la ventana antigua: las filas aún sin "
"guardar se conservan."
msgid "Help"
msgstr "Ayuda"
msgid "Close window"
msgstr "Cerrar ventana"
msgid "Daemon: not reachable"
msgstr "Demonio: no accesible"
msgid "Daemon: running"
msgstr "Demonio: en ejecución"
msgid "Device: not found"
msgstr "Dispositivo: no encontrado"
#, c-format
msgid "Device: %s"
msgstr "Dispositivo: %s"
msgid "Configuration error"
msgstr "Error de configuración"
#, c-format
msgid "Last key: %s"
msgstr "Última tecla: %s"
msgid "Choose file"
msgstr "Elegir archivo"
msgid "_Cancel"
msgstr "_Cancelar"
msgid "_Open"
msgstr "_Abrir"
msgid "Choose file..."
msgstr "Elegir archivo..."
@@ -54,12 +163,12 @@ msgstr "p. ej. /usr/bin/firefox o comando personalizado"
msgid "Capture"
msgstr "Capturar"
msgid "e.g. ctrl+c, ctrl+v"
msgstr "p. ej. ctrl+c, ctrl+v"
msgid "e.g. ctrl+w (held while the G key is held)"
msgstr "p. ej. ctrl+w (mantenida mientras se mantiene pulsada la tecla G)"
msgid "e.g. ctrl+c, ctrl+v"
msgstr "p. ej. ctrl+c, ctrl+v"
#, c-format
msgid "Could not save %s.\n"
msgstr "No se pudo guardar %s.\n"
@@ -67,19 +176,12 @@ msgstr "No se pudo guardar %s.\n"
msgid "Mappings saved to "
msgstr "Asignaciones guardadas en "
#, c-format
msgid "Could not open %s.\n"
msgstr "No se pudo abrir %s.\n"
msgid "Could not export mappings.\n"
msgstr "No se pudieron exportar las asignaciones.\n"
msgid "gKeyMapper"
msgstr "gKeyMapper"
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr "Asignador de teclas G para el Logitech G910 (GTK4)."
msgid "Export configuration"
msgstr "Exportar configuración"
@@ -98,9 +200,15 @@ msgstr "Exportar configuración..."
msgid "Import configuration..."
msgstr "Importar configuración..."
msgid "Options"
msgstr "Opciones"
msgid "About"
msgstr "Acerca de"
msgid "Quit"
msgstr "Salir"
msgid "G1 to G9 of the Logitech G910 remapped to keys or commands"
msgstr "Reasigna las G1 a G9 del Logitech G910 a teclas o comandos"
@@ -134,44 +242,12 @@ msgstr "Guardar asignaciones"
msgid "Saved to ~/.config/gKeyMapper/mappings.conf"
msgstr "Guardado en ~/.config/gKeyMapper/mappings.conf"
msgid "Daemon: not reachable"
msgstr "Demonio: no accesible"
msgid "Daemon: running"
msgstr "Demonio: en ejecución"
msgid "Device: %s"
msgstr "Dispositivo: %s"
msgid "Device: not found"
msgstr "Dispositivo: no encontrado"
msgid "Configuration error"
msgstr "Error de configuración"
msgid "Last key: %s"
msgstr "Última tecla: %s"
msgid "Daemon: checking..."
msgstr "Demonio: comprobando..."
msgid "Options"
msgstr "Opciones"
msgid "Help"
msgstr "Ayuda"
msgid "Quit"
msgstr "Salir"
msgid "Show"
msgstr "Mostrar"
msgid "Close"
msgstr "Cerrar"
msgid "Close window"
msgstr "Cerrar ventana"
#, c-format
msgid "Could not open %s.\n"
msgstr "No se pudo abrir %s.\n"
msgid "Window"
msgstr "Ventana"
@@ -179,12 +255,16 @@ msgstr "Ventana"
msgid "Minimize to tray"
msgstr "Minimizar a la bandeja"
msgid "Start with the session"
msgstr "Iniciar con la sesión"
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
"Opens this window minimized to the tray when you log in. Not needed for the "
"G keys - the daemon does the work and is the only part that has to run."
msgstr ""
"Al cerrar o minimizar, la ventana se oculta en lugar de salir. El icono de "
"la bandeja la vuelve a mostrar (Mostrar) y cierra el programa (Cerrar)."
"Abre esta ventana minimizada en la bandeja al iniciar la sesión. No hace "
"falta para las teclas G: el trabajo lo hace el daemon, y solo él tiene que "
"estar en marcha."
msgid "Language"
msgstr "Idioma"
@@ -195,20 +275,6 @@ msgstr "Idioma del sistema"
msgid "The interface switches right away, including the tray menu."
msgstr "La interfaz cambia al instante, incluido el menú de la bandeja."
msgid "Start with the session"
msgstr "Iniciar con la sesión"
msgid ""
"Opens this window when you log in. Not needed for the G keys - the daemon "
"does the work and is the only part that has to run."
msgstr ""
"Abre esta ventana al iniciar la sesión. No hace falta para las teclas G: el "
"trabajo lo hace el daemon, y solo él tiene que estar en marcha."
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr ""
"Este escritorio no tiene bandeja, así que la ventana no se puede ocultar."
msgid "Daemon status"
msgstr "Estado del daemon"
@@ -230,6 +296,17 @@ msgstr "Archivo de configuración"
msgid "Last key"
msgstr "Última tecla"
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
msgstr ""
"Al cerrar o minimizar, la ventana se oculta en lugar de salir. El icono de "
"la bandeja la vuelve a mostrar (Mostrar) y cierra el programa (Cerrar)."
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr ""
"Este escritorio no tiene bandeja, así que la ventana no se puede ocultar."
msgid "active"
msgstr "activo"
@@ -245,82 +322,8 @@ msgstr "no accesible"
msgid "not found"
msgstr "no encontrado"
msgid ""
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgstr ""
"<b>Las nueve filas</b> – una por tecla G. Elige el tipo, introduce o captura "
"el destino y pulsa <i>Guardar asignaciones</i>."
msgid "Show"
msgstr "Mostrar"
msgid "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgstr "<b>Tecla</b> – pulsa la secuencia capturada una vez, p. ej. ctrl+c."
msgid ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, "
"e.g. for push-to-talk. Only a single step can be held."
msgstr ""
"<b>Tecla (mantener)</b> – la pulsa y la mantiene mientras se mantiene la "
"tecla G, p. ej. para pulsar para hablar. Solo se puede mantener un paso."
msgid ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox "
"--new-window."
msgstr ""
"<b>Comando</b> – ejecuta un programa o una línea de comandos, p. ej. "
"/usr/bin/firefox --new-window."
msgid "<b>Disabled</b> – the key does nothing."
msgstr "<b>Desactivado</b> – la tecla no hace nada."
msgid ""
"<b>Capture</b> – records the keys you press next: press them, then "
"<i>Done</i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgstr ""
"<b>Capturar</b> – graba las siguientes teclas que pulses: púlsalas y luego "
"<i>Aceptar</i>. Los modificadores se conservan (shift, altgr, …) y los "
"nombres no dependen de la distribución, así que ctrl+z es la tecla que "
"escribe z en tu distribución."
msgid ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgstr ""
"<b>Guardar asignaciones</b> – escribe ~/.config/gKeyMapper/mappings.conf y "
"hace que el daemon la recargue. Las entradas de menú <i>Exportar "
"configuración...</i> e <i>Importar configuración...</i> hacen lo mismo con "
"el archivo que elijas."
msgid ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. "
"<i>Options</i> shows the same in more detail."
msgstr ""
"<b>Estado del daemon</b> – el pie de ventana muestra si gkeymapper-daemon "
"está en ejecución, qué teclado ha encontrado y la última tecla G que se ha "
"pulsado. <i>Opciones</i> muestra lo mismo con más detalle."
msgid ""
"<b>Autostart</b> – <i>Start with the session</i> only opens this window when "
"you log in. The G keys work without it: gkeymapper-daemon (a user service) "
"reads them and replays the actions, and that daemon is the only part that has "
"to run."
msgstr ""
"<b>Inicio automático</b> – <i>Iniciar con la sesión</i> solo abre esta "
"ventana. Las teclas G funcionan sin ella: gkeymapper-daemon (un servicio de "
"usuario) las lee y reproduce las acciones, y ese daemon es lo único que tiene "
"que estar en marcha."
msgid ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved are lost "
"with it."
msgstr ""
"<b>Bandeja y ventana</b> – con <i>Minimizar a la bandeja</i>, al cerrar o "
"minimizar la ventana se oculta en lugar de cerrarse; el icono de la bandeja "
"la vuelve a mostrar (<i>Mostrar</i>) y cierra el programa (<i>Cerrar</i>). "
"Volver a iniciar gKeyMapper cierra la ventana antigua: las filas no "
"guardadas se pierden con ella."
msgid "Close"
msgstr "Cerrar"

326
po/fr.po
View File

@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gkeymapper 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-18 03:08+0200\n"
"POT-Creation-Date: 2026-10-18 20:18+0200\n"
"PO-Revision-Date: 2026-10-18 03:08+0200\n"
"Last-Translator: \n"
"Language-Team: French\n"
@@ -13,14 +13,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Choose file"
msgstr "Choisir un fichier"
msgid "_Cancel"
msgstr "_Annuler"
msgid "_Open"
msgstr "_Ouvrir"
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr "Assignateur de touches G pour le Logitech G910 (GTK4)."
msgid "No keys recorded yet"
msgstr "Aucune touche enregistrée pour le moment"
@@ -28,6 +22,14 @@ msgstr "Aucune touche enregistrée pour le moment"
msgid "Capture key sequence"
msgstr "Capturer une séquence de touches"
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
msgstr ""
"Appuyez sur les touches dans l'ordre (les modificateurs comme Ctrl, Alt, "
"Maj, Super et AltGr sont également enregistrés). Cliquez sur Terminer pour "
"appliquer ou sur Annuler pour abandonner."
msgid "Clear"
msgstr "Effacer"
@@ -38,12 +40,122 @@ msgid "Done"
msgstr "Terminer"
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgstr ""
"Appuyez sur les touches dans l'ordre (les modificateurs comme Ctrl, Alt, "
"Maj, Super et AltGr sont également enregistrés). Cliquez sur Terminer pour "
"appliquer ou sur Annuler pour abandonner."
"<b>Les neuf lignes</b> – une par touche G. Choisissez le type, saisissez ou "
"capturez la cible puis cliquez sur <i>Enregistrer les attributions</i>."
msgid "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgstr "<b>Touche</b> – presse une fois la séquence capturée, par ex. ctrl+c."
msgid ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, e."
"g. for push-to-talk. Only a single step can be held."
msgstr ""
"<b>Touche (maintenue)</b> – l'appuie et la maintient tant que la touche G "
"est maintenue, p. ex. pour appuyer-pour-parler. Une seule étape peut être "
"maintenue."
msgid ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox --"
"new-window."
msgstr ""
"<b>Commande</b> – lance un programme ou une ligne de commande, par ex. /usr/"
"bin/firefox --new-window."
msgid "<b>Disabled</b> – the key does nothing."
msgstr "<b>Désactivé</b> – la touche ne fait rien."
msgid ""
"<b>Capture</b> – records the keys you press next: press them, then <i>Done</"
"i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgstr ""
"<b>Capturer</b> – enregistre les touches que vous pressez ensuite : pressez-"
"les puis <i>Terminer</i>. Les modificateurs sont conservés (shift, altgr, …) "
"et les noms ne dépendent pas de la disposition, donc ctrl+z désigne la "
"touche qui tape z sur votre disposition."
msgid ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgstr ""
"<b>Enregistrer les attributions</b> – écrit ~/.config/gKeyMapper/mappings."
"conf et fait recharger le fichier au démon. Les entrées de menu <i>Exporter "
"la configuration...</i> et <i>Importer la configuration...</i> font la même "
"chose avec le fichier de votre choix."
msgid ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. <i>Options</"
"i> shows the same in more detail."
msgstr ""
"<b>État du démon</b> – le pied de fenêtre indique si gkeymapper-daemon est "
"en cours d'exécution, quel clavier a été trouvé et la dernière touche G "
"déclenchée. <i>Options</i> affiche la même chose plus en détail."
msgid ""
"<b>Autostart</b> – <i>Start with the session</i> opens this window minimized "
"to the tray when you log in. The G keys work without it: gkeymapper-daemon "
"(a user service) reads them and replays the actions, and that daemon is the "
"only part that has to run."
msgstr ""
"<b>Démarrage automatique</b> – <i>Démarrer avec la session</i> ouvre cette "
"fenêtre réduite dans la zone de notification à l'ouverture de la session. "
"Les touches G fonctionnent sans elle : gkeymapper-daemon (un service "
"utilisateur) les lit et rejoue les actions, et ce démon est la seule partie "
"qui doit tourner."
msgid ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved yet come "
"along."
msgstr ""
"<b>Zone de notification et fenêtre</b> – avec <i>Réduire dans la zone de "
"notification</i>, la fenêtre est masquée au lieu d'être fermée lorsque vous "
"la fermez ou la réduisez ; l'icône de la zone de notification la réaffiche "
"(<i>Afficher</i>) et quitte le programme (<i>Fermer</i>). Relancer "
"gKeyMapper ferme l'ancienne fenêtre : les lignes pas encore enregistrées "
"sont conservées."
msgid "Help"
msgstr "Aide"
msgid "Close window"
msgstr "Fermer la fenêtre"
msgid "Daemon: not reachable"
msgstr "Démon : injoignable"
msgid "Daemon: running"
msgstr "Démon : en cours d'exécution"
msgid "Device: not found"
msgstr "Appareil : introuvable"
#, c-format
msgid "Device: %s"
msgstr "Appareil : %s"
msgid "Configuration error"
msgstr "Erreur de configuration"
#, c-format
msgid "Last key: %s"
msgstr "Dernière touche : %s"
msgid "Choose file"
msgstr "Choisir un fichier"
msgid "_Cancel"
msgstr "_Annuler"
msgid "_Open"
msgstr "_Ouvrir"
msgid "Choose file..."
msgstr "Choisir un fichier..."
@@ -54,12 +166,12 @@ msgstr "ex. /usr/bin/firefox ou commande personnalisée"
msgid "Capture"
msgstr "Capturer"
msgid "e.g. ctrl+c, ctrl+v"
msgstr "ex. ctrl+c, ctrl+v"
msgid "e.g. ctrl+w (held while the G key is held)"
msgstr "ex. ctrl+w (maintenue tant que la touche G est enfoncée)"
msgid "e.g. ctrl+c, ctrl+v"
msgstr "ex. ctrl+c, ctrl+v"
#, c-format
msgid "Could not save %s.\n"
msgstr "Impossible d'enregistrer %s.\n"
@@ -67,19 +179,12 @@ msgstr "Impossible d'enregistrer %s.\n"
msgid "Mappings saved to "
msgstr "Attributions enregistrées dans "
#, c-format
msgid "Could not open %s.\n"
msgstr "Impossible d'ouvrir %s.\n"
msgid "Could not export mappings.\n"
msgstr "Impossible d'exporter les attributions.\n"
msgid "gKeyMapper"
msgstr "gKeyMapper"
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr "Assignateur de touches G pour le Logitech G910 (GTK4)."
msgid "Export configuration"
msgstr "Exporter la configuration"
@@ -98,11 +203,19 @@ msgstr "Exporter la configuration..."
msgid "Import configuration..."
msgstr "Importer la configuration..."
msgid "Options"
msgstr "Options"
msgid "About"
msgstr "À propos"
msgid "Quit"
msgstr "Quitter"
msgid "G1 to G9 of the Logitech G910 remapped to keys or commands"
msgstr "Réassignation des touches G1 à G9 du Logitech G910 vers des touches ou des commandes"
msgstr ""
"Réassignation des touches G1 à G9 du Logitech G910 vers des touches ou des "
"commandes"
msgid "G-Key"
msgstr "Touche G"
@@ -134,44 +247,12 @@ msgstr "Enregistrer les attributions"
msgid "Saved to ~/.config/gKeyMapper/mappings.conf"
msgstr "Enregistré dans ~/.config/gKeyMapper/mappings.conf"
msgid "Daemon: not reachable"
msgstr "Démon : injoignable"
msgid "Daemon: running"
msgstr "Démon : en cours d'exécution"
msgid "Device: %s"
msgstr "Appareil : %s"
msgid "Device: not found"
msgstr "Appareil : introuvable"
msgid "Configuration error"
msgstr "Erreur de configuration"
msgid "Last key: %s"
msgstr "Dernière touche : %s"
msgid "Daemon: checking..."
msgstr "Démon : vérification..."
msgid "Options"
msgstr "Options"
msgid "Help"
msgstr "Aide"
msgid "Quit"
msgstr "Quitter"
msgid "Show"
msgstr "Afficher"
msgid "Close"
msgstr "Fermer"
msgid "Close window"
msgstr "Fermer la fenêtre"
#, c-format
msgid "Could not open %s.\n"
msgstr "Impossible d'ouvrir %s.\n"
msgid "Window"
msgstr "Fenêtre"
@@ -179,13 +260,16 @@ msgstr "Fenêtre"
msgid "Minimize to tray"
msgstr "Réduire dans la zone de notification"
msgid "Start with the session"
msgstr "Démarrer avec la session"
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
"Opens this window minimized to the tray when you log in. Not needed for the "
"G keys - the daemon does the work and is the only part that has to run."
msgstr ""
"À la fermeture ou à la réduction, la fenêtre est masquée au lieu de quitter. "
"L'icône de la zone de notification la réaffiche (Afficher) et quitte le "
"programme (Fermer)."
"Ouvre cette fenêtre réduite dans la zone de notification à l'ouverture de la "
"session. Inutile pour les touches G : c'est le démon qui fait le travail, et "
"lui seul doit tourner."
msgid "Language"
msgstr "Langue"
@@ -198,21 +282,6 @@ msgstr ""
"L'interface change immédiatement, y compris le menu de la zone de "
"notification."
msgid "Start with the session"
msgstr "Démarrer avec la session"
msgid ""
"Opens this window when you log in. Not needed for the G keys - the daemon "
"does the work and is the only part that has to run."
msgstr ""
"Ouvre cette fenêtre à l'ouverture de la session. Inutile pour les touches G : "
"c'est le démon qui fait le travail, et lui seul doit tourner."
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr ""
"Ce bureau n'a pas de zone de notification, la fenêtre ne peut donc pas être "
"masquée."
msgid "Daemon status"
msgstr "État du démon"
@@ -234,6 +303,19 @@ msgstr "Fichier de configuration"
msgid "Last key"
msgstr "Dernière touche"
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
msgstr ""
"À la fermeture ou à la réduction, la fenêtre est masquée au lieu de quitter. "
"L'icône de la zone de notification la réaffiche (Afficher) et quitte le "
"programme (Fermer)."
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr ""
"Ce bureau n'a pas de zone de notification, la fenêtre ne peut donc pas être "
"masquée."
msgid "active"
msgstr "actif"
@@ -249,84 +331,8 @@ msgstr "inaccessible"
msgid "not found"
msgstr "introuvable"
msgid ""
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
"the target and press <i>Save mappings</i>."
msgstr ""
"<b>Les neuf lignes</b> – une par touche G. Choisissez le type, saisissez ou "
"capturez la cible puis cliquez sur <i>Enregistrer les attributions</i>."
msgid "Show"
msgstr "Afficher"
msgid "<b>Key</b> – presses the captured sequence once, e.g. ctrl+c."
msgstr "<b>Touche</b> – presse une fois la séquence capturée, par ex. ctrl+c."
msgid ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, "
"e.g. for push-to-talk. Only a single step can be held."
msgstr ""
"<b>Touche (maintenue)</b> – l'appuie et la maintient tant que la touche G "
"est maintenue, p. ex. pour appuyer-pour-parler. Une seule étape peut être "
"maintenue."
msgid ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox "
"--new-window."
msgstr ""
"<b>Commande</b> – lance un programme ou une ligne de commande, par ex. "
"/usr/bin/firefox --new-window."
msgid "<b>Disabled</b> – the key does nothing."
msgstr "<b>Désactivé</b> – la touche ne fait rien."
msgid ""
"<b>Capture</b> – records the keys you press next: press them, then "
"<i>Done</i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgstr ""
"<b>Capturer</b> – enregistre les touches que vous pressez ensuite : "
"pressez-les puis <i>Terminer</i>. Les modificateurs sont conservés (shift, "
"altgr, …) et les noms ne dépendent pas de la disposition, donc ctrl+z "
"désigne la touche qui tape z sur votre disposition."
msgid ""
"<b>Save mappings</b> – writes ~/.config/gKeyMapper/mappings.conf and makes "
"the daemon reload it. The menu entries <i>Export configuration...</i> and "
"<i>Import configuration...</i> do the same with a file you choose."
msgstr ""
"<b>Enregistrer les attributions</b> – écrit "
"~/.config/gKeyMapper/mappings.conf et fait recharger le fichier au démon. "
"Les entrées de menu <i>Exporter la configuration...</i> et <i>Importer la "
"configuration...</i> font la même chose avec le fichier de votre choix."
msgid ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. "
"<i>Options</i> shows the same in more detail."
msgstr ""
"<b>État du démon</b> – le pied de fenêtre indique si gkeymapper-daemon est "
"en cours d'exécution, quel clavier a été trouvé et la dernière touche G "
"déclenchée. <i>Options</i> affiche la même chose plus en détail."
msgid ""
"<b>Autostart</b> – <i>Start with the session</i> only opens this window when "
"you log in. The G keys work without it: gkeymapper-daemon (a user service) "
"reads them and replays the actions, and that daemon is the only part that has "
"to run."
msgstr ""
"<b>Démarrage automatique</b> – <i>Démarrer avec la session</i> ouvre "
"seulement cette fenêtre. Les touches G fonctionnent sans elle : "
"gkeymapper-daemon (un service utilisateur) les lit et rejoue les actions, et "
"ce démon est la seule partie qui doit tourner."
msgid ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved are lost "
"with it."
msgstr ""
"<b>Zone de notification et fenêtre</b> – avec <i>Réduire dans la zone de "
"notification</i>, la fenêtre est masquée au lieu d'être fermée lorsque vous "
"la fermez ou la réduisez ; l'icône de la zone de notification la réaffiche "
"(<i>Afficher</i>) et quitte le programme (<i>Fermer</i>). Relancer "
"gKeyMapper ferme l'ancienne fenêtre : les lignes non enregistrées sont "
"perdues avec elle."
msgid "Close"
msgstr "Fermer"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-10-18 03:08+0200\n"
"POT-Creation-Date: 2026-10-18 20:18+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,16 +17,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/main.cpp:126
msgid "Choose file"
msgstr ""
#: src/main.cpp:129 src/main.cpp:300 src/main.cpp:312
msgid "_Cancel"
msgstr ""
#: src/main.cpp:130 src/main.cpp:313
msgid "_Open"
#: src/autostart.cpp:97 src/main.cpp:280 src/trayicon.cpp:371
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr ""
#: src/capturedialog.cpp:115 src/capturedialog.cpp:226
@@ -37,6 +29,12 @@ msgstr ""
msgid "Capture key sequence"
msgstr ""
#: src/capturedialog.cpp:220
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
msgstr ""
#: src/capturedialog.cpp:250
msgid "Clear"
msgstr ""
@@ -49,270 +47,6 @@ msgstr ""
msgid "Done"
msgstr ""
#: src/capturedialog.cpp:220
msgid ""
"Press keys in order (modifiers like Ctrl, Alt, Shift, Super and AltGr are "
"recorded too). Click Done to apply or Cancel to discard."
msgstr ""
#: src/main.cpp:160
msgid "Choose file..."
msgstr ""
#: src/main.cpp:162
msgid "e.g. /usr/bin/firefox or custom command"
msgstr ""
#: src/main.cpp:164 src/main.cpp:168 src/main.cpp:685
msgid "Capture"
msgstr ""
#: src/main.cpp:170 src/main.cpp:678
msgid "e.g. ctrl+c, ctrl+v"
msgstr ""
#: src/main.cpp:166
msgid "e.g. ctrl+w (held while the G key is held)"
msgstr ""
#: src/main.cpp:185
#, c-format
msgid "Could not save %s.\n"
msgstr ""
#: src/main.cpp:193
msgid "Mappings saved to "
msgstr ""
#: src/mappings.cpp:41
#, c-format
msgid "Could not open %s.\n"
msgstr ""
#: src/main.cpp:203
msgid "Could not export mappings.\n"
msgstr ""
#: src/main.cpp:264 src/main.cpp:590 src/trayicon.cpp:370 src/trayicon.cpp:500
msgid "gKeyMapper"
msgstr ""
#: src/autostart.cpp:97 src/main.cpp:267 src/trayicon.cpp:371
msgid "G-Key mapper for the Logitech G910 (GTK4)."
msgstr ""
#: src/main.cpp:297
msgid "Export configuration"
msgstr ""
#: src/main.cpp:301
msgid "_Save"
msgstr ""
#: src/main.cpp:309
msgid "Import configuration"
msgstr ""
#: src/main.cpp:575
msgid "gKeyMapper – Logitech G910"
msgstr ""
#: src/main.cpp:594
msgid "Export configuration..."
msgstr ""
#: src/main.cpp:595
msgid "Import configuration..."
msgstr ""
#: src/main.cpp:603
msgid "About"
msgstr ""
#: src/main.cpp:623
msgid "G1 to G9 of the Logitech G910 remapped to keys or commands"
msgstr ""
#: src/main.cpp:644
msgid "G-Key"
msgstr ""
#: src/main.cpp:644
msgid "Type"
msgstr ""
#: src/main.cpp:644
msgid "Target (Key/Command)"
msgstr ""
#: src/main.cpp:644
msgid "Action"
msgstr ""
#: src/main.cpp:653
msgid "Key"
msgstr ""
#: src/main.cpp:653
msgid "Command"
msgstr ""
#: src/main.cpp:653
msgid "Disabled"
msgstr ""
#: src/main.cpp:654
msgid "Key (hold)"
msgstr ""
#: src/main.cpp:713
msgid "Save mappings"
msgstr ""
#: src/main.cpp:720
msgid "Saved to ~/.config/gKeyMapper/mappings.conf"
msgstr ""
#: src/main.cpp:63
msgid "Daemon: not reachable"
msgstr ""
#: src/main.cpp:65
msgid "Daemon: running"
msgstr ""
#: src/main.cpp:70
msgid "Device: not found"
msgstr ""
#: src/main.cpp:73
msgid "Device: %s"
msgstr ""
#: src/main.cpp:78 src/optionsdialog.cpp:212
msgid "Configuration error"
msgstr ""
#: src/main.cpp:83
msgid "Last key: %s"
msgstr ""
#: src/main.cpp:731
msgid "Daemon: checking..."
msgstr ""
#: src/main.cpp:598 src/optionsdialog.cpp:81
msgid "Options"
msgstr ""
#: src/help.cpp:67 src/help.cpp:86 src/main.cpp:602
msgid "Help"
msgstr ""
#: src/main.cpp:609
msgid "Quit"
msgstr ""
#: src/trayicon.cpp:136
msgid "Show"
msgstr ""
#: src/trayicon.cpp:139
msgid "Close"
msgstr ""
#: src/help.cpp:95 src/optionsdialog.cpp:164
msgid "Close window"
msgstr ""
#: src/optionsdialog.cpp:95
msgid "Window"
msgstr ""
#: src/optionsdialog.cpp:97
msgid "Minimize to tray"
msgstr ""
#: src/optionsdialog.cpp:200
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
msgstr ""
#: src/optionsdialog.cpp:128 src/optionsdialog.cpp:136
msgid "Language"
msgstr ""
#: src/optionsdialog.cpp:131
msgid "System language"
msgstr ""
#: src/optionsdialog.cpp:141
msgid "The interface switches right away, including the tray menu."
msgstr ""
#: src/optionsdialog.cpp:110
msgid "Start with the session"
msgstr ""
#: src/optionsdialog.cpp:122
msgid ""
"Opens this window when you log in. Not needed for the G keys - the daemon "
"does the work and is the only part that has to run."
msgstr ""
#: src/optionsdialog.cpp:202
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr ""
#: src/optionsdialog.cpp:144
msgid "Daemon status"
msgstr ""
#: src/optionsdialog.cpp:157
msgid "Tray icon"
msgstr ""
#: src/optionsdialog.cpp:158
msgid "State"
msgstr ""
#: src/optionsdialog.cpp:159
msgid "Version"
msgstr ""
#: src/optionsdialog.cpp:160
msgid "Device"
msgstr ""
#: src/optionsdialog.cpp:161
msgid "Configuration file"
msgstr ""
#: src/optionsdialog.cpp:162
msgid "Last key"
msgstr ""
#: src/optionsdialog.cpp:205
msgid "active"
msgstr ""
#: src/optionsdialog.cpp:205
msgid "not available"
msgstr ""
#: src/optionsdialog.cpp:206
msgid "running"
msgstr ""
#: src/optionsdialog.cpp:206
msgid "not reachable"
msgstr ""
#: src/optionsdialog.cpp:208
msgid "not found"
msgstr ""
#: src/help.cpp:34
msgid ""
"<b>The nine rows</b> – one per G key. Choose the type, then enter or capture "
@@ -325,14 +59,14 @@ msgstr ""
#: src/help.cpp:37
msgid ""
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, "
"e.g. for push-to-talk. Only a single step can be held."
"<b>Key (hold)</b> – presses it and keeps it down while the G key is held, e."
"g. for push-to-talk. Only a single step can be held."
msgstr ""
#: src/help.cpp:39
msgid ""
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox "
"--new-window."
"<b>Command</b> – runs a program or a command line, e.g. /usr/bin/firefox --"
"new-window."
msgstr ""
#: src/help.cpp:40
@@ -341,8 +75,8 @@ msgstr ""
#: src/help.cpp:41
msgid ""
"<b>Capture</b> – records the keys you press next: press them, then "
"<i>Done</i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"<b>Capture</b> – records the keys you press next: press them, then <i>Done</"
"i>. Modifiers are kept (shift, altgr, …) and the names are layout "
"independent, so ctrl+z means the key that types z on your layout."
msgstr ""
@@ -356,16 +90,16 @@ msgstr ""
#: src/help.cpp:47
msgid ""
"<b>Daemon status</b> – the footer shows whether gkeymapper-daemon is "
"running, which keyboard it found and the last G key that fired. "
"<i>Options</i> shows the same in more detail."
"running, which keyboard it found and the last G key that fired. <i>Options</"
"i> shows the same in more detail."
msgstr ""
#: src/help.cpp:50
msgid ""
"<b>Autostart</b> – <i>Start with the session</i> only opens this window when "
"you log in. The G keys work without it: gkeymapper-daemon (a user service) "
"reads them and replays the actions, and that daemon is the only part that has "
"to run."
"<b>Autostart</b> – <i>Start with the session</i> opens this window minimized "
"to the tray when you log in. The G keys work without it: gkeymapper-daemon "
"(a user service) reads them and replays the actions, and that daemon is the "
"only part that has to run."
msgstr ""
#: src/help.cpp:53
@@ -373,6 +107,274 @@ msgid ""
"<b>Tray and window</b> – with <i>Minimize to tray</i> the window is hidden "
"instead of closed when you close or minimize it; the tray icon shows it "
"again (<i>Show</i>) and quits the program (<i>Close</i>). Starting "
"gKeyMapper again closes the old window – rows that were not saved are lost "
"with it."
"gKeyMapper again closes the old window – rows that were not saved yet come "
"along."
msgstr ""
#: src/help.cpp:67 src/help.cpp:86 src/main.cpp:635
msgid "Help"
msgstr ""
#: src/help.cpp:95 src/optionsdialog.cpp:177
msgid "Close window"
msgstr ""
#: src/main.cpp:76
msgid "Daemon: not reachable"
msgstr ""
#: src/main.cpp:78
msgid "Daemon: running"
msgstr ""
#: src/main.cpp:83
msgid "Device: not found"
msgstr ""
#: src/main.cpp:86
#, c-format
msgid "Device: %s"
msgstr ""
#: src/main.cpp:91 src/optionsdialog.cpp:228
msgid "Configuration error"
msgstr ""
#: src/main.cpp:96
#, c-format
msgid "Last key: %s"
msgstr ""
#: src/main.cpp:139
msgid "Choose file"
msgstr ""
#: src/main.cpp:142 src/main.cpp:313 src/main.cpp:325
msgid "_Cancel"
msgstr ""
#: src/main.cpp:143 src/main.cpp:326
msgid "_Open"
msgstr ""
#: src/main.cpp:173
msgid "Choose file..."
msgstr ""
#: src/main.cpp:175
msgid "e.g. /usr/bin/firefox or custom command"
msgstr ""
#: src/main.cpp:177 src/main.cpp:181 src/main.cpp:726
msgid "Capture"
msgstr ""
#: src/main.cpp:179
msgid "e.g. ctrl+w (held while the G key is held)"
msgstr ""
#: src/main.cpp:183 src/main.cpp:719
msgid "e.g. ctrl+c, ctrl+v"
msgstr ""
#: src/main.cpp:198
#, c-format
msgid "Could not save %s.\n"
msgstr ""
#: src/main.cpp:206
msgid "Mappings saved to "
msgstr ""
#: src/main.cpp:216
msgid "Could not export mappings.\n"
msgstr ""
#: src/main.cpp:277 src/main.cpp:623 src/trayicon.cpp:370 src/trayicon.cpp:500
msgid "gKeyMapper"
msgstr ""
#: src/main.cpp:310
msgid "Export configuration"
msgstr ""
#: src/main.cpp:314
msgid "_Save"
msgstr ""
#: src/main.cpp:322
msgid "Import configuration"
msgstr ""
#: src/main.cpp:608
msgid "gKeyMapper – Logitech G910"
msgstr ""
#: src/main.cpp:627
msgid "Export configuration..."
msgstr ""
#: src/main.cpp:628
msgid "Import configuration..."
msgstr ""
#: src/main.cpp:631 src/optionsdialog.cpp:83
msgid "Options"
msgstr ""
#: src/main.cpp:636
msgid "About"
msgstr ""
#: src/main.cpp:642
msgid "Quit"
msgstr ""
#: src/main.cpp:656
msgid "G1 to G9 of the Logitech G910 remapped to keys or commands"
msgstr ""
#: src/main.cpp:677
msgid "G-Key"
msgstr ""
#: src/main.cpp:677
msgid "Type"
msgstr ""
#: src/main.cpp:677
msgid "Target (Key/Command)"
msgstr ""
#: src/main.cpp:677
msgid "Action"
msgstr ""
#: src/main.cpp:689
msgid "Key"
msgstr ""
#: src/main.cpp:689
msgid "Command"
msgstr ""
#: src/main.cpp:689
msgid "Disabled"
msgstr ""
#: src/main.cpp:690
msgid "Key (hold)"
msgstr ""
#: src/main.cpp:761
msgid "Save mappings"
msgstr ""
#: src/main.cpp:768
msgid "Saved to ~/.config/gKeyMapper/mappings.conf"
msgstr ""
#: src/main.cpp:779
msgid "Daemon: checking..."
msgstr ""
#: src/mappings.cpp:41
#, c-format
msgid "Could not open %s.\n"
msgstr ""
#: src/optionsdialog.cpp:97
msgid "Window"
msgstr ""
#: src/optionsdialog.cpp:99
msgid "Minimize to tray"
msgstr ""
#: src/optionsdialog.cpp:112
msgid "Start with the session"
msgstr ""
#: src/optionsdialog.cpp:124
msgid ""
"Opens this window minimized to the tray when you log in. Not needed for the "
"G keys - the daemon does the work and is the only part that has to run."
msgstr ""
#: src/optionsdialog.cpp:131 src/optionsdialog.cpp:149
msgid "Language"
msgstr ""
#: src/optionsdialog.cpp:137
msgid "System language"
msgstr ""
#: src/optionsdialog.cpp:154
msgid "The interface switches right away, including the tray menu."
msgstr ""
#: src/optionsdialog.cpp:157
msgid "Daemon status"
msgstr ""
#: src/optionsdialog.cpp:170
msgid "Tray icon"
msgstr ""
#: src/optionsdialog.cpp:171
msgid "State"
msgstr ""
#: src/optionsdialog.cpp:172
msgid "Version"
msgstr ""
#: src/optionsdialog.cpp:173
msgid "Device"
msgstr ""
#: src/optionsdialog.cpp:174
msgid "Configuration file"
msgstr ""
#: src/optionsdialog.cpp:175
msgid "Last key"
msgstr ""
#: src/optionsdialog.cpp:216
msgid ""
"Closing or minimizing the window hides it instead of quitting. The tray icon "
"shows it again (Show) and quits the program (Close)."
msgstr ""
#: src/optionsdialog.cpp:218
msgid "No tray is available on this desktop, so the window cannot be hidden."
msgstr ""
#: src/optionsdialog.cpp:221
msgid "active"
msgstr ""
#: src/optionsdialog.cpp:221
msgid "not available"
msgstr ""
#: src/optionsdialog.cpp:222
msgid "running"
msgstr ""
#: src/optionsdialog.cpp:222
msgid "not reachable"
msgstr ""
#: src/optionsdialog.cpp:224
msgid "not found"
msgstr ""
#: src/trayicon.cpp:136
msgid "Show"
msgstr ""
#: src/trayicon.cpp:139
msgid "Close"
msgstr ""