[vdr] [ANNOUNCE] VDR developer version 1.5.7
Anssi Hannula
anssi.hannula at gmail.com
Sun Aug 19 10:46:34 CEST 2007
Udo Richter wrote:
> Klaus Schmidinger wrote:
>> VDR's locale files are named like "de_DE" (language_COUNTRY).
>> There's no "@euro" or other stuff added to the names. VDR needs to
>> know which files it actually has at its disposal, in order to
>> present to the user a list of all available languages. It makes
>> no sense to present a language that in the end isn't available.
>
> I guess the working way would be to parse (or build) the list of locale
> -a, as they are definitely the present locales, and then check which one
> of them matches a VDR translation file. In my case, de_DE at euro uses the
> existing translation de_DE as fallback, and would be a valid selection.
>
> Such a solution still has obstacles, like multiple possible locales for
> one real translation, and things like 'C' locale for English.
Well, AFAIK it doesn't matter which one of the multiple possible locales
you select, it won't affect the translation, so this is not a problem :)
And for the C locale, I don't see the problem. Actually,
I18N_DEFAULT_LOCALE should be "C", as "en_US" is invalid in many
systems. Dunno if "en_US" causes problems somewhere, but it might.
AFAICS the solutions to the current problems would be:
(1) Put all VDR translation *.mo files in $LOCDIR/xx/LC_MESSAGES, where
xx is the language code without territory et al. LOCDIR can be whatever,
/usr/share/locale, ~/vdr/locale etc.
(2) Check all the directories in $LOCDIR for vdr.mo.
(3) (a) Build a list of possible system locales by listing the system
locale dir (could be /usr/share/locale, /usr/lib/locale,
/usr/lib64/locale, depending on system; note that
/usr/share/locale may still contain the translations and they
are used even if it is not the system localedir).
or (b) Build a list of system locales by running "locale -a".
or (c) Hardcode a list of locale names to be tried.
(4) Of the listed locales, select one that matches xx*, with xx being
the language code of the VDR translation. If (3a) or (3c) was used, we
need to test if they really work, as not all subdirs in those dirs are
valid locales.
(5) Use iso-codes as pointed out by Wolfgang for the language name
translations.
I also sent a message to gettext developers about the issue.
--
Anssi Hannula
More information about the vdr
mailing list