パラメータに基づいて存在または削除された部分で動的に構築されるフレーズが与えられた場合、ローカリゼーションをサポートするために考えられる解決策は何ですか? たとえば、動的に挿入された部分を表す太字の部分を持つ次の 2 つの句について考えてみましょう。
- 犬は発見され、犬小屋を持っていて、ボールを追いかけています。
- その犬は白くて、輪になって走っています。
英語の場合、これは単にフレーズ部分を連結するか、パラメーターに基づいて選択できるリソース ファイルにいくつかのトークンで満たされた文字列を含めることで解決できます。しかし、これらのソリューションは、他の言語にローカライズする必要があるか、より多くのパラメーターが必要になると、機能しないか、すぐに醜くなります. 上記の例では、犬の外観が常に存在する唯一の部分であると仮定すると、ローカライズされたリソースの実装は次のリソース文字列で構成される場合があります。
AppearanceOnly: The dog is %appearance%.
ActivityOnly: The dog is %appearance% and is %activity%.
AssessoryOnly: The dog is %appearance% and has %accessory%.
AccessoryActivity: The dog is %appearance%, has %accessory% and is %activity%.
これは機能しますが、必要な文字列の数は、パラメーターの数に応じて指数関数的に増加します。
この課題を解決するのに役立つベスト プラクティスを広く探しています。私が見つけた唯一の解決策は、単純にフレーズを言い換えることですが、自然な文の構造を失うことになります。
- 犬:斑点,犬小屋,ボールを追いかける
提案、リンク、考え、例、または「あなたは頭がおかしい、言い直してください!」フィードバックは大歓迎です:)ありがとう!