「ソフトウェア グローバリゼーション 入門」を読みました
11月1日に入社したleanチームの天貝です。
leanチームが扱っている案件がグローバル案件中心なので、
今回は、その勉強会で扱っている本「
基本的ですが、見落としがちなことや意識すべきことが書いてあり、
この記事は Sansan Advent Calendar 2018 - Adventar の20日目の記事です。
グローバルなソフトウェアの特徴:多言語で表示、ロケール( 地域)に合った表示
※この本はあくまで「表示」にフォーカスを当てています。
「多言語で表示」とは、
「ロケール(地域)に合った表示」
I18N, L10N, G11N
I18N(Internationalization)は「
これらを合わせてG11N(Globalization)
グローバルなソフトウェアを開発するためには、まずは言語・
G11N対応するための開発プロセス
ウォーターフォール型開発では「要件定義→設計→実装→
また、ウォーターフォール型開発ではI18N/
場当たり的な対応はよくないですが、
設計で考慮すべき点
- どこ向けか:ロケール
- どの程度か:例) 単数・複数の表示まで向き合うか、使わない表現をするか
- 何が対象か:テキスト、画像、文化的要素、機能など
- 何を使うか:I18N対応のためのフレームワークやライブラリなどの選定、
L10N対応のためにアウトソーシングにするか内製にするか、など
RTL言語
アラビア言語やヘブライ語の、右から左に読む言語をRight-to-leftという意味でRTL言語といいます。先日、顧客の声にアラビア語対応の要望が挙がり、leanチームではざわざわしました。
RTL言語の対応を考慮したデザインは、鏡で映しても違和感なく見えるデザインが理想だといわれます。問題はデザインだけでなく、数字やラテン文字は左から右に表示することにも注意する必要があります。これはHTMLのbdi要素やCSSのdirectionプロパティで対応することが可能です。
ロケールにあった形式
- 日時:
ロケール | 日付 | 日付(短縮形) | 時間 |
日本 | 2018年1月20日 | 2018/1/20 | 17:30 |
アメリカ | January 20, 2018 | 1/20/18 | 5:30 PM |
イギリス | 20 January 2018 | 20/1/2015 | 17:30 |
英語圏といっても、日付の短縮形では1月なのか1日なのか伝わらない可能性があります。さらに踏み込むと、タイムゾーンや休日祝日、暦などの考慮も必要です。
- 数字:
ロケール | 例 | 桁区切り | 小数点 |
日本 | 1,234.56 | 「,」 | 「.」 |
ドイツ | 1.234,56 | 「.」 | 「,」 |
フランス | 1 234,56 | 「 」 | 「,」 |
ロケール依存の要素の汎用化・各ロケールに向けた特殊化
- 名前:姓名の順、ミドルネームやフリガナなど
- 住所:日本では単位の大きな順、英語圏では小さな順から
- 郵便番号:日本は[3桁]-[4桁]、アメリカは5桁、イギリスはアルファベットと数字の組み合わせ
- 電話番号:ハイフンで区切るか、など
- 記号やシンボル:〒は日本独自の記号、日本の〇×の意味と西洋の意味は逆、など
文化的要素に対応するために、ロケール依存する要素を把握しておく必要があります。これらを踏まえて、どの国に展開していくのかによってUIや実装を特殊化していくことが求められます。
所感
leanチームのバックログにも積んである!という問題もいくつかあり、親近感をもって読むことができました。海外のユーザが違和感を覚える箇所は想像もつかないことばかりなので、文化の違いを考慮するのは難しいなあとしみじみ思います。数字の表示が異なることは知らなかったです…
今回は開発者目線のことを抽出しましたが、翻訳者に求められる姿勢なども書かれていました。また、デザインが関係する問題が多いので開発者だけでG11Nに対応することもできません。開発者だけで解決できる問題ではなく、デザイナーや翻訳者など開発にかかわるすべての人の力と配慮が必要だと感じました。
3QのチームのOKRは「グローバルユーザのUXを向上させる」ということで、タイムゾーンの設計とUI/UXの更なる向上に取り掛かっていきます。この本で勉強したことも一部役に立てたいと思います。