Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 13 additions & 7 deletions scripts/translate.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,9 @@ def translate_page(*, lang: str, path: Path) -> None:
original_content = path.read_text()
old_translation: str | None = None
if out_path.exists():
print(f"Found existing translation: {out_path}")
old_translation = out_path.read_text()
print(f"Translating {path} to {lang} ({language})")
agent = Agent("openai:gpt-4o")

prompt_segments = [
Expand All @@ -131,13 +133,14 @@ def translate_page(*, lang: str, path: Path) -> None:
]
)
prompt = "\n\n".join(prompt_segments)

print(f"Running agent for {out_path}")
result = agent.run_sync(prompt)
out_content = f"{result.data.strip()}\n"
print(f"Saving translation to {out_path}")
out_path.write_text(out_content)


def iter_paths_to_translate() -> Iterable[Path]:
def iter_all_en_paths() -> Iterable[Path]:
"""
Iterate on the markdown files to translate in order of priority.
"""
Expand All @@ -161,13 +164,16 @@ def iter_paths_to_translate() -> Iterable[Path]:
yield path


@app.command()
def translate_all(lang: str) -> None:
paths_to_process: list[Path] = []
for path in iter_paths_to_translate():
def iter_en_paths_to_translate() -> Iterable[Path]:
for path in iter_all_en_paths():
if str(path).replace("docs/en/docs/", "").startswith(non_translated_sections):
continue
paths_to_process.append(path)
yield path


@app.command()
def translate_all(lang: str) -> None:
paths_to_process = list(iter_en_paths_to_translate())
print("Original paths:")
for p in paths_to_process:
print(f" - {p}")
Expand Down