$30 off During Our Annual Pro Sale. View Details »
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
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
2
580
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
Basic Architectures
denyspoltorak
0
120
チームをチームにするEM
hitode909
0
370
AIコーディングエージェント(NotebookLM)
kondai24
0
230
これならできる!個人開発のすゝめ
tinykitten
PRO
0
130
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
420
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
0
270
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
130
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3k
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
190
Visualization
eitanlees
150
16k
Prompt Engineering for Job Search
mfonobong
0
120
The Curse of the Amulet
leimatthew05
0
4.7k
Raft: Consensus for Rubyists
vanstee
141
7.3k
The SEO Collaboration Effect
kristinabergwall1
0
310
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
29
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
WENDY [Excerpt]
tessaabrams
8
35k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
30
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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.