首页 > 解决方案 > 马拉地语列数据翻译成英文

问题描述

我的表中存储了一些马拉地语OwnerNames,我想在 API 中将其翻译成英语。

我正在使用 c# mvc API

标签: c#sqlsql-serverasp.net-mvc

解决方案


如果你想要一个实际的翻译(比如近似英语的意思),你需要一个专业的翻译(推荐),或者你可以通过调用谷歌翻译微软翻译API 来获得一个近似的翻译。

但是,根据您对人名的用例,听起来您想要的是将马拉地语字符音译成英语字母中的声音的近似值,而不是翻译成英语。如果是这种情况,您可能会根据Wikipedia使用的方法松散地编写一个函数。

维基百科的 mr-translit 模块实现的代码是一系列使用连续 Regex.Replace 操作进行字符串替换的规则。请注意,代码是用 PHP 编写的,但通过将规则翻译成 C# 来模仿他们的方法应该不会太难。他们的示例中有太多规则,我无法尝试翻译这里的整个代码,但他们采取的方法是规范化一些组合的变音符号模式,然后尝试识别不同的单词,并连续替换模式直到所有剩下的是罗马字。最后,该字符串以 Unicode 规范化表格 C 的形式返回(大概是在其中有其他非马拉地语字符的情况下)。在 .Net 中,这是 String.Normalize 方法;在维基百科的 PHP 代码中,它看起来像 mw.ustring.toNFC(text)


推荐阅读