SlideShare a Scribd company logo
iOSローカライズことはじめ
自己紹介
嶺村俊輔(みねむらしゅんすけ)
社会人2年目のペーペーです
仕事: 翻訳関係 エンジニア
Swift歴: 1年弱
プログラミング歴: 1年ちょっと
Twitter @minemuru
なぜ?
IT関連の翻訳(UIとかウェブサイ
トとか)やってます
プログラミンはまだまだ初心者&
勉強会も人生2度目
みなさまお手柔らかに…
今日のテーマ:
iOSでアプリを作る際のローカライズ
=多言語化、翻訳
の、基本の き!
今日話すこと:
アプリUIの多言語化の手順
実際にやってみた
翻訳をどうするのか問題(おまけ)
今日話すこと:
アプリUIの多言語化の手順
実際にやってみた
翻訳をどうするのか問題(おまけ)
超おおまかなながれ
ローカライズの仕込みをしつつ
アプリを作る
↓
Xliffをエクスポート
↓
Xliffに翻訳を入力
↓
Xliffをインポート
↓
おわり!
アプリUIの多言語化の手順
超おおまかなながれ
ローカライズの仕込みをしつつ
アプリを作る
↓
Xliffをエクスポート
↓
Xliffに翻訳を入力
↓
Xliffをインポート
↓
おわり!
アプリUIの多言語化の手順
*Xcode 7.0.1
補足
Xliffとは?
“XLIFF (XML Localization
Interchange File Format) は
ソフトウェアや文書の国際化、
翻訳のために開発された XML
ベースのファイル形式である。”
Wikipediaより
アプリUIの多言語化の手順
補足
Xliffとは?
ざっくりいうと
「ソフトウェアを翻訳するのに
使える形式のファイル」
アプリUIの多言語化の手順
多言語化の手順
1. 開発言語を日本語にしよう
2. storyboardとコードに仕込み
3. Xliffのエクスポート&
インポート
アプリUIの多言語化の手順
多言語化の手順
1. 開発言語を日本語にしよう
2. storyboardとコードに仕込み
3. Xliffのエクスポート&
インポート
アプリUIの多言語化の手順
1. 開発言語を日本語にしよう
なんで?
アプリUIの多言語化の手順
1. 開発言語を日本語にしよう
なんで?
→デフォだと英語
アプリUIの多言語化の手順
1. 開発言語を日本語にしよう
アプリUIの多言語化の手順
日本語を追加しよう
1. 開発言語を日本語にしよう
アプリUIの多言語化の手順
英語はいらない子…
多言語化の手順
1. 開発言語を日本語にしよう
2. storyboardとコードに仕込み
3. Xliffのエクスポート&
インポート
アプリUIの多言語化の手順
なんで仕込み必要?
アプリUIの多言語化の手順
2. storyboardとコードに仕込み
なんで仕込み必要?
アプリUIの多言語化の手順
2. storyboardとコードに仕込み
Xliffに認識してもらうため
アプリUIの多言語化の手順
2. storyboardとコードに仕込み
多言語化の手順
1. 開発の言語を日本語にしよう
2. storyboardとコードに仕込み
3. Xliffのエクスポート&
インポート
アプリUIの多言語化の手順
2. storyboardとコードに仕込み
仕込み、、、実は不要
なにもしなくても認識してく
れるよ!
アプリUIの多言語化の手順
2. storyboardとコードに仕込み
多言語化の手順
1. 開発の言語を日本語にしよう
2. storyboardとコードに仕込み
3. Xliffのエクスポート&
インポート
アプリUIの多言語化の手順
2. storyboardとコードに仕込み
NSLocalizedString
を使うよ!
ント")
アプリUIの多言語化の手順
2. storyboardとコードに仕込み
NSLocalizedString
("UIとして表示される文言",
comment: "この文言に関す
る補足コメント")
)
書き方
※他にも引数がありますが今回は割愛
多言語化の手順
1. 開発言語を日本語にしよう
2. storyboardとコードに仕込み
3. Xliffのエクスポート&
インポート
アプリUIの多言語化の手順
アプリUIの多言語化の手順
3. Xliffのエクスポート&インポート
そのまえに…追加したい言語を選択
アプリUIの多言語化の手順
3. Xliffのエクスポート&インポート
そのまえに…追加したい言語を選択
アプリUIの多言語化の手順
3. Xliffのエクスポート&インポート
エクスポート&インポート
アプリUIの多言語化の手順
3. Xliffのエクスポート&インポート
エクスポート&インポート
今日話すこと:
アプリUIの多言語化の手順
実際にやってみた
翻訳をどうするのか問題(おまけ)
実際にやってみた
・ボタンを押すとウィンドウが出
てくる…だけ
・ボタンのUIはstoryboardで
・ウィンドウのUI、テキストはコー
ドに
試しにアプリを作った
実際にやってみた
こんな感じ
実際にやってみた
こんな感じ
実際にやってみた
storyboard
実際にやってみた
コード
let closeText = NSLocalizedString
("閉じる", comment: “ウィンドウを閉じるためのボタン")
let windowText = NSLocalizedString
("ボタンを押してくれてありがと〜!!", comment: "ウィン
ドウに表示される文言")
実際にやってみた
Xliff
エクスポートした結果…
実際にやってみた
Xliff
エクスポートした結果…
実際にやってみた
Xliff
をひらくと
なんぞこれ
実際にやってみた
Xliff
そこで!専用のエディタを使おう
おすすめ Xliffie
実際にやってみた
Xliff
Xliffieで開いた結果…
実際にやってみた
Xliff
翻訳してみよう
実際にやってみた
インポートした結果…
実際にやってみた
インポートした結果…
実際にやってみた
インポートした結果…
できた!
今日話すこと:
アプリUIの多言語化の手順
実際にやってみた
翻訳をどうするのか問題(おまけ)
ローカライズの手順はわかった
でも翻訳どうしよう…
翻訳をどうするのか問題
安心してください
対策2つ
翻訳をどうするのか問題
翻訳をどうするのか問題
その1 Google翻訳
意外とイケる。UI的な短文はがんばってくれる
※機械翻訳は長文の翻訳が苦手な子
翻訳をどうするのか問題
その2 クラウドソーシング
翻訳に特化したサービスも
翻訳をどうするのか問題
その2 クラウドソーシング
翻訳に特化したサービスも
※ステマじゃないよ!
今日話すこと:
アプリUIの多言語化の手順
実際にやってみた
翻訳をどうするのか問題(おまけ)
せっかくなら!
アプリをローカライズして
世界中の人に使ってもらおう!\(^o^)/
おしまい!
iOSローカライズことはじめ_Swiftビギナーズ20160109.pdf
iOSローカライズことはじめ_Swiftビギナーズ20160109.pdf
iOSローカライズことはじめ_Swiftビギナーズ20160109.pdf
iOSローカライズことはじめ_Swiftビギナーズ20160109.pdf

More Related Content

Similar to iOSローカライズことはじめ_Swiftビギナーズ20160109.pdf

知識ゼロからモバイルアプリをデザインして失敗した話
知識ゼロからモバイルアプリをデザインして失敗した話知識ゼロからモバイルアプリをデザインして失敗した話
知識ゼロからモバイルアプリをデザインして失敗した話
FujishiroRumi
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
Megumi Otani(Czenhe)
 
スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。
Hiroshi Goto
 
Global engineerlab kawani
Global engineerlab kawaniGlobal engineerlab kawani
Global engineerlab kawani
Shin Kawani
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃Teruo Adachi
 
会話型UI事始め
会話型UI事始め会話型UI事始め
会話型UI事始め
DeNA
 
Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリとSwift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
Sachiko Kajishima
 
アドベント2015ios基礎
アドベント2015ios基礎アドベント2015ios基礎
アドベント2015ios基礎
ppengotsu Name
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術
Tomoki Hasegawa
 
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れメディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
sugimoto1022
 
Apps for office seminar 1st beginners
Apps for office seminar 1st beginnersApps for office seminar 1st beginners
Apps for office seminar 1st beginners
Seiji Noro
 
スタートアップ勉強会
スタートアップ勉強会スタートアップ勉強会
スタートアップ勉強会
Ken Haneda
 
Flex入門
Flex入門Flex入門
Flex入門
Shinjiro Watanabe
 
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaPotatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwaya
Akira Iwaya
 
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
Yuka Masaki
 
通常の3倍の速度で プログラミング!? 「 Emacsキーバインドのすすめ」
通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」
通常の3倍の速度で プログラミング!? 「 Emacsキーバインドのすすめ」
KinkumaDesign
 
Letsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous DeliveryLetsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous Delivery
Nobuhiro Sue
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
Hiroki Toyokawa
 
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
Yoshinori Kobayashi
 

Similar to iOSローカライズことはじめ_Swiftビギナーズ20160109.pdf (20)

知識ゼロからモバイルアプリをデザインして失敗した話
知識ゼロからモバイルアプリをデザインして失敗した話知識ゼロからモバイルアプリをデザインして失敗した話
知識ゼロからモバイルアプリをデザインして失敗した話
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
 
スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。スマホアプリの開発手法をまとめてみた。
スマホアプリの開発手法をまとめてみた。
 
Global engineerlab kawani
Global engineerlab kawaniGlobal engineerlab kawani
Global engineerlab kawani
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
会話型UI事始め
会話型UI事始め会話型UI事始め
会話型UI事始め
 
Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリとSwift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
 
アドベント2015ios基礎
アドベント2015ios基礎アドベント2015ios基礎
アドベント2015ios基礎
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術
 
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れメディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
 
Apps for office seminar 1st beginners
Apps for office seminar 1st beginnersApps for office seminar 1st beginners
Apps for office seminar 1st beginners
 
スタートアップ勉強会
スタートアップ勉強会スタートアップ勉強会
スタートアップ勉強会
 
17 D-2
17 D-217 D-2
17 D-2
 
Flex入門
Flex入門Flex入門
Flex入門
 
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaPotatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwaya
 
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
 
通常の3倍の速度で プログラミング!? 「 Emacsキーバインドのすすめ」
通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」通常の3倍の速度でプログラミング!?「 Emacsキーバインドのすすめ」
通常の3倍の速度で プログラミング!? 「 Emacsキーバインドのすすめ」
 
Letsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous DeliveryLetsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous Delivery
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
 

Recently uploaded

クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
TatsuyaHanayama
 
Bhyve Management Daemon Version 3.0 on FreBSD
Bhyve Management Daemon Version 3.0 on FreBSDBhyve Management Daemon Version 3.0 on FreBSD
Bhyve Management Daemon Version 3.0 on FreBSD
Yuichiro Naito
 
RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19
GrapeCity, inc.
 
RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19
GrapeCity, inc.
 
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet DocumentationRaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
GrapeCity, inc.
 
RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19
GrapeCity, inc.
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 

Recently uploaded (8)

クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
 
Bhyve Management Daemon Version 3.0 on FreBSD
Bhyve Management Daemon Version 3.0 on FreBSDBhyve Management Daemon Version 3.0 on FreBSD
Bhyve Management Daemon Version 3.0 on FreBSD
 
RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19
 
RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19
 
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet DocumentationRaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
 
RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
 

iOSローカライズことはじめ_Swiftビギナーズ20160109.pdf