使用微软翻译api转换人名不翻译
本文关键字:翻译 转换 api 微软 | 更新日期: 2023-09-27 18:01:30
我打电话给微软翻译把阿拉伯名字转换成英语但是它会转换名字,我只想转换名字
例如:أحمدماهر
必须是Ahmed Maher
服务正在工作,但它会翻译名字的含义而不仅仅是名字
我不知道其他语言,但对于你的例子أحمد ماهر = Ahmed Maher我所知道的是罗马化对它不起作用
为什么?由于词形的变化和字母的"移动"这使得一个字母的发音不止一种。例如
مَح = Mahمُح = Muh
相同的字母,但发音不同。
我制定的解决方案是转换名称的规则你可以找到我制作的代码和npm包。如果你有任何问题,问题或你试图理解阿拉伯语的规则,我将很乐意帮助。
请查看下面以了解更多转换阿拉伯名称所需的规则:
首字母规则我正在检查字母是否是第一个字母,因为如果字母"是第一个字母,人们倾向于把它写为"W",但如果它在单词内部,它将被写为"O"。
内部字母规则我指的是所有不是第一个也不是最后一个的字母,它会根据字母的变化而变化,就像第一个图像,"将等于"H"
下一个字母规则在这个规则中,我检查了这封信和即将到来的那封信。就像如果这个字母是",下一个字母是",那么应该写成"。如果这个字母是",下一个字母是",那么应该写成"May"。特殊字母规则它看起来像下一个字母规则但它会包含另一个动作,比如" slice "例:在"首字母规则"中,我说过单词中的"会被转换成"O"。ا"。";我需要删除"O",用"w"代替",然后用"a"代替",但如果下一个字母是……我相信这个规则可以加强,但它很重要。
最后一个字母规则如果没有此规则,名称"Sarah"将从阿拉伯语转换为"Sara"。该规则检查最后一个字母是否为" " " ",如果是,则添加" "以完成名称
听起来你想要一个字符替换,而不是一个真正的翻译器。您可以使用String.Replace
构建自己的音译器。
有人问了一个关于将西里尔字母音译为拉丁语的类似问题:如何将西里尔字母音译为拉丁文本
如果是在网站上,您可以在Widget中启用协作翻译框架功能,并使用该功能将翻译"覆盖"到名称中。
如果你正在构建一个应用程序,API也支持这个。
小部件文档在这里:http://blogs.msdn.com/b/translation/p/ctf1.aspx这里:http://blogs.msdn.com/b/translation/p/ctf2.aspx