2011-07-27 8 views
6

数字を他の言語の数字に変換したいのですが、どうすればいいですか?numbers charcodeを別の言語に変換する

可能な限り多くの言語(Google翻訳対応言語)をサポートしたいと考えています。私は読んでいて、これは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; 
} 

答えて

9

あなたは基本的にすでに問題を解決しましたが、他の数字文字が存在する場所を見つけるためにUnicode標準を調べるだけで済みます。 Code Chartsをチェックするか、文字の範囲としてWikipediaを使用してください。しかし、注意すべき点がいくつかあります。

すべての言語/文化が小数点位置番号システムを使用しているわけではありませんが、現存するものはほとんどあります。数字の記号が正しいかどうかを確認するために、数字記号が西方と同じ方法で使用されていることを確認する必要があります。私が知っている限り、日本人や韓国人の数字は、別のシステムを使って書かれていますが、西洋と同じように他の文脈で西数字を使用しています。あなたは正しく動作するシステムを持っていることを確認するために、これをすべて検証する必要があります。

しかし、技術的な翻訳の観点からは、別のスクリプトで西洋の数字を数字に変換しようとしているだけであれば、それは分かります。

ETA:コメントに関しては、traditional Hebrew numbersの場合を考えてください。数字は単位+数十+数百(右から左に読むときは実際には数百+数十+単位)で形成されます。だから456は400 + 50 + 6、ヘブライ語ではתנוになります。

+0

いいえこれは私のコードではありません。私は他のいくつかのウェブサイトから入手して、ここに例の使用法を追加しました。 OKは私がヘブライ数字を追加したいと言っています、あなたが与えたコードチャートからそれをどうやって行えますか? – Basit

+0

このリンクを確認してくださいhttp://www.i18nguy.com/unicode/hebrew-numbers.html。伝統的なヘブライ数字は位置的ではなく、相加的ではないようですので、あなたはローマ数字のようにそれらを構築します。現代のヘブライ語の数字は、西数字を使用して行われます。 –

+0

一番最後のものです。あなたが提供したコードチャートのリンク、そのほとんどが文字です。コードチャートの別のリンクを提供することができます、それは利用可能な言語のほとんどのための数字も提供します。 – Basit

2

多くの言語の一般的な解決策があるとは確信していません。私はよく理解していませんが、人々がヘブライ語の議論で指摘しているように、文字が異なる場合、順序や解釈はおそらく異なるでしょう。あなたが小学校で学んだように、ローマ数字への簡単な翻訳がありますが、文字から文字への変換だけではありません。特定の言語をターゲットにして、専門家(またはウィキペディア)に相談してそれぞれのコードを作成する必要があると思います。

私はおそらくgoogle translateがこれを行う方法を知っていると思ったが、それはquick checkからではないようだ。私が間違っているなら私を訂正してください。それはするのは簡単ですroman numeralsTamilArabicDevanagariBengaliGurmukhiGujaratiThaiTibetanMongolianHangzhouなど:

しかし、ここでは、単なる音訳されている言語の品揃えのためのユニコード番号であるもののために

私が書いたこのユーティリティを使用してもっと見つけてください。

+0

グーグルは数字を翻訳してはいけません。そうでなければ、私たちは自分自身を書くことを心配していませんでした。 btwあなたのユーティリティは本当に良いです、私は本当にそれが好きです。私はサポートされている言語の完全なリストをどのように見つけることができるのですか?私はそれらも調べることができます..私はdidntの仕事をアラビア語で入力しようとしました、彼らはそれが表示されるために特別なユニークな名前が必要です。名前の完全なリスト。 – Basit

関連する問題