数字charcode转换成另一种语言数字

Bas*_*sit 6 javascript localization

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

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

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

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;
}
Run Code Online (Sandbox Code Playgroud)

G G*_*III 9

你基本上已经解决了这个问题,你只需要查看Unicode标准就可以找到其他数字字符所在的位置.您可以查看代码图表或仅使用Wikipedia作为字符范围.但要注意一些有趣的事情:

并非每种语言/文化都使用小数位数系统,尽管大多数现存的系统都使用.您需要验证数字符号的使用方式与西方相同,以确保您的数字符号正确无误.据我所知,日语或韩语的数字是使用不同的系统写出来的,但他们在其他环境中使用西方数字的方式与西方相同.您需要验证所有这些以确保您拥有正确工作的系统.

但是从技术翻译的角度来看,假设你只是想将西方数字转换为另一个脚本中的数字,那么你已经弄明白了.

ETA: 在评论时,请考虑传统希伯来语数字的情况.数字形成单位+数十+数百(实际上数百+数十+单位,从右到左阅读).所以456变成400 + 50 + 6,或者希伯来语,תנו.