Šis projektas laukia indėlių ir pasiūlymų. Daugumai indėlių reikia sutikti su Indėlio Licencijos Sutartimi (CLA), kurioje patvirtinate, kad turite teisę ir iš tikrųjų suteikiate mums teisę naudoti jūsų indėlį. Daugiau informacijos rasite https://cla.opensource.microsoft.com.
Kai pateikiate pull request, CLA robotas automatiškai nustatys, ar jums reikia pateikti CLA ir tinkamai pažymės PR (pvz., statuso patikrinimas, komentaras). Tiesiog sekite roboto nurodymus. Tai reikės padaryti tik vieną kartą visuose repozitorijuose, naudojančiuose mūsų CLA.
Norėdami nustatyti šio projekto vystymo aplinką, rekomenduojame naudoti Poetry priklausomybių valdymui. Mes naudojame pyproject.toml projekto priklausomybėms valdyti, todėl priklausomybių diegimui turėtumėte naudoti Poetry.
python -m venv .venvpoetry init-
Windows:
.venv\Scripts\activate.bat
-
Mac/Linux:
source .venv/bin/activate
poetry shellpoetry installPrieš pateikdami PR, svarbu išbandyti vertimo funkcionalumą su tikra dokumentacija:
-
Sukurkite testų katalogą pagrindiniame kataloge:
mkdir test_docs
-
Nukopijuokite keletą markdown dokumentų ir paveikslėlių, kuriuos norite išversti, į testų katalogą. Pavyzdžiui:
cp /path/to/your/docs/*.md test_docs/ cp /path/to/your/images/*.png test_docs/
-
Įdiekite paketą lokaliai:
pip install -e . -
Paleiskite Co-op Translator savo testiniams dokumentams:
python -m co_op_translator --language-codes ko --root-dir test_docs
-
Patikrinkite išverstus failus
test_docs/translationsirtest_docs/translated_images, kad įsitikintumėte:- Vertimo kokybe
- Metaduomenų komentarai yra teisingi
- Originali markdown struktūra išsaugota
- Nuorodos ir paveikslėliai veikia tinkamai
Šis rankinis testavimas padeda užtikrinti, kad jūsų pakeitimai gerai veiktų realiomis sąlygomis.
- Sukurkite
.envfailą pagrindiniame kataloge nukopijuodami pateiktą.env.templatefailą. - Užpildykite aplinkos kintamuosius pagal nurodymus.
Tip
Be projekto paleidimo lokaliai, galite naudoti GitHub Codespaces arba VS Code Dev Containers kaip alternatyvią vystymo aplinką.
Šiuos pavyzdžius galite paleisti virtualiai naudodami GitHub Codespaces, nereikia jokių papildomų nustatymų ar konfigūracijų.
Mygtukas atvers naršyklėje veikiantį VS Code langą:
Susijusi parinktis yra VS Code Dev Containers, kuri atvers projektą jūsų vietiniame VS Code naudodama Dev Containers plėtinį:
Naudojame Black kaip Python kodo formatavimo įrankį, kad palaikytume nuoseklų kodo stilių projekte. Black yra griežtas kodo formatuotojas, kuris automatiškai pertvarko Python kodą pagal Black stiliaus taisykles.
Black konfigūracija nurodyta mūsų pyproject.toml faile:
[tool.black]
line-length = 88
target-version = ['py310']
include = '\.pyi?$'Galite įdiegti Black naudodami Poetry (rekomenduojama) arba pip:
Black automatiškai įdiegiama nustatant vystymo aplinką:
poetry installJei naudojate pip, Black galite įdiegti tiesiogiai:
pip install black-
Suformatuokite visus Python failus projekte:
poetry run black . -
Suformatuokite konkretų failą arba katalogą:
poetry run black path/to/file_or_directory
-
Suformatuokite visus Python failus projekte:
black . -
Suformatuokite konkretų failą arba katalogą:
black path/to/file_or_directory
Tip
Rekomenduojame nustatyti savo redaktorių automatiškai formatuoti kodą su Black įrašant. Dauguma šiuolaikinių redaktorių tai palaiko per plėtinius ar papildinius.
Norėdami paleisti Co-op Translator naudodami Poetry savo aplinkoje, atlikite šiuos veiksmus:
-
Eikite į katalogą, kuriame norite atlikti vertimo testus, arba sukurkite laikiną aplanką testavimui.
-
Vykdykite šią komandą. Pakeiskite
-l koį norimos kalbos kodą, į kurią norite versti.-džymi derinimo režimą.poetry run co-op-translator translate -l ko -d
Note
Įsitikinkite, kad jūsų Poetry aplinka yra aktyvuota (poetry shell) prieš vykdant komandą.
Laukiame indėlių, kurie prideda naujų kalbų palaikymą. Prieš atidarydami PR, atlikite žemiau nurodytus veiksmus, kad užtikrintumėte sklandų peržiūrėjimą.
-
Pridėkite kalbą prie šrifto žemėlapio
- Redaguokite
src/co_op_translator/fonts/font_language_mappings.yml - Pridėkite įrašą su:
code: ISO tipo kalbos kodas (pvz.,vi)name: Žmogiškai suprantamas pavadinimasfont: Šriftas, esantissrc/co_op_translator/fonts/, palaikantis tą raštąrtl:true, jei rašoma iš dešinės į kairę, kitu atvejufalse
- Redaguokite
-
Įtraukite reikalingus šrifto failus (jei reikia)
- Jei reikalingas naujas šriftas, patikrinkite licencijos suderinamumą su atviro kodo platinimu
- Pridėkite šrifto failą į
src/co_op_translator/fonts/
-
Vietinis patikrinimas
- Paleiskite vertimus mažam pavyzdžiui (Markdown, paveikslėliai ir užrašų knygelės pagal poreikį)
- Patikrinkite, ar išvestis atvaizduojama teisingai, įskaitant šriftus ir, jei taikoma, RTL išdėstymą
-
Atnaujinkite dokumentaciją
- Įsitikinkite, kad kalba yra
getting_started/supported-languages.mdfaile - Nereikia keisti
getting_started/README_languages_template.md; jis generuojamas iš palaikomų kalbų sąrašo
- Įsitikinkite, kad kalba yra
-
Atidarykite PR
- Aprašykite pridėtą kalbą ir bet kokius šrifto/licencijos aspektus
- Jei įmanoma, pridėkite ekrano nuotraukas su atvaizduotais rezultatais
Pavyzdinis YAML įrašas:
new_lang(code):
name: "New Language"
font: "NotoSans-Medium.ttf"
rtl: falseNaują kalbą galite išbandyti paleisdami šią komandą:
# Sukurkite ir aktyvuokite virtualią aplinką
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# Įdiekite kūrimo paketą
pip install -e .
# Vykdykite vertimą
translate -l "new_lang"Siekiant užtikrinti nuoseklumą ir aiškumą mūsų projekto įsipareigojimų istorijoje, naudojame specifinį įsipareigojimo žinutės formatą galutinei įsipareigojimo žinutei naudojant Squash and Merge strategiją.
Kai pull request (PR) yra sujungiamas, atskiri įsipareigojimai bus sujungti į vieną. Galutinė įsipareigojimo žinutė turėtų atitikti žemiau pateiktą formatą, kad būtų palaikoma švari ir nuosekli istorija.
Naudojame šį formatą įsipareigojimų žinutėms:
<type>: <description> (#<PR numeris>)-
type: Nurodo įsipareigojimo kategoriją. Naudojame šiuos tipus:
Docs: Dokumentacijos atnaujinimams.Build: Pakeitimams, susijusiems su statybos sistema ar priklausomybėmis, įskaitant konfigūracijos failų, CI darbo eigų ar Dockerfile atnaujinimus.Core: Projekto pagrindinės funkcijos ar savybių pakeitimams, ypač tiems, kurie susiję su failaissrc/co_op_translator/corekataloge.
-
description: Trumpas pakeitimo aprašymas.
-
PR numeris: Susijusio pull request numeris.
Pavyzdžiai:
Docs: Update installation instructions for clarity (#50)Core: Improve handling of image translation (#60)
Note
Šiuo metu Docs, Core ir Build prefiksai automatiškai pridedami prie PR pavadinimų pagal modifikuoto kodo etiketes. Jei tinkama etikete pritaikyta, paprastai nereikia rankiniu būdu keisti PR pavadinimo. Tiesiog patikrinkite, ar viskas teisinga ir prefiksas sugeneruotas tinkamai.
Naudojame Squash and Merge kaip numatytąją strategiją pull requestams. Ši strategija užtikrina, kad įsipareigojimų žinutės atitiktų mūsų formatą, net jei atskiri įsipareigojimai to nedaro.
Priežastys:
- Švari, linijinė projekto istorija.
- Nuoseklumas įsipareigojimų žinutėse.
- Mažiau triukšmo dėl smulkių įsipareigojimų (pvz., „fix typo“).
Sujungiant, įsitikinkite, kad galutinė įsipareigojimo žinutė atitinka aukščiau aprašytą formatą.
Squash and Merge pavyzdys Jei PR turi šiuos įsipareigojimus:
fix typoupdate READMEadjust formatting
Jie turėtų būti sujungti į:
Docs: Improve documentation clarity and formatting (#65)
Šiame skyriuje aprašomas paprasčiausias būdas prižiūrėtojams paskelbti naują Co-op Translator leidimą.
- Nuspręskite kitą versijos numerį (naudojame semantinį versijavimą:
MAJOR.MINOR.PATCH). - Redaguokite
pyproject.tomlir atnaujinkiteversionlauką po[tool.poetry]. - Atidarykite specialų pull request, kuriame keičiate tik versiją (ir bet kokius automatiškai atnaujinamus užrakinimo/metaduomenų failus, jei yra).
- Po peržiūros naudokite Squash and Merge ir įsitikinkite, kad galutinė įsipareigojimo žinutė atitinka aukščiau aprašytą formatą.
- Eikite į GitHub repozitorijos puslapį ir atidarykite Releases → Draft a new release.
- Sukurkite naują žymę (pvz.,
v0.13.0) išmainšakos. - Nustatykite leidimo pavadinimą tokiu pačiu numeriu (pvz.,
v0.13.0). - Spustelėkite Generate release notes, kad automatiškai užpildytumėte pakeitimų žurnalą.
- Pasirinktinai redaguokite tekstą (pvz., pabrėžkite naujai palaikomas kalbas ar svarbius pakeitimus).
- Paskelbkite leidimą.
Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą Co-op Translator. Nors stengiamės užtikrinti tikslumą, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojamas profesionalus žmogaus vertimas. Mes neatsakome už bet kokius nesusipratimus ar neteisingus aiškinimus, kylančius dėl šio vertimo naudojimo.