Traduir

Podeu contribuir a la traducció d’aquest connector de Peertube. Les traduccions les gestiona el programari Weblate, mitjançant la instància de Framasoft Weblate.

Warning

No modifiqueu mai directament els fitxers de la carpeta languages del connector, correu el risc de crear conflictes.

Com fer

Warning

Pot haver-hi cadenes «bastant tècniques». Si no teniu certesa del significat, o de la traducció, és millor no traduir-lo; de manera que es mostrarà la versió en anglès.

Traduccions de ConverseJS

Aquest connector es basa en ConverseJS per a la visualització del xat. ConverseJS té les seves traduccions a la pròpia instància de Weblate. També podeu traduir directament al repositori de codi. Per obtenir més informació, consulteu la documentació de traducció de ConverseJS.

Afegir un idioma nou

Si l’idioma que us interessa no és present, primer assegureu-vos que sigui compatible amb PeerTube. Si és així, podeu obrir un tiquet per sol·licitar que s’afegeixi.

Afegir noves cadenes / utilitzar traduccions al codi

Si esteu treballant en una funció nova i necessiteu noves cadenes, creeu-los directament a Weblate. La versió en anglès és obligatòria, comenceu per aquesta.

Cada cadena està enllaçada a una clau (p. ex., use_chat). Trieu una clau en anglès, prou explícita i en minúscula.

Si necessiteu provar les vostres localitzacions sense esperar la fusió de Weblate, podeu modificar els fitxers languages/*.yml, però eviteu fer-ne «commit» (per minimitzar el risc de conflictes).

Utilitzar traduccions al codi del «front-end»

Abans d’utilitzar una cadena al «front-end» heu de declarar una constant nova a client/@types/global.d.ts. La constant ha de:

  • començar amb el prefix «LOC_»
  • utilitzar la clau de la cadena, en majúscules
  • només heu de declarar-ne el tipus, no el valor

Per exemple, per utilitzar «use_chat», heu de declarar:

declare const LOC_USE_CHAT: string

L’script build-client.js llegirà el fitxer client/@types/global.d.ts, cercarà aquestes constants i carregarà els seus valors des del fitxer d’idioma.

Ara podeu utilitzar peertubeHelpers.translate(LOC_USE_CHAT) al vostre codi.

Utilitzar traduccions al «back-end»

En teoria les úniques parts del codi que necessiten traduccions són les declaracions de paràmetres i la generació de dades estandarditzades (ActivityPub, RSS, …). Aquí hem de recuperar les cadenes en anglès de les claus de traducció.

Nota: mai no hauríeu de necessitar idiomes diferents de l’anglès per al codi del «back-end». Les traduccions s’han de fer a la part del «front-end».

Hi ha un mòdul lib/loc.ts que proporciona una funció loc(). Només cal passar la clau per recuperar la cadena en anglès: loc('diagnostic').

Traducció de documentació

La traducció de la documentació es fa mitjançant el component Weblate corresponent.

Hi ha un «codi curt Hugo» específic que us permet mostrar una cadena de l’aplicació. Per exemple, si voleu mostrar l’etiqueta del botó «open_chat_new_window» podeu utilitzar el codi següent al fitxer de documentació:

{{% livechat_label open_chat_new_window %}}

També podeu evitar que es tradueixi una pàgina sencera afegint livechatnotranslation:true a la secció Yaml Font Matter del fitxer:

  ---
  title: "Third party"
  description: "Displaying the livechat with 3rd party software."
  weight: 20
  chapter: false
  livechatnotranslation: true
  ---

No traduïu mai una cadena al fitxer livechat.en.pot, això s’ignorarà. En lloc d’això editeu el fitxer «markdown» directament.

Si una cadena conté un enllaç podeu canviar-lo a l’enllaç correcte en l’idioma de destinació. Per exemple, si és un enllaç a la documentació podeu afegir el codi d’idioma a l’URL.

Algunes cadenes són blocs de codi. No els traduïu. Tanmateix, podeu traduir els comentaris, o els paràmetres si és rellevant.

En cas de dubte no traduïu i pregunteu què fer.

Les eines utilitzades per gestionar les traduccions de documentació poden tenir un comportament estrany. Quan s’afegeix una frase semblant una altra existent, de vegades copiarà les traduccions. Per tant, quan tingueu traduccions marcades com a «per comprovar», si us plau assegureu-vos que no hagi copiat cap traducció que no tingui res a veure amb la versió en anglès abans de validar.

Si no esteu segurs del context d’una cadena de text podeu comprovar la ubicació de la cadena d’origen al tauler dret de Weblate i obrir la pàgina de documentació corresponent. Per exemple, per a un canal situat al fitxer support/documentation/content/en/documentation/user/streamers.md, l’URL corresponent és https://livingston.frama.io/peertube-plugin-livechat/documentation/user/streamers/.

Recomanacions genèriques

Si us plau sigueu inclusius/ves en les vostres paraules i respecteu el codi de conducta.