Javascript 数字字符码转换成另一种语言的数字

Javascript 数字字符码转换成另一种语言的数字,javascript,localization,Javascript,Localization,我想把数字转换成其他语言的数字,我该怎么做 我希望能够支持尽可能多的语言(谷歌翻译支持的语言)。我一直在阅读,我相信这可以通过charcode实现 下面是我从一些Javascript应用程序复制的一些代码,但它只支持两种语言 TextTools.arabicNumber = function (str) { var res = String(str).replace(/([0-9])/g, function (s, n, ofs, all) { return String

我想把数字转换成其他语言的数字,我该怎么做

我希望能够支持尽可能多的语言(谷歌翻译支持的语言)。我一直在阅读,我相信这可以通过charcode实现

下面是我从一些Javascript应用程序复制的一些代码,但它只支持两种语言

TextTools.arabicNumber = function (str) {
    var res = String(str).replace(/([0-9])/g, function (s, n, ofs, all) {
        return String.fromCharCode(0x0660 + n * 1);
    });
    return res;
}
TextTools.farsiNumber = function (str) {
    var res = String(str).replace(/([0-9])/g, function (s, n, ofs, all) {
        return String.fromCharCode(0x06F0 + n * 1);
    });
    return res;
}

您已经基本上解决了这个问题,只需查看Unicode标准就可以找到其他数字字符的位置。您可以签出或仅用于字符范围。不过,有一些有趣的事情需要注意:

并非所有语言/文化都使用十进制位置数字系统,尽管大多数现存语言/文化都使用十进制位置数字系统。您需要验证数字符号的使用方式是否与西方相同,以确保其正确。据我所知,日本或韩国的数字是用不同的系统写出来的,但在其他情况下,它们使用西方数字的方式与西方相同。您需要验证所有这些,以确保系统正常工作

但是从技术翻译的角度来看,假设你只是想把西方数字转换成另一个脚本中的数字,你已经搞定了


<强>η:< /强>参考注释,请考虑。数字的形式为单位+十+百(从右向左读取时,实际上是百+十+单位)。所以456变成了400+50+6,或者用希伯来语,תנו。

我不确定很多语言都会有一个通用的解决方案。我没有很好的理解,但正如人们在希伯来文讨论中指出的,如果字符不同,顺序或解释可能不同。正如你在小学学到的,罗马数字有一个简单的翻译,但这不仅仅是一个字符到字符的转换。我认为您需要针对特定的语言,并咨询专家(或维基百科)为每种语言构建代码

我想google translate可能知道怎么做,但看起来他们根本不知道。如果我错了,请纠正我


但是对于那些仅仅是音译的,这里是各种语言的unicode数字:,,,,,,等等。使用我编写的这个实用程序很容易找到更多信息。

不,这不是我的代码,我是从其他网站获得的,并添加到这里,例如用法。好吧,让我们假设我想添加希伯来语数字,如何从您提供的代码表中添加?请查看此链接。传统的希伯来数字似乎不是位置数字,而是加法数字,所以你可以像罗马数字一样构建它们。现代希伯来数字是用西方数字来表示的。最后一件事。你提供的代码表链接,大部分是字母。你能提供不同的代码表链接吗,它也给出了大多数可用语言的数字。还要记住,在许多欧洲语言中,“.”和“.”的含义相反,所以英语中的数字1123456.12在法语、意大利语或西班牙语中是1.123.456,12谷歌不翻译数字,否则我们就不用担心写自己的了。顺便说一句,你的实用程序真的很好,我真的很喜欢它。但是有一件事,我怎样才能找到支持的语言的完整列表,这样我也可以查看它们。。我试着输入阿拉伯语,但没用,他们需要特殊的uniqe名称才能显示出来,所以我想知道完整的名称列表在哪里。