1

現在、6 つの異なる言語に翻訳する必要がある Zend フレームワーク プロジェクトを実装しています。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

誰かがこれに対する解決策やアイデアを持っていますか? 私の唯一の推測は、これらの問題が発生する翻訳を使用しないことでこれを回避することです。他のプラットフォームはこれをどのように処理しますか?

もちろん、翻訳システムは、どのタイプの単語がどのタイプの文のどこに配置されているかわかりません。いくつかの文字列置換のみを行います...

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"
4

2 に答える 2

1

ICU(上記)にはSelectFormat http://site.icu-project.org/design/formatting/selectがあり、これは役立つ場合があります。これは、選択形式に似ていますが、任意のキーワードを使用します。また、多くの言語の複数のルールのルールがすでにあるPluralFormatがあります。

于 2010-11-27T20:23:26.113 に答える
1

同じ語族の言語でも文法規則が異なるため、実は非常に難しい問題です。たとえばスラブ言語については、簡単に何かできるとは思いません...

ただし、この問題を解決したい場合 (これは非常に難しいため)、それを行うための創造的な (相互に影響を与える) 方法を探している場合は、 ChoiceFormat と呼ばれるもの (例はICU Projectのもの) またはGNU Gettext の複数形の問題に対する解決策を調べることができます。

于 2010-11-24T18:06:41.537 に答える