我终于设法建立了一个多语言的 cakephp 网站。虽然没有完成,但这是我第一次可以在引导程序中更改 DEFAULT_LANGUAGE 并且我可以看到要更改的语言。
我现在的问题是我不能很好地理解如何正确使用 po 文件。根据我使用过的教程,我需要创建一个文件夹/app/locale,并在该文件夹内为每种语言创建一个文件夹,格式如下:/locale/eng/LC_MESSAGES。
我已经做到了,我还设法使用 cake i18n extract 提取了一个 default.pot 文件。似乎所有出现的 __() 函数都已成功找到。
在我的应用程序中,我使用 2 种语言:eng 和 gre。我明白为什么每种语言都需要一个单独的文件夹。但是,在我的情况下,当我编辑每个文件夹中的 po 文件时,什么都没有发生……几乎什么都没有。如果我编辑 /app/locale/ gre /LC_MESSAGES/default.po 我没有语言更改。如果我编辑 /app/locale/ eng /LC_MESSAGES/default.po ,则语言会更改为新值(在翻译字段上)并且不会切换到其他语言。
我究竟做错了什么。 我希望我尽可能清楚地说明自己。