2009-06-29 17 views
0

誰でも教えてください、ロシア、ギリシャ、タイなどのすべての世界言語の手紙の翻訳テーブルはどこにありますか?任意の言語のテキストから素晴らしいURLを作成する関数が必要です。そして、私たちは日本人について何も知らないので、私はこのようにしています。お返事ありがとうすべての世界の言語の翻訳テーブル

+3

あなたが –

答えて

-1

あなたは常にISO-8859-1にテキストを変換しようと(それがPHPである場合、たとえば使用すると、簡単にiconvが)、その後、単にスペースとISOで有効なすべてのそれらの悪い文字を置き換えることができます-8859-1 URLではなく;

+1

いいえ、あなたはできないのですか?「変換テーブル」とはどういう意味ですか。そのため、元の状態が入力は任意のスクリプトからなり、すなわち、テキストは、ラテン1でエンコードされていないコードポイントを持つことになります。 –

3

好きなような音は、transliterationのテーブルです。そのページのいくつかのリンクを試してみてください。 HTTP URLのみに使用する場合は、percent-encodingをご覧ください。

3

一般的な字訳は大したことではありません。Unicode Transliteration Guidelinesを参照してください。あなたの質問に対する答えは、鈍く、あなたが探しているテーブルは存在しないということです。

つまり、Sean M. BurkeのUnidecode Perlモジュール(およびポート番号RubyPython)のように、いくつかの回避策があります。しかし、彼が指摘しているように、あなたはそのような変換から有益に読めるタイ語や日本語のための音訳には向かないでしょう。

はPythonのポートを使用して、次のテストセッションを見てみましょう:出力する

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
from unidecode import unidecode 

hello = u"""Hello world! English 
Salut le monde! French 
Saluton Mondo! Esperanto 
Sveika, pasaule! Latvian 
Tere, maailm! Estonian 
Merhaba dünya! Turkish 
Olá mundo! Portuguese 
안녕, 세상! Korean 
你好,世界! Chinese 
こんにちは 世界! Japanese 
ሠላም ዓለም! Amharic 
哈佬世界! Cantonese 
Привет, мир! Russian 
Καλημέρα κόσμε! Greek 
สวัสดีราคาถูก! Thai""" 

lines = hello.splitlines() 
samples = [] 

for line in lines: 
    language, text = line.split()[-1], ' '.join(line.split()[:-1]) 
    samples.append((language, text)) 

for language, text in samples: 
    print language.upper() 
    print text 
    print unidecode(text) 
    print 

ENGLISH
こんにちは、世界を!
こんにちは!

フランス
サルートルモンデ!
Salut le monde!

ESPERANTO
Saluton Mondo!
Saluton Mondo!

LATVIAN
Sveika、pasaule!
Sveika、pasaule!

エストニア語
テレ、maailm!
Tere、maailm!

トルコ語
Merhabadünya!
Merhaba dunya!

ポルトガル語
オランダ!
オラ文道!

KOREAN
こんにちは!
annyeong、セサン!

CHINESE
こんにちは、世界!世界で
ニッケルハオ、杰市!


KOさんNIちWAの世界JAPANESE!
konnitiha杰市!

アムハラ語
ሠላምዓለም!
szalaame `aalame!

広東
カザフスタンの男!
ハラオス杰市!

RUSSIAN
Привет、мир!
Priviet、のmiR!

GREEK
Καλημέραのκόσμε!
Kalemera kosme!

THAI
สวัสดีราคาถูก!
swasdiiraakhaathuuk!

ラテンっぽいです言語の場合まず第一に、それは非常に便利です..それはそれらの外でアクセント記号を取り除き、物事はあなたが中国語と日本語の例を比較すると、あなたはシーケンス世界の両方でShi Jieを音訳していることがわかりますdicey速い

を取得します。それは間違っている - 。日本の「音訳」(以上、「読み」)はロシア語、ギリシャ語があまりにも悪くはありませんが、アムハラ語、タイ語がひどいです西海でなければなりません - 。私は、彼らがいないですよねこれらの言語に堪能誰かにでも読みやすい。

ここでの一般的な問題は、音訳は、言語固有の情報も考慮されていない限り、定義することができるもの、とさえdetermではないということですining言語は非自明である:どのようにあなたのプログラムは世界がアプリケーションにハック音訳を強制しようとするよりも良い政策が最初に適切にUnicodeをサポートする方法を見つけ出すことです

日本語や中国語

であるかどうかを知ることになっていますか?場所。あなたは非ラテンスクリプトテキスト、使用URLエンコーディングのすべて-ASCII表現を持っている必要があります。

関連する問題