Preparing the page code to translation

Z thewoodcraft.org
Verze z 31. 7. 2024, 10:57, kterou vytvořil Keny (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Jiné jazyky:
Přehled nápovědy
Editace obsahu
Pro thewoodcraft.org
Knihy
Systém wiki
Zabezpečení stránek
Zásady

Each the MediaWiki instance has its own default language, but since version 1.24 (commit 50144c) can be changed language of the origin page by the content. This change is very important, because decides which language be accepted by the Translate extension as of the original source, which be translated into other languages​. This manual describe and demonstrate:

  1. How-to prepare page to translation
  2. How-to placed of the multilanguage content on the one page.

Don't mark a page to translate until it is at least partially finished. If work-in-progress pages, mark for translation only complete parts. The rest will be marked later.

A change in the content of an already translated paragraph can be a reason for the invalidation of the existing translation, and it is then up to the translator to check the translation and possibly correct it.

Marking translation units

Marking, is operation when the content of the original page is splited into blocks of text - translation units, by closing into the pair element <‌translate> … <‌/translate>. Ideally one TU contain one logical sentence. The block defined in this way then do a similary role as a template, when original string TU is replaced (if exists) by the content of the language code subpage TU from the namespace.

Every blocks of text (TU) has the individual number, which get during the marking page for translation, and separate language subpage is created for each lang in the namespace if translated. Only original language TU not subpage (in really subpage is redirected). The wikicode interpretation of the original page is identic as the translantioned subversion, only language is another.

During operation označení textu, is the content of individual blocks intended for translation gradually compared with the exists subpages, and if not change, such a block of text is displayed in light gray.

If any a change, it's highlighted TU and Translate administrator must decide whether the original translation remains valid or is obsolete - such text block is displayed on the page with a light red background.

It works the same when displaying a translation – the tagged strings are continualy replacing by the translations.

Correctly marked text, usually no need to re-translate if changed desing of page. Text of the finished and translated page need sometime correct only typos or blocks of code that was excluded from translation by the <‌‌‌tvar name="XXX"> … <‌‌‌/‌‌tvar> pair mark.

Header of the translatable page

Each wiki page should be categorized to make it easier to find. The categorization of translated pages is written in more detail on page Kategorie - překlad názvů a obsahu. In general, it can be said that

  • If the link to the category is part of a TU (preferably the first one), each translation subpage is categorized into a separate category.
  • If the category reference is part of a header that is not translated and is not treated with a condition in the code, all translations will be assigned to the same category.
  • There are two ways to prevent this.
a, Treated the reference to the category by the condition,
b, or use after the name of the category the {{translation}} template, which adds a slash to the code of the translated subpage after the name, followed by the code of the appropriate language.
c However, there is also a third option, use a name of category, which is translated in the same way as system messages.
PoznámkaIs very important where is and how the category link inserted into the translatable page code. Therefore, we have a parameterized substitution template {{CAT}} here to make it easier to categorize translated pages. This template inserts the entire header, including the first translated text message, with the category link commented out and pre-populated. The translator can uncomment it during translation and write the correct category instead of the TRANSLANG string.

The header of the translated page should not be missing the <‌languages /> tag, which generates a panel with links to other existing translations of the page. Switching the language version of the page is very important for those who want to read the content of the translated page in a different language than the one currently set.

All pages, not just the ones being translated, have headers delimited by <‌noinclude> … <‌/noinclude> tags so that its content (including categories) is not placed where we don't want it.

This is the header code of this page:

<include>
[[Kategorie:Nápověda{{translation}}]]
[[Kategorie:{{int:language-hell}}]]
<languages />{{Nápověda}}
</noinclude><translate> 

Text unit - TU

When marking the content to be translated, the text unit is delimited by the numbered tag <‌!--T:XXX-->, followed by a space, and only after that comes the block of text to be translated. It is terminated with either a new line or a <‌/translate> tag. Numbering is not done manually. Text units are automatically numbered by the Translate extension only when the page is marked for translation.

If prepared to marking a new text, is only <‌translate>…<‌/translate> tags used.

  • Formatting marks (apostrophes) used to emphasize text are usually part of the translation.
  • The chars =, used to form section headings, is part of the TU too. It's help for translators to easy navigate between messages, but sometime it complicate the situation when there is a change in section immersion.[1]
  • Tags that are placed at the beginning of the line is better separate from the translatable TU. It's better because then you don't have to update the translations when you decide to rearrange the original text.
  • If possible, create TU only from the logical sentences not all the paragraph. A text divided into smaller logical units is easier for the translator to understand. Only longer sentences that cannot be easily divided into logical units should be left as they are within one TU.

  1. If the formatting marks are part of the translated message, after the change, all TU translations that are affected by the change must be updated, even though the content of the translated text will not change, otherwise format subpage of language will not be correspond to the original language version translatable page.

The code prepared to mark:

<translate>
== Title ==
</translate>
<translate>The first sentence of '''paragraph'''.</translate> 
<translate>The next sentence, which still belongs to the first paragraph, is already placed in a new text unit, on a new line.</translate>
<translate>The wiki system interprets a new line as a regular space.</translate>
* <translate>Indentation bullet</translate> <translate>May be followed by additional text.</translate>
: <translate>And the same goes for indented text.</translate> <translate>But if such a text continues with another sentence, the following TU must immediately follow.</translate>
# <translate>The same applies to numbered items as long as the numbering is not to be interrupted.</translate>

{{note|1=<translate>And it also applies to the sentences of translated templates, which the <‌‌tvar name="sablona">{{Template|note}}<‌‌/tvar> template inserting into page.</translate> <translate>If another TU does not immediately follow, processing the template may cause the line break to be interpreted as the next paragraph.</translate>
}}


And the marked code (every TU has a number):

<translate>
== Title == <!--T:1-->
</translate>
<translate><!--T:2--> The first sentence of '''paragraph'''.</translate> 
<translate><!--T:3--> The next sentence, which still belongs to the first paragraph, is already placed in a new text unit, on a new line.</translate>
<translate><!--T:4--> The wiki system interprets a new line as a regular space.</translate>
* <translate><!--T:5--> Indentation bullet</translate> <translate><!--T:6--> May be followed by additional text.</translate>
: <translate><!--T:7--> And the same goes for indented text.</translate> <translate><!--T:8--> But if such a text continues with another sentence, the following TU must immediately follow.</translate>
# <translate><!--T:9--> The same applies to numbered items as long as the numbering is not to be interrupted.</translate>

{{note|1=<translate><!--T:10--> And it also applies to the sentences of translated templates, which the <‌‌tvar name="sablona">{{Template|note}}<‌‌/tvar> template inserting into page.</translate> <translate><!--T:11--> If another TU does not immediately follow, processing the template may cause the line break to be interpreted as the next paragraph.</translate>
}}

Neřešte číslování TU!

Rozšíření Translate je kontinuálně očísluje jen při prvním označení k překladu. Pokud doplníte do existujícího textu novou větu, dostane automaticky nové číslo. A pokud nějakou TU zrušíte, rozšíření Translate časem původní TU odstraní.

Titles

MediaWiki syntaxe používá pro sekce párové uzavření mezi znaky =. Počet těchto znaků, určuje hloubku zanoření sekce. Je otázkou, jestli tyhle znaky mají být součástí překladu nebo ne. Následující příklady ukazují rozdíly v označkování.

Pokud bude wikisyntaxe součástí překládané zprávy, bude následovat označení TU až za rovnítky.

<translate>
== Title == <!--T:1-->
</translate>
Výhoda
Překladatel vidí v překladatelském rozhraní kde začíná a končí sekce. Překlad obvykle začíná tím, že se přeloží názvy sekcí a následně se doplňuje to co chybí.
Nevýhoda
Změní-li se úroveň nadpisu, musí překladatelé aktualizovat všechny překlady.

Pokud není wikisyntaxe součástí překládané zprávy, je překládán pouze textový řetězec.

== <translate><!--T:1--> Title</translate> ==
Výhoda
Při změně úrovně nadpisu, nebo přeskupení obsahu stránky není nutné aktualizovat překlady u kterých se obsah nemění.
Nevýhoda
Překladatelé nevidí, kterou zprávou začíná další sekce, takže se u rozsáhlejších textů hůře orientují.

Dokumentace TU

Každá překládaná textová jednotka (TU) má také svou vlastní podstránku pro dokumentaci. Ta se však samostatně nepřekládá, proto je nutné využít systémových zpráv, k dokumentaci TU v rámci téhle wiki vytvořených:

Řetězec Zobrazovaná zpráva
{{int:TU-nostrict}} The text of the translated message does not have to be strictly adhered to.
{{int:TU-duplicity}} Obsah textové jednotky (TU) se bude na stránce opakovat, proto se ujistěte, že stejný text má vždy stejný překlad.
To, v jakém jazyce vidíte texty odpovídající těmto systémovým zprávám, záleží na tom, jaký máte aktuálně nastaven jazyk rozhraní této wiki.

Vyjmutí kódu z TU

V ukázce kódu připraveného k označkování jste si mohli povšimnout u šablony značky <‌tvar name="sablona"> kterou uzavírá značka<‌/tvar>. Tato značka se používá pro označení kódu, kterého si rozšíření XXX nemá všímat a který má v překladu použít tak jak je.

Překladatel vidí v okně překladatelského editoru místo vyjmutého kódu pouze značku $sablona. Díky tomu nehrozí, že by díky chybě v překladu došlo k porušení kódu stránky, jako se to může stát, pokud se překládají názvy sekcí (nadpisy) a překladatel zapomene do překladu přidat právný počet rovnítek.

Podobně se zachází i s odkazy, které se vkládají do textu přes lokalizovanou šablonu {{ll}}. Tahle šablona totiž automaticky použije přeložený název cílové stránky, pokud existuje.

Příklad
<translate><span lang="cs" dir="ltr" class="mw-content-ltr">Věta která obsahuje odkaz na stránku</span> <tvar name="1">{{ll|Systémové zprávy}}</tvar></translate>

Hodnota atributu name

Všimněte si, že tentokrát bylo místo textového řetězce použito číslo. Číslování bloků vyjmutého kódu v rámci jedné TU je obvykle přehlednější z hlediska překladatele. Nepletou se názvy proměnných, pokud jde o ukázkový překlad nějakého programovacího kódu. A pokud se jich v rámci jedné TU objeví víc než deset, jde o signál, že je potřeba originální TU napsat jinak.

Minimálně 2 bloky musíme vyjmout, je-li cílem překládaná stránka, u které se název nepřekládá, nebo chceme použít přes atribut alt= v překladu jiný text.

Příklad
<translate><span lang="cs" dir="ltr" class="mw-content-ltr">Věta která obsahuje odkaz na <tvar name="1">{{ll|Systémové zprávy|alt=<‌‌/tvar>stránku po použití systémových zpráv</span><tvar name="2">}}</tvar></translate>

Původní syntaxe

Původní verze rozšíření Translate používala pro vyjmutí kódu z překladu jinou syntaxi, kterou sice ta stávající stále akceptuje, nicméně je doporučeno ji postupně opravit. Vypadala takto (srovnej s předchozím ukázkovým kódem):‌

<translate><span lang="cs" dir="ltr" class="mw-content-ltr">Věta která obsahuje odkaz na <‌‌tvar|1>{{ll|Systémové zprávy|alt=<‌‌/>stránku po použití systémových zpráv</span><‌‌tvar|2>}}<‌‌/></translate>

Značkování textu který se v obsahu stránky nepřekládá

Pokud je na stránce citován text v jazyce jiném, ponechává se originál vždy mimo text označený k překladu. Pokud chce tvůrce stránky mít k dispozici také jeho překlad, pro čtenáře co nejsou dostatečně jazykově vybavení, měl by překládaný text přidat do poznámky pod čarou. Více o tom v manuálu Jak psát poznámky pod čarou.

V označkovaném textu to pak vypadá podobně jako v následujícím ukázkovém příkladu. Za originálem textu následuje odkaz na poznámku pod čarou, umístěnou v samostatném bloku, jehož text je součástí překladu stránky. Originál, včetně odkazu na poznámku, je z překladu vyjmutý.

<translate><span lang="cs" dir="ltr" class="mw-content-ltr">Text v původním jazyce, odlišený kurzívou:</span> <tvar|1>''Original text in english''<ref name="subnote" /></></translate>

<ref name="subnote"><translate>''<span lang="cs" dir="ltr" class="mw-content-ltr">Originální text v angličtině</span>''</translate></ref>

Překlad stránek, které obsahují odstavce v různých jazycích

Pokud je obsah stránky pouze v jednom výchozím jazyce, není nutné řešit nic extra. Ovšem, je-li těch jazyků na stránce více a chceme aby se i jejich obsah překládal, musíme si vypomoci podstránkami, do kterých tyto texty přesuneme a pak u nich změníme výchozí jazyk stránky. Podle toho, v jakém jazyce ten obsah je.

Upozornění Mějte prosím na paměti, že přesun stránek, včetně podstránek nemusí být vždy bezproblémový. Obzvláště, pokud se tyto podstránky překládají.

Toto je příklad obsahu, kdy se jedné výchozí stránce je text anglický, polský, český, a německý:

Toto je odstavec v jazyce českém

Przykładowy akapit w języku polskim.

Sample paragraph in English.

Beispielabsatz in deutscher Sprache.

Protože každá stránka má svůj výchozí jazyk, musíme odstavce textu, které jsou v jiných jazycích, přesunout na samostatné podstránky. Tyto podstránky se pak budou překládat samostatně a ke vložení přeloženého obsahu se využije speciální šablona {{li}}. Více viz následující ukázkový příklad, u kterého byly pro názornost kromě pořadového čísla v názvu podstránek použity i kódy jazyků, ve kterých je výchozí překládaný obsah:

{{li|{{PAGENAME}}|p1cs}}
Toto je odstavec v jazyce českém

{{li|{{PAGENAME}}|p2pl}}
Przykładowy akapit w języku polskim.

{{li|{{PAGENAME}}|p3en}}
Sample paragraph in English.

{{li|{{PAGENAME}}|p4de}}
Beispielabsatz in deutscher Sprache.

Při prvním náhledu takto upravené stránky, šablona {{li}} vygeneruje červené odkazy na zatím neexistující podstránky. Postupně tyto stránky založíme a do každé z nich přesuneme obsah, který se má překládat. U každé pak změníme výchozí jazyk, podle toho v jakém jazyce mají svůj obsah.

Každou pak připravíme na překlad tím, že její obsah uzavřeme do následujícího kódu:

<noinclude><language /></noinclude><translate></translate>

Na původní stránce pak zůstane v kódu pouze toto:

{{li|{{PAGENAME}}|p1cs}}

{{li|{{PAGENAME}}|p2pl}}

{{li|{{PAGENAME}}|p3en}}

{{li|{{PAGENAME}}|p4de}}
PoznámkaDokud tyto stránky nebudou označeny k překladu, a nebude existovat překlad jejich obsahu, bude obsah zobrazený na stránce vypadat takto:
<translate>Toto je odstavec v jazyce českém</translate>

<translate>Przykładowy akapit w języku polskim.</translate>

<translate>Sample paragraph in English.</translate>

<translate>Beispielabsatz in deutscher Sprache.</translate>
Označení stránky k překladu může provést ale pouze uživatel, který je zároveň ve skupině translator.

Pokud v této skupině nejste, musíte požádat někoho z této skupiny, aby vám připravené stránky označil k překladu. Jeho úkolem je zkontrolovat, zda-li je vše v pořádku a nebylo něco opomenuto. Na vložené stránky se lze dostat přes editační stránku, na které se odkazy, co vedou na vložené stránky, generují dole mezi šablonami. S překladem každého z odstavců lze začít až po jeho označkování.

Tagy <‌translate> … <‌/translate> se přestanou zobrazovat, až bude existovat překlad. Zde můžete vidět výsledek složený z překládaných stránek Příprava stránky k překladu/en, Příprava stránky k překladu/en, Příprava stránky k překladu/en a Příprava stránky k překladu/en :

Příklad

Toto je odstavec v jazyce českém

Ukázkový odstavec v polském jazyce.

Ukázkový odstavec v angličtině.

Příklad odstavce v německém jazyce.

Upozornění Protože šablona {{li}} vkládá do stránky překlady na základě jazykového kódu aktuálně zvoleného jazyka, který vrací systémová zpráva {{int:languagecode}}, zobrazí se značky <‌translate> … <‌/translate>, včetně textu v původním jazyce vždy, bude-li mít uživatel wiki přepnutou do jazyka, pro který nebyl obsah jednotlivých odstavců dosud přeložen.

Jak odhalit chybu při značkování kódu

U stránek jako je tato, se může velice snadno stát, že zapomeneme uzavřít některý z tagů Velice těžko se pak hledá kde nastala chyba, proto je doporučeno průběžně dělat náhled stránky, na kterém je vidět důsledek provedených změn a změny neukládat najednou, ale průběžně jako minor editaci.

Ale když už se stane, že se přeci jenom taková chyba objeví a začne se v náhledu zobrazovat element <translate>, zachovejte chladnou hlavu a nechte si zobrazit změny.

Podívejte se, jestli máte-li řádně ukončeny všechny elementy a správně napsané atributy. The error is usually caused by a forgotten slash, quotation mark, or equal sign.41880