web-dev-qa-db-ja.com

ローカライズ時に通貨記号を配置する場所と奇数記号をどうするか

特定のロケールで毎回通貨記号を配置するための推奨される単一の場所はありますか?

たとえば、常に左側に次のような量の前にスペースがあります:

R 10.00
$ 10.00
€ 10.00
¥ 10.00

通常、通貨記号が金額の右側に配置されている場合でも、これは許容されますか、またはロケールごとの配置を追跡する必要がありますか?

また、これらの文字の表示をサポートしていないデバイスをターゲットにすることを計画しているときに、奇妙なUnicode文字を含む通貨を処理するための最良の方法は何ですか?デフォルトで3文字の国際コードを使用しますか?そうした場合でも、左または右の配置に従いますか、それともすべて左に配置できますか?

21
darryn.ten

インターフェースをローカライズするのが面倒な場合は、完全に行い、言語または地域の一般的な慣習を尊重することもできます。

ローカリゼーションについて言及しているように、これは、通貨のロケールsymbolではなくユーザーインターフェイスのロケール設定に基づいて通貨記号の配置を変更することを意味すると思います。 =使用。

フランス語をとる1、例:

  1. フランス語は、通貨記号金額の後にを配置します(メトリック指標の残りの部分との均一性を維持するために、2 $2 kmとして)。
  2. 同様に、フランス語は10進数として,を使用し、桁区切り記号としてspaceを使用します(1 000,59 $

したがって、フランス語のユーザー向けにインターフェースをローカライズする場合は、100 ¥; 10,00 R; 10,00 €を表示します。

プログラム的には、これを実現するのは難しくありません。 Stack Overflowのローカリゼーションタグ および プログラミングのローカリゼーションタグ と、インターネット上ですでに選択されている開発言語の多数のリソースを参照してください。

{1}出典:私はフランス系カナダ人で、fr_CAにローカライズしています。

26
msanford

通貨の表示の一部のみをローカライズし、それ以外の場合はローカライズされていない、または誤ってローカライズ表記を使用しても意味がありません。それは混乱するかもしれません、そしてそれは中途半端なローカリゼーションの努力の印象を与えます。 [〜#〜] cldr [〜#〜] データベースには、通貨表記の配置に関する情報も含まれています。彼らがそのようなものがローカライズされないままにされることができると彼らが思ったならば、彼らはそれを含めなかっただろう。

一部のユーザーインターフェイスまたは一部のデータのプレゼンテーションを正常にローカライズできる場合は、ロケールで使用されている通貨記号が使用できる可能性があります。トルコリラの新しい文字やインドルピーの記号などの記号は新しく、一般的にフォントでサポートされていないため、これは近年ある程度変更されており、他の問題を引き起こす可能性もあります。

したがって、少なくとも「$」、「£」、「¥」などの記号は単一の通貨を明確に示していないため、通貨の省略形または名前を使用する方が良い場合があります。 CLDRデータには、ローカライズされた略語と通貨名が含まれています。

3文字のコードは、国際的な銀行業務およびコンピュータ間のデータ交換を目的としており、通常の人間による消費を目的としていません。一般の人向けのユーザーインターフェイスでは、他のすべてが失敗した場合の最後の手段として使用する場合を除いて、それらを使用しないでください。しかし、失敗する理由はそれほど多くありません。使用する場合、これらのコードは通常の言語依存の配置規則(たとえば、フランス語で10,00 EUR)に従います。

7

ファイナンスの観点から、私たちができることの大まかな概算は次のとおりです。
enter image description here

そして、これは 通貨コード に関する情報へのリンクです

4
mittenles

少し複雑です。通貨記号は、為替レートがあり、ローカリゼーションとは関係のない通貨を識別します。誰かが私に100カナダドルを支払う義務がある場合、私がフランスに移住し、彼らがユーロを使用しているため、これは変わりませんが、100カナダドルを支払う義務があります。 (私は、古いMicrosoft Excelバージョンが数値形式として「通貨」を使用し、ロケールのネイティブ通貨で数値を表示するケースを知っていました。英国の会社が英国の見積りを英国の会社に送信すると、明らかに悲惨な結果になります。 US $として表示される数字を見るアメリカ)。

これを正しく行うには、ユーザーのロケールで正しい通貨を表示するコード(またはテーブル、またはオペレーティングシステム関数)が必要です。たとえば、通貨記号が異なる「ドル」という名前の通貨がかなりあります。 USロケールでは、USドルは単純な「$」であり、オーストラリアドルのような他のすべては国の名前で表示されます。オーストラリアでは、オーストラリアドルは単純な「$」であり、米ドルを含むその他すべては国名で表示されます。

ロケールが異なれば、通常、桁区切り記号と小数点記号が異なります。日本円のように、一部の通貨は小数で表示されません。インディアンは興味深い方法でインドルピーを表示します(100,000ルピー= 1ラクフ。インディアンは1'00'000と書くと思いますが、私は間違っているかもしれません)。他の通貨ではその方法を使用していないと思います。読者が混乱するだけなので、ルピーをそのように表示します。

0
gnasher729

これは私がベストプラクティスと呼ぶものではなく、自分の経験と私が見たことから学んだことです。

あなたはそれらをすべて左に置くことによって正しいです、均一性が必要です。一部の記号が右側にあり、他の記号が左側にあるリストを見ると、奇妙に見えます。異なるlisを定義するために使用されるチェックマークの付いた、順序付けられていないリストを考えてください。左に行く人もいれば、右に行く人もいます。それは良く見えないでしょう。

また、はい、3文字の国際コードを使用する必要があります。ユーザーが現地通貨がリストされている場所を完全に認識していることを保証するための情報がユーザーにどのように表示されるかを検討する場合、これは最も安全な方法です。アマゾンのようなサイトもこれを行います。

0
Jamal_Jakson