ウェブサービスまたはスマートフォンアプリの国際対応のススメ
こんにちは。開発担当のマットです。
現在、私はスプラウトで様々な開発をしていますが、開発者になる前は日英翻訳の仕事をしていました。
翻訳は面白いものだと思います。
文章を訳すことによって言語の壁を超えることができます。
また、いい翻訳者であれば異なる文化を持つ多くの国の方々に著者の感情と強調まできちんと届けることができます。
小説の翻訳フローはだいたい同じです。
日本語で小説を書いて出版する。
海外から需要がある場合、翻訳会社に委託して翻訳が出来上がったら海外にも出版する。
でも、ソフトウェアの場合、翻訳はそれほど簡単ではありません。
本記事で、一般的なウェブサービスまたはスマートフォンアプリなどの国際化の利点、およびチャレンジについて書きたいと思います。
ソフトウェア国際化の利点
「日本語だけでいいんじゃないの?」
市場として、日本は小さくありません。
この記事を書く時点(2016年12月)では、1億2620万人の日本人がいます。
なお、日本のGDPは500兆円を超えています。
けれども、世界の割合として日本人は世界人口の2パーセントにも達していません。
なお、世界GDPの6パーセントです。
ウェブサービスまたはアプリなどを開発する際、日本にいない98%の人間と94%の市場を見過ごしてしまうとすごくもったいないです。
世界規模なサービスを開発するにあたってのチャレンジ
「いったいどこから始まる?」
「サービスを国際化する」イコール「サービスを翻訳する」と思いがちですが、それほど簡単ではありません。
サービスの国際対応は大きく3つの段階に分けることができます。
- Multilingualization (多言語化)
- Localization (現地化)
- Internationalization (国際化)
Multilingualization (多言語化)
国際対応にあたって、多言語化は一番想像しやすい項目だと思います。
「Multilingualization(多言語化)」とは、サービスを他の言語で表示できるようにすることです。
ところが、なんでも簡単に訳すことができません。
特に気にしないといけないのは、動的文言です。
文章の中に変数が入る場合、色々な問題が発生します。
私の経験上で、一番悩んできた問題を以下にまとめます。
単数・複数の区別
「このユーザは{X}人の友達がいます」という文章は簡単に見えますが、英語に訳すと、一人の場合は「friend」、一人以上の場合は「friends」になります。
サービスを多言語化する際、翻訳文の管理システムに、単数・複数の区別ができるように作らないといけません。
なお、英語の場合は、1 = 単数、1ではない = 複数、ですが、フランス語の場合、0 も単数扱いという文法ルールが存在します。
なお、ロシア語の場合、21,31,41などが単数扱いで、100,1000,10000などは全く別の「大複数」的な扱いになります。
要するに、言語によって単数・複数の区別は非常に複雑で、翻訳者がその区別を入力できるよう多言語システムを作るべきです。
文法的性
日本語に全くない概念ですが、単語に性別が属する言語も存在します。
「お爺さん、お婆さん」を英語に訳すと単純に「the grandfather, the grandmother」になりますが、スペイン語だと、「el abuelo, la abuela」になってしまいます。
なお、性別を持っていそうな「お爺さん、お婆さん」だけではなく、性別を持っていなさそうな単語も同様です。
例えば、「皿」は男性用のelを使う。ギターは女性用のlaを使うそうです。
同じような現象ですが、日本語では性別で区別しないが、生物・非生物の使い分けがあります。
「動物がいる。物がある。」などで見られます。
これは簡単に対応できないですが、なるべく翻訳者がこのような区別を入力できるよう多言語システムを作れたら作るべきです。
(しかし、私の経験上でほとんどの翻訳者はこの問題を回避するよう、文章を上手に書くことができます)
UIが言葉の順番に依存すると困ります。
時々出てくる問題ですが、文章の中の単語の順番が変わるとUIが崩れてしまうことがあります。
このようなUIの多言語化作業が非常に大変になってしまいます。
なので、絶対にしてはいけないこととは言えませんが、開発者様はこの事実を考慮しておくと後の悩みを防ぐことができます。
Localization (現地化)
多言語化の段階で言語の壁を超えることができても、国境はまだ超えていません。
「Localization (現地化)」とは、日本と異なる法律や習慣を持つ国に対して、サービスを最適化することです。
現地化はかなり広い意味を持ち、「最適化」をどこまですべきかは客観的な答えはないと思います。
でも、世界規模のサービスを作りたい場合、以下のことを頭の片隅に入れると良いと思います。
法律
国境を越えると海外の法律を考慮しなければなりません。
各国の著作権法、成年の年齢、広告の掲載に関する規制などが異なるので、このような法的問題を対応できる余地をサービスを設計する段階で考えるべきだと思います。
日付・時間の表示
日本向けのサービスと違って、世界規模のサービスに時間を表示させる場合、世界各時間帯の対応をする必要があります。
なお、日付と時間の表し方も国によって異なります。
例えば、日本では24時間表示が人気ですが、西洋ではAM/PMで時間を表すことが一般的です。
また、2017年1月2日を英語で書くとしたらどちらが正解でしょうか?
a) 1/2/2017
b) 2/1/2017
正解は・・・どちらも。
米国であれば、b が正式ですが、英連邦の国々(イギリス・オーストラリア・南アフリカ・ニュージーランドなど)では a が正しいです。
色と記号
一部のサービスにしか関係ありませんが、文化によって色と記号の意味が異なります。
日本ではチームを分けたら「紅白」、正解がマル印、不正解がバツ印という文化が染み込んでいますが、海外ではチームを分けたら「赤・青」、正解がチェック、不正解がバツ印という国も存在します。
なお、「春=桜色」なども、日本独特の文化によるものです。
もちろん、現地化をする際、日本で使われる色や記号を決して使ってはいけないわけではないですが、このようなことを常に考慮しなければなりません。
Internationalization (国際化)
上記の多言語化と現地化が終われば、初めて全世界向けにサービスを公開できる状態になります。
しかし、そのままサービスを公開してしまうと多くの問題が発生します。
例えば、サービスに「人気コンテンツ」のページ等があると、多くの国のコンテンツが表示されてしまうことが考えられます。
逆に、ユーザ層がある国に偏ってしまうと、「人気コンテンツ」ページの内容がその国のコンテンツに占められてしまいます。
「Internationalization(国際化)」とは、国際規模のコミュニティを仲良く混じり合い衝突させないことです。
サービスの仕様によっては違いますが、「このサービスは海外向け」と思われないように設計することが国際化の目的です。
ガラパゴスからとびだそう
日本は多くの面白いサービスを開発する国です。
小さい企業から、大きい企業まで、様々なアイディアを活かしてサービスとして提供できることは日本の特長だと思います。
けれども、多くのサービスが日本語のみ、日本人向けにしか提供されていません。
他方、アメリカで開発されるサービスは全世界向けに提供されることが多いです。
アメリカのIT会社が世界にサービスを提供する。
日本のIT会社が日本にサービスを提供する。
個人意見に過ぎないかもしれませんが、この状況は本当にもったいないと思います。
今後、ウェブサイトやゲームやその他のアプリケーションを開発される際、是非是非、国際対応をご検討ください。
参考URL
https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_population
https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)
https://en.wikipedia.org/wiki/Date_format_by_country
\\インターネットに関することは何でもご相談ください//
ウェブサイトやスマートフォンアプリの国際化に関心ございませんか?
弊社までお気軽にご相談ください!
お問い合わせはこちらから。