Oversættelse af indhold¶
Selvom engelsk er et meget udbredt sprog blandt softwareudviklere, er der mange udviklere, der ikke taler engelsk eller ikke taler det flydende. Dette er et tilgængelighedsproblem for udviklere, og derfor ønsker vi at tilbyde vores dokumentation på så mange sprog som muligt.
Desværre er BeeWare-kerneteamet for det meste ensproget engelsktalende. Vi har brug for din hjælp til at oversætte vores dokumentation til andre sprog.
Vi bruger Weblate til at administrere vores oversættelser. Weblate er et værktøj, der giver os mulighed for at behandle hvert afsnit i vores dokumentation som en opgaveliste, som vi kan arbejde os igennem, et ad gangen.
Vi bruger DeepL til maskinoversættelse for at lave et første udkast til oversættelser. Maskinoversættelser er langt fra perfekte, men de er normalt gode nok som et første udkast. Det forventes, at disse maskinoversættelser vil blive redigeret, gennemgået og forbedret efter behov.
Bidragende oversættelser¶
Oversæt indhold
Kom godt i gang med oversættelse¶
Hvis du gerne vil bidrage til BeeWares oversættelsesarbejde, skal du have en konto på Weblate. Opret en ny konto, hvis du ikke allerede har en, og fortæl os, at du er interesseret i at hjælpe med oversættelser.
Der er to muligheder for at fortælle os, at du gerne vil hjælpe med oversættelser:
- Hvis du er på Discord, kan du tilmelde dig
BeeWare-serveren og gå til kanalen
#translations. - Hvis du ikke er på Discord, kan du oprette en ny sag på BeeWare repository.
I begge tilfælde skal du efterlade en besked med følgende oplysninger:
- Dit Weblate-brugernavn
- Det sprog, du planlægger at oversætte indhold til
Når vi har disse oplysninger, tilføjer vi dig til teamet.
Tilføjelse af en ny oversættelse¶
Hvis det sprog, du planlægger at hjælpe med, ikke allerede findes, er der nogle yderligere trin, der skal udføres, før du kan komme i gang:
- Opret filen
/docs/mkdocs.language-code.ymlmed sprogspecifikt indhold. - Opdater
tox.inifor at inkludere de nye sprogopbygningskommandoer. - Opdater
/docs/config.ymlfor at inkludere sproget underextra: alternate:.
Følgende viser de nødvendige ændringer ved hjælp af tysk som eksempel; der
findes allerede en tysk oversættelse; udskift henvisningerne til tysk, de
eller andet indhold med det sprog, du målretter mod.
En ny MkDocs-konfigurationsfil¶
Opret først en ny fil med navnet mkdocs.de.yml i mappen docs med følgende
indhold:
INHERIT: config.yml
site_name: BeeWare Dokumentation
site_url: https://beeware.org/de
docs_dir: de
theme:
language: de
extra:
translation_type: machine
Her er, hvad der foregår i denne fil:
- Denne fil arver konfigurationsindholdet fra
config.yml. - Værdien
site_nameoversættes. - Værdien
site_urler projektets webadressen efterfulgt af sprogkoden. docs_dirskal være sprogkoden.- Værdien
theme: language:skal være sprogkoden, som angivet af MkDocs Material-temaet. For de fleste sprog vil dette være det samme som sprogkodendocs_dir, men for nogle sprog (især sprog med lokale varianter somzh_CN) er der forskelle. extra: translation_type:skal væremachineindtil oversættelsen når 100 % for første gang, hvorefter den skal værehuman. Den vil vende tilbage tilmachinefrahuman, hvis den falder til under 90 %.
Opdater tox.ini¶
Du skal foretage flere ændringer i tox.ini filen.
Du skal tilføje følgende:
- Det nye sprogkodeflag til header-linjen, der begynder med
[testenv:docs, hvor sprogkoden er forud for en-, uden mellemrum, f.eks.-de. - Den nye sprogkodeeksklusion til den første kommando, der begynder med
!lint, forud for-!, uden mellemrum, f.eks.-!de. - Den nye sprogkode til slutningen af linjen, der begynder med
translate : build_po_translations. - Den nye sprogkode til slutningen af linjen, der begynder med
translate : update_machine_translations - En ny kommando, der begynder med f.eks.
de : build_md_translationsfor tysk, efter de andre eksisterende sprogspecifikke kommandoer, der matcher indholdet af disse kommandoer med den nye sprogkode. - Den nye sprogkode til slutningen af linjen, der begynder med
all,serve :.
Opdater config.yml¶
Føj sproget til config.yml, så det vises i sprogvælgeren i overskriften. Find
afsnittet, der begynder med extra:, og find derefter underafsnittet, der
begynder med alternate:. For tysk skal du tilføje følgende:
- name: Deutsch
link: /de/
lang: de
Sprognavnet skal oversættes til sproget. Linket skal indeholde /s.
Det nye sprog er nu klar til oversættelse.
Retningslinjer for oversættelse¶
Når du er blevet tilføjet til teamet, er det tid til at logge ind på Weblate og begynde at oversætte strenge.
Tone kontra ordret oversættelse¶
Det er vigtigere at bevare tonen i den engelske tekst end at stræbe efter en ordret oversættelse. Vi forsøger at være venlige og lidt uformelle i vores indhold; prøv at bevare den ånd i dine oversættelser.
Hvis den engelske tekst indeholder et stærkt engelsk idiom, skal du ikke føle dig forpligtet til at bevare idiomet, hvis der findes et analogt udtryk på dit sprog, der fungerer lige så godt. Hvis udtrykket eller sætningen i den engelske tekst er et særligt idiomatisk udtryk eller slangudtryk, skal du ikke være bange for at fortælle os, at vi bør overveje at ændre det. Selv for engelsktalende kan idiomer og slang udgøre en vanskelighed. Nogle gange er vi nødt til at ændre den engelske tekst for at gøre den mere forståelig for både oversættere og læsere.
Skal jeg oversætte det?¶
Følgende punkter bør ikke oversættes eller opdateres:
- Kommandoer. For eksempel skal kun "Du skal køre" oversættes i "Du skal køre `briefcase create`.".
- Navneområder, såsom klasse-, metode- eller attributnavne.
- Link-URL'er. Standard Markdown-links skal vises i Weblate som
[Link text]{1}, hvor1er linkets position i strengen med henvisning til andre mulige links. Hvis den fulde URL er inkluderet i strengen som[Link text](https://example.com), skal URL'en springes over ved oversættelsen. -
Referencelinks, der indeholder klasse-, metode- eller attributnavne. Disse skal forblive uændrede, inklusive backticks. Ingen dele af det her viste eksempel på et link vil blive oversat.
[`Class.attribute`][Class.attribute] -
Indholdet af et referencelink. For eksempel vil
link-contentblive sprunget over i følgende:[Link text][link-content] -
Jinja-direktiver. Dette er ethvert indhold, der er indkapslet mellem to par matchende krøllede parenteser eller et matchende par enkelte krøllede parenteser med procenttegn i hver ende. Bemærk: Hvis du inkluderer et eksempel på syntaksen her, vil Macros-pluginet forsøge at gengive det. Se Macros-dokumentationen for eksempler.
- Brugerdefinerede ankre. De findes efter overskrifter eller over noget
indhold og er formateret som
{ #anchor }. -
Admonition syntax. I det følgende eksempel skal ordet "admonition" ikke oversættes. Dette gælder alle former for formaninger, herunder bemærkninger, advarsler osv. Se næste afsnit for information om oversættelse af resten af indholdet.
/// admonition | Page Title Content. /// -
Backticks. De skal forblive som backticks; de bruges til formatering af både indbygget kode og kodeblokke.
- Syntaksen for at inkludere eksternt indhold. Dette er alt, der står på
samme linje som
-8<-, eller på linjerne mellem to-8<-på separate linjer.
Følgende punkter bør oversættes:
- Linktekst. I linksyntaks kommer teksten før URL'en og er omgivet af
parenteser, som i
[Link text](URL). Standard Markdown-links skal vises i Weblate som[Link text]{1}, hvor1er linkets position i strengen med henvisning til andre mulige links. -
Referencelinktekst. For eksempel vil
Link textblive oversat som følger:[Link text][link-content] -
Advarselstitler og indhold. I det foregående eksempel på en advarsel skal "Sidens titel" og "Indhold" oversættes.
Weblate¶
Vi bruger Weblate til oversættelse af vores indhold. Når vi tilføjer en ny oversættelse, bruger vi DeepL til maskinoversættelse for at få en første udgave af oversættelsen. Det betyder, at det indhold, du skal oversætte, typisk allerede er maskinoversat. Det forventes, at du som oversætter gennemgår, redigerer og forbedrer den eksisterende maskinoversættelse.
Weblate behandler alt streng for streng. Det samler ændringer og sender hvert par timer en samlet commit med alle de strenge, der er ændret i det pågældende interval. Det kan derfor tage et par timer, før dine ændringer vises på hjemmesiden, men du kan forvente, at opdateringen vises inden for fire timer.
Hvis dine ændringer stadig ikke er blevet vist efter dette tidspunkt, er den sandsynlige årsag en markup-fejl, der har resulteret i en fejl i dokumentopbygningen for det pågældende sprog. Ethvert markup-problem i en streng vil forhindre, at hele oversættelsen bliver offentliggjort. Du kan holde øje med opbygningssiden for dit sprog for at se, om det er blevet opbygget korrekt. Linket er formateret på samme måde som dette link til den franske opbygningsside https://app.readthedocs.org/projects/beewareorg/; Skift sprogkoden til dit sprog for at se den relevante build-side. Dette viser status for den seneste build af webstedet. Hvis buildet mislykkes, skal du se på build-loggen og se, om du kan identificere årsagen til problemet.