Překládání
Můžete přispět k překladu tohoto pluginu. Překlady jsou zpracovávány pomocí softwaru Weblate s použitím Framasoft Weblate instance.
Nikdy neupravujte přímo soubory ve složce languages
, mohlo by to vést ke
konfliktům.
Jak na to
- Vytvořte si účet: https://weblate.framasoft.org/accounts/register/
- Ověřte svůj e-mail a postupujte podle zaslaného odkazu
- Vytvořte si heslo a nastavte svůj účet
- Přejděte na stránku projektu zásuvného modulu: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/
- Vyberte jazyk, do kterého chcete překládat
- Stačí přeložit chybějící věty nebo opravit ty, které se vám zdají nesprávné.
Mohou tam být nějaké “velmi technické” řetězce. Pokud si nejste stoprocentně jisti jejich významem nebo překladem, raději je nepřekládejte, aby se zobrazily v angličtině.
Překlady ConverseJS
Tento zásuvný modul se spoléhá na ConverseJS pro front-end chatu. ConverseJS má vlastní překlady na vlastní instanci weblate. Překládat můžete také přímo v úložišti kódu. Další informace naleznete v dokumentaci ConverseJS translations.
Přidání nového jazyka
Pokud si myslíte, že chybí nějaký jazyk, zkontrolujte prosím nejprve, zda je v Peertube zpracován. Pokud ano, můžete otevřít problém a požádat o něj.
Přidání nových řetězců / použití překladů v kódu
Pokud pracujete na nových funkcích a potřebujete nové řetězce, můžete je vytvořit přímo ve Weblate. Anglická verze je povinná. Začněte s ní.
Každý řetězec je spojen s klíčem (například use_chat
). Zvolte explicitní
klíč v angličtině, malá písmena.
Pokud potřebujete otestovat nové řetězce, aniž byste čekali na sloučení
Weblate, můžete upravit soubory languages/*.yml
, ale tyto změny
neodevzdávejte (abyste minimalizovali riziko konfliktu).
Použití překladů ve front-end kódu
Před použitím řetězce ve front-endu je třeba deklarovat novou konstantu v
client/@types/global.d.ts
. Název konstanty musí:
- začít předponou “LOC_”
- použít řetězcový klíč, psaný velkými písmeny
- stačí deklarovat jeho typ, nikoliv hodnotu
Chcete-li například použít příkaz “use_chat”, musíte deklarovat:
declare const LOC_USE_CHAT: string
Skript build-client.js
přečte soubor client/@types/global.d.ts
, vyhledá
takové konstanty a načte jejich hodnoty ze souborů jazyků.
Nyní můžete ve svém kódu jednoduše zavolat
peertubeHelpers.translate(LOC_USE_CHAT)
.
Použití překladů v kódu back-endu
Teoreticky jediné části backendového kódu, kde je potřeba lokalizace, jsou deklarace nastavení a standardizovaná data (ActivityPub, RSS, …). Zde potřebujeme získat anglické řetězce z překladového klíče.
Poznámka: Nikdy byste neměli potřebovat další jazykový překlad z backendového kódu. Lokalizace musí být provedena na front-endu.
Existuje modul lib/loc.ts
, který poskytuje funkci loc()
. Stačí jí
předat klíč, abyste získali český řetězec: loc('diagnostic')
'.
Překlad dokumentace
Překlad dokumentace se provádí pomocí příslušné komponenty Weblate.
K zobrazení aplikačního řetězce můžete použít specifické “zkratky Hugo”. Řekněme, že chcete zobrazit název tlačítka “open_chat_new_window”, můžete jej použít v dokumentačním souboru markdown:
{{% livechat_label open_chat_new_window %}}
Můžete také zabránit překladu celé stránky přidáním livechatnotranslation: true
do sekce Yaml Font Matter:
---
title: "Third party"
description: "Displaying the livechat with 3rd party software."
weight: 20
chapter: false
livechatnotranslation: true
---
Nikdy nepřekládejte řetězec v souboru livechat.en.pot
, byl by ignorován.
Místo toho upravujte přímo soubory markdown.
Pokud řetězec obsahuje odkaz, můžete jej změnit na správný odkaz v přeloženém jazyce. Například pro odkaz na tuto dokumentaci můžete do url přidat kód jazyka.
Některé řetězce jsou bloky kódu. Nepřekládejte kód. Můžete však přeložit komentáře nebo parametry, pokud je to relevantní.
Pokud si nejste jisti, nepřekládejte a zeptejte se, co máte dělat.
Nástroj, který používám ke zpracování překladů dokumentace, se může chovat podivně. Když přidám věty, které vypadají jako jiné existující věty, někdy zkopíruje existující překlady. Takže když máte překlady označené jako “ke kontrole”, ujistěte se prosím, že před validací nezkopíruje řetězec, který nemá s tím anglickým nic společného.
Pokud jste si nyní jisti kontextem řetězce, můžete zkontrolovat umístění
řetězce v pravém podokně weblate a otevřít příslušnou stránku dokumentace.
Například pro řetězec umístěný v souboru
support/documentation/content/en/documentation/user/streamers.md
je
odpovídající url adresa
https://livingston.frama.io/peertube-plugin-livechat/documentation/user/streamers/
.
Obecná doporučení
Prosím, buďte ve svých formulacích vstřícní a respektujte kodex chování.