Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
locizeでいい感じにi18n対応する
Search
tsukui.tomohiro
June 18, 2019
Programming
0
2k
locizeでいい感じにi18n対応する
React Nativeにlocizeとi18nextを導入することで文言リソースの管理を開発チームから独立させました。
tsukui.tomohiro
June 18, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
150
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
120
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
330
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
180
Patterns of Patterns
denyspoltorak
0
420
CSC307 Lecture 03
javiergs
PRO
1
460
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1k
Graviton と Nitro と私
maroon1st
0
160
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
210
Deno Tunnel を使ってみた話
kamekyame
0
310
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
Featured
See All Featured
Docker and Python
trallard
47
3.7k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
0
34
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
Claude Code のすすめ
schroneko
67
210k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Believing is Seeing
oripsolob
0
19
For a Future-Friendly Web
brad_frost
180
10k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
37
So, you think you're a good person
axbom
PRO
0
1.9k
エンジニアに許された特別な時間の終わり
watany
106
220k
Transcript
locizeでいい感じにi18n対応する 読めない⾔言語をコピペする作業が⾟辛いので
ecbo 株式会社 Tech Lead Tsukui Tomohiro @two2q 2018年年4⽉月からecbo cloakというアプリ をReact
Nativeで開発しています。 もともと業務系Webサービスを開発して いたのでecbo cloakが初めてのアプリで す。
エクボクローク 「荷物を預けたい⼈人」と、 「荷物を預かるスペースを持つお店」 をつなぐシェアリングサービス。
ビジネスモデル
ビジネスモデル 荷物を預けるユーザー ・アプリDL→検索→予約→クレカ決済 ・バッグサイズ 300円 /スーツケースサイズ 600円
ビジネスモデル 荷物を預けるユーザー ・アプリDL→検索→予約→クレカ決済 ・バッグサイズ 300円 /スーツケースサイズ 600円 荷物を預かるオーナー ・登録/導⼊入/維持費 ¥0
・利利⽤用料料⾦金金の50%が 店舗の副収⼊入に ・新規顧客獲得も
先週⾦金金曜⽇日に今⽇日のAPPに取り上げていただきました :tada:
ecbo cloakは半数以上が外国⼈人ユーザー i18n対応はかなり重要!
翻訳はエンジニアにとって完全に専⾨門外 理理想を⽬目指した エンジニアはラベルの配置のみに責任を持ち、 ラベルの中身については翻訳チームに委ねたい
ecbo cloakでは結構理理想系に近づけたので 共有させてください!
この組み合わせ
None
locizeが提供しているもの ・ダッシュボード ・翻訳管理理 ・権限管理理 ・バージョン管理理 ・検索 ・Slack通知 ・API
ダッシュボード
ダッシュボード 翻訳済の進捗がわかる
ダッシュボード メモもつけられるよ!
これだけだとただの翻訳管理理
locizeの翻訳データをアプリと同期する
i18nextを使う JSのためのi18nライブラリ locizeの創業者がメンテナンス
i18nextのbackendにlocizeを指定する i18nextは翻訳データの取得先をカスタマイズが可能。 ファイルから取得やAsyncStorageから取得ができる。 locizeからも取得できる
i18nextのbackendにlocizeを指定する # yarn $ yarn add i18next i18next-locize-backend
i18nextのbackendにlocizeを指定する import i18next from 'i18next'; import LocizeBackend from 'i18next-locize-backend'; export
default (callback) => i18next .use(LocizeBackend) .init({ lng: 'ja', debug: true, fallbackLng: { // lngに指定した⾔言語が翻訳されていない場合に参照する⾔言語 default: ['en'] }, // locizeに登録されているnamespace。demoの場合はtranslation defaultNS: 'translation', backend: { // locizeのプロジェクトIDです projectId: 'your project id', // saveMissingがtrueの時に必要です。 apiKey: 'your api kei', // locizeで設定されているreferenceLngを指定してください。saveMissingがtrueのときに必要です。 referenceLng: 'en', // locizeのどのバージョンの⾔言語を取得するのかを指定します。デフォルトはlatestです version: 'latest', }, }, callback ); 起動時のオプションで⾔言語をjaでは なくdevにすることで画⾯面にキーが 表示される
i18nextのbackendにlocizeを指定する import i18next from 'i18next' {...} <Text>{i18next.t('key')}</Text> keyがlocizeに登録されていなかった 場合にはlocizeに⾃自動で登録するオ プションもある!
起動時にlocizeから翻訳ファイルを取得するので 常に最新の⽂文⾔言のアプリを提供できる
弊社の流れ デザイナー:⽂文⾔言は配置だけfixしてデザインする。 エンジニア:実装とlocizeへのキー登録 翻訳チーム・デザイナー:実機で確認して、違和感があれば随時変更更 翻訳チーム:新しいキーが登録されたことがSlackに通知されるので翻訳
⽂文⾔言修正業務を翻訳チームやデザイナーなどに⽢甘えることができる Engineers Translators 強⼒力力なダッシュボードを獲得できる(検索、進捗管理理、バージョン管理理など) 翻訳チームだけで他国展開可能に! ⽂文⾔言の確定を遅延できる。リリース後の変更更も⾃自分のタイミングで可能! Designers
神ツールとの声 実機で確認しながら翻訳できる翻訳チームと 中国語のコピペから解放されたエンジニアチームの 稀に⾒見見るWin-Winな関係!
いつの間にかアプリが韓国語対応していた セールスチームが韓国翻訳者に依頼し、 韓国語対応を実現。エンジニアはほぼ何もしていない。
気になるお値段は?
Tips 起動時にlocizeに翻訳ファイルを取得しに⾏行行くので、 電波が悪い時には⾔言語のキーのみが出てしまう可能性がある i18nextのbackendをlocizeとfileの⼆二つにすることで、locizeからの 取得に失敗した時にはfileから読めるようにする。 fileはpostInstallでlocizeからAPI経由で取得するようにして⾃自動化。
少ない⼈人数で プロダクトをスケール出来る仕組みを構築したいので いいサービスご存知でしたら教えてください!
Qiitaにもコードがあります https://qiita.com/tsukushi0104/items/74a380ea9642cae91990
FIN.