我的应用程序是使用wxWidgets编写的,但问题可能与使用gettext
一般有关。
对于名为app
的应用程序,某些来源建议我创建<lang>/
子目录,在翻译中创建app.po
文件,并将其转换为分布式app.mo
文件在子目录中。
另一种方法是创建app.pot
(即来自xgettext
的来源的模板),然后msginit
和msgmerge
创建<lang>.po
语言。
对于第一种方法,可以将更多.mo
个文件放在<lang>/
子目录中。此外,wxLocale::AddCatalog()
还会获取域名称(域名自然可以是app
,wxstd
等)。另一方面,<lang>.po
文件名本身就是描述性的 - 无论它位于何处。
这两种方法的优点和缺点是什么?是否有任何文字解释了要选择的路径?
感谢您的时间和经验,
彼得
答案 0 :(得分:2)
Unix惯例是将app.mo
用于二进制目录,请参阅/usr/share/locale
目录的内容。有时lang.po
用于源代码,如在wxWidgets本身中所做的那样(请参阅其locale
子目录),但它们仍然使用依赖于应用程序的名称安装到特定于语言的子目录中。