翻译预防机制不起作用

时间:2019-11-18 13:57:12

标签: microsoft-translator

作为一个例子,我想将“ Azure Machines的概述”翻译为“ de”,其中不应翻译“ Azure Machines”,但是存在一些问题。

这是与我有关的the documentation

通过@#转义单个单词有效。

不翻译句子或句子的一部分不会:

Input (plain): Overview of <span class="notranslate">Azure Machines</span>
Output       : Übersicht über die Option "span class="notranslate">Azure Machines</span>
Issue        : Opening angle bracket removed

Input (HTML) : Overview of <span class="notranslate">Azure Machines</span>
Output       : --- This is the only combination that works but not documented. ---
Issue        : --- This is the only combination that works but not documented. ---

Input (plain): Overview of <div class="notranslate">Azure Machines</div>
Output       : Übersicht über die Datei »div class="notranslate">Azure Machines</div>
Issue        : Opening angle bracket replaced

Input (HTML) : Overview of <div class="notranslate">Azure Machines</div>
Output       : Übersicht über<div class="notranslate">Azure Machines</div>
Issue        : Space before opening angle bracket removed

注意:文档已经updated,现在说class="notranslate"情况仅适用于HTML(因此Input (plain)示例现在不在范围内这里)。

以下问题仍然存在:

  • 为什么在上一个示例中删除了空格?基本上,这对我们来说是一个障碍。
  • class="notranslate"是否可以在每个HTML标签上使用?例如,如果我有一个表<table class="notranslate">...</table>。如果是这样,应该在文档中相应地反映出来。
  • 我想在<mstrans:dictionary translation="translation of phrase">phrase</mstrans:dictionary>模式下支持动态字典语法(textType: plain),为什么<something class="notranslate">phrase</something>不能这样?

对于那些“不翻译”的场景,我不想使用字典语法,因为它会导致字符数急剧增加,从而增加成本。

还有一个与问题无关的旁注:将其命名为“ Twitter标记”确实很奇怪。它与Twitter无关。这只是两个可能的转义前缀字符。

1 个答案:

答案 0 :(得分:1)

文档明确指出,这仅适用于html模式。您需要使用no-translate标记来不翻译句子的一部分。

仅支持div和span,并非所有html标签。另外,您不应该在no-translate标记之外重复不想转换的内容。 在您的示例中,span保留了空间。

Overview of <span class="notranslate">Azure Machines</span>

Übersicht über <span class=\"notranslate\">Azure Machines</span>

  

这是设计使然,仅当输入textType设置为   HTML