読者です 読者をやめる 読者になる 読者になる

ソフトウェアの多言語対応を支援するTransifex

i18n Django

今更な感じではあるけど紹介。
ソフトウェアを多言語対応させるためにはgettextなどの仕組みを使うのだけど、それらで使われる拡張子がPOの翻訳データのファイルをオンライン上で編集できるサービスです。
https://www.transifex.net/start/
Transifexがオープンしたのは1年以上前なんですが、しばらく触ってなくて久しぶりに見てみたら、UIなどが結構わかりやすくなってました。

Transifexでできること

このサービスでできることはこんな感じ。

各種翻訳データファイルの翻訳

翻訳データファイルの内容を翻訳できます。
フォーマットはgettextであればPOファイルですが、それ以外でも多数サポートされています。詳細はドキュメントに書かれています。
Supported File Formats
Webでの翻訳の画面はこんな感じ。左が原文で右側に翻訳したテキストを入力します。自動翻訳ボタンをクリックすると、自動翻訳(Google翻訳かな?)で訳したものが入力されます。

翻訳対象のファイルをダウンロードして、ローカル環境での翻訳もできます。

言語ごとの翻訳状況の表示

言語ごとの翻訳状況(翻訳済み/未翻訳の割合)が表示されます。

言語ごとの翻訳チームの管理、チーム内でのディスカッション

チーム内でディスカッションするための掲示板のような機能があります。

翻訳対象のリソースファイル管理

名前を付けて翻訳リソースを管理することができます。

アップロードはWeb画面もしくはコマンドラインクライアントでできます。

$ tx help
Transifex command line client.

Available commands are:
  delete                Delete an accessible resource or translation in a remote server.
  help                  List all available commands
  init                  Initialize a new transifex project.
  pull                  Pull files from remote server to local repository
  push                  Push local files to remote server
  set                   Add local or remote files under transifex
  status                Print status of current project

GitやMercurialを意識したコマンド名になっていて、設定ファイル(.tx/config)はリポジトリにコミットしておけるよう、ユーザー情報はホームディレクトリに作成されるという親切設計。

Transifexを使っているプロジェクト

私はDjango関連以外でTransifexを採用しているプロジェクトをあまり知らないのですが、アクティブなプロジェクトは結構あるようです。
https://www.transifex.net/connect/projects/
Djangoの場合、バージョン1.3のころから翻訳のコントリビュートはTransifexでやることになっています。
Localizing Django | Django documentation | Django

まとめ

Transifexでできることを簡単に説明しました。詳細はドキュメントが結構詳しいのでそっちを見ればよさそう。
Home - Transifex Documentation
小さなプロジェクトではすぐに翻訳のためのプラットフォームをそろえられるのは嬉しいし、大規模なプロジェクトではチーム管理/リソース管理の機能が特に役に立つと思うので、気になる人は試してみてみるといいんじゃないだろか。