Bonjour à tous,
je bosse sur un projet de traduction, mais j'arrive à un point crucial et je manque cruellement d'idées.
J'ai un ensemble de traductions pour plusieurs éléments, et un contenu source (éventuellement trèèès long) que je veux traduire dans une langue donnée. L'idée est de remplacer automatiquement des sous-chaînes par les traductions qui correspondent.
Prenons un court exemple:
---
Texte source
Que j'aime à faire apprendre un nombre utile aux sages Immortel Archimède, artiste ingénieux
Traductions disponibles
pour l'élément 1:
- fr: j'aime
- en: I like
pour l'élément 2:
- fr: un nombre utile
- en: a useful number
pour l'élément 3:
- fr: ingénieux
- en: clever
pour l'élément 4:
- fr: artiste ingénieux
- en: inventive artist
Résultat attendu (echo translate($texte_source,"en"))
Que I like à faire apprendre a useful number aux sages Immortel Archimède, inventive artist
Comme vous le voyez dans l'exemple, ingénieux n'a pas été pas traduit par clever, mais par inventive, car les traductions les plus longues doivent avoir la priorité...
---
Seulement, voilà, je ne sais pas trop quelle stratégie aborder. Comme je l'ai déjà dit auparavant, la chaîne à traiter peut être trèèèès longue (même si ça doit rester marginal), donc mon petit système doit être le plus performant possible.
De plus, je me suis basé sur le cas "simple" où la langue du texte source est connu, mais l'idée est de pouvoir arriver au même résultat sans la connaître...
Si vous avez une idée, une piste, je suis preneur !
Merci d'avance!
Rolf
P.S. : j'ai d'abord pensé à poster ce problème dans Algo, mais je n'ai trouvé aucune catégorie appropriée... mon système de traduction doit être intégré dans un environnement PHP, mais il est tout à fait envisageable d'utiliser Perl (langage de traitement de chaînes par excellence), non ?
Partager