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 क्लायंटसाठी सार्वजनिक API MCP Server द्वारे उपलब्ध आहे. 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 आहे की नाही.
- जेव्हा आपल्या अनुप्रयोगाने स्वतंत्र फाइल्स वाचल्या किंवा लिहिल्या तर कंटेंट API वापरा.
- जेव्हा 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 सेल अनुवाद करते आणि नॉन-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"),
],
)
प्रत्येक भाषेसाठी नेस्ट केलेली सबडायरेक्टरी असावी तेव्हा प्रति-भाषा प्लेसहोल्डर वापरा:
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, नोटबुक, आणि प्रतिमा.
Review Translated Output¶
run_review LLM किंवा Vision क्रेडेन्शियल्सशिवाय निश्चितनिष्ठ अनुवाद तपासणी चालवते.
बीटा
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 सेलांचे अनुवाद करते आणि नॉन-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¶
एजंट-सहाय्यक 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 लिंक आणि समर्थित फ्रंटमॅटर पाथ फील्ड रीराइट करते. |
rewrite_notebook_paths |
Markdown cells in notebook JSON | प्रत्येक Markdown सेलवर Markdown पाथ रीराइटिंग लागू करते आणि नॉन-Markdown सेल्स अपरिवर्तित ठेवते. |
policy आर्ग्युमेंट खालील फील्डसह डिक्शनरी असू शकते:
| Field | Required | Purpose |
|---|---|---|
language_code |
Yes | लक्ष्य भाषा कोड, उदा. "ko" किंवा "pt-BR". |
root_dir |
No | स्त्रोत प्रोजेक्ट रूट. डीफॉल्ट ".". |
translations_dir |
No | टेक्स्ट अनुवाद आउटपुट डायरेक्टरी. डीफॉल्ट root_dir अंतर्गत translations. |
translated_images_dir |
No | अनुवादित प्रतिमा आउटपुट डायरेक्टरी. डीफॉल्ट root_dir अंतर्गत translated_images. |
translation_types |
No | सक्षम केलेले अनुवाद प्रकार. डीफॉल्ट Markdown, नोटबुक, आणि प्रतिमा. |
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 च्या संदर्भात सोडवले जातात. |
root_dirs |
Iterable[str] \| None |
None |
समान आउटपुट सेटिंग्ज सामायिक करणारे अनेक root. |
groups |
Iterable[tuple[str, str \| None]] \| None |
None |
Explicit (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 पैकी कोणताही कॉन्फिगर करा.
- Image अनुवादासाठी LLM प्रदात्याशिवाय Azure AI Vision आवश्यक आहे.
run_translationप्रोजेक्ट अनुवाद सुरू होण्यापूर्वी हलके कनेक्टिव्हिटी तपास चालवते.- एजंट-सहाय्यक
start_*_agent_translationआणिfinish_*_agent_translationAPI 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 कॉन्फिगरेशनची आवश्यकता नाही.
वर्तन नोंदी¶
- Content translation APIs अनुवाद प्रोजेक्ट पाथ री-रायटिंगपासून वेगळे ठेवतात. जेव्हा अनुवादित सामग्रीसाठी प्रोजेक्ट-सापेक्ष लिंक लक्ष्य स्थानानुसार समायोजित करायच्या असतील तेव्हा स्पष्टपणे
rewrite_markdown_pathsकिंवाrewrite_notebook_pathsकॉल करा. - प्रोजेक्ट ऑर्केस्ट्रेशन API सामग्री अनुवादाभोवती प्रोजेक्ट वर्तन जोडतात, ज्यात फाइल शोध, लेखन, पाथ री-रायटिंग, मेटाडेटा, क्लीनअप, आणि ऐच्छिक अस्वीकरणे यांचा समावेश आहे.
run_translationClick मार्गे प्रगती आणि अंदाज सारांश छापते, CLI वापरकर्ता अनुभवाशी जुळणारे.dry_run=Trueआभासी README अद्यतनांचा वापर करून अंदाज गणना करते, परंतु README किंवा अनुवाद फायली लिहीत नाही.groupsअनुक्रमे प्रक्रिया केल्या जातात. काम सुरू होण्यापूर्वी एक एकूण एकत्रित अंदाज छापला जातो.- जेव्हा image अनुवाद निवडला जातो, तेव्हा Vision कॉन्फिगरेशन गायब असल्यास अनुवाद सुरू होण्यापूर्वी त्रुटी निर्माण होते.
- मौजूदा alias-आधारित भाषा फोल्डर्स ओळखले जातात आणि रनच्या भाग म्हणून त्यांना canonical भाषा फोल्डर नावांमध्ये स्थलांतरित केले जाऊ शकते.
run_reviewगहाळ अनुवादित फायली, गहाळ किंवा कालबाह्य अनुवाद मेटाडेटा, चुकीचे Markdown frontmatter/code fences, आणि अवैध अनुवादित नोटबुक JSON वर अयशस्वी होते.run_reviewडीफॉल्टनुसार गहाळ स्थानिक Markdown आणि image link लक्ष्ये इशाऱ्यांप्रमाणे नोंदवते.
अंतर्गत कॉल पथ¶
API CLI द्वारे वापरल्या जाणाऱ्या त्याच कोअर अंमलबजावणीकडे सौंपते:
Translation:
co_op_translator.api.translation.translate_markdown_content,translate_notebook_content, ortranslate_image_contentfor in-memory translation.co_op_translator.api.translation.rewrite_markdown_pathsorrewrite_notebook_pathsfor explicit path post-processing.co_op_translator.api.translation.run_translationfor full project orchestration.co_op_translator.config.Config,LLMConfig, andVisionConfig.co_op_translator.core.project.ProjectTranslator.co_op_translator.core.project.TranslationManager.- Focused project translation mixins for Markdown, notebooks, and images.
- Markdown, notebook, text, and image translators under
co_op_translator.core.
Review:
co_op_translator.api.review.run_reviewco_op_translator.review.targets.build_review_targetsco_op_translator.review.runner.ReviewRunner- Deterministic checks under
co_op_translator.review.checks
The following classes are useful for maintainers, but are not exported as the package-level stable API.
| क्लास | मॉड्यूल | जबाबदारी |
|---|---|---|
ProjectTranslator |
co_op_translator.core.project.project_translator |
प्रोजेक्ट-स्तरीय अनुवाद समन्वयित करतो, निर्देशिका व्यवस्थापन, प्रति-भाषा मेटाडेटा सामान्यीकरण, आणि Markdown, notebook, आणि image translators कडे कार्ये सोपवतो. |
TranslationManager |
co_op_translator.core.project.translation |
Markdown, notebooks, images, stale detection, आणि अनुवाद मेटाडेटा अपडेटसाठी असिंक्रोन फाइल प्रक्रिया कार्य पार पाडतो. |
ProjectMarkdownTranslationMixin |
co_op_translator.core.project.translation.project_markdown_translation |
Markdown फाइल वाचन, सामग्री अनुवाद, पाथ री-रायटिंग, मेटाडेटा, अस्वीकरणे, आणि लेखनाची समन्वय करतो. |
ProjectNotebookTranslationMixin |
co_op_translator.core.project.translation.project_notebook_translation |
नोटबुक फाइल वाचन, 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 |
स्रोत फाइल्स, लक्ष्य भाषा, आणि कॉन्फिगर केलेल्या अनुवाद root वर निर्धारिक रिव्ह्यू तपासण्यांचे समन्वय करतो. |
ReviewTarget |
co_op_translator.review.targets |
एका स्रोत root आणि त्या root साठी पुनरावलोकन केलेली अनुवाद आउटपुट निर्देशिका यांचे वर्णन करतो. |
LanguageFolderMigrator |
co_op_translator.core.project.language_migrator |
लेगेसी alias भाषा फोल्डर्स ओळखतो आणि canonical 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 कॉन्फिगरेशन शोधतो आणि image अनुवादासाठी कनेक्टिव्हिटी तपासणी चालवतो. |