💻

crowdinを使ってチームでgettextの翻訳をする
September 10, 2021February 19, 2024
#Develop#crowdin

チームで gettext の翻訳ファイルを作る必要がでてきたのでやり方を考えた git で管理しようと思ったがコンフリクトが面倒だったので crowdin を利用した。

gettext とは

GUN プロジェクトの i18n ライブラリ .po とコンパイルされた.mo で構成されている

.po はmsgid ""msgstr ""の組み合わせで構成されている翻訳ファイル .mo は.po をコンパイルして作るバイナリファイル

git で複数人で翻訳作業するとコンフリクトがすこぶるめんどくさい

はじめは git で管理しようと思っていたのだが、どの範囲を翻訳するかと言った取り決めをしないとコンフリクトしたり、同じ行を翻訳した場合上書きされてしまうといったことが発生してめんどくさかった

ローカライゼーションマネジメントプラットフォームを利用する

雰囲気としては翻訳用の github のようなもので、「どこ」を「いつ」、「だれが」書き換えたか明確になる、コンフリクトした場合もどちらかを選択できる 選ばなかったほうも消えることなく管理できる。今回は今使っていた po ファイルのエディタのpoeditと連携が取れたcrowdinを選択した。

crowdin の所感

crowdin を導入してよかった点

  • 無料プランがあり、無料プランでも1つ private プロジェクトが作ることが出来る
  • 機械翻訳結果がオススメにでてくるのでとりあえず翻訳できる
  • 翻訳レポートが見れるのでモチベにつながる
  • poedit を使って直接編集できる
  • API が用意されていてビルドやテスト環境への反映がやりやすい
  • コンフリクトを気にしなくてよくなり、スキマ時間にすこしずつ進めやすい

crowdin を使うにあたっての不満

  • サービスサイトがとても重いことが頻繁にある
  • gettext の場合、Language-Team:,Language:の情報を勝手に書き換える

所感として今の所、利点しかない、サービスサイトが重くて繋がらないことが頻繁にあるのは困るが、今の所ヘビーユースしていないので気にならない(無料で使えているのでそこに文句は言えない) 情報を勝手に書き換えるのは少し困った問題で、原状の対応は強制的に書き換えているが、なにか手はあるのだろうか…

参考

Crowdin: Localization Platform to Manage Your Translation

Crowdin is an all-in-one localization and translation management platform with all the software, tools and integrations you need to localize your content.

Crowdin

Crowdin: Localization Platform to Manage Your Translation

おしまい

sakakinox

Written by sakakinox
Server enginier

Copyright © sakakinox.net 2021-2026.