Preguntes freqüents¶
Configuration¶
Com crear un flux de treball automatitzat?¶
Weblate pot gestionar totes les coses de traducció de manera semiautomàtica per a vostè. Si li doneu accés push al vostre dipòsit, les traduccions es poden produir sense interacció, tret que es produeixi algun conflicte de combinació.
Configureu el vostre repositori Git per dir-li a Weblate quan hi ha cap canvi, vegeu Punts d’inserció de notificacions per obtenir informació sobre com fer-ho.
Establiu un URL push al vostre Configuració dels components a Weblate, això permet que Weblate publiqui canvis al vostre repositori.
Activeu Puja en fer una comissió al vostre Configuració dels components a Weblate, això farà que Weblate introdueixi canvis al vostre repositori sempre que passin a Weblate.
Vegeu també
Com accedir als repositoris mitjançant SSH?¶
Consulteu Accés als repositoris per obtenir informació sobre com configurar les claus SSH.
Com solucionar els conflictes de combinació a les traduccions?¶
Els conflictes de combinació es produeixen de tant en tant quan el fitxer de traducció es canvia tant al Weblate com al dipòsit amunt simultàniament. Normalment, podeu evitar-ho combinant les traduccions de Weblate abans de fer canvis als fitxers de traducció (p. ex., abans d’executar msgmerge). Només cal dir-li a Weblate que cometi totes les traduccions pendents (pots fer-ho a Manteniment del repositori al menú Operacions) i fusiona el repositori (si l’impuls automàtic no està activat).
Si ja us heu trobat amb un conflicte de combinació, la manera més senzilla de resoldre tots els conflictes localment a la vostra màquina és afegir Weblate com a repositori remot, combinar-lo a aigües amunt i solucionar qualsevol conflicte. Un cop feu retrocedir els canvis, Weblate podrà utilitzar la versió combinada sense cap altra acció especial.
Nota
Si resoleu el conflicte en una sol·licitud d’extracció, fusioneu-lo amb una confirmació de combinació normal. No la fusioneu. La fusió d’esquash crea una nova confirmació en lloc de conservar les commits de Weblate, de manera que és possible que Weblate no reconegui que les seves commits locals ja s’inclouen aigües amunt i pot ser que necessiti un restabliment del dipòsit per recuperar-se.
Nota
Weblate utilitza clons poc profunds de manera predeterminada per reduir el temps de clonació i l’ús del disc. Per això, el flux de treball següent funciona millor quan comenceu des d’una compra actualitzada del repositori amunt. Si cloneu directament des del dipòsit de Weblate exportat, o si al vostre pagament amunt falten les confirmacions recents, git remote update weblate pot fallar amb errors com ara advertència: no hi ha commits comuns, mala revisió o objectes que falten. Això no vol dir necessàriament que Weblate i el repositori amunt tinguin canvis conflictius. Els administradors que vulguin fer que aquest flux de treball sigui més fiable poden ajustar VCS_CLONE_DEPTH.
Nota
Depenent de la vostra configuració, l’accés al dipòsit de Weblate pot requerir autenticació. Quan utilitzeu el Exportador de Git integrat a Weblate, us autentiqueu amb el vostre nom d’usuari i la clau de l’API.
Nota
Weblate serveix al mateix repositori Git, però no serveix objectes Git LFS. Per als dipòsits que utilitzen Git LFS, cloneu des del dipòsit amunt i afegiu Weblate com un altre control remot. Si només necessiteu fitxers amb seguiment de Git, podeu clonar des de Weblate amb GIT_LFS_SKIP_SMUDGE=1 per ometre la descàrrega d’objectes Git LFS.
El flux de treball acostuma a tenir aquest aspecte quan s’inicia des d’una compra actualitzada del dipòsit amunt:
# Open an existing up-to-date checkout of the upstream repository or perform
# a fresh one:
git clone UPSTREAM_REPOSITORY_URL
cd REPO
# Commit all pending changes in Weblate, you can do this in the UI as well:
wlc commit
# Lock the translation in Weblate, again this can be done in the UI as well:
wlc lock
# Add Weblate as remote:
git remote add weblate https://hosted.weblate.org/git/project/component/
# You might need to include credentials in some cases:
git remote add weblate https://username:APIKEY@hosted.weblate.org/git/project/component/
# Update weblate remote:
git remote update weblate
# Merge Weblate changes:
git merge weblate/main
# Resolve conflicts:
edit …
git add …
…
git commit
# Rebase changes (if Weblate is configured to do rebases)
git rebase origin/main
# Push changes to upstream repository, Weblate will fetch merge from there:
git push
# Open Weblate for translation:
wlc unlock
Si utilitzeu diverses branques a Weblate, podeu fer el mateix amb totes:
# Add and update Weblate remotes
git remote add weblate-one https://hosted.weblate.org/git/project/one/
git remote add weblate-second https://hosted.weblate.org/git/project/second/
git remote update weblate-one weblate-second
# Merge QA_4_7 branch:
git checkout QA_4_7
git merge weblate-one/QA_4_7
... # Resolve conflicts
git commit
# Merge main branch:
git checkout main
git merge weblates-second/main
... # Resolve conflicts
git commit
# Push changes to the upstream repository, Weblate will fetch the merge from there:
git push
En el cas dels fitxers PO de gettext, hi ha una manera de combinar els conflictes de manera semiautomàtica:
Obteniu i manteniu un clon local del repositori Weblate Git. També obteniu un segon clon local nou del dipòsit Git amunt (és a dir, necessiteu dues còpies del dipòsit Git amunt: una còpia intacta i una còpia de treball):
# Add remote:
git remote add weblate /path/to/weblate/snapshot/
# Update Weblate remote:
git remote update weblate
# Merge Weblate changes:
git merge weblate/main
# Resolve conflicts in the PO files:
for PO in `find . -name '*.po'` ; do
msgcat --use-first /path/to/weblate/snapshot/$PO\
/path/to/upstream/snapshot/$PO -o $PO.merge
msgmerge --previous --lang=${PO%.po} $PO.merge domain.pot -o $PO
rm $PO.merge
git add $PO
done
git commit
# Push changes to the upstream repository, Weblate will fetch merge from there:
git push
Com tradueixo diverses branques alhora?¶
Weblate supports pushing translation changes within one Configuració del projecte. For every Configuració dels components which has it turned on (the default behavior), the change made is automatically propagated to others. This way translations are kept synchronized even if the branches themselves have already diverged quite a lot, and it is not possible to simply merge translation changes between them.
Un cop fusioneu els canvis de Weblate, potser haureu de combinar aquestes branques (segons el vostre flux de treball de desenvolupament) descartant les diferències:
git merge -s ours origin/maintenance
Com traduir projectes multiplataforma?¶
Weblate admet una àmplia gamma de formats de fitxer (vegeu Localization file formats) i l’enfocament més fàcil és utilitzar el format natiu per a cada plataforma.
Un cop hàgiu afegit tots els fitxers de traducció de la plataforma com a components en un projecte (vegeu Afegir projectes i components de traducció), podeu utilitzar la funció de propagació de traducció (activada per defecte i es pot desactivar al Configuració dels components) per traduir cadenes per a totes les plataformes alhora.
Com exportar el repositori Git que utilitza Weblate?¶
El repositori no té res especial, viu al directori DATA_DIR i s’anomena vcs/<project>/<component>/. Si teniu accés SSH a aquesta màquina, podeu utilitzar el repositori directament.
Per a l’accés anònim, potser voldreu executar un servidor Git i deixar-lo servir el repositori al món exterior.
Alternativament, podeu utilitzar Exportador de Git dins de Weblate per automatitzar-ho.
Quines són les opcions per tornar a impulsar els canvis aigües amunt?¶
Això depèn molt de la vostra configuració, Weblate és bastant flexible en aquesta àrea. Aquests són exemples d’alguns fluxos de treball utilitzats amb Weblate:
Weblate impulsa i fusiona automàticament els canvis (vegeu Com crear un flux de treball automatitzat?).
Digues manualment a Weblate que push (necessita accés push al repositori amunt).
Algú fusiona manualment els canvis del dipòsit Weblate git al dipòsit amunt.
Algú reescriu l’historial produït per Weblate (per exemple, eliminant les confirmacions de fusió), fusiona els canvis i li diu a Weblate que restableixi el contingut al repositori amunt.
Per descomptat, sou lliure de barrejar tots aquests com vulgueu.
Com puc limitar l’accés a Weblate només a traduccions, sense exposar-hi el codi font?¶
Podeu utilitzar git submodule per separar les traduccions del codi font mentre les teniu sota control de versions.
Creeu un repositori amb els vostres fitxers de traducció.
Afegiu això com a submòdul al vostre codi:
git submodule add git@example.com:project-translations.git path/to/translations
Enllaceu Weblate a aquest dipòsit, ja no necessita accedir al dipòsit que conté el vostre codi font.
Podeu actualitzar el repositori principal amb traduccions de Weblate mitjançant:
git submodule update --remote path/to/translations
Si us plau, consulteu la documentació del git submòdul per a més detalls.
Com puc comprovar si el meu Weblate està configurat correctament?¶
Weblate inclou un conjunt de comprovacions de configuració que podeu veure a la interfície d’administració, només cal que seguiu l’enllaç Informe de rendiment a la interfície d’administració o obriu l’URL /manage/performance/ directament.
Vegeu també
Per què Weblate <noreply@weblate.org> fa totes les confirmacions?¶
Weblate utilitza Weblate <noreply@weblate.org> com a committer predeterminat per a totes les confirmacions, que es configura mitjançant DEFAULT_COMMITER_EMAIL i DEFAULT_COMMITER_NAME. Aquest és un identificador tècnic que mostra que la confirmació s’ha processat mitjançant Weblate.
Tanmateix, l”autor de cada commit es registra correctament com l’usuari individual que va fer la traducció (quan s’utilitza Git). Això vol dir que podeu veure qui ha traduït realment cada cadena examinant el camp de l’autor de la confirmació. El mateix passa amb el Mercurial; només Subversion no té aquesta capacitat.
Nota
A Git, hi ha una distinció entre el committer (que va crear l’objecte commit) i l’autor (que va fer els canvis). Weblate actua com a committer alhora que preserva l’atribució individual del traductor com a autors.
Per a les confirmacions on no es pot determinar l’autoria (com ara canvis automatitzats de suggeriments anònims o resultats de traducció automàtica), l’autor s’estableix com a usuari anònim. Podeu configurar el nom i el correu electrònic de l’usuari anònim a ANONYMOUS_USER_NAME.
Vegeu també
Com moure fitxers al dipòsit sense perdre l’historial a Weblate?¶
Per mantenir l’historial, els comentaris o les captures de pantalla enllaçats a les cadenes després de canviar la ubicació dels fitxers, heu d’assegurar-vos que aquestes cadenes no s’eliminin mai a Weblate. Aquestes eliminacions es poden produir en cas que el dipòsit de Weblate s’actualitzi, però la configuració del component encara apunta als fitxers antics. Això fa que Weblate assumeixi que hauria d’eliminar totes les traduccions.
La solució a això és realitzar l’operació sincronitzada amb Weblate:
Lock the affected component in Weblate.
Commit any pending changes and merge them into the upstream repository.
Disable receiving webhooks the Configuració del projecte; this prevents Weblate from immediately seeing changes in the repository.
Feu els canvis necessaris al repositori (per exemple, utilitzant git mv), envia’ls al repositori amunt.
Canvieu el Configuració dels components perquè coincideixi amb la nova configuració; en canviar la configuració, Weblate recuperarà el repositori actualitzat i notarà les ubicacions canviades mentre manté les cadenes existents.
Unlock the component and re-enable hooks in the project configuration.
Suggeriment
Project level backups pot ser útil per realitzar-lo abans d’aquests canvis pertorbadors.
Usage¶
Com reviso les traduccions dels altres?¶
There are several review based workflows available in Weblate, see Fluxos de treball de traducció.
You can subscribe to any changes made in Notificacions and then check others contributions as they come in by e-mail.
Hi ha una eina de revisió disponible a la part inferior de la vista de traducció, on podeu optar per buscar les traduccions fetes per altres des d’una data determinada.
Vegeu també
Com puc proporcionar comentaris sobre una cadena d’origen?¶
A les pestanyes de context a sota de la traducció, podeu utilitzar la pestanya Comentaris per proporcionar comentaris sobre una cadena d’origen o discutir-ne amb altres traductors.
Vegeu també
Com puc utilitzar les traduccions existents mentre tradueixo?¶
All translations within Weblate can be used thanks to shared translation memory.
You can import existing translation memory files into Weblate.
Utilitzeu la funcionalitat d’importació per carregar el compendi com a traduccions, suggeriments o traduccions que necessiten revisió. Aquest és el millor enfocament per a una traducció única utilitzant un compendi o una base de dades de traducció similar.
Podeu configurar tmserver amb totes les bases de dades que tingueu i deixar que Weblate l’utilitzi. Això és bo quan el voleu utilitzar diverses vegades durant la traducció.
Una altra opció és traduir tots els projectes relacionats en una única instància de Weblate, la qual cosa farà que també reculli automàticament traduccions d’altres projectes.
Weblate actualitza els fitxers de traducció a més de les traduccions?¶
Weblate intenta limitar al mínim els canvis als fitxers de traducció. Per a alguns formats de fitxer, malauradament, pot portar a reformatejar el fitxer. Si voleu mantenir el format del fitxer a la vostra manera, utilitzeu un ganxo de precommit per a això.
Vegeu també
Com fusiono el fitxer POT actualitzat amb les traduccions de PO?¶
Vegeu Updating target-language files per obtenir informació sobre com actualitzar fitxers PO quan canvia la plantilla POT.
D’on provenen les definicions d’idiomes i com puc afegir les meves?¶
El conjunt bàsic de definicions d’idiomes s’inclou a Weblate i Translate-toolkit. Això cobreix més de 150 idiomes i inclou informació sobre les formes plurals o la direcció del text.
Podeu definir els vostres propis idiomes a la interfície administrativa, només cal que proporcioneu informació al respecte.
Vegeu també
Pot Weblate ressaltar els canvis en una cadena difusa?¶
Weblate admet això, però necessita les dades per mostrar la diferència.
Per als fitxers PO de Gettext, heu de passar el paràmetre --previous a msgmerge quan actualitzeu fitxers PO, per exemple:
msgmerge --previous -U po/cs.po po/phpmyadmin.pot
Per a traduccions monolingües, Weblate pot trobar la cadena anterior per ID, de manera que mostra les diferències automàticament.
Per què Weblate encara mostra cadenes de traducció antigues quan he actualitzat la plantilla?¶
Weblate no tracta de manipular els fitxers de traducció de cap altra manera que no sigui permetre que els traductors tradueixin. Per tant, tampoc no actualitza els fitxers traduïbles quan s’ha canviat la plantilla o el codi font. Només heu de fer-ho manualment i enviar els canvis al repositori, Weblate recollirà els canvis automàticament.
Nota
Normalment és una bona idea combinar els canvis fets a Weblate abans d’actualitzar els fitxers de traducció, ja que, en cas contrari, normalment acabaràs amb alguns conflictes per combinar.
How to handle renaming translation files?¶
Quan es canvia el nom dels fitxers al repositori, pot passar que Weblate ho vegi com l’eliminació i l’addició dels fitxers. Això pot provocar la pèrdua de l’historial de cadenes, comentaris i suggeriments.
Per evitar-ho, feu el canvi de nom seguint els passos següents:
Lock the translation component in Managing the local VCS repository.
Commit pending changes in Managing the local VCS repository.
Merge Weblate changes to the upstream repository.
Desactiveu la recepció d’actualitzacions mitjançant ganxos mitjançant Activa els punts d’inserció.
Perform the renaming of the files in the repository.
Update the component configuration to match new file names.
Enable update hooks and unlock the component.
Suggeriment
Project level backups pot ser útil per realitzar-lo abans d’aquests canvis pertorbadors.
Troubleshooting¶
De vegades, les sol·licituds fallen amb l’error «massa fitxers oberts».¶
Això passa de vegades quan el vostre dipòsit de Git creix massa i en teniu molts. Comprimir els dipòsits Git millorarà aquesta situació.
La manera més senzilla de fer-ho és executar:
# Go to DATA_DIR directory
cd data/vcs
# Compress all Git repositories
for d in */* ; do
pushd $d
git gc
popd
done
Vegeu també
En accedir al lloc em surt un error «Bad Request (400)».¶
És probable que això sigui causat per un ALLOWED_HOSTS mal configurat. Ha de contenir tots els noms d’amfitrió als quals voleu accedir al vostre lloc web. Per exemple:
ALLOWED_HOSTS = ["weblate.example.com", "weblate", "localhost"]
Vegeu també
Què vol dir «Hi ha més fitxers per a l’idioma únic (en)»?¶
Això sol passar quan teniu un fitxer de traducció per a l’idioma d’origen. Weblate fa un seguiment de les cadenes d’origen i reserva l’idioma font per a això. El fitxer addicional per al mateix idioma no es processa.
In case the translation to the source language is desired, please change the Llengua d’origen in the component settings. You might want to use English (Developer) as a source language, or utilize Passarel·la de qualitat per a les cadenes d’origen.
En cas que no sigui necessari el fitxer de traducció a la llengua d’origen, suprimiu-lo del dipòsit.
In case the translation file for the source language is needed, but should be ignored by Weblate, please adjust the Filtre de llengua to exclude it.
Suggeriment
També podeu rebre un missatge d’error similar per a altres idiomes. En aquest cas, el motiu més probable és que diversos fitxers s’assignen a un sol idioma a Weblate.
Això pot ser causat per l’ús de codis d’idioma obsolets juntament amb un de nou (ja i jp per al japonès) o per incloure codis específics de país i genèrics (fr i fr_FR). Vegeu Anàlisi de codis d’idioma per a més detalls.
Funcionalitats¶
Weblate admet altres VCS que no siguin Git i Mercurial?¶
Weblate currently does not have native support for anything other than Git (with extended support for GitHub pull requests, Gerrit review requests, and Subversion) and Mercurial, but it is possible to write backends for other VCSes.
Weblate també admet operacions sense VCS, vegeu Fitxers locals.
Nota
Per al suport natiu d’altres VCS, Weblate requereix utilitzar VCS distribuïts, i probablement es podria ajustar per treballar amb qualsevol altra cosa que no sigui Git i Mercurial, però algú ha d’implementar aquest suport.
Vegeu també
Com acrediten els traductors Weblate?¶
Tots els canvis fets a Weblate es comprometen a VCS sota el nom del traductor. D’aquesta manera, cada canvi té l’autoria adequada i podeu fer-ne un seguiment mitjançant les eines VCS estàndard que feu servir per al codi.
A més, quan el format del fitxer de traducció ho admet, les capçaleres del fitxer s’actualitzen per incloure el nom del traductor.
Vegeu també
Per què Weblate obliga a mostrar tots els fitxers PO en un sol arbre?¶
Weblate es va dissenyar de manera que cada fitxer PO es representi com un únic component. Això és beneficiós per als traductors, perquè sàpiguen què estan traduint realment.
Canviat a la versió 4.2: Translators can translate all the components of a project into a specific language as a whole.
Per què Weblate utilitza codis d’idioma com sr_Latn o zh_Hant?¶
Aquests són codis d’idioma definits per RFC 5646 per indicar millor que són idiomes realment diferents en comptes de modificadors anteriorment utilitzats incorrectament (per a les variants @latin) o codis de país (per al xinès).
Weblate encara entén els codis d’idioma heretats i els assignarà a l’actual; per exemple, sr@latin es tractarà com a sr_Latn o zh@CN com a zh_Hans.
Nota
Weblate defaults to POSIX style language codes with underscore, see Definicions del llenguatge for more details.