-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 03/01/2020 10.59, Yamaban wrote: | On Fri, 3 Jan 2020 10:21, Ludwig Nussel wrote: |> Patrick Shanahan schrieb: |>> * Dominique Leuenberger [01-02-20 02:03]: ... |> gtk3-lang gets installed due to locale supplements generated by |> the translations it ships. It also supplements the en locale so |> that's why it gets installed always. Looks like gtk3 (ab)uses |> gettext to assign speaking names to keyboard buttons: |> |> $ msgunfmt /usr/share/locale/en/LC_MESSAGES/gtk30.mo|grep -1 |> KP_Right msgctxt "keyboard label" msgid "KP_Right" msgstr "Right |> (keypad)" |> |> So not installing gtk3-lang actually breaks gtk3 in a sense. The |> right fix seems to be upstream changing their approach. |> Alternatively the gtk3 package could ship the en "translation" |> in the main package rather than gtk3-lang. It's not really a |> translation after all. In any case a bug IMO. | | DAFQ! 1. Clean, long-term solution has to happen upstream, no | question about that. (Teach the meaning of LANG="C" as lang | variant.) | | 2. Short-term (as in: NOW) would be moving the "en" translation to | the main package as a "replacement" for a not-really compiled-in | "C" lang. | | How to get this started ASAP? Maybe even pressing it into SLE, but | tbh, imho this is a "must have" / "release break" feature for even | LEAP 15.2? | | Happy new year anyway, thanks for the good work in discovering the | root cause here. I suspect they are doing this intentionally (since 2005). Pick a few strings: | msgunfmt /usr/share/locale/en/LC_MESSAGES/gtk30.mo | less msgctxt "keyboard label" msgid "AudioLowerVolume" msgstr "Audio lower volume" msgctxt "keyboard label" msgid "AudioMedia" msgstr "Audio media" msgctxt "keyboard label" msgid "AudioMute" msgstr "Audio mute" msgctxt "keyboard label" msgid "AudioNext" msgstr "Audio next" msgctxt "keyboard label" msgid "AudioPause" msgstr "Audio pause" msgctxt "keyboard label" msgid "AudioPlay" msgstr "Audio play" msgctxt "keyboard label" msgid "AudioPrev" msgstr "Audio previous" msgctxt "keyboard label" msgid "AudioRaiseVolume" msgstr "Audio raise volume" msgctxt "keyboard label" msgid "AudioRecord" msgstr "Audio record" msgctxt "keyboard label" msgid "AudioRewind" msgstr "Audio rewind" msgctxt "keyboard label" msgid "AudioStop" msgstr "Audio stop" I suspect you could find software where the default language is not English, because the programmer is Spanish or Russian, say (I would be tempted to do it :-p ). The external translation file to English would be required. So removing from the system -lang files "just because" could be dangerous. Thus first run: rpm -ql whatever-lang | grep "/en" to find out if an English translation does exist. Then use msgunfmt to find out what those strings are. In this case, there are also Canadian and British variants (the CA one is obsolete, by the way, probably not operative). The rationale here (I'm guessing) is that instead of writing the messages in the source code, they write labels to them, and the messages are external. Prior to gettext one technique programmers used would put languages in arrays, loaded at the start of the program from resource files (this is what I did), indexed by tokens. - -- Cheers / Saludos, Carlos E. R. (from 15.1 x86_64 at Telcontar) -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQQZEb51mJKK1KpcU/W1MxgcbY1H1QUCXg94lwAKCRC1MxgcbY1H 1cstAJ4tvvKg2MVbHX5EeXNsqeaMHNpbsACcCPQtepQaw9BbZq8MKfItYoEb2QU= =fylp -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org