0.0.3 • Published 4 months ago

@xieyezi/genji-i18n v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

genji i18n は、ChatGPT に基づいて自動的に Markdown ドキュメントを翻訳するツールです。

English ・ にほんご ・ 简体中文 ·

特徴

  • ChatGPT を使用して Markdown ドキュメントを自動翻訳
  • 大規模なファイルの自動分割をサポートし、ChatGPT のトークン制限を気にする必要はありません
  • カスタム OpenAI モデル、API プロキシ、温度のサポート

インストール

genji i18n をインストールするには、次のコマンドを実行してください:

pnpm add @xieyezi/genji-i18n -D

グローバル環境にインストールすることをお勧めします:

npm install -g @xieyezi/genji-i18n

環境に Node.js バージョン >= 18 があることを確認してください

使用法

genji-i18n translate -c path/to/genji.config.ts

設定

ドキュメントのルートディレクトリに genji.config.ts を作成します。genji-i18ndefineConfig 関数を提供しています。 以下は例です:

// genji.config.ts
import { defineConfig, LanguageModel } from "@xieyezi/genji-i18n";

export default defineConfig({
  model: LanguageModel.GPT3_5,
  entryLocale: "zh-CN",
  entrySuffix: ".zh-CN.md",
  outputLocales: ["en-US", "ja-JP"],
  entry: ["./index.zh-CN.md"],
  outputCustom: (locale, { getDefaultSuffix }) => {
    if (locale === "en-US") return ".md";
    return getDefaultSuffix(locale);
  }
});

genji.confit.ts 完全な型

export interface GenjiI18nConfig {
  /**
   * @description 使用するChatGPTモデル
   */
  model?: LanguageModel;
  /**
   * @description 並行して処理するタスクの数
   */
  concurrency?: number;
  /**
   * @description より正確な翻訳を得るためのコンテキストを提供
   */
  reference?: string;
  /**
   * @description トークンで分割
   */
  splitToken?: number;
  /**
   * @description 使用するサンプリング温度
   */
  temperature?: number;
  /**
   * @description エントリーファイルまたはフォルダー、グロブパターンをサポート
   */
  entry: string[];
  /**
   * @description 翻訳の参照として使用される言語
   */
  entryLocale: string;
  /**
   * @description 翻訳の参照として使用される言語のMarkdownサフィックス
   */
  entrySuffix?: string;
  /**
   * @description 無視されるMarkdown、グロブをサポート
   */
  exclude?: string[];
  /**
   * @description 翻訳する必要のあるすべての言語
   */
  outputLocales: string[];
  /**
   * @description JSONモードを使用するかどうか
   */
  experimental?: {
    jsonMode?: boolean;
  };
  /**
   * @description カスタム生成関数
   */
  outputCustom?: (
    locale: string,
    config: {
      fileContent: string;
      filePath: string;
      getDefaultSuffix: (locale: string) => string;
    }
  ) => string;
}

詳細な使用例については、Examples フォルダを参照してください。