4

次のようなものを作成したい場合、l20n をどのように使用しますか。

About <strong>Firefox</strong>

フレーズ全体を翻訳したいのですが、マークアップも必要です。私はこれをする必要はありません:

<aboutBrowser "About {{ browserBrandShortName }}">
<aboutBrowserStrong "About &lt;strong&gt;{{ browserBrandShortName }}&lt;/strong&gt;">

...翻訳自体が複製されているためです。

これは l20n の範囲内ではない可能性があることは理解していますが、現実の世界ではおそらく十分に一般的なケースです。これについて何らかの確立された方法はありますか?

4

1 に答える 1

7

翻訳を複製することが最善の方法である場合もあります。冗長性はローカリゼーションに適しています。これにより、他の言語への翻訳に関する仮定を少なくすることができます。L20n の核となる原則の 1 つは、ローカライザーだけが本当に必要なものを知っているということです

あなたのソリューションは実際には大丈夫です

あなたが提案した解決策は、実際には非常に優れています。あなたが表現しようとしている強調が<strong>、私たちが認識していない言語で未知の意味を持つ可能性は十分にあります. たとえば、一部の言語では、語形変化や後置詞<strong>を使用して「何かについて」を意味する場合があります。この場合、開発者として、要素の正確な位置についてあまり多くの仮定を立てるべきではありません。翻訳全体が で囲まれた 1 つの単語になる場合があります<strong>

L20n の複数行文字列リテラルを使用してフォーマットされたコードを次に示します。

<aboutBrowser "About {{ browserBrandShortName }}">
<aboutBrowserEmphasized """
  About <strong>{{ browserBrandShortName }}</strong>
""">

これが期待どおりに機能するためには、data-l10n-overlay属性を DOM ノードに追加する必要があることに注意してくださいdata-l10n-id=aboutBrowserEmphasized。それ以外の場合は、<エスケープ>されます。

仮定をほとんどしないことが重要

話が逸れますが、Bug 859035を持ち出します — Firefox OS から WebApp をインストールするとき、サイズと作成者に同じ「不明な」エンティティを使用しないでください。英語を話す開発者は、インストール ダイアログでサイズと作成者の両方を修飾するために「不明な」形容詞を使用できると想定していました。ただし、フランス語やポーランド語などの特定の言語では、形容詞は性別と複数形の点で目的語と一致する必要があります。したがって、英語では 1 つの文字列しか使用できませんが、次のようになります。

<unknown "Unknown">

…他の言語では、使用されるコンテキストごとに 2 つの別個の文字列が必要になる場合があります。フランス語では、「auteur inconnu」 (作者不明、男性) と言うのに対し、「taille inconnue」 (サイズ不明、女性) と言うでしょう。

<unknownSize "inconnue">
<unknownAuthor "inconnu">

英語では、これは冗長性を意味します。

<unknownSize "Unknown">
<unknownAuthor "Unknown">

…でも、最終的にはローカリゼーションの品質が向上するので問題ありません。一般に、どこでも一意の文字列を使用し、慎重に再利用することをお勧めします。理想的には、すべての文字列に対して異なる翻訳を許可します。ウェールズ語のような言語を考えると、「はい」と「いいえ」のような単純で一般的なことでさえ、注意が必要です。

ウェールズ語には、「はい」と「いいえ」の質問に毎回使用する単語はありません。使用する単語は、質問の形式によって異なります。通常、質問で使用されている動詞の適切な形式を使用して回答する必要があります。または、動詞が「ie」または「nage」のいずれかを使用する最初の要素ではない質問で使用する必要があります。

于 2013-08-12T10:01:07.860 に答える