Tämä projekti ottaa mielellään vastaan panoksia ja ehdotuksia. Useimmat panokset edellyttävät, että hyväksyt Contributor License Agreementin (CLA), jossa vahvistat, että sinulla on oikeus ja myönnät meille oikeudet käyttää panostasi. Lisätietoja löytyy osoitteesta https://cla.opensource.microsoft.com.
Kun lähetät pull requestin, CLA-botti tarkistaa automaattisesti, tarvitsetko CLA:n ja merkitsee PR:n asianmukaisesti (esim. tilantarkistus, kommentti). Noudata vain botin antamia ohjeita. Tämä tarvitsee tehdä vain kerran kaikissa CLA:ta käyttävissä repositorioissa.
Tämän projektin kehitysympäristön asennukseen suosittelemme Poetrya riippuvuuksien hallintaan. Käytämme pyproject.toml-tiedostoa projektin riippuvuuksien hallintaan, joten riippuvuuksien asentamiseen tulee käyttää Poetrya.
python -m venv .venvpoetry init-
Windows:
.venv\Scripts\activate.bat
-
Mac/Linux:
source .venv/bin/activate
poetry shellpoetry installEnnen PR:n lähettämistä on tärkeää testata käännöstoiminnallisuus oikealla dokumentaatiolla:
-
Luo testihakemisto juurihakemistoon:
mkdir test_docs
-
Kopioi testihakemistoon joitain käännettäviä markdown-dokumentteja ja kuvia. Esimerkiksi:
cp /path/to/your/docs/*.md test_docs/ cp /path/to/your/images/*.png test_docs/
-
Asenna paketti paikallisesti:
pip install -e . -
Suorita Co-op Translator testidokumenteillasi:
python -m co_op_translator --language-codes ko --root-dir test_docs
-
Tarkista käännetyt tiedostot kansioista
test_docs/translationsjatest_docs/translated_imagesvarmistaaksesi:- Käännöksen laatu
- Metatietokommenttien oikeellisuus
- Alkuperäisen markdown-rakenteen säilyminen
- Linkkien ja kuvien toimivuus
Tämä manuaalinen testaus varmistaa, että muutoksesi toimivat hyvin todellisissa tilanteissa.
- Luo juurihakemistoon
.env-tiedosto kopioimalla valmiiksi annettu.env.template-tiedosto. - Täytä ympäristömuuttujat ohjeiden mukaisesti.
Tip
Projektia voi ajaa paikallisesti, mutta vaihtoehtoisesti voit käyttää GitHub Codespacesia tai VS Code Dev Containers -ympäristöä.
Voit ajaa näitä esimerkkejä virtuaalisesti GitHub Codespacesin avulla ilman lisäasetuksia.
Painike avaa selaimessa web-pohjaisen VS Code -instanssin:
Vaihtoehtona on VS Code Dev Containers, joka avaa projektin paikallisessa VS Codessa käyttäen Dev Containers -laajennusta:
Käytämme Black -työkalua Python-koodin muotoiluun, jotta koodityyli pysyy yhtenäisenä projektissa. Black on tinkimätön koodinmuotoilija, joka muotoilee Python-koodin automaattisesti Blackin tyylin mukaiseksi.
Blackin asetukset on määritelty pyproject.toml-tiedostossamme:
[tool.black]
line-length = 88
target-version = ['py310']
include = '\.pyi?$'Blackin voi asentaa joko Poetrylla (suositus) tai pipillä:
Black asennetaan automaattisesti kehitysympäristön asennuksen yhteydessä:
poetry installJos käytät pipiä, voit asentaa Blackin suoraan:
pip install black-
Muotoile kaikki projektin Python-tiedostot:
poetry run black . -
Muotoile tietty tiedosto tai hakemisto:
poetry run black path/to/file_or_directory
-
Muotoile kaikki projektin Python-tiedostot:
black . -
Muotoile tietty tiedosto tai hakemisto:
black path/to/file_or_directory
Tip
Suosittelemme konfiguroimaan editorisi muotoilemaan koodin automaattisesti Blackilla tallennuksen yhteydessä. Useimmat nykyaikaiset editorit tukevat tätä laajennusten tai lisäosien kautta.
Ajaaksesi Co-op Translatoria Poetryn avulla ympäristössäsi, toimi seuraavasti:
-
Siirry hakemistoon, jossa haluat tehdä käännösten testauksen, tai luo väliaikainen kansio testejä varten.
-
Suorita seuraava komento. Korvaa
-l kohaluamallasi kielikoodilla.-d-valitsin tarkoittaa debug-tilaa.poetry run co-op-translator translate -l ko -d
Note
Varmista, että Poetry-ympäristö on aktivoitu (poetry shell) ennen komennon suorittamista.
Otamme mielellämme vastaan panoksia, jotka lisäävät tukea uusille kielille. Ennen PR:n avaamista suorita alla olevat vaiheet sujuvan tarkastelun varmistamiseksi.
-
Lisää kieli fonttikarttaan
- Muokkaa tiedostoa
src/co_op_translator/fonts/font_language_mappings.yml - Lisää merkintä, jossa on:
code: ISO-tyylinen kielikoodi (esim.vi)name: Käyttäjäystävällinen näyttönimifont: Fontti, joka toimitetaan kansiossasrc/co_op_translator/fonts/ja tukee kyseistä kirjoitusjärjestelmäärtl:true, jos kieli on oikealta vasemmalle, muutenfalse
- Muokkaa tiedostoa
-
Lisää tarvittavat fonttitiedostot (tarvittaessa)
- Jos uusi fontti tarvitaan, varmista lisenssin yhteensopivuus avoimen lähdekoodin jakeluun
- Lisää fonttitiedosto kansioon
src/co_op_translator/fonts/
-
Paikallinen tarkistus
- Suorita käännökset pienelle näytteelle (Markdown, kuvat ja notebookit tarpeen mukaan)
- Varmista, että tuloste näkyy oikein, mukaan lukien fontit ja mahdollinen RTL-asettelu
-
Päivitä dokumentaatio
- Varmista, että kieli näkyy tiedostossa
getting_started/supported-languages.md - Tiedostoa
getting_started/README_languages_template.mdei tarvitse muuttaa, sillä se generoidaan tuetun listan perusteella
- Varmista, että kieli näkyy tiedostossa
-
Avaa PR
- Kuvaile lisätty kieli ja mahdolliset fontti- tai lisenssiasiat
- Liitä mukaan kuvakaappauksia renderöidyistä tuloksista, jos mahdollista
Esimerkkimerkintä YAML-muodossa:
new_lang(code):
name: "New Language"
font: "NotoSans-Medium.ttf"
rtl: falseVoit testata uutta kieltä suorittamalla seuraavan komennon:
# Luo ja aktivoi virtuaaliympäristö
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# Asenna kehityspaketti
pip install -e .
# Suorita käännös
translate -l "new_lang"Projektin commit-historian johdonmukaisuuden ja selkeyden varmistamiseksi noudatamme tiettyä commit-viestien muotoa lopullisessa commit-viestissä käyttäessämme Squash and Merge -strategiaa.
Kun pull request yhdistetään, yksittäiset commitit yhdistetään yhdeksi commitiksi. Lopullisen commit-viestin tulee noudattaa alla olevaa muotoa, jotta historia pysyy siistinä ja yhtenäisenä.
Käytämme seuraavaa muotoa commit-viesteissä:
<type>: <description> (#<PR numero>)-
type: Määrittää commitin kategorian. Käytämme seuraavia tyyppejä:
Docs: Dokumentaatiopäivitykset.Build: Muutokset build-järjestelmään tai riippuvuuksiin, mukaan lukien konfiguraatiotiedostot, CI-työnkulut tai Dockerfile.Core: Muutokset projektin ydintoiminnallisuuteen tai ominaisuuksiin, erityisesti tiedostoissasrc/co_op_translator/core.
-
description: Tiivis yhteenveto muutoksesta.
-
PR-numero: Pull requestin numero, johon commit liittyy.
Esimerkkejä:
Docs: Päivitä asennusohjeet selkeyden vuoksi (#50)Core: Paranna kuvan käännöksen käsittelyä (#60)
Note
Tällä hetkellä Docs, Core ja Build -etuliitteet lisätään automaattisesti PR-otsikoihin muokattujen lähdekooditiedostojen tunnisteiden perusteella. Kun oikea tunniste on käytössä, sinun ei yleensä tarvitse muokata PR-otsikkoa manuaalisesti. Tarkista vain, että kaikki on oikein ja etuliite on generoitu oikein.
Käytämme oletuksena Squash and Merge -strategiaa pull requesteille. Tämä varmistaa, että commit-viestit noudattavat muotoamme, vaikka yksittäiset commitit eivät sitä tekisikään.
Syitä:
- Selkeä, lineaarinen projektihistoria.
- Johdonmukaisuus commit-viesteissä.
- Vähemmän hälyä pienistä commiteista (esim. "korjaa kirjoitusvirhe").
Yhdistämisen yhteydessä varmista, että lopullinen commit-viesti noudattaa yllä kuvattua muotoa.
Esimerkki Squash and Merge -yhdistämisestä Jos PR sisältää seuraavat commitit:
korjaa kirjoitusvirhepäivitä READMEsäädä muotoilua
Ne yhdistetään muotoon:
Docs: Paranna dokumentaation selkeyttä ja muotoilua (#65)
Tässä osiossa kuvataan helpoin tapa ylläpitäjille julkaista uusi versio Co-op Translatorista.
- Päätä seuraava versiotunnus (käytämme semanttista versionhallintaa:
MAJOR.MINOR.PATCH). - Muokkaa
pyproject.toml-tiedostoa ja päivitäversion-kenttä[tool.poetry]-osion alla. - Avaa oma pull request, joka muuttaa vain version (ja mahdolliset automaattisesti päivittyvät lukko- tai metatiedostot).
- Tarkastuksen jälkeen käytä Squash and Merge -yhdistämistä ja varmista, että lopullinen commit-viesti noudattaa yllä kuvattua muotoa.
- Mene GitHub-repositorion sivulle ja avaa Releases → Draft a new release.
- Luo uusi tagi (esim.
v0.13.0)main-haaran pohjalta. - Aseta julkaisun otsikoksi sama versio (esim.
v0.13.0). - Klikkaa Generate release notes täyttääksesi automaattisesti muutosten lokin.
- Muokkaa tekstiä halutessasi (esim. korosta uusia kieliä tai tärkeitä muutoksia).
- Julkaise release.
Vastuuvapauslauseke: Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, otathan huomioon, että automaattikäännöksissä saattaa esiintyä virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäiskielellä on virallinen lähde. Tärkeissä asioissa suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.