2016-11-15 43 views
0

私はウルドゥー語の言葉からローマン英語の単語を翻字しようとしています。これとよく似ていますwebsite tool.私はicu4j transliteratorを使用しています。出力音訳は予期されていません。icu4j翻字英語からウルドゥー語

入力: "namaz"

出力: "نمز"

予想される出力: "نماز"

英語翻訳: "祈り" の下

は私のIDですインスタンスを取得する。

String id = "Eng-ur; NFD;"; 

誰かが私のidストリングのどこに問題があるか知っていますか????

+0

あなたはウルドゥー語をローマ字ウルドゥー語に変換することについて何かを見つけましたか? –

答えて

1

は、私はあなたのID文字列自体に問題はないと思います。 (おそらくen-urがが十分である - ?なぜ要求NFD)私は正確にنمازに文字列nmạz transliteratesことに注意してください。おそらく、音訳規則の改善の余地がありますか?

+0

返事をいただきありがとうございます。入力からアクセント記号を削除するためにNFDを使用しましたが、大丈夫です.NFDを削除しても同じ出力が得られます。次に、音訳ルールを改善するにはどうすればよいですか。どちらも私はそれらを改善する方法を知っていない私はそれがicu4jによって管理されていると思うの原因私は正しい場合。 –

+0

NFDはアクセント文字を削除するものではなく、単なる分解です。母音記号を削除したいのですか?それは違うルールです。しかし、はいicu4jデータはCLDR、http://cldr.unicode.orgから来ます –

1

ICUのルールフレームワークは、不規則な発音を持つソース言語とうまく動作しません。悲しいことに、英語は特に発音が難しいです。

音訳は、ターゲット言語のソース言語の発音をエミュレートします。これは、2つの部分からなる。(a)入力を、発音を示す中間表現に変換する。 (b)発音を最終出力に変換する。英語・ツー・ウルドゥー語で

、ルールベースのICUフレームワークは、(a)のための良好な結果を与えることはありませんが、それは非常に高い(B)を行うための良いシステムでしょう。私はあなたの英語の文字列をテキスト読み上げシステムで実行するか、または非常に大きな発音辞書で入力を調べることをお勧めします。これにより、International Phonetic Alphabetの発音が得られます。発音ができたら、ICUはウルドゥー語を生成するのにうまくいくはずです。

さて、ICUはまだウルドゥー語への国際音声記号を変換するためのルールを持っていません。 Unicodeの音訳ルールの管理者として、これは実装が非常に簡単であると思います。私は喜んでそれを行うときに私は時間を見つけるが(誰もがパッチを送信する歓迎です!)このルートに移動する場合はhttp://unicode.org/cldr/trac/newticketにバグを提出してください。

関連する問題