如何找到丢失或未使用的翻译消息吗
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 5.1,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
如何找到丢失或未使用的翻译消息吗
维护应用程序或包时,您可以添加或删除翻译消息,忘记更新消息目录。的调试:翻译
命令帮助你发现这些失踪或未使用的翻译消息模板:
1 2 3 4
{#消息可以发现当使用反式过滤器和标签#}{%反式%}ob娱乐下载Symfony是伟大的{%endtrans%}{{Syob娱乐下载mfony是伟大的”|反式}}
谨慎
外面的萃取器找不到消息翻译模板,如表单标签或控制器。动态模板中使用变量或表达式的翻译不是检测:
1 2 3
{#这个翻译使用一根树枝变量,所以它不会被探测到#}{%集消息= ' Symfoob娱乐下载ny是伟大的' %}{{消息|反式}}
假设您的应用程序的default_localefr
你已经配置了在
作为后备区域(见翻译和翻译如何配置这些)。假设你已经安装的一些翻译fr
地区:
- XML
- YAML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12
< !——翻译/ messages.fr.xlf - - >< ?xml version = " 1.0 " ? ><xliff版本=“1.2”xmlns=“urn: oasis:名称:tc: xliff文档:1.2”><文件通过读=“en”数据类型=“明文”原始=“file.ext”><身体><trans-unitid=“1”><源>ob娱乐下载Symfony是伟大的< /源><目标>我Symfonob娱乐下载y< /目标>< /trans-unit>< /身体>< /文件>< /xliff>
1 2
#翻译/ messages.fr.yamlob娱乐下载Symfony是伟大的:我ob娱乐下载
1 2 3 4
/ /翻译/ messages.fr.php返回(Sob娱乐下载ymfony是伟大的= >“J \”艾梅Syob娱乐下载mfony”,);
和在
地区:
- XML
- YAML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12
< !——/ messages.en翻译。xlf - - >< ?xml version = " 1.0 " ? ><xliff版本=“1.2”xmlns=“urn: oasis:名称:tc: xliff文档:1.2”><文件通过读=“en”数据类型=“明文”原始=“file.ext”><身体><trans-unitid=“1”><源>ob娱乐下载Symfony是伟大的< /源><目标>ob娱乐下载Symfony是伟大的< /目标>< /trans-unit>< /身体>< /文件>< /xliff>
1 2
#翻译/ messages.en.yamlob娱乐下载Symfony是伟大的:ob娱乐下载是伟大的
1 2 3 4
/ /翻译/ messages.en.php返回(Sob娱乐下载ymfony是伟大的= >Sob娱乐下载ymfony是伟大的,);
检查中的所有消息fr
语言环境的应用程序,运行:
1 2 3 4 5 6 7
美元php bin /控制台调试:翻译fr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -国家Id信息预览(fr)撤退消息预览(en) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ob娱乐下载- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -未使用Symfony是伟大的J”艾米Symob娱乐下载fony Symfony是伟大的- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
它显示了一个表结果当翻译的消息fr
语言环境,结果当回退的地区在
将被使用。除此之外,它还将向您展示当翻译是一样的回退翻译(这可能表明消息不正确翻译)。此外,它表明该消息ob娱乐下载Symfony是伟大的
是未使用的,因为它是翻译,但是你还没有在任何地方使用它。
现在,如果你把消息在你的一个模板,你会得到这个输出:
1 2 3 4 5 6 7
美元php bin /控制台调试:翻译fr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -国家Id信息预览(fr)撤退消息预览(en) - - - - - - - - - - - - - - - - - - - - - - - - - - - -ob娱乐下载 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Symfony是伟大的J”艾米Symob娱乐下载fony Symfony是伟大的- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
状态为空这意味着信息是翻译的fr
语言环境和使用的一个或多个模板。
如果你删除消息ob娱乐下载Symfony是伟大的
从你的翻译文件fr
语言环境和运行该命令,你将得到:
1 2 3 4 5 6 7
美元php bin /控制台调试:翻译fr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -国家Id信息预览(fr)撤退消息预览(en) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ob娱乐下载 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -失踪Symfony是伟大的Symfony是伟大的Symfony是伟大的- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
状态指示消息丢失,因为它没有翻译fr
地区但它仍然是在模板中使用。此外,消息的fr
语言环境等于的消息在
语言环境。这是一个特例,因为翻译消息id等于其翻译在
语言环境。
如果你复制翻译文件的内容在
现场的翻译文件fr
语言环境和运行该命令,你将得到:
1 2 3 4 5 6 7
美元php bin /控制台调试:翻译fr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -国家Id信息预览(fr)撤退消息预览(en) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ob娱乐下载- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -回退Symfony是伟大的Symfony是伟大的Symfony是伟大的- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
你可以看到消息的翻译是相同的fr
和在
地区这意味着这个消息可能是复制从英语到法语和也许你忘记翻译了。
默认情况下,所有域进行检查,但它是可以指定单个域:
1
美元php bin /控制台调试:翻译en -域=消息
当应用程序有很多信息,它是有用的只显示未使用或只失踪的消息,通过使用——only-unused
或——唯一丧失
选项:
1 2
美元php bin /控制台调试:——only-unused翻译美元php bin /控制台调试:翻译en -唯一丧失
调试命令退出代码
的退出代码调试:翻译
命令取决于翻译的状态变化。使用以下公共常量来检查:
1 2 3 4 5 6 7 8 9 10 11 12 13
使用ob娱乐下载\包\FrameworkBundle\命令\TranslationDebugCommand;/ /通用的故障(如没有翻译)TranslationDebugCommand::EXIT_CODE_GENERAL_ERROR;/ /有失踪的翻译TranslationDebugCommand::EXIT_CODE_MISSING;/ /未使用的翻译TranslationDebugCommand::EXIT_CODE_UNUSED;/ /使用回退一些翻译的翻译TranslationDebugCommand::EXIT_CODE_FALLBACK;
这些常量定义为“面具”,所以你可以将它们组合如下:
1 2 3
如果(TranslationDebugCommand::EXIT_CODE_MISSING | TranslationDebugCommand::EXIT_CODE_UNUSED) {/ /……有丢失和/或未使用的翻译}
5.1
退出代码在Symfony 5.1中引入的ob娱乐下载