ツールの共有#
Auto-i18nは、Markdown ファイルを自動的に複数の言語に翻訳するための ChatGPT ツールです。
特徴#
Auto-i18n は、ブログ記事の i18n(国際化)を完全に自動化しています。GitHub リポジトリに記事をプッシュするだけで、GitHub Actions を使用して自動的に複数の言語に変換するか、ソースコードをダウンロードして実行することができます。現在、英語、スペイン語、アラビア語に対応しており、他の言語はソースコードの形式に従って変更するだけで対応できます。
⚠️注意:翻訳が正確であることを手動で確認してから公開することをお勧めします。
⚠️さらに注意:提供された記事が不完全な場合、ChatGPT が翻訳して自動的に完全な文章を継続する可能性があります。これがバグなのか機能なのかはわかりません。(ハハハ)
追加情報#
Markdown に Front Matter が含まれている場合、Front Matter の元の内容は保持されます。Front Matter のパラメータの翻訳機能は現在開発中です。
ここでは、私がいくつかのPrompts
を追加しました。これにより、Front Matter の指定されたパラメータの内容を翻訳することができます:
Prompts:" 以下のテキストが JSON 形式であると仮定します。
{param}
のキーの値は {target_lang} に翻訳され、他のキーは変更されません。元の Markdown 形式を維持してください。\n\n\n {text}\n\n\n {target_lang} に翻訳されました:"
関連する関数はtranslate_front_matterであり、auto-translater.pyを参照してください。
翻訳ファイルの関数translate_file
にfront_matter_text = translate_front_matter(front_matter_text, lang, 'title')
を追加すると、title のパラメータのみが翻訳され、他のパラメータは元の言語のままです。
⚠️もちろん、ChatGPT にコンテンツの認識を直接任せると、エラーが発生する可能性がありますので、手動で確認する必要があります。
デプロイ#
- ソースコードの実行
-
まず、リポジトリをローカルにクローンします。
-
env_template.py
をenv.py
にリネームし、ChatGPT API の情報を入力します。 -
pip install openai PyYAML
を実行して必要な依存関係をインストールします。 -
auto-translater
プログラムを実行します。これにより、テストディレクトリtestdir/to-translate
のすべての Markdown ファイルが自動的に処理され、英語、スペイン語、アラビア語に一括翻訳されます。
- Github Actions の実行
- 自分のプロジェクトリポジトリの下に
.github/workflows/ci.yml
を作成することができます。GitHub リポジトリの更新が検出されると、GitHub Actions を使用して自動的に翻訳処理を行い、元のリポジトリに自動的に commit します。 ci.yml
の内容は、テンプレートを参考にしてください:ci_template.yml- リポジトリの
Settings
-Secrets and variables
-Repository secrets
にCHATGPT_API_BASE
とCHATGPT_API_KEY
の 2 つのシークレットを追加し、プログラムauto-translater.py
でimport env
ステートメントをコメントアウトします。
プラットフォーム#
全プラットフォーム対応
Github Actions
免責事項#
この記事はツールの共有記録としてのみ提供されています。
この記事はHBlogと同期しています。