I believe distribution packagers of VDR (at least myself) will want to
install the VDR locale files into the standard directory under
/usr/share/locale/, where all other locale files are.
However, as that directory may contain lots of other locales that do not
have translation for VDR (or possibly only for some plugin of VDR, which
applies to a custom localedir as well), those show up in the OSD
Language selection menu as "LanguageName$English".
Also, it could also be possible that the I18N_MAX_LANGUAGES = 256
constant could be too small for some systems. I guess it could be
modified to limit only the locales that have VDR translation, not the
total locale count in the system.
> +void I18nRegister(const char *Plugin)
> +{
> + bindtextdomain(Plugin, I18nLocaleDir);
> +}
[...]
> + if (Plugin)
> + t = dgettext(Plugin, s);
Maybe it would be better to use something like vdr-PLUGIN or
vdr-plugin-PLUGIN?
If the translations are installed into /usr/share/locale, the files of
VDR plugins could conflict with other programs that have the same name,
if the plugin translation files are not prefixed by anything.
--
Anssi Hannula