1

現在、6つの異なる言語で翻訳する必要があるZend Framework Projectを実装しています。私たちはすでに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 

誰もがこのためのソリューションやアイデアを持っていますか?私の唯一の推測は、これらの問題が発生する場所で翻訳を使用しないことでこれを避けることです。 他のプラットフォームはどのようにこれを処理しますか?

もちろん、翻訳システムには、どのタイプの文章のどこに配置するかという考え方はありません。トルコは、さらに複雑である:

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 sophisticated Translation System_と言っていますか?私は理解できません、申し訳ありません。英語とドイツ語の例は非常に基本的なものであり、あなたのシステムはそれを管理していませんか? –

答えて

1

文法規則が同じであっても、家族からの言語間で異なっているとしてそれは、実際には非常に難しい問題であり、それが唯一のいくつかの文字列の置換...

PSを行います。私はあなたがスラブ語を話すために簡単に何かをすることはできないと思います...

しかし、この問題を解決したい場合(これは余分な課題です)、あなたは創造的な方法を探していますその場合、ChoiceFormat(例はICU Projectのいずれかになります)を探したり、GNU Gettext's solution for plural forms problemを検索することができます。

+0

あなたの答えをありがとう。私たちが現在持っている翻訳ソリューションは複数形を扱うことができます。しかし、それだけではありません複数形...それはもっと複雑に思えます... –

+0

私はそれが複数形についてだけではなく、あなたが実際に望んでいたことが、変圧と呼ばれるものであることを知っています。私は他の言語上の問題のいくつかの例とそれらを解決する方法を教えました。私がInflectionのソリューションを実装する場合は、正規表現、Choice Formatter、トランスレータの組み合わせでメタデータを提供しています。本当に難しい問題です。 –

+0

これも考えてみてください... –

1

ICU(上述)は、選択フォーマットのようなものですが、任意のキーワードを使用すると助けになるSelectFormat http://site.icu-project.org/design/formatting/selectを持っています。また、多くの言語の複数のルールのルールを既に持っているPluralFormatを持っています。

関連する問題