Kann mir jemand sagen, wo finde ich Übersetzungstabelle für alle Weltsprachbriefe, einschließlich Russland, Griechisch, Thai usw.? Ich brauche eine Funktion, um fancy URL von Text in jeder Sprache zu erstellen. Und weil wir zum Beispiel kein Japanisch verstehen, versuche ich es auf diese Weise. Danke für Ihre AntwortenÜbersetzungstabelle für alle Weltsprachen
Antwort
Ihre Frage nicht richtig verstanden. Suchst du so etwas?
Sie können immer versuchen, den Text in iso-8859-1 (zum Beispiel mittels Iconv leicht, wenn es in PHP ist) zu konvertieren und dann einfach Leerzeichen ersetzen und all diese schlechten Zeichen, die in iso gültig sind -8859-1 aber nicht in URL ;-)
Nein, kann man nicht. Da die ursprünglichen Zustände, dass die Eingabe von beliebigen Skripten sein wird, das heißt, wird der Text Codepunkte hat, die nicht in Latin-1 kodiert ist. –
Klingt wie, was Sie wollen, ist ein transliteration Tabelle. Probieren Sie einige der Links auf dieser Seite aus. Wenn Sie es nur für HTTP-URLs wünschen, werfen Sie einen Blick auf percent-encoding.
Die Transliteration ist im Allgemeinen nicht trivial, siehe Unicode Transliteration Guidelines. Die Antwort auf Ihre Frage ist unverblümt, dass die von Ihnen gesuchte Tabelle nicht existiert.
Das heißt, es gibt ein paar Workarounds zur Verfügung, wie Sean M. Burke Unidecode Perl Modul (und Ports RubyPython). Aber, wie er betont, werden Sie keine Transliteration für, sagen wir, Thai oder Japanisch, die aus einer solchen Umwandlung sinnvoll lesbar ist.
Werfen Sie einen Blick auf die folgenden Testsitzung die Python-Port:
#!/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
Welche Ausgänge:
ENGLISH
Hallo Welt!
Hallo Welt!
FRANZÖSISCH
Salut le monde!
Salut le monde!
ESPERANTO
Saluton Mondo!
Saluton Mondo!
LETTLAND
Sveika, pasaule!
Sveika, Pasaule!
ESTLAND
Tere, maailm!
Tere, Maailm!
TÜRKISCH
Merhaba dünya!
Merhaba dunya!
PORTUGIESISCH
Olá mundo!
Ola mundo!
KOREAN
안녕, 세상!
annyeong, sesang!
CHINESE
Hallo, Welt!
Ni Hao, Shi Jie!
JAPANESE
ko san ni ち wa Welt!
konnitiha Shi Jie!
Amharisch
ሠላም ዓለም!
szalaame `aalame!
CANTONESE
Kasachstan Mann der Welt
! Ha Lao Shi Jie!
RUSSIAN
Привет, мир!
Priviet, mir!
griechische
Καλημέρα κόσμε!
Kalemera kosme!
THAI
สวัสดี ราคา ถูก!
swasdiiraakhaathuuk!
für Sprachen, die Latin-ish sind in erster Linie ist es sehr nützlich: .. es Akzentzeichen außerhalb dieser Streifen, die Dinge heikel schnell
Wenn Sie die chinesischen und japanischen Beispiele vergleichen, sehen Sie, dass die Sequenz 世界
Shi Jie
in beide transkribiert wird. das ist falsch -. die „Umschrift“ (oder besser „Lesen“) der japanischen sollte Seikai das Russisch und Griechisch ist nicht so schlecht sein, aber Amharisch und Thai ist miserabel -. ich würde vermuten, dass sie nicht sogar lesbar an jemanden, der in diesen Sprachen fließend ist.
Das allgemeine Problem hier ist, dass Umschrift ist nicht etwas, es sei denn, sprachspezifische Informationen definiert werden, kann auch berücksichtigt werden, und sogar determ ining Sprache ist nicht trivial: Wie ist Ihr Programm soll wissen, ob 世界
in Japanisch oder Chinesisch ist
Eine bessere Politik als zu versuchen, hackish Umschrift in Ihre Anwendung zu zwingen, ist, herauszufinden, wie Unicode zu unterstützen richtig in dem ersten? Ort. Wenn Sie eine all-ASCII-Darstellung nicht-lateinische Schrift Text, URL-Codierung Verwendung haben müssen.
- 1. muate Zeichenfolge in SQL mit Übersetzungstabelle ohne While-Schleife verwenden
- 2. Seeding Übersetzungstabelle, die kein Modell hat, Schienen App
- 3. Alle notwendigen Opazitätseinstellungen für alle Browser?
- 4. Object.watch() für alle Browser?
- 5. Alle Standardkonverter für WPF?
- 6. window.href für alle Browser
- 7. resignFirstResponder für alle Textfelder
- 8. für alle Geräte
- 9. Scala für alle Beispiele?
- 10. DataGridTextColumn.EditingElementStyle für alle Datagrids
- 11. Grenzradius für alle Browser?
- 12. Regex für alle außer Hyperlinks für .NET
- 13. Globaler Ereignishandler für alle Steuerelemente für Benutzerhilfe
- 14. Ersetzen Sie alle akzentuierten Zeichen durch ihre LaTeX-Entsprechung
- 15. Gemeinsame Konstanten für alle Sprachen
- 16. Benutzerdefinierte Schriftart für alle TextViews
- 17. Oracle Spaltenbreite für alle Spalten
- 18. Bildquelle für alle Bilder ersetzen
- 19. UITableViews reloadData für alle Zeilen
- 20. Commit alle Verknüpfung für Subclipse
- 21. Alle Parser für RFC-Dokumente?
- 22. Einstellung AuthenticatedSubject für alle Ressourcen
- 23. Alle Visualisierungswerkzeuge für HyperTable Namespaces?
- 24. Alle EventBroker/Aggregator für WinForms
- 25. WCF für alle Fälle richtig?
- 26. Regulärer Ausdruck für alle STRING_DIGIT [_?]
- 27. Implementieren Suchfilter für alle Spalten
- 28. Interaktives CSS für alle Bildschirmtypen
- 29. Regex für alle druckbaren Zeichen
- 30. Postfix Alias für alle Benutzernamen?
Was meinst du mit „Übersetzungstabelle“? –