Tento projekt vítá príspevky a návrhy. Väčšina príspevkov vyžaduje, aby ste súhlasili s Dohodou o licencii prispievateľa (CLA), ktorá potvrdzuje, že máte právo a skutočne nám udeľujete práva na použitie vášho príspevku. Pre podrobnosti navštívte https://cla.opensource.microsoft.com.
Keď odošlete pull request, bot CLA automaticky zistí, či je potrebné poskytnúť CLA, a príslušne označí PR (napr. kontrola stavu, komentár). Jednoducho postupujte podľa pokynov bota. Toto budete musieť urobiť iba raz pre všetky repozitáre používajúce našu CLA.
Pre nastavenie vývojového prostredia tohto projektu odporúčame používať Poetry na správu závislostí. Používame pyproject.toml na správu závislostí projektu, preto by ste mali na inštaláciu závislostí použiť Poetry.
python -m venv .venvpoetry init-
Windows:
.venv\Scripts\activate.bat
-
Mac/Linux:
source .venv/bin/activate
poetry shellpoetry installPred odoslaním PR je dôležité otestovať funkčnosť prekladu na reálnej dokumentácii:
-
Vytvorte testovací adresár v koreňovom adresári:
mkdir test_docs
-
Skopírujte nejakú markdown dokumentáciu a obrázky, ktoré chcete preložiť, do testovacieho adresára. Napríklad:
cp /path/to/your/docs/*.md test_docs/ cp /path/to/your/images/*.png test_docs/
-
Nainštalujte balík lokálne:
pip install -e . -
Spustite Co-op Translator na vašich testovacích dokumentoch:
python -m co_op_translator --language-codes ko --root-dir test_docs
-
Skontrolujte preložené súbory v
test_docs/translationsatest_docs/translated_imagesa overte:- Kvalitu prekladu
- Správnosť metadátových komentárov
- Zachovanie pôvodnej štruktúry markdownu
- Funkčnosť odkazov a obrázkov
Toto manuálne testovanie pomáha zabezpečiť, že vaše zmeny fungujú dobre v reálnych scenároch.
- V koreňovom adresári vytvorte súbor
.envskopírovaním poskytnutého súboru.env.template. - Vyplňte premenné prostredia podľa pokynov.
Tip
Okrem spustenia projektu lokálne môžete použiť aj GitHub Codespaces alebo VS Code Dev Containers ako alternatívne prostredie pre vývoj.
Tento príklad môžete spustiť virtuálne pomocou GitHub Codespaces bez potreby ďalších nastavení.
Tlačidlo otvorí webovú inštanciu VS Code vo vašom prehliadači:
Súvisiaca možnosť je VS Code Dev Containers, ktorý otvorí projekt vo vašom lokálnom VS Code pomocou rozšírenia Dev Containers:
Používame Black ako formátovač Python kódu, aby sme udržali jednotný štýl kódu v celom projekte. Black je nekompromisný formátovač, ktorý automaticky preformátuje Python kód podľa štýlu Black.
Konfigurácia Black je uvedená v našom pyproject.toml:
[tool.black]
line-length = 88
target-version = ['py310']
include = '\.pyi?$'Black môžete nainštalovať buď pomocou Poetry (odporúčané), alebo pip:
Black sa automaticky nainštaluje pri nastavení vývojového prostredia:
poetry installAk používate pip, môžete Black nainštalovať priamo:
pip install black-
Naformátujte všetky Python súbory v projekte:
poetry run black . -
Naformátujte konkrétny súbor alebo adresár:
poetry run black path/to/file_or_directory
-
Naformátujte všetky Python súbory v projekte:
black . -
Naformátujte konkrétny súbor alebo adresár:
black path/to/file_or_directory
Tip
Odporúčame nastaviť si editor tak, aby automaticky formátoval kód pomocou Black pri ukladaní. Väčšina moderných editorov to podporuje cez rozšírenia alebo pluginy.
Ak chcete spustiť Co-op Translator pomocou Poetry vo vašom prostredí, postupujte podľa týchto krokov:
-
Prejdite do adresára, kde chcete vykonať testy prekladu, alebo si vytvorte dočasný priečinok na testovanie.
-
Spustite nasledujúci príkaz. Nahraďte
-l kokódom jazyka, do ktorého chcete prekladať. Prepínač-dznamená režim ladenia.poetry run co-op-translator translate -l ko -d
Note
Pred spustením príkazu sa uistite, že máte aktivované prostredie Poetry (poetry shell).
Vítame príspevky, ktoré pridávajú podporu nových jazykov. Pred otvorením PR prosím dokončite nasledujúce kroky, aby bol proces recenzie hladký.
-
Pridajte jazyk do mapovania fontov
- Upravte
src/co_op_translator/fonts/font_language_mappings.yml - Pridajte záznam s:
code: ISO-podobný kód jazyka (napr.vi)name: Čitateľný názov jazykafont: Font dodávaný vsrc/co_op_translator/fonts/, ktorý podporuje daný skriptrtl:true, ak je jazyk sprava doľava, inakfalse
- Upravte
-
Pridajte potrebné fonty (ak je to potrebné)
- Ak je potrebný nový font, overte licenčnú kompatibilitu pre open source distribúciu
- Pridajte fontový súbor do
src/co_op_translator/fonts/
-
Lokálna kontrola
- Spustite preklady na malom vzorku (Markdown, obrázky a notebooky podľa potreby)
- Overte, že výstup sa správne zobrazuje vrátane fontov a prípadného RTL rozloženia
-
Aktualizujte dokumentáciu
- Uistite sa, že jazyk je uvedený v
getting_started/supported-languages.md - Zmeny v
getting_started/README_languages_template.mdnie sú potrebné; tento súbor sa generuje zo zoznamu podporovaných jazykov
- Uistite sa, že jazyk je uvedený v
-
Otvorte PR
- Popíšte pridaný jazyk a prípadné licenčné alebo fontové poznámky
- Priložte screenshoty zobrazených výstupov, ak je to možné
Príklad YAML záznamu:
new_lang(code):
name: "New Language"
font: "NotoSans-Medium.ttf"
rtl: falseNový jazyk môžete otestovať spustením nasledujúceho príkazu:
# Vytvorte a aktivujte virtuálne prostredie
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# Nainštalujte vývojový balík
pip install -e .
# Spustite preklad
translate -l "new_lang"Pre zabezpečenie konzistentnosti a prehľadnosti histórie commitov v projekte používame špecifický formát správy commitov pre finálnu správu pri použití stratégie Squash and Merge.
Keď sa pull request (PR) zlúči, jednotlivé commity sa spoja do jedného. Finálna správa commitu by mala mať nasledujúci formát, aby sme udržali čistú a konzistentnú históriu.
Používame nasledujúci formát správ commitov:
<type>: <description> (#<Číslo PR>)-
type: Určuje kategóriu commitu. Používame tieto typy:
Docs: Pre aktualizácie dokumentácie.Build: Pre zmeny súvisiace so systémom zostavenia alebo závislosťami, vrátane aktualizácií konfiguračných súborov, CI workflow alebo Dockerfile.Core: Pre úpravy jadra projektu alebo funkcií, najmä súbory v adresárisrc/co_op_translator/core.
-
description: Stručný popis zmeny.
-
PR number: Číslo pull requestu, ku ktorému sa commit viaže.
Príklady:
Docs: Aktualizácia inštrukcií na inštaláciu pre lepšiu zrozumiteľnosť (#50)Core: Vylepšenie spracovania prekladu obrázkov (#60)
Note
Momentálne sa prefixy Docs, Core a Build automaticky pridávajú k názvom PR na základe štítkov aplikovaných na upravený zdrojový kód. Pokiaľ je správny štítok priradený, zvyčajne nie je potrebné manuálne upravovať názov PR. Stačí overiť, že je všetko správne a prefix bol vygenerovaný.
Ako predvolenú stratégiu pre pull requesty používame Squash and Merge. Táto stratégia zabezpečuje, že správy commitov budú mať náš formát, aj keď jednotlivé commity nie.
Dôvody:
- Čistá, lineárna história projektu.
- Konzistentnosť správ commitov.
- Menej šumu z drobných commitov (napr. "oprava preklepu").
Pri zlúčení sa uistite, že finálna správa commitu dodržiava vyššie uvedený formát.
Príklad Squash and Merge Ak PR obsahuje tieto commity:
oprava preklepuaktualizácia READMEúprava formátovania
Mali by byť zlúčené do:
Docs: Vylepšenie dokumentácie a formátovania (#65)
Táto sekcia popisuje najjednoduchší spôsob, ako správcovia môžu publikovať novú verziu Co-op Translator.
- Rozhodnite sa o ďalšom čísle verzie (používame semver:
MAJOR.MINOR.PATCH). - Upravte
pyproject.tomla aktualizujte poleversionv sekcii[tool.poetry]. - Otvorte samostatný pull request, ktorý mení iba verziu (a prípadné automaticky aktualizované lock/metadata súbory).
- Po schválení použite Squash and Merge a uistite sa, že finálna správa commitu dodržiava vyššie uvedený formát.
- Prejdite na stránku repozitára na GitHub a otvorte Releases → Draft a new release.
- Vytvorte nový tag (napr.
v0.13.0) z vetvymain. - Nastavte názov vydania na rovnakú verziu (napr.
v0.13.0). - Kliknite na Generate release notes pre automatické vyplnenie changelogu.
- Voliteľne upravte text (napr. zvýraznite novo podporované jazyky alebo dôležité zmeny).
- Publikujte vydanie.
Zrieknutie sa zodpovednosti: Tento dokument bol preložený pomocou AI prekladateľskej služby Co-op Translator. Aj keď sa snažíme o presnosť, majte prosím na pamäti, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Originálny dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.