1

В настоящее время мы реализуем проект Zend Framework, который необходимо перевести на 6 разных языков. У нас уже есть довольно сложная система перевода, основанная на Zend_Translate, которая также обрабатывает переменные в клавишах перевода.Обработка вопросов грамматики/правописания в строках перевода

Теперь в нашем проекте появился новый турецкий переводчик, и перед нами стоит новый выпуск: грамматика, особенно турецкая. Я заметил, что эта проблема может быть очевидна в каждой системе перевода и на большинстве языков, поэтому я разместил здесь вопрос.

Вопрос: Любые идеи, как обращаться Перевод как:

Key: I have a[n] {fruit} 
Variables: apple, banana 
Result: I have an apple. I have a banana. 
Key: Stimme für {user}[s] Einsendung 
Variables: Paul, Markus 
Result: Stimme für Pauls Einsendung, 
Result: Stimme für Markus Einsendung 

Любой имеет решение или идея для этого? Моим единственным Guess было бы избежать этого, не используя Translations, где возникают эти проблемы. Как это делают другие платформы?

Конечно, система перевода не имеет Идеи, тип которой Word помещает туда, где в типе предложения. Это только делает некоторые замены строковых ...

PS: Турецкий еще сложнее:

For example, on a profile page, we have "Annie's Network". This should translate as "Annie'nin Aği". 
If the first name ends in a vowel, the suffix will start with an n and look like "Annie'nin" 
If the first name ends in a consonant, it will not have the first n, and look like "Kris'in" 
If the last vowel is an a or ı, it will look like "Dan'ın"; or Seyma'nın" 
If the last vowel is an o or u, it will look like "Davud'un"; or "Burcu'nun" 
If the last vowel is an e or i, it will look like "Erin'in"; or "Efe'nin" 
If the last vowel is an ö or ü, it will look like "Göz'ün'; or "Iminönü'nün" 
If the last letter is a k (like the name "Basak"), it will look like "Basağın"; or "Eriğin" 
+0

Почему вы говорите _pretty сложную систему перевода_? Я не понимаю, извините. Примеры с английского и немецкого языков очень просты (нет склонения), и ваши системы не управляют ими? – 2010-11-24 16:05:17

ответ

1

Это на самом деле очень сложная проблема, так как правила грамматики отличаются даже среди языков из одной и той же семьи. Я не думаю, что вы могли бы легко что-либо сделать, скажем, славянские языки ...

Однако, если вы хотите решить эту проблему (потому что это очень сложно), и вы ищете творческие (кросс-вдохновляющие) способы сделайте это, вы можете захотеть взглянуть на что-то под названием ChoiceFormat (пример будет один от ICU Project), или вы можете посмотреть GNU Gettext's solution for plural forms problem.

+0

Благодарим вас за ответ. Решение перевода, которое мы в настоящее время можем обрабатывать множественными числами. Но речь идет не только о множественных числах ... это кажется более сложным ... – 2010-11-24 22:50:09

1

ICU (упомянутый выше) имеет SelectFormat http://site.icu-project.org/design/formatting/select, который может помочь - это как формат выбора, но с произвольными ключевыми словами. Кроме того, у него есть PluralFormat, который уже имеет правила для множественных правил многих языков.

 Смежные вопросы

  • Нет связанных вопросов^_^