【发布时间】:2011-07-23 12:49:14
【问题描述】:
我正在尝试用 cakePHP 开发一个数据库驱动的翻译网站。
当我将模型语言环境或 Config.language 设置为如下语言时:
Configure::write("Config.language", "de-de");
它从 i18n 表中加载 de_DE 的正确翻译。
我的问题是,如果另一行的翻译不存在,它不会返回任何内容。你有什么需要设置的,所以如果它没有找到任何东西,它会返回“默认”语言翻译或直接从模型中返回数据??
我认为一直检查是否返回数据以及是否始终将区域设置/语言设置更改为您想要的默认语言的工作量太大..
或者我做错了?
代码:
i18n 表中的数据:
id locale model foreign_key field content
2 de_DE Suite 4 description description in en_US for vilhena
3 en_US Suite 3 description description in en_Us for del Monte
4 en_US Suite 2 description description in en_Us for Pinto
5 en_US Suite 1 description description in en_Us for Hompesch
Configure::write("Config.language", "de-de");
$this->Suite->find("all");
返回
Array
(
[0] => Array
(
[Suite] => Array
(
[id] => 4
[name] => Vilhena
[enabled] => 1
[description] => description in en_US for vilhena
[locale] => de_de
)
)
)
【问题讨论】:
-
是的,默认行为是如果未找到翻译,则显示未翻译的字符串。如果你展示了一个不能正常工作的例子?
-
@Juhana - 感谢您的关注!我已经用 i18n 表中的数据、我正在使用的代码和我得到的结果更新了我的问题
标签: php cakephp internationalization translation