SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2012】セッションレポート(AD)

【デブサミ2012】16-A-6 レポート
グリーに学ぶ、グローバル展開の最新事情

  • このエントリーをはてなブックマークに追加

 本稿では、「Developers Summit 2012」(デブサミ2012)において、2月16日に行われたグリー株式会社 取締役 執行役員CTO 開発本部長 藤本真樹氏によるセッション「いまどきのi18nのはなし」の内容を紹介する。  i18nという言葉が認識され、世界中のエンジニアが闘い始めてかなりの年月が経つ。さまざまな進歩が生まれた一方で、デバイスやプラットフォームの進化に伴い新たな問題も発生している。グリーCTOの藤本真樹氏によるセッションでは、i18nの技術基盤や、プロダクト/ビジネスから発生する技術面への影響など、グローバルでサービスを展開するのに必要な情報が語られた。

  • このエントリーをはてなブックマークに追加

グリー株式会社 取締役 執行役員CTO 開発本部長 藤本真樹氏
グリー株式会社 取締役 執行役員CTO 開発本部長 藤本真樹氏

ソフトウェア国際化の環境の整備が進むが留意点も多い

 グリーでCTOを務めている藤本真樹氏のセッションテーマは、ソフトウェアの国際化。タイトルに「いまどきの」と入れた理由は、5年前、10年前と比較して、最初の一歩を踏み出す際の敷居が非常に下がっていることを伝えたかったからだ。

 では、なぜi18n、ソフトウェアを国際化しなければならないのか。これまで日本のエンジニアは日本語だけで作成することが多かったが、世界の言語比を見ると日本語を話す人は3%。一方英語は53%になる。単一言語で作成したアプリケーションを2言語にするのは大変だが、仕組みを整えておけば、それを3言語に増やすのはそれほど難しくない。

 藤本氏はこの2~ 3年、多言語対応の意識が高まってきていると見ている。その背景にあるのがスマートフォンの普及だ。プラットフォームとしてのコントロールが効いているので、アプリケーションを世界に向けて出しやすい。グリーではこの動きを先取りし、GREEプラットフォームのグローバル版を開発中で、今春に提供される予定だ。

 ではi18nとは何か。ある米国の経験豊富なエンジニアは藤本氏に「i18nと聞いて、アーキテクチャだと考えられるようになったら一人前」と語ったという。氏自身の解釈ではフレームワークに近く、特定の何かをする枠組みをソフトウェアの中に持つというものになる。ソフトウェアから言語、文化に固有な特性やエンコーディングに依存する部分を切り離し、1つのバイナリ、アプリケーションインスタンスで複数言語の切り替えができるようにする。同時にl10n、ローカリゼーション可能にする仕組みをアプリケーションの中に持たせることも必要だ(図1)。

 文字コードについては、最近ではUTF-8で書くことが多い。これですべて解決すると思いきや、例えばNFC(結合正規化)、NFD (分離正規化)というものがある。日本語の濁点でいえば、濁点だけでコードポイントがあり、「が」を1つのコード(NFC)、「か」+濁点の2つのコード(NFD)、どちらも認められている。それに気づかず文字数を数えると間違える。藤本氏は「文字コードだけでも、話すべきネタが1セッション分ある」と話す。絵文字もユニコードに入ったが、それですべてをカバーできるわけではない。

 またプログラミング言語環境では、charとwchar_t、文字エンコーディング変換、リテラルの扱いなどの問題がある。OSでもロケールの設定やタイムゾーンの扱いを決めなければならない。

 とはいえ藤本氏がセッション冒頭で述べた通り、この10年でi18nを取り巻く環境が大きく進化しており、アプリケーション作成という視点では、行うことはかなりシンプルになってきている。ライブラリではICUを使えば、エンコーディングの変換やメッセージのフォーマッティングで、それほど悩むことはなくなっている。また地域固有のデータをXMLで公開しているCLDRというものがあり、例えば日本の元号などを一々自分で調べなくてすむようになっている。

 標準も大分、定まってきた。2009年に決まった言語タグBCP 47(RFC 564)のlanguage(言語)、Script(表記)、region(地域)で大体行ける。例えばsh-Hans-CNだと繁体字で書かれている中国語だと分かる。表し方がぶれることはなくなり、やりやすくなっている。

図1:真の国際化には国際化(i18n)と地域化(l10n)の両方が必要
図1:真の国際化には国際化(i18n)と地域化(l10n)の両方が必要

次のページ
国際化の技術的課題に対し、どの方法で解決し、どこまで対応するか

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2012】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6463 2012/03/09 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング