我正试图使用深度翻译库将Stellaris游戏文件翻译成土耳其语。
toBeTranslated = "Scans indicate the presence of a foreign, alien-made object on one of §H[Root.GetName]'s§! many frozen mountain tops."
translated = GoogleTranslator(source='en', target='tr').translate(text=toBeTranslated)问题是,它也将转换变量。在这种情况下,变量是介于和。其他变量可以在§和§之间。因此,在这种情况下,我不希望字符串§HRoot.GetName的§被翻译,但是其他的东西都应该被翻译。我怎样才能做到这一点?
发布于 2022-09-09 02:08:59
试试这种方法:
strings.
见下面的代码:
import re
regex_exp = r"([\s\S]*?)(\§.+\§|\[.+\])([\s\S]*?$)"
text = "Scans indicate the presence of a foreign, alien-made object on one of §H[Root.GetName]'s§! many frozen mountain tops."
result = re.search(regex_exp, text)
trans_group1 = GoogleTranslator(source='en', target='tr').translate(text=result.group(1))
trans_group3 = GoogleTranslator(source='en', target='tr').translate(text=result.group(3))
#result.group(2) is the excluded value
translated_text = trans_group1 + result.group(2) + trans_group3https://stackoverflow.com/questions/73620922
复制相似问题