gpt4 book ai didi

CakePHP 2.x 翻译后备

转载 作者:行者123 更新时间:2023-12-02 17:01:07 24 4
gpt4 key购买 nike

我需要在翻译中进行后备。

如果我有 2 个翻译,例如:“eng”和“es”有些记录有两种翻译,有些只有一种或没有。我希望如果我这样做:

$this->Post->locale = ['es', 'eng'];
$results = $this->Post->find('first', array(
'conditions' => array('Post.id' => $id)
));

我将获得“es”翻译,如果“es”不可用,我将获得“eng”。但这似乎不起作用。如果我将 'locale' 设置为单个值 'eng' 或 'es' 它工作正常,但是当我设置 $this->locale = ['es', 'eng'];它似乎被忽略了,并且结果中没有进行任何翻译,只是模型表中的数据。

最佳答案

我遇到了同样的问题,但没有找到足够的解决方案,因此我使用了以下解决方法:

        if (!isset($data['Page']['content'])) {
// TRANSLATION NOT AVAILABLE or empty content -> take default lang
$this->Page->locale = Configure::read('Page.default_language');
$data = $this->Page->find('first', $options);
if (!isset($data['Page'])) {
// Not even the default translation found
throw new NotFoundException();
}
}

备注:“内容”字段是通过翻译行为进行翻译的字段。

关于CakePHP 2.x 翻译后备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34086521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com