0

ロシア語、ギリシャ語、タイ語など、世界中のすべての言語の文字の翻訳表はどこにありますか? 任意の言語のテキストから派手な URL を作成する関数が必要です。そして、私たちは例えば日本語について何も知らないので、私はこの方法を試しています。返信ありがとうございます

4

4 に答える 4

3

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

とはいえ、Sean M. Burke のUnidecode Perl モジュール (およびRuby Pythonへの移植)など、いくつかの回避策があります。しかし、彼が指摘するように、たとえば、タイ語や日本語などの文字変換を、そのような変換から有用に読み取ることができるようにするつもりはありません。

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

どの出力:

英語
ハローワールド!
こんにちは世界!

フランス語 サリュット
・ル・モンド!
サルート・ル・モンド!

ESPERANTO
サルトン モンド!
サルトンモンド!

ラトビア語 Sveika
, pasaule!
Sveika、pasaule!

エストニア語 Tere, maailm
!
テレ、メイルム!

トルコ語 Merhaba dünya
!
メルハバ ドゥニャ!

ポルトガル語 Olá
mundo!
オラムンド!

韓国
語 안녕, 세상!
アンニョン、セサン!

CHINESE
你好,世界!
Ni Hao ,Shi Jie !

JAPANESE
こんにちは世界!
こんにちはShi Jie !

AMHARIC
ሠላም ዓለም!
szalaame `aalame!

CANTONESE哈佬
世界!
ハ・ラオ・シージェ!

ロシア語Привет
, мир!
プリビエット、ミール!

GREEK
Καλημέρα κόσμε!
カレメラコスメ!

タイ
สวัสดีราคาถูก!
スワディラアカトゥーク!

そもそもラテン系の言語の場合、非常に便利です。アクセント記号を取り除きます。それらの外では、物事は急速に危険になります。

中国語と日本語の例を比較すると、シーケンスが両方世界で音訳されていることがわかります。Shi Jieそれは間違っています。日本語の「音訳」(より適切には「読み方」) はseikaiにする必要があります。ロシア語とギリシャ語はそれほど悪くありません。しかし、アムハラ語とタイ語はひどい言語です。これらの言語に堪能な人にとっては、読みにくいと思います。

ここでの一般的な問題は、言語固有の情報も考慮しない限り、音訳を定義できるものではなく、言語を決定することさえ自明ではないということです。プログラム世界は、日本語か中国語かをどのように知ることになっているのでしょうか?

アプリケーションにハック的な音訳を強制しようとするよりも良い方法は、最初に Unicode を適切にサポートする方法を見つけ出すことです。ラテン文字以外のテキストをすべて ASCII で表現する必要がある場合は、URL エンコーディングを使用してください。

于 2009-09-11T21:45:49.000 に答える
3

音訳テーブルが必要なようです。そのページのリンクをいくつか試してください。HTTP URL に対してのみ必要な場合は、percent-encoding をご覧ください。

于 2009-06-29T11:27:21.670 に答える
0

あなたの質問を正しく理解していませんでした。このようなものをお探しですか?

http://www.joelonsoftware.com/articles/Unicode.html

于 2009-06-29T11:24:35.403 に答える
-1

いつでもテキストを iso-8859-1 に変換して (たとえば、php にある場合は iconv を簡単に使用して)、スペースと iso-8859-1 では有効であるが URL では無効なすべての不正な文字を置き換えるだけです。 -)

于 2009-06-29T11:26:01.937 に答える