2012-03-23 8 views
19

どの言語のUnicode文字をアクセント付きのラテン文字に変換する方法を探しています。その意図は、外国人がラテン語以外のスクリプトで書かれた名前や言葉の発音を知ることを可能にすることです。ユニコードテキストのローマ字

例:ギリシャ

Romanize("Αλφαβητικός")戻り"Alphabētikós"(または "Alfavitikós")

日本語:Romanize("しんばし")戻り"shimbashi"(または "sinbasi")

ロシア:Romanize("яйца Фаберже")戻り"yaytsa Faberzhe"(または「jajcaFaberže ")

これは理想的には、CJK、インド語、キリル文字、セミトリ語、ギリシャ語の文字をサポートしているはずです。 Unicode Consortium、USA、EU、またはUNのいずれかのデータを使用して、データ駆動型で拡張可能である必要があります。コードは.NETやJavaで書かれたオープンソースでなければなりません。

このようなライブラリはありますか?

+0

私は、ICU変換を使用する地名のGoogle Mapsの翻字のようなものを探しています。 Googleがそのコードをオープンソースにしてほしい。 (http://research.google.com/pubs/pub36450.htmlとhttp://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//archive/papers/36450.pdf) –

+0

Iこの操作もロケール固有のものだと考えられます。ウェールズ語とピンインは同じ文字を使用しますが、多分ローマ字化します:-) – wberry

+2

@wberry:ウェールズ語はラテン語のスクリプトをネイティブに使用し、ピンインはすでにローマ字の中国語です。 –

答えて

6

http://unidecode.codeplex.com/このネットライブラリを使用できます。

使用方法;

using BinaryAnalysis.UnidecodeSharp; 

....................................... 

string _Greek="Αλφαβητικός"; 
MessageBox.Show(_Greek.Unidecode()); 

string _Japan ="しんばし"; 
MessageBox.Show(_Japan.Unidecode()); 

string _Russian ="яйца Фаберже"; 
MessageBox.Show(_Russian.Unidecode()); 

私は、あなたにはうれしいです。

+1

ありがとうございます。これはまさに私が探していたものです。 –

+0

+1、私はちょうど、PythonとPerlにライブラリのポートがあることに注意したい –

+0

ありがとう、私はdllをダウンロードしましたが、Unidecode()はまだどんな文字列でも認識されていませんでした。私はこのBinaryAnalysisを使用して追加しなければならないことを知らなかった... – Veverke

6

ICU以外のオープンソースソリューションは認識していません。 ICUがあなたのために働くならば、素晴らしい。もしそうでなければ、私はこの目的のために中国語の単語、日本語の複数の読み、アラビア語の不完全な表記のような厄介なケースに対処できる商業生産物を販売する会社のCTOです。

+1

+1 http://userguide.icu-project.org/transforms/general – stephan

13

問題はあなたが考えるよりもはるかに複雑です。

ギリシャ語、キリル文字、インド系スクリプト、グルジア - >もう少しの努力でなんとか
日本語の漢字、中国語 - - >これらは/アルファベットではありません>些細な、あなたは
時間にタイ、日本語の仮名そのプログラム可能性がありあなたが実際に字を翻訳しているわけではないので、うまくいけば大きな辞書(EDICTとCCDICTはうまくいくはずです)の各記号の発音を調べています。文脈を考慮して、特に日本語で
韓国語 - >技術的にはアルファベットですが、コンピュータは構成された文字のみを扱うことができるので、別の大きなデータベースが必要です。
アラビア語、ヘブライ語 - >言語は短い母音を書き留めないので、あなたの音訳は "bytlhm"(ベツレヘム)のように読めないものになります。私は、アラビア語やヘブライ語を発音にマッピングする大きなデータベースは認識していません。

+0

彼はアラビア語やヘブライ語を求めませんでした。 – bmargulies

+3

実際に彼はそれをしました。 「それは理想的には、以下のスクリプトの文字をサポートしなければなりません:CJK、インド、キリル文字、セミト語、ギリシャ語」 - >アラビア語とヘブライ語は最も広く話されているセム語の言語です。 – Sprachprofi

+0

真。あまりにも速く読む。 – bmargulies

関連する問題