Python API¶
Стабилан јаван Python API је експортован из co_op_translator.api. Већина интеграција користи један од ових токова рада:
| Scenario | Use this when | Main APIs |
|---|---|---|
| Translate individual files or documents | Вашa апликацијa учитава изворни садржај, позива 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 директно, а MCP водич када излажете Co-op Translator агенту или уређивачу. Ако одлучујете између CLI, Python API и MCP, почните са Choose Your Workflow.
First-Time API Flow¶
Почните овде ако позивате Co-op Translator из Python кода:
- Конфигуришите LLM провајдера као што је описано у Configuration, осим ако само припремате Markdown или notebook делове за host-agent превод.
- Одлучите да ли ваша апликација управља I/O датотекама.
- Користите content API-је када ваша апликација чита и записује појединачне датотеке.
- Користите
run_translationкада Co-op Translator треба да обради репозиторијум као CLI. - Користите
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¶
Користите овај ток рада када већ имате датотеку, уређивачки бафер, notebook payload, MCP захтев или прилагођени улазни ток. Ваш код контролише I/O датотека:
- Прочитајте изворни садржај.
- Позовите content translation API.
- По потреби позовите path rewriting API ако ће преведени садржај бити записан у фолдер за превод пројекта.
- Сачувајте или вратите резултат из ваше апликације.
Content translation 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 учитава извornu слику и враћа рендеровани 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,
)
Преведите само notebook-ове из специфичног корена пројекта:
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, notebook-ове и слике.
Review Translated Output¶
run_review покреће детерминистичке провере превода без LLM или Vision акредитива.
Бета
run_review је бета детерминистички review API. Не позива провајдере модела нити записује датотеке, али шеме провера и проблема могу еволуирати.
from co_op_translator.api import run_review
run_review(
language_codes="ko ja",
root_dir="./my-course",
markdown=True,
notebook=True,
)
Прегледајте само датотеке које су измењене у односу на базни ref и исписујте GitHub-flavored излаз:
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())
Преведите репозиторијум из Pythona:
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¶
Content translation API-ји су намењени интеграцијама које већ имају садржај у меморији, као што су екстензија уређивача, MCP алат, процесор за notebook-ове или прилагођени ток.
| 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¶
Agent-assisted API-ји не позивају Azure OpenAI или OpenAI из Co-op Translator-а. Они припремају Markdown или notebook делове за host агента да преведе, а затим реконструишу финални садржај из преведених делова.
| Function | Purpose |
|---|---|
start_markdown_agent_translation |
Врати самосталан Markdown job са деловима, промптовима и стањем за реконструкцију. |
finish_markdown_agent_translation |
Реконструише Markdown из job-а и host-agent преведених делова. |
start_notebook_agent_translation |
Врати notebook job са Markdown-ћелијским деловима за host-agent превод. |
finish_notebook_agent_translation |
Реконструише notebook JSON уз задржавање code ћелија, output-ова и метаподатака. |
Овај ток рада је углавном намењен MCP хостовима. Ако вам је потребан production превод репозиторијума где Co-op Translator управља позивима провајдера, користите translate_markdown_content, translate_notebook_content, или run_translation.
Path Rewriting APIs¶
Path rewriting API-ји не обављају превод. Они ажурирају линкове и frontmatter путање након што позиваоци знају изворну путању, преведену циљну путању и распореда пројекта.
| Function | Scope | Notes |
|---|---|---|
rewrite_markdown_paths |
Markdown body and frontmatter | Преписује Markdown линкове и подржана frontmatter пољa путања за преведену цел. |
rewrite_notebook_paths |
Markdown cells in notebook JSON | Примeњује Markdown преписивање путања на сваку Markdown ћелију и оставља не-Markdown ћелије непромењене. |
Аргумент policy може бити речник са следећим пољима:
| Field | Required | Purpose |
|---|---|---|
language_code |
Yes | Код циљног језика, као што је "ko" или "pt-BR". |
root_dir |
No | Изворни корен пројекта. Подразумевано ".". |
translations_dir |
No | Директоријум за излазни текст превода. Подразумевано translations у оквиру root_dir. |
translated_images_dir |
No | Директоријум за преведене слике. Подразумевано translated_images у оквиру root_dir. |
translation_types |
No | Омогућени типови превода. Подразумевано Markdown, notebook-ови и слике. |
lang_subdir |
No | Опционални поддиректоријум под сваким језичким фолдером. |
Project Translation Parameters¶
| Parameter | Type | Default | Purpose |
|---|---|---|---|
language_codes |
str |
Required | Целине циљних језичких кодова раздвојених размаком, као што су "ko ja fr", или "all". Алијас кодови се нормализују на канонске 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 notebook превод. |
debug |
bool |
False |
Омогући debug логовање. |
save_logs |
bool |
False |
Сачувај DEBUG нивое лог фајлова унутар корена у logs/ директоријуму. |
yes |
bool |
True |
Аутоматски потврђује упите за програмско и CI коришћење. |
add_disclaimer |
bool |
False |
Додаје дисклејмере машинског превода у преведени Markdown и notebook-ове. |
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 |
URL репозиторијума који се користи при рендеровању упутства у README табели језика. |
glossaries |
Iterable[str] \| None |
None |
Појмови из глосара које треба задржати током превода. Дупликати и празни појмови се нормализују. |
dry_run |
bool |
False |
Процени обим превода и прегледај понашање миграције без записивања датотека. |
Review Parameters¶
run_review намерно огледа signature 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 notebook изворне фајлове. |
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 |
Експлицитни парови (root_dir, translations_dir). Има приоритета над root_dirs. |
changed_from |
str \| None |
None |
Git референца која се користи да ограничи преглед на измењене изворне фајлове. |
output_format |
str |
"text" |
Формат излаза прегледа. Подржане вредности су "text" и "github". |
fail_on_warnings |
bool |
False |
Сматрајте упозорења као неуспехе поред грешака. |
debug |
bool |
False |
Омогућите debug логовање. |
save_logs |
bool |
False |
Сачувајте DEBUG-ниво лог фајлове унутар root директоријума logs/. |
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.
Захтеви за конфигурацију¶
Provider-backed translation APIs require provider configuration before translating:
- Превод Markdown-а и notebook-ова захтева LLM провајдера. Конфигуришите или Azure OpenAI или OpenAI.
- Превод слика захтева Azure AI Vision поред LLM провајдера.
run_translationпокреће лагане провере повезаности пре почетка превођења пројекта.- Agent-помогнути
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.
Напомене о понашању¶
- API-ји за превод садржаја одржавају превод одвојеним од пренамештања путева у пројекту. Позовите експлицитно
rewrite_markdown_pathsилиrewrite_notebook_pathsкада преведени садржај треба да прилагоди пројектно-релативне везе за циљну локацију. - API-ји за оркестрацију пројекта додају пројектно понашање око превода садржаја, укључујући проналажење фајлова, записивање, пренамештање путева, метаподатке, чишћење и опционалне одрицања одговорности.
run_translationисписује резиме прогреса и процена преко Click-а, усклађујући се са CLI корисничким искуством.dry_run=Trueрачуна процене користећи виртуелне измене README-а, али не уписује README или фајлове превода.groupsсе обрађују секвенцијално. Једна агрегатна процена се исписује пре почетка рада.- Када је изабран превод слика, недостатак Vision конфигурације изазива грешку пре него што превод почне.
- Постојећи језички фолдери засновани на алијасима се детектују и могу бити мигрирани у канонска имена језичких фолдера као део покретања.
run_reviewнеуспева на недостајућим преведеним фајловима, недостајућим или застарелим метаподацима превода, неисправном Markdown frontmatter-у/код оградама и неважећем преведеном notebook JSON-у.run_reviewподразумевано пријављује недостајуће локалне Markdown и циљеве сликовних веза као упозорења.
Интерна путања позива¶
The API delegates to the same core implementation used by the CLI:
Превођење:
co_op_translator.api.translation.translate_markdown_content,translate_notebook_content, ortranslate_image_contentза превод у меморији.co_op_translator.api.translation.rewrite_markdown_pathsorrewrite_notebook_pathsза експлицитну постобраду путева.co_op_translator.api.translation.run_translationза пуну оркестрацију пројекта.co_op_translator.config.Config,LLMConfig, andVisionConfig.co_op_translator.core.project.ProjectTranslator.co_op_translator.core.project.TranslationManager.- Фокусирани пројектни миксини за превод Markdown-а, notebook-ова и слика.
- Markdown, notebook, текст и преводиоци слика у оквиру
co_op_translator.core.
Преглед:
co_op_translator.api.review.run_reviewco_op_translator.review.targets.build_review_targetsco_op_translator.review.runner.ReviewRunner- Детерминистичке провере у оквиру
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 и преводиоце слика. |
TranslationManager |
co_op_translator.core.project.translation |
Обавља асинхрони рад на обради фајлова за Markdown, notebook-ове, слике, детекцију застарелости и ажурирања метаподатака превода. |
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 |
Описује изворни root и директоријум излаза превода који се прегледа за тај root. |
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 конфигурацију и покреће провере повезаности за превод слика. |