Frappe / ERPNext を日本語化するアプリ「Frappe Japanese Translations」を OSS として公開しました
Frappe / ERPNext の画面を日本語で使えるようにする翻訳アプリ Frappe Japanese Translations を、MIT ライセンスのオープンソースとして公開しました。
- リポジトリ: https://github.com/lifegence/frappe_japanese_translations
- 対応: Frappe / ERPNext v15・v16
- ライセンス: MIT(元になった各アプリの翻訳部分は、それぞれのライセンスに従います)
要旨
- アプリを 1 つ入れるだけで日本語化できます。 プログラムは含まず、翻訳ファイルだけのアプリです。
- Frappe Cloud でも使えます。 サーバーにログインできない環境でも、画面の操作だけで導入できます。
- ERPNext 以外のアプリも対象です。 frappe・erpnext に加え、HRMS(人事・給与)、Healthcare(医療)、Lending(融資)の訳を収録しています。
1. 背景
Frappe / ERPNext は日本語を選べますが、標準で同梱されている日本語訳には抜けが多く、画面に英語が混じります。業務システムとして社内に展開するには、この状態では足りません。
これまで当社は、案件ごとに翻訳ファイルをサーバーへ直接配置していました。しかしこの方法には 2 つの問題があります。
- サーバーにログインできない環境では使えません。 Frappe Cloud がその代表です
- Frappe を更新すると消えます。 配置した翻訳ファイルが上書きされ、そのたびに入れ直しが必要でした
そこで、翻訳を Frappe のアプリとして導入できる形 にしました。
2. しくみ
Frappe は、導入されているすべてのアプリの翻訳ファイルを言語ごとに 1 つにまとめて使います。翻訳は「どのアプリの文字列か」ではなく「元の英語の文字列」で引かれるため、翻訳だけを持つアプリを 1 つ入れれば、frappe や erpnext 本体に手を加えずに画面全体を日本語化できます。
アプリなので、Frappe を更新しても翻訳は消えません。
訳が衝突したときの決まり
複数のアプリが同じ英語に別の訳を持っていることがあります。たとえば融資アプリは *Age* を「期間」、医療アプリは *Active* を「アクティブ」と訳しています。これをそのまま混ぜると、融資も医療も使っていない会社の画面まで言葉が変わってしまいます。
そこで、次の決まりで 1 つのファイルにまとめています。
| 扱い | |
|---|---|
| frappe・erpnext | 標準の読み込み順と同じく、erpnext の訳を優先 |
| そのほかのアプリ | frappe・erpnext に無い文字列の訳を足すだけ。既存の訳は変えない |
| 個別の修正 | 人が確認した修正を最後に当てる |
特定のサイトで 1 語だけ変えたい場合は、Frappe 標準の「翻訳」レコードで上書きできます。アプリ側の訳より優先されます。
版ごとに分けて提供
| ブランチ | 内容 |
|---|---|
version-15 | Frappe / ERPNext v15 向け |
version-16 | Frappe / ERPNext v16 向け(HRMS・Healthcare・Lending を含む) |
main | 開発版を追う訳 |
導入先の Frappe の版に合わせてブランチを選びます。
3. 導入方法
Frappe Cloud
- Bench Group を開く
- Apps → Add App → From GitHub で本リポジトリを追加
- ベンチに合わせて
version-15またはversion-16を選ぶ - Deploy する
- サイトで Install App する
- System Settings → Language を
jaにする
サーバーにログインできる環境
bench get-app https://github.com/lifegence/frappe_japanese_translations --branch version-15
bench --site your.site install-app frappe_japanese_translations
4. 翻訳の作り方
翻訳は、Frappe の翻訳の管理元である Crowdin と同じ形式(PO ファイル)を正本とし、そこから導入用のファイルを作っています。
- AI で下訳し、人が確認します。 抜けている訳は AI で埋め、そのすべてに「要確認」の印を付けています。確認前の訳が、確認済みの訳として扱われることはありません
- 壊れた訳は採用しません。
{0}のような差し込み位置、テンプレートの記法、改行、括弧の対応が崩れた訳は自動で弾きます - 用語集で訳をそろえます。 「Account → 勘定科目」のように、業務用語の訳を用語集で固定しています
導入用のファイルは GitHub の CI で毎回作り直し、正本とずれていれば検出します。
今後
- 実際の業務画面で見つかった未訳・不自然な訳を、順次反映していきます
- 確認済みの訳は Crowdin を通じて Frappe 本体へ還元し、Frappe を使う日本の企業全体に届くようにしていきます
追記(2026-09-29)
公開後、実際に運用している ERPNext の画面を確かめながら、訳を大きく増やしました。
version-15の収録数は、公開時の約 2 万 1 千行から 24,026 行 になりました- ソースコードを調べる方法では見つからない、データベースに保存された見出しや項目名 の訳を追加しました
- v16 で実際に使われているのに収録されていなかった文字列を 925 件追加しました
- 訳の途中で止まっていた文字列 97 件を仕上げ、標準の訳では意味がずれていた画面上の言葉を個別に直しました
画面に出る文字列を漏れなく洗い出す方法は、多言語管理アプリ I18n Manager として別に公開しています。
ERPNext の日本語での導入をご検討の方へ。 日本語化に加え、日本の商習慣に合わせた設定や拡張のご相談も承っています。お気軽にお問い合わせください。
この記事を書いた人