【问题标题】:Getting 'default' translation for a translation that doesn't exist为不存在的翻译获取“默认”翻译
【发布时间】: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


【解决方案1】:

必须是 Configure::write("Config.language", "de-DE");

【讨论】:

    猜你喜欢
    • 2017-12-21
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2019-01-21
    • 1970-01-01
    • 2019-04-13
    • 2016-06-15
    相关资源
    最近更新 更多