2017-08-03 3 views
-1

Je souhaite créer des mots et des expressions dans différentes langues à partir de Google Translator sans en traduire la signification réelle. Est-il possible de convertir le texte dans d'autres langues plutôt que de le traduire?Transformer du texte en différentes langues

Exemple:

je veux la conversion simple comme cambridge - كامبردج, कैंब्रिज, cambridge, 剑桥, Кембридж

i DONOT veulent la traduction comme université - جامعة, विश्वविद्यालय, Universitet, 大学, Университет

+0

Bonjour et bienvenue sur Stack Overflow, prenez le temps de parcourir le [welcome tour] (https://stackoverflow.com/tour) pour savoir comment vous y rendre (et aussi gagnez votre premier badge), lisez comment créer un exemple [mcve] et vérifiez [ask] afin d'augmenter vos chances d'obtenir des retours et des réponses utiles. – garfbradaz

Répondre

0

Oui. C'est ce qu'on appelle la "translittération". Il existe plusieurs façons de le faire par programmation en fonction du langage de programmation que vous utilisez. Ici, pour la démonstration, j'utilise la bibliothèque ICU4J Groovy:

// https://mvnrepository.com/artifact/com.ibm.icu/icu4j 
@Grapes(
    @Grab(group='com.ibm.icu', module='icu4j', version='59.1') 
) 

import com.ibm.icu.text.Transliterator; 

String sourceString = "cambridge"; 
List<String> transformSchemes = ["Latin-Arabic", "Latin-Cyrillic", "Latin-Devanagari", "Latin-Hiragana"] 

for (t in transformSchemes) { 

    println "${t}: " + Transliterator.getInstance(t).transform(sourceString); 

} 

qui retourne:

Latin-Arabic: كَمبرِدگِ 
Latin-Cyrillic: цамбридге 
Latin-Devanagari: चंब्रिद्गॆ 
Latin-Hiragana: かんぶりでげ 

De toute évidence, puisque ceux-ci sont des transformations basées sur des règles d'une langue à une autre, ils ont tendance à être imparfait. Par conséquent, si vous cherchez des noms de lieux (puisque vous avez mentionné "Cambridge" par exemple), vous aurez plus de chance d'utiliser une base de données de noms de lieux; ICU a quelques noms de villes et de nombreux noms de pays. Vous pouvez également utiliser l'API Wikidata pour récupérer ces informations; voici un exemple d'appel: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q350