为了翻译我的PHP应用程序,我在gettext模块中使用了compile。这是根据文档进行翻译的目录树:

locale/
  cs_CZ/
    LC_MESSAGES/
       messages.po
       messages.mo
  de_DE/
    LC_MESSAGES/
       messages.po
       messages.mo
  fr_FR/
    LC_MESSAGES/
       messages.po
       messages.mo

问题:是否可以摆脱LC_MESSAGES目录?如果使用这种结构,PHP能够找到翻译吗?
locale/
  cs_CZ/
     messages.po
     messages.mo
  de_DE/
     messages.po
     messages.mo
  fr_FR/
     messages.po
     messages.mo

我的PHP可以转换翻译:
<?php
    setlocale(LC_ALL, 'fr_FR.UTF-8');
    bindtextdomain("messages", "locale");
    bind_textdomain_codeset("messages", 'UTF-8');
    textdomain("messages");
?>

先感谢您。

最佳答案

唯一可行的解​​决方法是在每个语言子目录中创建一个符号链接(symbolic link)LC_MESSAGES -> .。 (但是,这会使PHP应用程序的安装复杂化。FTP很少可以创建符号链接(symbolic link)。)

10-06 04:19
查看更多