所有世界语言的翻译表

时间:2009-06-29 11:19:07

标签: diacritics

任何人都可以告诉我,我在哪里可以找到所有世界语言字母的翻译表,包括俄罗斯,希腊,泰国等?我需要一个函数来用任何语言的文本创建花哨的URL。并且,因为我们对例如日语一无所知,所以我正在尝试这种方式。谢谢你的回复

4 个答案:

答案 0 :(得分:3)

您想要的是 transliteration 表格。尝试该页面上的一些链接。如果您只想要HTTP网址,请查看percent-encoding

答案 1 :(得分: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

哪个输出:

ENGLISH
你好世界!
你好,世界!

FRENCH
Salut le monde!
Salut le monde!

世界语
Saluton Mondo!
Saluton Mondo!

拉​​脱维亚语
Sveika,pasaule!
Sveika,pasaule!

爱沙尼亚语
Tere,maailm!
Tere,maailm!

土耳其语
Merhabadünya!
Merhaba dunya!

葡萄牙语
Olámundo!
Ola mundo!

韩文
안녕,세상!
annyeong,sesang!

,中国
你好,世界!
倪昊,施杰!

JAPANESE
こんにちは世界!
konnitiha施杰!

阿姆哈拉
ሠላምዓለም!
szalaame`aalame!

CANTONESE
哈佬世界!
哈老施杰!

俄罗斯
Привет,мир!
妮莉妮!

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

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

对于首先是拉丁语的语言,它非常有用:它会去除重音符号。除此之外,事情变得快速冒险。

如果您比较中文和日文示例,您会看到序列世界在两者中都是音译Shi Jie。这是错的 - 日语的“音译”(或更好,“阅读”)应该是 seikai 。俄罗斯人和希腊人也不错。但是阿姆哈拉语和泰语非常糟糕 - 我猜他们对那些能说这些语言的人来说甚至都不易读。

这里的一般问题是音译不是可以定义的东西,除非也考虑到语言特定的信息,甚至确定语言也是非平凡的:如果世界你的程序怎么知道?是日文还是中文?

比试图强制推迟应用到您的应用程序中的更好的策略是弄清楚如何正确支持Unicode。如果必须使用非拉丁文脚本文本的全ASCII表示,请使用URL编码。

答案 2 :(得分:0)

没有正确理解你的问题。 你在寻找这样的东西吗?

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

答案 3 :(得分:-1)

您总是可以尝试将文本转换为iso-8859-1(如果它在php中,可以轻松地使用iconv),然后简单地替换空格和所有那些在iso-8859-1中有效的错误字符,但不能在URL中; - )