diff --git a/scripts/translate_excel.py b/scripts/translate_excel.py index c0df2f7..1d86fce 100755 --- a/scripts/translate_excel.py +++ b/scripts/translate_excel.py @@ -20,6 +20,10 @@ from dataclasses import dataclass, field from pathlib import Path from typing import Any +import sys +sys.path.insert(0, str(Path(__file__).parent)) +from load_env import load_env +load_env() # 加载 .env 文件 try: import google.generativeai as genai # type: ignore except ImportError as exc: @@ -96,6 +100,11 @@ def get_api_key() -> str: ) +def get_model_name() -> str: + import os + return os.getenv("GEMINI_MODEL", "gemini-2.0-flash-lite") + + def extract_chinese_content( input_path: Path, columns: list[str] | None = None, @@ -160,9 +169,11 @@ def extract_chinese_content( def translate_entries( entries: list[TranslationEntry], - model_name: str = "gemini-2.0-flash-lite", + model_name: str | None = None, api_key: str | None = None, ) -> list[TranslationEntry]: + if model_name is None: + model_name = get_model_name() if not entries: print("✓ 没有需要翻译的内容") return entries @@ -263,10 +274,12 @@ def translate_excel_file( output_path: Path | None = None, columns: list[str] | None = None, sheet_name: str | None = None, - model_name: str = "gemini-2.0-flash-lite", + model_name: str | None = None, api_key: str | None = None, dry_run: bool = False, ) -> Path: + if model_name is None: + model_name = get_model_name() if not output_path: output_path = input_path.parent / f"{input_path.stem}_en{input_path.suffix}"