5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【雑談/小ネタ】多言語対応では、数字に気を付けよう

Last updated at Posted at 2021-09-09

数字と多言語対応

データベースやローカルファイルを扱うとき、状況によっては多言語対応が要求されます。

全世界向けと名打って、最初から複数のチームで製品開発しようというときには、恐らく勝手に意識することが多いと思うんですけど、

あまり規模の大きくないチームで、海外の特定の国の顧客と交渉していて、
かつ開発チームに日本人が多くて英語くらいしか日常的に使えないよ~という状況だとして、

じゃあ今回のプロジェクト(アプリも英語で統一して)上手くいったし、別の顧客にも声かけて販売を検討してみようかな

という軽いノリで商談して開発していたりすると、つい**「数字の記法間違えてる!!!!」**ということに気づかず、謎の不具合調査に1~2日かけてしまうことも普通にあります(なお、私の個人的な経験の例です)。

文字表記のブレやエンコードくらいなら、まあ何とか気づくのは早いんですが、数字の場合は意外と気づかないような気がします。

割と有名な例(CSVファイル)

日本国内だけでなく、米国、英国、豪州などの英語圏、中国、韓国、インドなどのアジア圏に向けての場合、数字を使ったCSVファイル(カンマ区切り)はこう書くことが多いと思うんです。

100.0, 200.0, 50.1, 19.88

ところが、特にフランス語圏、ドイツ語圏、スペイン語圏に行くと数字の表現は**「ピリオド」ではなく「カンマ」**です。

EUが多い・・・と思いきや、南米や中東もヨーロッパの言語に影響を受けていることもあって、こうした国でも注意が必要です。

こうした言語圏でのCSVフォーマットは次のようになります。

100,0; 200,0; 50,1; 19,88

しかし例えばスイスでは、ドイツ語とフランス語が主要言語にもかかわらず、小数点は「.」(ピリオド)で表現されるみたいです。
従って、国の文化によってこの辺りのルールをきちんと考えてやる必要があります。

さらに、経理関係の話をするときにも注意が必要で、

フランス語圏では、数字を333 333,11といった感じで表現されますし、
ドイツ語圏では、数字を333.333,11といった感じで表現します。

こうした影響は、例えばWindowsを使っていれば、
Windows OSのカルチャー設定の部分と直接関係してくる部分なので注意が必要です。

従って、**「英語は共通語だからどこでも通じるだろう」**と、
うっかり英語圏のルールで開発をしていると思わぬ見落としがある場合もあります。
(プログラミングは、英語を基準に行なわれるのが標準だと思うので、見落としがちです)

まとめ

多言語対応を行なう場合、工数があまり割けないと「とりあえず英語で」とやりがちですが、
その場合には、国固有のカルチャールールに気を付けましょう。

その中でも、特に「数字」に関しては結構見落としやすいので、テストコードなども含めて注意深く検討すると良いです。
場合によっては、言語によって「保存されるデータの内容」が変わる可能性があるので、言語依存性をサポートしないフォーマットに対しては特に意識を払う必要があります。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?