【问题标题】:Yii2: How to change a system message translation fileYii2:如何更改系统消息翻译文件
【发布时间】:2020-01-09 15:22:44
【问题描述】:

问题

Yii 为系统消息提供自己的翻译,例如“文件上传失败”被翻译为“Das Hochladen der Datei ist gescheitert”。当我网站上的语言更改为德语时。这很好,但有些翻译在语法上不正确,我想更改它们。

我找到了 yii 用于处理翻译的消息文件:yiisoft>yii2>messages>de>yii.php,但我无法对其作为供应商目录的一部分进行更改,并且我所做的任何更改都将在翻译期间被覆盖下一个 yii 更新。

我的尝试

我已尝试按照用户在此处列出的说明进行操作:https://forum.yiiframework.com/t/translating-system-messages/29733。这涉及复制yii.php,将其放入新目录,进行所需的翻译更改,然后在配置中将coreMessages 指向它。我已经遵循了所有这些步骤,但它似乎并没有真正为我做任何事情。

【问题讨论】:

标签: php yii yii2 internationalization translation


【解决方案1】:

正如Guide 中所述:

Yii 带有验证错误和一些其他字符串的默认翻译消息。这些消息都在类别 yii 中。有时您想更正应用程序的默认框架消息翻译。为此,请配置 i18n application component,如下所示:

'i18n' => [
    'translations' => [
        'yii' => [
            'class' => 'yii\i18n\PhpMessageSource',
            'sourceLanguage' => 'en-US',
            'basePath' => '@app/messages'
        ],
    ],
],

现在您可以将调整后的翻译放到@app/messages/<language>/yii.php


顺便说一句 - 你提到了

[...] 翻译在语法上不正确 [...]

如果你能解决这个问题,这对 Yii 2 及其社区来说会很棒 - 请 fork this file 并发送 PR。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-20
    • 2016-01-22
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    相关资源
    最近更新 更多