gpt4 book ai didi

python - Gettext:消息目录的不同路径

转载 作者:太空宇宙 更新时间:2023-11-03 23:48:25 26 4
gpt4 key购买 nike

在使用 gettext 提供国际化支持的 Python 应用程序中,我想将 *.mo 消息目录的路径更改为 po/language.mo 而不是默认的 localedir/language/LC_MESSAGES/domain.mo,因为我想使用 Launchpad 的翻译界面,这需要这个命名方案(至少据我所知 [1])。

但是,在阅读了模块文档之后,我似乎无法找到一种方法来完成此操作而不对 gettext 模块进行猴子修补。是否有“官方”方式来做到这一点?

[1] https://help.launchpad.net/Translations/YourProject/Exports


编辑:想了想,Launchpad-integration实际上不需要更改路径,因为它只关心*.po文件,而不关心编译后的*.mo文件。不过,我的问题仍然存在,因为如果应用程序尽可能少地乱用系统目录会很好(特别是考虑到它是一个在 *nix、Windows 和 OS X 上运行的多平台应用程序)。

最佳答案

我对 PHP 提出了同样的问题,但答案在于底层的 gettext api。无法更改目录的路径。

目录结构由gettext固定。

Because many different languages for many different packages have to be stored we need some way to add these information to file message catalog files. The way usually used in Unix environments is have this encoding in the file name. This is also done here. The directory name given in bindtextdomains second argument (or the default directory), followed by the name of the locale, the locale category, and the domain name are concatenated:

dir_name/locale/LC_category/domain_name.mo

参见:PHP Gettext: how to change the default MO path after setting the path of the domain?

关于python - Gettext:消息目录的不同路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7529346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com