Python API¶
స ثابتమైన పబ్లిక్ Python API co_op_translator.api నుండి ఎక్స్పోర్ట్ చేయబడింది. ఎక్కువ ఇంటిగ్రేషన్లు ఈ వర్క్ఫ్లోలలో ఒకటిని ఉపయోగిస్తాయి:
| Scenario | Use this when | Main APIs |
|---|---|---|
| Translate individual files or documents | మీ అప్లికేషన్ మూల కంటెంట్ చదివి, అనువాదానికి Co-op Translatorను పిలిచే సమయంలో మరియు ఫలితాన్ని ఎక్కడ సేవ్ చేయాలో నిర్ణయించుకునే సమయంలో. | translate_markdown_content, translate_notebook_content, translate_image_content, rewrite_markdown_paths, rewrite_notebook_paths |
| Prepare content for host-agent translation | మీ MCP హోస్ట్ లేదా అప్లికేషన్ మోడల్ భాగాలుగా అనువాదం చేస్తుంది, Co-op Translator చెంకింగ్ మరియు పునర్విన్యాసాన్ని నిర్వహిస్తుంది. | start_markdown_agent_translation, finish_markdown_agent_translation, start_notebook_agent_translation, finish_notebook_agent_translation |
| Translate an entire repository | మీరు Python API CLI వంటిగా పనిచేయి మరియు డిస్కవరీ, అవుట్పుట్ పాథ్లు, మెటాడేటా, క్లీన్అప్ మరియు రాయడం నిర్వహించాలనుకుంటే. | run_translation |
core, config, review, మరియు utils కిందని күп దిగువ-స్థాయి మాడ్యూల్స్ ఈ API ప్రవేశ బిందూళ్ ద్వారా ఉపయోగించే అమలు వివరాలుగా ఉండును.
MCP కస్టమర్లు MCP Server ద్వారా అదే పబ్లిక్ API ను ఉపయోగిస్తారు. Python కేరాఫోన్ పేజీని నేరుగా పిలిచేటప్పుడు ఈ పేజీని ఉపయోగించండి, మరియు Co-op Translatorను ఏజెంట్ లేదా ఎడిటర్కు ప్రదర్శిస్తేప్పుడు MCP గైడ్ను ఉపయోగించండి. CLI, Python API, మరియు MCP మధ్య నిర్ణయించుకుంటున్నట్లయితే, Choose Your Workflow తో ప్రారంభించండి.
First-Time API Flow¶
Python కోడ్ నుండి Co-op Translator ను పిలుస్తున్నట్లయితే ఇక్కడ ప్రారంభించండి:
- Configurationలో వివరించబడినట్లుగా ఒక LLM ప్రొవైడర్ను కాన్ఫిగర్ చేయండి, లేకపోతే మీరు Markdown లేదా నోట్బుక్ చెంక్స్ మాత్రమే హోస్ట్-ఏజెంట్ అనువాదానికి సిద్ధం చేస్తున్నట్లయితే ఇది అవసరం లేదు.
- మీ అప్లికేషన్ ఫైల్ I/O ను నిర్వహిస్తుందా కాదా నిర్ణయించుకోండి.
- మీ అప్లికేషన్ వ్యక్తిగత ఫైళ్లను చదవడం మరియు రాయడం చేస్తే content APIs ఉపయోగించండి.
- Co-op Translator CLI వలా ఒక రెపోని ప్రాసెస్ చేయాలి అనుకుంటే
run_translationఉపయోగించండి. - ఆటోమేషన్లో నిర్దిష్ట పరికలనలను అవసరమైతే అనువాదం తర్వాత
run_reviewఉపయోగించండి.
| Goal | API to start with |
|---|---|
| Translate one Markdown string or file | translate_markdown_content |
| Translate one notebook payload | translate_notebook_content |
| Translate one image | translate_image_content |
| Let a host agent translate Markdown or notebook chunks | start_markdown_agent_translation or start_notebook_agent_translation |
| Rewrite translated links after choosing an output path | rewrite_markdown_paths or rewrite_notebook_paths |
| Translate a full repository | run_translation |
| Review translated output | run_review |
Scenario 1: Translate Individual Files or Documents¶
ఈ వర్క్ఫ్లోను ఉపయోగించండి మీరు ఇప్పటికే ఒక ఫైల్, ఎడిటర్ బఫర్, నోట్బుక్ పేలోడ్, MCP రిక్వెస్ట్, లేదా కస్టమ్ పైప్లైన్ ఇన్పుట్ కలిగి ఉన్నప్పుడు. మీ కోడ్ ఫైల్ I/O ని నిర్వహిస్తుంది:
- మూల కంటెంట్ను చదవండి.
- కంటెంట్ అనువాద API ని పిలవండి.
- అనువాదిత కంటెంట్ ప్రాజెక్ట్ ట్రాన్స్లేషన్ ఫోల్డర్లో రాయబడే ఉద్దేశ్యమైతే కావలసినట్లయితే పాథ్ రిరైటింగ్ API పిలవండి.
- మీ అప్లికేషన్ నుండి ఫలితాన్ని సేవ్ లేదా రిటర్న్ చేయండి.
కంటెంట్ అనువాద APIలు ప్రాజెక్ట్ డిస్కవరీను నడపవు, మెటాడేటాను రాయవు, డిస్క్లెయిమర్లు జోడించవు, మరియు లింక్లను స్వయంచాలకంగా రిరైట్ చేయవు.
Markdown File¶
import asyncio
from pathlib import Path
from co_op_translator.api import (
rewrite_markdown_paths,
translate_markdown_content,
)
async def main() -> None:
source_path = Path("docs/guide.md")
target_path = Path("translations/ko/docs/guide.md")
translated = await translate_markdown_content(
source_path.read_text(encoding="utf-8"),
"ko",
{"source_path": source_path},
)
rewritten = rewrite_markdown_paths(
translated,
source_path=source_path,
target_path=target_path,
policy={
"language_code": "ko",
"root_dir": ".",
"translations_dir": "translations",
"translated_images_dir": "translated_images",
"translation_types": ["markdown", "images"],
},
)
target_path.parent.mkdir(parents=True, exist_ok=True)
target_path.write_text(rewritten, encoding="utf-8")
asyncio.run(main())
అనువదించిన Markdown ఒక Co-op Translator ప్రాజెక్ట్ లేఅవుట్లో ఉండకపోతే, rewrite_markdown_paths ను ఉంచకుంటే అనువదించిన స్ట్రింగ్ను నేరుగా సేవ్ చేయండి.
Notebook File¶
import asyncio
from pathlib import Path
from co_op_translator.api import (
rewrite_notebook_paths,
translate_notebook_content,
)
async def main() -> None:
source_path = Path("docs/tutorial.ipynb")
target_path = Path("translations/ja/docs/tutorial.ipynb")
translated_json = await translate_notebook_content(
source_path.read_text(encoding="utf-8"),
"ja",
{"source_path": source_path},
)
rewritten_json = rewrite_notebook_paths(
translated_json,
source_path=source_path,
target_path=target_path,
policy={
"language_code": "ja",
"root_dir": ".",
"translations_dir": "translations",
"translated_images_dir": "translated_images",
"translation_types": ["notebook", "images"],
},
)
target_path.parent.mkdir(parents=True, exist_ok=True)
target_path.write_text(rewritten_json, encoding="utf-8")
asyncio.run(main())
translate_notebook_content Markdown సెల్స్ను అనువదించి non-Markdown సెల్స్ను నిలుపుకుంటుంది. పాథ్ రిరైటు మాత్రమే Markdown సెల్స్కు వర్తిస్తుంది.
Image File¶
from pathlib import Path
from co_op_translator.api import translate_image_content
source_path = Path("docs/images/hero.png")
target_path = Path("translated_images/fr/hero.png")
translated_image = translate_image_content(
source_path,
"fr",
{
"root_dir": ".",
"fast_mode": False,
},
)
target_path.parent.mkdir(parents=True, exist_ok=True)
translated_image.save(target_path)
translate_image_content మూల చిత్రం చదివి ఒక రేండర్డ్ PIL.Image.Image ను రిటర్న్ చేస్తుంది. ఇది అనువదించిన చిత్ర మెటాడేటాను రాయదు.
Scenario 2: Translate an Entire Repository¶
ఈ వర్క్ఫ్లోను ఉపయోగించండి మీరు Python API ని translate CLI వంటిగా పని చేస్తుందని కోరుకుంటే. run_translation సపోర్ట్ చేసిన ఫైళ్లను కనుగొంటుంది, ఎంపిక చేయబడిన కంటెంట్ టైల్స్ను అనువదిస్తుంది, పాథ్లను రిరైట్ చేస్తుంది, అవుట్పుట్ ఫైళ్లను రాస్తుంది, మెటాడేటాను నవీకరిస్తుంది, మరియు క్లీన్ప్ వంటి అనువాద నిర్వహణ పనులను నిర్వహిస్తుంది.
run_translation ప్రాజెక్ట్ ఒర్కస్ట్రేషన్ ప్రవేశ బిందువు కోసం మెరుగ్గా సిఫార్సు చేయబడుతుంది. translate_project అదే ప్రవర్తనతో అనుకూలత అలియాస్గా ఎక్స్పోర్ట్ చేయబడింది.
ప్రాథమిక రిపోజిటరీలో Markdown ఫైళ్లను కొరియన్ మరియు జపనీస్లో అనువదించండి:
from co_op_translator.api import run_translation
run_translation(
language_codes="ko ja",
markdown=True,
)
కేవలం ఒక నిర్దిష్ట ప్రాజెక్ట్ రూట్ నుండి నోట్బుక్స్ మాత్రమే అనువదించండి:
from co_op_translator.api import run_translation
run_translation(
language_codes="fr",
root_dir="./my-course",
notebook=True,
)
ఫైళ్లు రాయకుండా అనువాద పరిమాణాన్ని ప్రివ్యూ చేయండి:
from co_op_translator.api import run_translation
run_translation(
language_codes="es de",
root_dir="./my-course",
markdown=True,
dry_run=True,
)
ఒక కాల్లో బహుళ కంటెంట్ రూట్స్ను అనువదించండి:
from co_op_translator.api import run_translation
run_translation(
language_codes="ko",
markdown=True,
root_dirs=["./docs", "./labs"],
)
అనువాదాలను స్పష్టమైన అవుట్పుట్ గ్రూపుల్లో రాయండి:
from co_op_translator.api import run_translation
run_translation(
language_codes="ja",
markdown=True,
groups=[
("./course-a", "./localized/course-a"),
("./course-b", "./localized/course-b"),
],
)
ప్రతి భాషలో ఒక nested ఉపదర్శిలో ఉండాలనుకుంటే ప్రతి-భాష ప్లేస్హోల్డర్ ఉపయోగించండి:
from co_op_translator.api import run_translation
run_translation(
language_codes="ko",
markdown=True,
groups=[
("./course", "./translations/<lang>/course"),
],
)
markdown, notebook, లేదా images లో ఏదీ సెట్ చేయబడకపోతే, API అన్ని సపోర్ట్ చేసిన రకాలన్నీ అనువదిస్తుంది: Markdown, notebooks, మరియు images.
Review Translated Output¶
run_review LLM లేదా Vision క్రెడెన్షియల్స్ లేకుండా నిర్దిష్ట అనువాద పరీక్షలను నడిపిస్తుంది.
Beta
run_review ఒక బీటా నిర్దిష్ట రివ్యూ API. ఇది మోడల్ ప్రొవైడర్లను పిలవదు లేదా ఫైళ్లను రాయదు, కాని చెక్లు మరియు ఇష్యూ స్కీమాలు మారవచ్చు.
from co_op_translator.api import run_review
run_review(
language_codes="ko ja",
root_dir="./my-course",
markdown=True,
notebook=True,
)
బేస్ రిఫ్పై మార్చబడిన ఫైళ్లను మాత్రమే రివ్యూ చేయండి మరియు GitHub-రూపింతః ఔట్పుట్ ముద్రించండి:
from co_op_translator.api import run_review
run_review(
language_codes="ko",
root_dir="./my-course",
markdown=True,
notebook=True,
changed_from="origin/main",
output_format="github",
)
Copy-Paste API Examples¶
ఫైల్ రాయకుండానే Markdown కంటెంట్ను అనువదించండి:
import asyncio
from co_op_translator.api import translate_markdown_content
async def main() -> None:
translated = await translate_markdown_content(
"# Hello\n\nWelcome to the course.",
"ko",
)
print(translated)
asyncio.run(main())
Markdown లింక్లను అనువదించి రిరైట్ చేయండి:
import asyncio
from co_op_translator.api import rewrite_markdown_paths, translate_markdown_content
async def main() -> None:
translated = await translate_markdown_content(
"[Setup](../setup.md)\n\n",
"ko",
{"source_path": "docs/guide.md"},
)
rewritten = rewrite_markdown_paths(
translated,
source_path="docs/guide.md",
target_path="translations/ko/docs/guide.md",
policy={
"language_code": "ko",
"root_dir": ".",
"translations_dir": "translations",
"translated_images_dir": "translated_images",
"translation_types": ["markdown", "images"],
},
)
print(rewritten)
asyncio.run(main())
Python నుండి ఒక రిపోజిటరీను అనువదించండి:
from co_op_translator.api import run_translation
run_translation(
language_codes="ko ja",
root_dir="./course",
markdown=True,
yes=True,
)
బహుళ రూట్స్ను అనువదించండి:
from co_op_translator.api import run_translation
run_translation(
language_codes="ko",
markdown=True,
root_dirs=[
"./docs",
"./labs",
],
)
గ్లోసరీ పదాలను పరిమితి చేయండి:
from co_op_translator.api import run_translation
run_translation(
language_codes="fr",
markdown=True,
glossaries=[
"Co-op Translator",
"Azure AI Foundry",
"GitHub Actions",
],
)
Public Entry Points¶
from co_op_translator.api import (
ImageTranslationOptions,
MarkdownTranslationOptions,
NotebookTranslationOptions,
finish_markdown_agent_translation,
finish_notebook_agent_translation,
run_review,
run_translation,
rewrite_markdown_paths,
rewrite_notebook_paths,
start_markdown_agent_translation,
start_notebook_agent_translation,
translate_image_content,
translate_markdown_content,
translate_notebook_content,
translate_project,
)
co_op_translator.api.translate_markdown_content
async
¶
translate_markdown_content(document: str, language_code: str, options: MarkdownTranslationOptions | Mapping[str, object] | None = None) -> str
Translate markdown content without project path rewriting or file I/O.
co_op_translator.api.translate_notebook_content
async
¶
translate_notebook_content(notebook: str | dict[str, object], language_code: str, options: NotebookTranslationOptions | Mapping[str, object] | None = None) -> str
Translate notebook markdown cells without project path rewriting or file I/O.
co_op_translator.api.translate_image_content ¶
translate_image_content(image_path: str | Path, language_code: str, options: ImageTranslationOptions | Mapping[str, object] | None = None) -> Image.Image
Translate image text and return a rendered image without saving metadata.
co_op_translator.api.start_markdown_agent_translation ¶
start_markdown_agent_translation(document: str, language_code: str, source_path: str | Path | None = None) -> dict[str, object]
Prepare provider-free Markdown chunks for host-agent translation.
co_op_translator.api.finish_markdown_agent_translation ¶
finish_markdown_agent_translation(job: Mapping[str, object], translated_chunks: Mapping[str, object] | list[Mapping[str, object]]) -> dict[str, object]
Reconstruct Markdown from chunks translated by a host agent.
co_op_translator.api.start_notebook_agent_translation ¶
start_notebook_agent_translation(notebook: str | Mapping[str, object], language_code: str, source_path: str | Path | None = None) -> dict[str, object]
Prepare provider-free notebook Markdown chunks for host-agent translation.
co_op_translator.api.finish_notebook_agent_translation ¶
finish_notebook_agent_translation(job: Mapping[str, object], translated_chunks: Mapping[str, object] | list[Mapping[str, object]]) -> dict[str, object]
Reconstruct a notebook from Markdown chunks translated by a host agent.
co_op_translator.api.rewrite_markdown_paths ¶
rewrite_markdown_paths(content: str, source_path: str | Path, target_path: str | Path, policy: MarkdownPathRewritePolicy | Mapping[str, object]) -> str
Rewrite markdown/frontmatter paths for a translated project target.
co_op_translator.api.rewrite_notebook_paths ¶
rewrite_notebook_paths(content: str, source_path: str | Path, target_path: str | Path, policy: MarkdownPathRewritePolicy | Mapping[str, object]) -> str
Rewrite markdown-cell paths for a translated project notebook target.
co_op_translator.api.MarkdownTranslationOptions
dataclass
¶
Options for content-only markdown translation.
co_op_translator.api.NotebookTranslationOptions
dataclass
¶
Options for content-only notebook translation.
co_op_translator.api.ImageTranslationOptions
dataclass
¶
Options for content-only image translation.
co_op_translator.api.run_translation ¶
run_translation(language_codes: str, root_dir: str = '.', update: bool = False, images: bool = False, markdown: bool = False, notebook: bool = False, debug: bool = False, save_logs: bool = False, yes: bool = True, add_disclaimer: bool = False, translations_dir: str | None = None, image_dir: str | None = None, root_dirs: Iterable[str] | None = None, groups: Iterable[tuple[str, str | None]] | None = None, repo_url: str | None = None, glossaries: Iterable[str] | None = None, readme_only: bool = False, dry_run: bool = False, progress_callback: TranslationEventCallback | None = None, json_events_path: str | Path | None = None) -> None
Programmatic translation entrypoint mirroring the translate CLI options.
progress_callback receives versioned TranslationEvent objects for
integration code. json_events_path writes the same events as NDJSON.
co_op_translator.api.translate_project ¶
Programmatic project translation entrypoint.
co_op_translator.api.run_review ¶
run_review(language_codes: str | Iterable[str] = 'all', root_dir: str = '.', update: bool = False, images: bool = False, markdown: bool = False, notebook: bool = False, debug: bool = False, save_logs: bool = False, yes: bool = True, add_disclaimer: bool = False, translations_dir: str | None = None, image_dir: str | None = None, root_dirs: Iterable[str] | None = None, groups: Iterable[tuple[str, str | None]] | None = None, repo_url: str | None = None, glossaries: Iterable[str] | None = None, dry_run: bool = False, changed_from: str | None = None, output_format: str = 'text', fail_on_warnings: bool = False) -> ReviewSummary
Programmatic deterministic review entrypoint.
The signature intentionally mirrors run_translation where possible so
automation can switch between translate and review workflows with minimal
branching. Review ignores mutating translation-only options such as
update, yes, add_disclaimer, repo_url, glossaries, and
dry_run.
Content Translation APIs¶
కంటెంట్ అనువాద APIలు ఇన్-మెమరీలో ఇప్పటికే కంటెంట్ ఉన్న ఇంటిగ్రేషన్ల కోసం ఉద్దేశించబడ్డాయి, ఉదాహరణకు ఒక ఎడిటర్ ఎక్స్టెన్షన్, MCP టూల్, నోట్బుక్ ప్రాసెసర్, లేదా కస్టమ్ పైప్లైన్.
| Function | Input | Output | File I/O | Notes |
|---|---|---|---|---|
translate_markdown_content |
Markdown str |
Markdown str |
No | Async. Markdown కంటెంట్ను మాత్రమే అనువదిస్తుంది. ఇది లింక్లను రిరైట్ చేయదు, మెటాడేటాను రాయదు, లేదా డిస్క్లెయిమర్లు జోడించదు. |
translate_notebook_content |
Notebook JSON str or dict |
Notebook JSON str |
No | Async. Markdown సెల్స్ను అనువదించి non-Markdown సెల్స్ను నిలిపి ఉంచుతుంది. ఇది లింక్లను రిరైట్ చేయదు, మెటాడేటాను రాయదు, లేదా డిస్క్లెయిమర్లు జోడించదు. |
translate_image_content |
Image path | PIL.Image.Image |
Reads source image only | Synchronous. చిత్రం నుండి టెక్స్ట్ను ఎక్స్ทรాక్ట్ చేసి అనువదించి, తర్వాత ఒక రేండర్డ్ చిత్రం రిటర్న్ చేస్తుంది. ఇది అనువదించిన చిత్రం మెటాడేటాను సేవ్ చేయదు. |
translate_markdown_content మరియు translate_notebook_content ఐచ్ఛిక source_path ను వారి ఆప్షన్స్ ద్వారా అంగీకరిస్తాయి. పాథ్ అనువాదకునికి కాన్టెక్స్ట్గా పాస్ చేయబడుతుంది; అనువాదం తర్వాత ప్రాజెక్ట్-స్పెసిఫిక్ పాథ్ రిరైటింగ్ కోసం కాలర్లే బాధ్యత వహిస్తారు.
from co_op_translator.api import MarkdownTranslationOptions, translate_markdown_content
translated = await translate_markdown_content(
document,
"ko",
MarkdownTranslationOptions(source_path="docs/guide.md"),
)
అనే క్రియలను డిక్షనరీస్గా కూడా పాస్ చేయవచ్చు:
Agent-Assisted Translation APIs¶
Agent-assisted APIలు Co-op Translator నుండి Azure OpenAI లేదా OpenAI ను పిలవవు. ఇవి Markdown లేదా నోట్బుక్ చెంక్స్ను హోస్ట్ ఏజెంట్ అనువదించడానికి సిద్ధం చేస్తాయి, తర్వాత అనువదించిన చెంక్స్ నుంచి తుది కంటెంట్ను పునర్నిర్మాణం చేస్తాయి.
| Function | Purpose |
|---|---|
start_markdown_agent_translation |
చెంక్స్, ప్రాంప్ట్లు, మరియు పునర్నిర్మాణ స్థితి ఉన్న సుస్థిర Markdown జాబ్ ని రిటర్న్ చేయండి. |
finish_markdown_agent_translation |
ఒక జాబ్ మరియు హోస్ట్-ఏజెంట్ అనువదించిన చెంక్స్ నుండి Markdown ను పునర్నిర్మాణం చేయండి. |
start_notebook_agent_translation |
హోస్ట్-ఏజెంట్ అనువాదానికి Markdown-సెల్ చెంక్స్ ఉన్న ఒక నోట్బుక్ జాబ్ ను రిటర్న్ చేయండి. |
finish_notebook_agent_translation |
కోడ్ సెల్స్, అవుట్పుట్స్, మరియు మెటాడేటాను నిలిపి ఉంచుతూ నోట్బుక్ JSON ను పునర్నిర్మాణం చేయండి. |
ఈ వర్క్ఫ్లో ప్రాథమికంగా MCP హోస్ట్ల కోసం ఉద్దేశించబడింది. మీరు ప్రొడక్షన్ రిపోజిటరీ అనువాదం కావాల్సిన సమయంలో Co-op Translator ప్రొవైడర్ కాల్లను నిర్వహించేది కావాలి అంటే translate_markdown_content, translate_notebook_content, లేదా run_translation ఉపయోగించండి.
Path Rewriting APIs¶
పాథ్ రిరైటింగ్ APIలు అనువాదం చేయవు. ఇవి కాలర్లు మూల పాథ్, అనువదించిన లక్ష్య పాథ్, మరియు ప్రాజెక్ట్ లేఅవుట్ తెలుసుకున్న తర్వాత లింక్లు మరియు ఫ్రంట్మేటర్ పాథ్లను అప్డేట్ చేస్తాయి.
| Function | Scope | Notes |
|---|---|---|
rewrite_markdown_paths |
Markdown body and frontmatter | అనువదించిన లక్ష్యానికి Markdown లింక్లు మరియు సపోర్ట్ చేసిన frontmatter పాథ్ ఫీల్డ్స్ను రిరైట్ చేస్తుంది. |
rewrite_notebook_paths |
Markdown cells in notebook JSON | ప్రతి Markdown సెల్కు Markdown పాథ్ రిరైటింగ్ను వర్తింపజేస్తుంది మరియు non-Markdown సెల్స్ను మార్చదు. |
policy ఆర్గ్యుమెంట్ ఈ ఫీల్డ్స్ ఉన్న డిక్షనరీ కావచ్చు:
| Field | Required | Purpose |
|---|---|---|
language_code |
Yes | లక్ష్య భాషా కోడ్, ఉదా. "ko" లేదా "pt-BR". |
root_dir |
No | మూల ప్రాజెక్ట్ రూట్. డిఫాల్ట్ ".". |
translations_dir |
No | టెక్స్ట్ అనువాద అవుట్పుట్ డైరెక్టరీ. డిఫాల్ట్ translations under root_dir. |
translated_images_dir |
No | అనువదించిన చిత్రాల అవుట్పుట్ డైరెక్టరీ. డిఫాల్ట్ translated_images under root_dir. |
translation_types |
No | ఎనేబుల్ చేసిన అనువాద రకాలు. డిఫాల్ట్ Markdown, notebooks, మరియు images. |
lang_subdir |
No | ప్రతి భాష ఫోల్డర్ లోని ఐచ్ఛిక ఉపడైరెక్టరీ. |
Project Translation Parameters¶
| Parameter | Type | Default | Purpose |
|---|---|---|---|
language_codes |
str |
Required | స్పేస్-విచ్ఛిన్నమైన లక్ష్య భాషా కోడ్లు, ఉదా "ko ja fr", లేదా "all". అలియాస్ కోడ్లు సాధారణీకరించి canonical BCP 47 విలువలకు మార్చబడతాయి. |
root_dir |
str |
"." |
ఒక్క లక్ష్యానికి ప్రాజెక్ట్ రూట్. root_dirs లేదా groups సరఫరా చేయబడినప్పుడు ఇగ్నోర్ చేయబడుతుంది. |
update |
bool |
False |
ఎంపిక చేసిన భాషల కోసం ఉన్న అనువాదాలను డిలీట్ చేసి మళ్లీ సృష్టిస్తుంది. |
images |
bool |
False |
చిత్రం అనువాదాన్ని కలిపి. ఇది Azure AI Vision కాన్ఫిగరేషన్ అవసరం. |
markdown |
bool |
False |
Markdown అనువాదాన్ని కలపండి. |
notebook |
bool |
False |
Jupyter నోట్బుక్ అనువాదాన్ని కలపండి. |
debug |
bool |
False |
డీబగ్ లాగింగ్ను ఎనేబుల్ చేయండి. |
save_logs |
bool |
False |
రూట్ logs/ డైరక్టరీ క్రింద DEBUG-స్థాయి లాగ్ ఫైళ్లు సేవ్ చేయండి. |
yes |
bool |
True |
ప్రోగ్రామాటిక్ మరియు CI ఉపయోగానికి ప్రాంప్ట్స్ ఆటో-కన్ఫర్మ్ చేయండి. |
add_disclaimer |
bool |
False |
అనువదించిన Markdown మరియు నోట్బుక్స్కు మెషిన్ అనువాద డిస్క్లెయిమర్లు జోడించండి. |
translations_dir |
str \| None |
None |
కస్టమ్ టెక్స్ట్ అనువాద అవుట్పుట్ డైరెక్టరీ. రిలేటివ్ పాథ్స్ ప్రతి రూట్ పరంగా రిసాల్వ్ అవుతాయి. |
image_dir |
str \| None |
None |
కస్టమ్ అనువదించిన చిత్రం అవుట్పుట్ డైరెక్టరీ. రిలేటివ్ పాథ్స్ ప్రతి రూట్ పరంగా రిసాల్వ్ అవుతాయి. |
root_dirs |
Iterable[str] \| None |
None |
ఒకే అవుట్పుట్ సెట్టింగ్స్ను పంచుకునే బహుళ రూట్స్. |
groups |
Iterable[tuple[str, str \| None]] \| None |
None |
స్పష్టమైన (root_dir, translations_dir) జోడులు. root_dirs కంటే ప్రాధాన్యత కలిగి ఉంటుంది. |
repo_url |
str \| None |
None |
README భాష పట్టిక మార్గదర్శకాన్ని రేండర్ చేయడానికి ఉపయోగించే రిపోజిటరీ URL. |
glossaries |
Iterable[str] \| None |
None |
అనువాద సమయంలో సంరక్షించవలసిన గ్లోసరీ పదాలు. డూప్లికేట్స్ మరియు ఖాళీ పదాలు సాధారణీకరించబడతాయి. |
dry_run |
bool |
False |
ఫైళ్లు రాస్తుండకుండానే అనువాద పరిమాణాన్ని అంచనా వేయండి మరియు మైగ్రేషన్ ప్రవర్తనను ప్రివ్యూ చేయండి. |
Review Parameters¶
run_review ఉద్దేశ్యంగా run_translation సిగ్నేచర్ను అదే రీతిలో మిర్రర్ చేయడానికి రూపొందించబడింది ताकि ఆటోమేషన్ అనువాద మరియు రివ్యూ వర్క్ఫ్లోల మధ్య తక్కువ బ్రాంచింగ్తో మారోచ్చు.
| Parameter | Type | Default | Purpose |
|---|---|---|---|
language_codes |
str \| Iterable[str] |
"all" |
రివ్యూ చేయడానికి లక్ష్య భాష ఫోల్డర్లు. స్పేస్-విచ్ఛిన్న స్ట్రింగ్స్ మరియు ఇటరబుల్స్ స్వీకరించబడతాయి. "all" ప్రతి కనుగొన్న అనువాద భాషను రివ్యూ చేస్తుంది. |
root_dir |
str |
"." |
ఒక్క రివ్యూ లక్ష్యానికి ప్రాజెక్ట్ రూట్. root_dirs లేదా groups సరఫరా చేయబడినప్పుడు ఇగ్నోర్ చేయబడుతుంది. |
markdown |
bool |
False |
Markdown మరియు MDX సోర్స్ ఫైళ్లను కలపండి. |
notebook |
bool |
False |
Jupyter నోట్బుక్ సోర్స్ ఫైళ్లను కలపండి. |
images |
bool |
False |
అనువాద ఆప్షన్లతో సమానత్వం కోసం రిజర్వ్ చేయబడింది. చిత్రాలకు లింక్ సూచనలు Markdown నుండి తనిఖీ చేయబడతాయి. |
translations_dir |
str \| None |
None |
కస్టమ్ టెక్స్ట్ అనువాద అవుట్పుట్ డైరక్టరీ. రిలేటివ్ పాత్లు ప్రతి రూట్కు సంబంధించి పరిష్కరించబడతాయి. |
root_dirs |
Iterable[str] \| None |
None |
అదే అవుట్పుట్ సెట్టింగ్స్ను పంచుకునే బహుళ రూట్లు. |
groups |
Iterable[tuple[str, str \| None]] \| None |
None |
స్పష్టమైన (root_dir, translations_dir) జంటలు. root_dirs పై ప్రాధాన్యం ఉంది. |
changed_from |
str \| None |
None |
మారిన సోర్స్ ఫైల్స్ వరకు రివ్యూను పరిమితం చేయడానికి వాడే Git ref. |
output_format |
str |
"text" |
రివ్యూ అవుట్పుట్ ఫార్మాట్. మద్దతు ఉన్న విలువలు "text" మరియు "github". |
fail_on_warnings |
bool |
False |
హెచ్చరికలను కూడా తప్పిదాలుగా పరిగణించడం. |
debug |
bool |
False |
డీబగ్ లాగింగ్ను సడలించడం. |
save_logs |
bool |
False |
రూట్ logs/ డైరక్టరీ క్రింద DEBUG-స్థాయి లాగ్ ఫైళ్లను సేవ్ చేయండి. |
If none of markdown, notebook, or images are set, the API reviews Markdown, notebooks, and image link references where applicable. Review does not call an LLM provider and does not require API keys.
కాన్ఫిగరేషన్ అవసరాలు¶
ప్రొవైడర్-ఆధారిత అనువాద API లు అనువదించే ముందు ప్రొవైడర్ కాన్ఫిగరేషన్ను కోరతాయి:
- Markdown మరియు notebook అనువాదానికి ఒక LLM ప్రొవైడర్ అవసరం. Azure OpenAI లేదా OpenAI లో ఏదైనా ఒకటిని కాన్ఫిగర్ చేయండి.
- ఇమేజ్ అనువాదానికి LLM ప్రొవైడర్తో పాటు Azure AI Vision అవసరం.
run_translationప్రాజెక్ట్ అనువాదం ప్రారంభమయ్యే ముందు లైట్వైట్ కనెక్టివిటీ తనిఖీలను నడుపుతుంది.- ఏజెంట్-సహాయంతో ఉండే
start_*_agent_translationమరియుfinish_*_agent_translationAPIs Co-op Translator LLM ప్రొవైడర్స్ను కాల్ చేయవు. హోస్ట్ అప్లికేషన్ లేదా MCP ఏజెంట్ తయారుచేసిన ఛంక్లను అనువదిస్తుంది. rewrite_markdown_paths,rewrite_notebook_paths, మరియుrun_reviewనిర్ణాయకంగా పనిచేస్తాయి మరియు ప్రొవైడర్ క్రెడెన్షియల్స్ అవసరం ندارند.
Required Azure OpenAI variables:
AZURE_OPENAI_API_KEY="..."
AZURE_OPENAI_ENDPOINT="https://<resource>.openai.azure.com/"
AZURE_OPENAI_MODEL_NAME="gpt-4o"
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME="<deployment>"
AZURE_OPENAI_API_VERSION="2024-12-01-preview"
Required OpenAI variables:
Required Azure AI Vision variables for image translation:
AZURE_AI_SERVICE_API_KEY="..."
AZURE_AI_SERVICE_ENDPOINT="https://<resource>.cognitiveservices.azure.com/"
run_review నిర్ణాయకంగా పనిచేస్తుంది మరియు Azure OpenAI, OpenAI, లేదా Azure AI Vision కాన్ఫిగరేషన్ అవసరం లేదు.
ప్రవర్తనా గమనికలు¶
- కంటెంట్ అనువాద API లు అనువాదాన్ని ప్రాజెక్ట్ పాత్ రీరైటింగ్ నుండి వేరుగా ఉంచతాయి. అనువదించిన కంటెంట్కు ప్రాజెక్ట్-ఆధారిత లింకులను లక్ష్య స్థలానికి సరిపడ도록 సర్దుబాటు చేయాల్సినప్పుడు స్పష్టంగా
rewrite_markdown_pathsలేదాrewrite_notebook_pathsను పిలవండి. - ప్రాజెక్ట్ ఆర్కెస్ట్రేషన్ API లు కంటెంట్ అనువాదం చుట్టూ ప్రాజెక్ట్ వ్యహారాన్ని జోడిస్తాయి, ఇందులో ఫైల్ అన్వేషణ, రాయడం, పాత్ రైరైటింగ్, మెటాడేటా, క్లీన్అప్, మరియు ఐచ్ఛిక డిస్క్లేమర్లను కలిగి ఉంటాయి.
run_translationప్రోగ్రెస్ మరియు అంచనా సంగ్రహాలను Click ద్వారా ప్రింట్ చేస్తుంది, CLI యూజర్ అనుభవానికి తగ్గట్టుగా.dry_run=Trueవర్చువల్ README అప్డేట్స్ ఉపయోగించి అంచనాలను గణిస్తుంది, కానీ README లేదా అనువాద ఫైళ్లను రాయదు.groupsవరుసగా ప్రాసెస్ చేయబడతాయి. పని మొదలవడానికి ముందు ఒక ఏకైక సమ్మేళిత అంచనాను ప్రింట్ చేస్తారు.- ఇమేజ్ అనువాదం ఎంపికచేసినప్పుడు, Vision కాన్ఫిగరేషన్ లేకపోతే అనువాదం ప్రారంభమయ్యే ముందు తప్పు (error) వ్యక్తమవుతుంది.
- ఉన్న అలియాస్-ఆధారిత భాషా ఫోల్డర్లు గుర్తించబడతాయి మరియు రన్ భాగంగా వారికి క్యానానికల్ భాషా ఫోల్డర్ పేర్లకు మైగ్రేట్ చేయవచ్చు.
run_reviewఅనువదించిన ఫైళ్లు లేనప్పుడు, అనువాద మెటాడేటా లేపబడిన లేదా పాతగా ఉన్నప్పుడు, చెడ్డగా ఏర్పడిన Markdown frontmatter/code fences ఉన్నప్పుడు, మరియు సరైనవిగా లేని అనువదించిన notebook JSON ఉన్నప్పుడు విఫలం అవుతుంది.run_reviewస్థానిక Markdown మరియు ఇమేజ్ లింక్ లక్ష్యాలు లేకపోతె వాటిని డిఫాల్ట్గా హెచ్చరికలుగా రిపోర్ట్ చేస్తుంది.
అంతర్గత కాల్ పాథ్¶
API CLI ఉపయోగించే అదే కోర్ అమలు కు డెలిగేట్ చేస్తుంది:
Translation:
co_op_translator.api.translation.translate_markdown_content,translate_notebook_content, ortranslate_image_contentఇన్-మెమరీ అనువాదం కోసం.co_op_translator.api.translation.rewrite_markdown_pathsలేదాrewrite_notebook_pathsస్పష్టమైన పాత్ పోస్ట్-ప్రాసెసింగ్ కోసం.co_op_translator.api.translation.run_translationపూర్తి ప్రాజెక్ట్ ఆర్కెస్ట్రేషన్ కోసం.co_op_translator.config.Config,LLMConfig, మరియుVisionConfig.co_op_translator.core.project.ProjectTranslator.co_op_translator.core.project.TranslationManager.- Markdown, notebook మరియు ఇమేజ్ల కోసం ఫోకస్ చేసిన ప్రాజెక్ట్ అనువాద మిక్సిన్లు.
co_op_translator.coreక్రింద Markdown, notebook, పాఠ్యం, మరియు ఇమేజ్ ట్రాన్స్లేటర్లు.
Review:
co_op_translator.api.review.run_reviewco_op_translator.review.targets.build_review_targetsco_op_translator.review.runner.ReviewRunnerco_op_translator.review.checksకింద నిర్ణాయక తనిఖీలు
క్రింది క్లాసులు మెయింటైన్ చేసే వారికి ఉపయోగకరంగా ఉన్నా కూడా ప్యాకేజ్-స్థాయి స్థిర API గా ఎగుమతి చేయబడవు.
| Class | Module | Responsibility |
|---|---|---|
ProjectTranslator |
co_op_translator.core.project.project_translator |
ప్రాజెక్ట్-స్థాయి అనువాదం, డైరక్టరీ నిర్వహణ, ప్రతి-భాష మెటాడేటా సాధారణీకరణ, మరియు Markdown, notebook, మరియు ఇమేజ్ ట్రాన్స్లేటర్లకు డెలిగేషన్ను సమన్వయిస్తుంది. |
TranslationManager |
co_op_translator.core.project.translation |
Markdown, notebooks, images కోసం async ఫైల్ ప్రాసెసింగ్ పని, స్టేల్ డిటెక్షన్, మరియు అనువాద మెటాడేటా అప్డేట్లను నిర్వహిస్తుంది. |
ProjectMarkdownTranslationMixin |
co_op_translator.core.project.translation.project_markdown_translation |
Markdown ఫైల్ రీడ్స్, కంటెంట్ అనువాదం, పాత్ రీరైటింగ్, మెటాడేటా, డిస్క్లేమర్లు, మరియు రైట్స్ను సమన్వయిస్తుంది. |
ProjectNotebookTranslationMixin |
co_op_translator.core.project.translation.project_notebook_translation |
notebook ఫైల్ రీడ్స్, Markdown-సెల్ అనువాదం, పాత్ రీరైటింగ్, మెటాడేటా, డిస్క్లేమర్లు, మరియు రైట్స్ను సమన్వయిస్తుంది. |
ProjectImageTranslationMixin |
co_op_translator.core.project.translation.project_image_translation |
సోర్స్ ఇమేజ్ అన్వేషణ, ఇమేజ్ అనువాదం, అవుట్పుట్ పాత్లు, మెటాడేటా, మరియు రైట్స్ను సమన్వయిస్తుంది. |
ProjectEvaluator |
co_op_translator.core.project.project_evaluator |
అనువదించిన Markdown జంటలను కనుగొంటుంది, అనువాద నాణ్యతను మూల్యాంకనం చేస్తుంది, మరియు తక్కువ నమ్మకత మరమ్మత్తు వర్క్ఫ్లోలకు నమ్మకత మెటాడేటాను చదవుతుంది. |
ReviewRunner |
co_op_translator.review.runner |
సోర్స్ ఫైళ్ల, లక్ష్య భాషల, మరియు కాన్ఫిగర్ చేసిన అనువాద రూట్స్ అంతటా నిర్ణాయక రివ్యూ తనిఖీలను సమన్వయిస్తుంది. |
ReviewTarget |
co_op_translator.review.targets |
ఒక సోర్స్ రూట్ మరియు ఆ రూట్ కోసం సమీక్షించే అనువాద అవుట్పుట్ డైరక్టరీని వర్ణిస్తుంది. |
LanguageFolderMigrator |
co_op_translator.core.project.language_migrator |
పాత అలియాస్ భాషా ఫోల్డర్లను గుర్తించి క్యానానికల్ BCP 47 ఫోల్డర్ మైగ్రేషన్ ప్రణాళికలను సిద్ధం చేస్తుంది. |
Config |
co_op_translator.config.base_config |
.env ఫైల్లను లోడ్ చేసి అవసరమయిన LLM మరియు ఐచ్ఛిక Vision ప్రొవైడర్లు కాన్ఫిగర్ అయి ఉన్నారా అని తనిఖీ చేస్తుంది. |
LLMConfig |
co_op_translator.config.llm_config.config |
Azure OpenAI లేదా OpenAI ను ఆటో-డిటెక్ట్ చేసి, అవసరమైన ఎన్విరాన్మెంట్ వేరియబుల్స్ ను ధ్రువీకరించి, ప్రొవైడర్ కనెక్టివిటీ తనిఖీలు నడపుతుంది. |
VisionConfig |
co_op_translator.config.vision_config.config |
ఇమేజ్ అనువాదానికి Azure AI Vision కాన్ఫిగరేషన్ను గుర్తించి కనెక్టివిటీ తనిఖీలు నడుపుతుంది. |