我使用PHP Gettext扩展来本地化Web应用程序。当你这样做时:
bindtextdomain("example", "/locales");
如果您将语言环境设置为fr_FR,它将在以下位置查找MO:
/locales/fr_FR/LC_MESSAGES/example.mo
有没有办法自定义该路径?例如,我想使用以下结构:
/locales/example.fr_FR.mo
答案 0 :(得分:7)
目录结构由gettext修复。
由于必须存储许多不同包的许多不同语言,我们需要一些方法将这些信息添加到文件消息目录文件中。 Unix环境中通常使用的方法是在文件名中使用此编码。这也是在这里完成的。 bindtextdomains第二个参数(或默认目录)中给出的目录名称,后跟区域设置的名称,区域设置类别和域名是连接的:
DIR_NAME /区域/ LC_category / domain_name.mo