web-dev-qa-db-ja.com

「<オブジェクト名>:<数量>」の表記は、最も一般的なローカリゼーションで受け入れられますか?

この質問 は、言語学SEで最初に尋ねられました(この種のことを尋ねるのに適した場所ではありません)。

完全な質問が続きます

私はソフトウェアのローカライゼーションガイドラインに従います。これは、構築されたテキストはすべて、部分を接着するのではなく、フォーマット文字列で構築する必要があることを示しています。

たとえば、文字列Oranges: 50を取得するには、変数'${OBJECT_NAME}: ${QUANTITY}'ではなく、object_name + ': ' + quantity文字列を使用します。ここでのポイントは、テキストを翻訳する人に、文字列内の要素の順序を完全に制御できるようにすることです。

さて、私の同僚は、<Object name>: <quantity>表記を使用したこの特定のケースでは、先に進んで文字列を接着することで問題ないと主張しています。

私はそうではないことを強く疑います。

この表記がbadスタイルまたはそれより悪いものになる、人気のある言語の例を教えてください。 (人気とは、少なくとも実際にソフトウェアをその言語にローカライズする機会があることを意味します。とはいえ、エキゾチックな言語の例も大歓迎です。)

5
Louis Rhys

いいえ。 オレンジ:50フランス語 で正しくありません。フランス語では、オレンジ:50、コロン「:」の前に非改行スペースを付けます。

English を含む従来の印刷では、この改行しないスペースを配置します。いいですね。

9

簡単な例:右から左に記述する言語(アラビア語、ヘブライ語...)の記述場所:

17 : Apples
7
giraff

したがって、2つのオプションがあります。 オプション1は常に機能します、およびオプション2は通常は機能します-すべての言語が英語の規則に従っている場合にのみ機能します。

オプション2が機能するかもしれませんが、言語や状況がすぐにはわからないかもしれません。では、なぜオプション2を選択するのでしょうか。ローカリゼーションガイドラインを使用しないことで何が得られますか?私はあまり疑わない。

あなたは「これで何ができるのか」ではなく、「これを行うための最良の方法」と考える必要があります。

選択肢がある場合は、常に常に機能するものに移動します

5
JohnGB

Andréのコメントは正しい。数量と名詞形の間には相互作用があります。ニコラスが正しく指摘しているように、期待される区切り文字列はすべての言語で同じではありません。

英語では、単数形と複数形があります。オレンジとオレンジで、オレンジで上塗りされる場合があります。ブラシのような場合のため、これをプログラムで適用するのは難しいかもしれません。プログラムによる複数化への取り組み方の一例については、 英語の複数化へのアルゴリズム的アプローチ を参照してください英語

すべての言語が同じ規則に従うわけではないため、名詞が文の主語または目的語のどちらにあると見なされるかによって、またおそらくは文法によっても、異なる形式にすることができます。

他の言語がどのように機能するかについての仮定は信頼できません。たとえば、英語や他の多くの言語では、複数形は単数形または複数形(2つ以上)です。アラビア語には、単数形、二重形、複数形(3つ以上)の形式があります。

情報をその場で見なければ、すべての言語に対して実行可能なソリューションを提案することは困難です。少なくとも、名詞の1x、2x、および3 + x形式、優先する区切り文字列、および数値を格納する必要があると思います。また、順序を並べ替えた場合(たとえば、「オレンジ3個」と「オレンジ:3個」)、ローカライズされた文字列も変更されないことを前提としないでください。早い段階でユーザーインターフェイスローカリゼーションの専門家と協力して、ソリューションのこの部分が正しく設計されていることを確認する必要があります。文字エンコード、テキストフローの方向、およびテキスト拡張も考慮する必要があります。

2
Mike Rice

すべての場合と英語で複数を使用できます。たとえば、「ファイル数:1」だけでわかりやすいと思います。しかし、世界的には、複数形と単数形の方が問題になる可能性があり、単数形または複数形以外の一部の言語(ロシア語?)では、異なる量の差異が存在する場合もあります。

MozillaのL20nアプローチで使用されるような一部のテクノロジーとフレームワークでは、翻訳者が調整を行うことができます。例えば:

http://blog.mozilla.org/l10n/2012/03/29/l20n-examples-for-localizers/

Bi-Di言語の場合、UIレンダリング技術はRTL(右から左)の作業を行う必要があり、手動で画面を反転させる必要はありません。完全な文字列の場合、翻訳者がトークンを移動できるようにします。

最適なソリューションは常に完全な文字列を書き込むことです。これは常に可能であるとは限らない、またはs/wのストレージまたはパフォーマンスの問題からは望ましい(そしてトークンは確立された開発プラクティスである)ので、a)それらの一般的なパターンとコードを調査する、および/またはb)翻訳者が制御できるようにする必要があるローカライズ中の順序または分散。

0
uobroin