如何找到丢失或未使用的翻译消息吗

编辑该页面

如何找到丢失或未使用的翻译消息吗

维护应用程序或包时,您可以添加或删除翻译消息,忘记更新消息目录。的调试:翻译命令帮助你发现这些失踪或未使用的翻译消息模板:

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 " encoding = " utf - 8 " ? ><xliff版本=“1.2”xmlns=“urn: oasis:名称:tc: xliff文档:1.2”><文件通过读=“en”数据类型=“明文”原始=“file.ext”><身体><trans-unitid=“1”><>ob娱乐下载Symfony是伟大的< /><目标>我Symfonob娱乐下载y< /目标>< /trans-unit>< /身体>< /文件>< /xliff>

地区:

  • XML
  • YAML
  • PHP
1 2 3 4 5 6 7 8 9 10 11 12
< !——/ messages.en翻译。xlf - - >< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><xliff版本=“1.2”xmlns=“urn: oasis:名称:tc: xliff文档:1.2”><文件通过读=“en”数据类型=“明文”原始=“file.ext”><身体><trans-unitid=“1”><>ob娱乐下载Symfony是伟大的< /><目标>ob娱乐下载Symfony是伟大的< /目标>< /trans-unit>< /身体>< /文件>< /xliff>

检查中的所有消息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) {/ /……有丢失和/或未使用的翻译}
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。
ob娱乐下载Symfony 6.2支持通过苏禄人
ob娱乐下载Symfony 6.2支持通过Les-Tilleuls.coop