2

我正在使用GoogleTranslate()表格将一些内容翻译成不同的语言。在这些内容中,我们有一些不需要翻译的占位符。例如:

This is a Sample Text added by `{__NAME__}` on `{__DATE__}`

我不需要翻译和 之类的占位{__NAME__}{__DATE__}

如何从翻译过程中跳过这些单词?

4

2 回答 2

3
=ARRAYFORMULA(QUERY(IFERROR(VLOOKUP(TRANSPOSE(SPLIT(GOOGLETRANSLATE(QUERY(
 REGEXREPLACE(TRANSPOSE(SPLIT(A1, " ")), "\{.*\}", "♦"),, 999^99), "en", "es"), " ")),
 {REGEXREPLACE(TRANSPOSE(SPLIT(A1, " ")), "\{.*\}", "♦"), TRANSPOSE(SPLIT(A1, " "))}, 2, 0),
 TRANSPOSE(SPLIT(GOOGLETRANSLATE(QUERY(REGEXREPLACE(
 TRANSPOSE(SPLIT(A1, " ")), "\{.*\}", "♦"),,999), "en", "es"), " "))),,999^99))

0

于 2019-05-02T23:41:57.517 回答
2

最后找到一种方法,因为 gtranslate 不翻译电子邮件地址似乎合乎逻辑,您可以轻松地使用电子邮件模式保护单词:

例如,将以下句子从 en 翻译为 ru:“我需要 %amount% of cherry”

从 en 到 ru 的原始翻译使用:=GOOGLETRANSLATE(A3,"en", "ru")

"Мне нужно% Сумма% вишни"

步骤 1:将 %amount% 替换为 skip@skip.amount.skip.com :

=GOOGLETRANSLATE(REGEXREPLACE(A3, "%(.*?)%", "skip@skip.$1.skip.com"),"en", "ru")

Мне нужно skip@skip.amount.skip.com вишни

Step2 : 用%amount% 替换回skip@skip.amount.skip.com,

=REGEXREPLACE(GOOGLETRANSLATE(REGEXREPLACE(A5, "%(.*?)%", "skip@skip.$1.skip.com"),"en", "tr"), "(?i)skip@\s*skip.(.*?).skip.com", "%$1%")

Мне нужно %amount% вишни

于 2021-05-03T09:25:21.773 回答