Help:Extension:Translate/Page translation administration/sv

Vad. Sidoversättningsfunktionen tillåter kontrollerad översättning av wikisidor till andra språk. Det betyder att innehållet i varje översättning normalt sett är lika med källsidan. Detta står i motsats till till exempel den olika språkversionen av artiklar i olika Wikipedia-upplagor, som är helt oberoende av varandra. Det antas att sidor översätts från ett primärt språk till andra språk, men översättare kan även utnyttja översättningar på andra språk om de finns.

Varför. Utan hjälp blir översättningen av mer än ett par sidor till andra språk i bästa fall ett slöseri med tid, i värsta fall en ohållbar oreda. Med sidoversättningsfunktionen kan du undvika oreda och få struktur till översättningsförfarandet. Kärnidén är att källtexten är segmenterad i mindre enheter, vilka var och en kommer att översättas individuellt. När källtexten segmenteras i enheter kan alla ändringar isoleras och översättare behöver bara uppdatera översättningarna av enheter som har ändringar i källtexten. Detta gör det också möjligt för översättare att arbeta på enheter av hanterbar storlek och dela arbetet mellan flera översättare eller fortsätta översättningen i senare sessioner, eftersom de inte behöver göra allt på en gång.

Vem. Den här sidan utarbetas på sidvisningsövning genom att ge djupare insikt om hur systemet fungerar och föreslår bästa praxis för en mängd olika fall. Den här sidan är avsedd för sidöversättningsadministratörer och i allmänhet för alla som redigerar källtexten på översättbara sidor, även om de inte har tillgång till administrativa funktioner för godkännande av ändringar för översättning.

To apply for extended rights as a translation administrator, go to Project:Requests.

En översättbar sidas levnad
Roller. Flera personer är involverade i att skriva och översätta en wikisida: den ursprungliga författaren skapar en sida, någon rättar stavfel, en sidoversättningsadministratör markerar sidan för översättning, översättare översätter, någon gör ändringar till sidan, en sidöversättningsadministratör markerar dessa ändringar för översättningar och översättare uppdaterar översättningar. Dessa roller kan överlappa mer eller mindre, men det yttersta ansvaret för en problemfri översättning lämnas till sidöversättningsadministratören. Administratören bestämmer när sidan först är klar för översättning, säkerställer att segmenteringen tjänar ett syfte och godkänner (eller korrigerar) ändringar.

Förberedelse. För att ha något översatt måste du först skriva det. Om du redan har gjort översättning utan översättningstillägget, se nedan avsnitt om migrering av översättningar. Om du vill ha många översättningar snabbt, är det avgörande att källtexten är i god form. Innan du markerar en sida för översättning, be någon att korrekturläsa och om möjligt fråga en språkspecialist för att göra texten tydligare och mer koncis. Besvärlig vokabulär och svårförståeliga meningar är en showstoppare för många frivilliga översättningar. Markup kan också orsaka problem för översättare, men som översättningsadministratör kan du undvika dessa problem, se avsnittet avsnitt om hanteringsmarkering nedan. Naturligtvis kräver ändringar du gör i källtexten uppdateringar av alla befintliga översättningar, så det är bättre att vänta tills innehållet på sidan har stabiliserats. Å andra sidan sker förändringar, och systemet hanterar sådana bra, så kolla in avsnittet om ändringshantering nedan.

Taggning. När texten är redo för översättning kan någon markera de översättbara delarna genom att bifoga dem i -taggar och lägga till -fältet på sidan. Den senare lägger till en lista över alla översättningar av sidan, med deras slutförda och aktuella procentandelar. Det finns ingen annan indikation på att översättningar finns. Se nedan hur man taggar. Systemet kommer att upptäcka när taggarna placeras på den översättbara sidan, och sidan kommer att ha en länk för att markera den för översättning. Den kommer också att klaga och förhindra att du sparar om du till exempel glömde att lägga till en stängningstagg. Den översättbara sidan kommer också att anges på Special:PageTranslation som "klar för markering".

Markering. Efter taggningen markerar en översättningsadministratör sidan för översättning. Gränssnittet förklaras i sidöversättningsexempel. Översättningsadministratörens ansvar är att se till att segmenteringen är vettig och att märkningen är korrekt. Sidan kan markeras igen om den har ändrats under tiden. Se nedan hur man gör ändringar med minimal störning. Markeringen av sidan startar en bakgrundsprocess som använder MediaWikis jobbkö. Denna process går över varje översättningssida och regenererar den: ändringar i översättningssidans mall kommer att återspeglas och föråldrade översättningar kommer att ersättas tillfälligt med den ursprungliga källtexten. Däremot uppdateras översättningsgränssnittet omedelbart.

Ändringar. Användare kan fortsätta göra ändringar i den översättbara sidkällan. Ändringarna kommer att vara synliga för användare som tittar på sidan i källspråket, men översättningar görs mot översättningsenheterna som extraheras från den senaste versionen av den översättbara sidan som har markerats för översättning: översättningssidorna rapporteras vara 100% upp till datum om alla översättningsenheter har översatts, även om källsidan har nya ändringar. Du kan enkelt se om det finns omarkerade ändringar när du tittar på den översättningsbara sidan i källspråk: det finns ett meddelande i toppen som säger att du kan översätta den här sidan och även länkar till ändringar om det finns några.

Återställning. Om ändringar görs på den översättbara sidkällan får översättningsadministratören möjligheten "Återställ ej översättningar" för varje avsnitt. Om ett avsnitt är återställt, kommer de översatta språken att få en rosa bakgrundsfärg för de här sektionerna, och en klockikon kommer att visas för översättare i översättningsgränssnittet. Om en sektion inte återställs kommer inga ändringar vara synliga för läsare av de översatta sidorna, och översättare måste granska sektionen i översättningsgränssnittet för att se ändringarna.

Källspråk. Det finns också en översättningssida med språkkoden för källspråket: den innehåller inte extra taggar och annan markering relaterad till sidöversättning som används i den översättbara sidkällan. Den här sidan är inte länkad från gränssnittet, men den är användbar exempelvis när du vill inkludera sidan (vanligtvis för översättbara mallar) eller exportera den. Till exempel är denna sida tillgänglig på Help:Extension:Translate/Page translation administration/en.

Ändra källspråk. Tillgget förutsätter normalt att den översättbara källsidan finns på wikins standardspråk. Administratörer kan ändra språkinställningen för en viss sida med hjälp av sidan Special:PageLanguage, så att den kan användas som en källsida för översättning. Se sidinnehållsspråk för detaljer.

Avslutade översättningsförfrågningar. Vissa översättbara sidor har ett innehåll som bara är intressant under en viss tid. Till exempel meddelanden och regelbundna statusuppdateringar, som Wikimedia månadshöjdpunkter. Du kan hålla sidorna med översättningar, men gömma dem från översättningsgränssnittet. Detta förhindrar inte ytterligare översättningar till sidorna, men det minskar risken för att en användare av misstag börjar översätta sidan. Avskräckande och dess omvändning görs från Special:PageTranslation.

Prioritering av språk. Du kan också definiera en lista över språk som du specifikt vill ha översättningar till; lämnas språklistan tom tolkas det som att alla språk är tillåtna. Sidan kommer att fungera som en avskräckaned sida (se föregående stycke) för de språk som inte finns i prioritetslistan och översättare får ett meddelande när de översätts till dem. Du kan också förhindra översättningen på andra språk, till exempel om översättningar faktiskt används någon annanstans och du inte kommer att kunna använda dem förutom på vissa språk.

Gruppering. Det är möjligt att gruppera relaterade sidor tillsammans. Dessa grupper fungerar som alla andra meddelandegrupper. De har sin egen statistik och innehåller alla meddelanden i undergrupperna: i detta fall översättbara sidor. Denna funktionalitet finns för närvarande i Special:AggregateGroups. Aggregerade meddelandegrupper döljs som standard i Special:LanguageStats i Special:Translates gruppväljare.

Flytta. Du kan flytta översättbara sidor på samma sätt som andra sidor. När du flyttar kan du välja om du vill flytta alla sidor som inte ingår i översättningen. Flytten använder ett jobb i bakgrunden för att flytta alla de relaterade sidorna. Medan flytten pågår är det inte möjligt att översätta sidan. Slutförandet noteras i sidans översättningslogg.

Radering. Liksom flytt nås radering från det normala stället. Du kan radera antingen hela översättningsbara sidan, eller bara en översättningssida, via raderings-knappen på den. Radering raderar också alla sidor med relaterade översättningsenheter. Som i flyttning kommer en bakgrundsprocess att radera sidorna över tiden och slutförandet noteras i sidans översättningslogg. Radering kräver tillåtelse för "radering" och "sidöversättning", men enskilda översättningsenhetssidor kan alltid raderas med standard "delete".

Gör ogjord. På samma sätt fungerar återställning av felaktiga redigeringar som vanligt (inklusive tillbakarullningsknappen): du behöver bara redigera den berörda översättningsenheten och översättningssidan uppdateras också. För att hitta redigeringen till översättningsenheten från redigeringen till översättningssidan, klicka bara på länken "" för redigeraren och leta efter en ändring vid en liknande tidpunkt.

Skydda. Det är möjligt att skydda den översättbara sidan. Översättningssidor kan inte skyddas, och skyddet för den översättbara sidan omfattar inte heller dem. För att förhindra ytterligare ändringar i översättningar, bör du lägga till källspråk som enda prioriterat språk och inaktivera översättningar till andra språk, se prioritering av språk ovan. Tillsammans förhindrar dessa två åtgärder effektivt ändringar på både källsidan och översättningssidorna med dess översättningsenhetssidor. Det är möjligt att skydda enskilda översättningsenhetssidor, men det är inte tillrådligt.

Borttagning från översättning. Det är också möjligt att avmarkera en sida för översättning. Först måste du ta bort alla $translate-taggar från sidan. Då kan du använda Special:PageTranslation eller följa länken längst upp på översättningsbar sida för att ta bort den från översättning. Det här tar bort alla strukturer som är relaterade till sidöversättning, men lämnar alla befintliga sidor på plats, fritt redigerbara. Denna åtgärd rekommenderas inte.

Uppbyggnad av en översättningsbar sida
Översättningen av en översättningsbar sida kommer att producera många sidor, som alla är komponenter av den översättbara sidan i vidaste bemärkelse: deras titel bestäms av titeln på den översättbara :


 * (källsidan)
 * (översättningssidorna, plus en kopia av källsidan utan markup)
 * (alla översättningsenhetssidor)

Utöver detta finns översättningssidans mall och källorna till översättningsenheter, extraherade från källsidan och lagrade i databasen. Systemet håller reda på vilka versioner av källsidan som innehåller översättningstaggar och vilken version av dem som har markerats för översättning.

Varje gång en översättningsenhetssida uppdateras, kommer systemet också att regenerera motsvarande översättningssida. Detta resulterar i två ändringar. Översättningsenhetssidan är dold som standard i de senaste ändringarna och kan visas genom att välja "Visa översättningar" från översättningsfiltret. Inga andra åtgärder än att redigera (som att ta bort och flytta) översättningsenhetssidorna leder till att regenereringen av motsvarande översättningssida utlöses.

Om du behöver kopian av källsidan utan markering, t.ex. att klistras in i en annan wiki utan Translate, texten kommer att visas eller sparas.
 * Ange källkodsspråkskoden (för engelska, en ) och besök ;
 * Klicka på ""-knappen för att nå en adress som denna och ersätt  med   i adressfältet, tryck på enter:

Övergripande principer

 * 1) All text som är avsedd för översättning måste omslutas med  -taggar. Det kan finnas flera par taggar på samma sida.
 * 2) Allt utanför dessa taggar ändras inte på någon översättningssida. Denna statiska text, tillsammans med platshållare som markerar den plats där översättningen av varje översättningsenhet kommer att ersättas, kallas översättningssidans mall.
 * 3) För mycket markering i texten gör det svårt för översättare att översätta. Använd mer finkornad placering av -taggar när det finns mycket markup.
 * 4) Texten innanför -taggar delas upp i översättningsenheter när det finns en eller flera tomma rader mellan dem (två eller flera nya rader).

Begränsningar. Sidöversättningsfunktionen lägger en del restriktioner på texten. Det får inte finnas någon markup som spänner över två eller flera översättningsenheter. Med andra ord bör varje stycke vara fristående. Detta verkställs för närvarande inte i programvaran, men överträdelse av det kommer att orsaka ogiltig återgivning av sidan, hur mycket beror på om MediaWiki själv kan fixa den resulterande HTML-utmatningen eller ej.

Tolknings-ordning. Var uppmärksam på att -taggarna fungerar annorlunda från andra taggar, eftersom de inte går igenom parsern. Detta orsakar vanligtvis inte problem, men kan göra det om du försöker något speciellt. Mer i detalj analyseras de före andra taggar som eller, med undantag för  som känns igen av översättningstillägget under vissa omständigheter (som återgivning av en sida) men inte i andra (som att generera listan på Special:PageTranslation av sidor som innehåller ). Om du vill ha det bokstavliga uttrycket "" i källtexten, släpps den igenom med " ".

Tag placing. If possible, try to put the tags on their own lines, with no empty lines between the content and the tags. Sometimes this is not possible, for example if you want to translate some content surrounded by the markup, but not the markup itself. This is fine too, for example:

To make this work, the extension has a simple whitespace handling: whitespace is preserved, except if an opening or closing  tag is the only thing on a line. In that case the newline after the opening tag or before the closing tag is eaten. This means that they don't cause extra space in the rendered version of the page.

Variables. It is possible to use variables similar to template variables. The syntax for this is. For translators these will show up only as, and in translation pages will automatically be replaced by the value defined in the translatable page (so they are global "constants" across all its translation pages). Variables can be used to hide untranslatable content in the middle of a translation unit. It also works for things like numbers that need to be updated often. You can update the number in all translations by changing the number in the translatable page source and re-marking the page. You do not need to invalidate translations, because the number is not part of the translation unit pages.

Comma-separated values. For content such as Graph data, that needs to be parsed by the software as comma-separated values, you should separate the translation units between each comma, so that the translating editors don't use localized commas which will confuse the software.

Markup examples
Below are listed some alternatives and suggested ways to handle different kinds of wiki markup.

{| class=wikitable Translation by adding language suffix: Category:Cars/fi (recommended)
 * Categories
 * width=40% | Categories can be added in two ways: in the translation page template or in one of the translation units. If you have the categories in the translation page template, all translations will end up in the same category. If you have categories inside translation units, you should teach the users a naming scheme. On the right we show two possible schemes which are independent of the technical means to adopt them.

[...] &lt;/translate>


 * Category page name not translated (just like the page names).
 * One category for each language.
 * Page translation could be used for the category itself: the categories would be linked together and the headers would be translated (but not the name of the category in links and such).

No translation: Category:Cars

Wrong: == Culture ==
 * All translations in same category (good if only few languages, bad if many).
 * Category name not translated (can be put as is in the translation template).
 * Headers
 * Headers can in principle be tied to the following paragraph, but it is better to have them separated with an empty line. This way someone can quickly translate the table of contents before going into the contents. When tagging headers, it is important to include the header markup inside the tags and insert a newline between the opening translate tag and the header markup, or MediaWiki will no longer identify them properly. For example, section editing only works with the recommended mark-up given in the example. The markup also immediately gives translators a context: they are translating a header.
 * Headers can in principle be tied to the following paragraph, but it is better to have them separated with an empty line. This way someone can quickly translate the table of contents before going into the contents. When tagging headers, it is important to include the header markup inside the tags and insert a newline between the opening translate tag and the header markup, or MediaWiki will no longer identify them properly. For example, section editing only works with the recommended mark-up given in the example. The markup also immediately gives translators a context: they are translating a header.

Wrong: == Culture ==

Recommended segmentation: &lt;translate>

Culture
Lorem ipsum dolor. &lt;/translate>

&lt;translate> &lt;/translate>
 * Images
 * Images that do contain language specific content like text should include the full image syntax in an unit. Other images can only tag the description with optional hint in message documentation of the page after it has been marked.
 * Images that do contain language specific content like text should include the full image syntax in an unit. Other images can only tag the description with optional hint in message documentation of the page after it has been marked.


 * Links
 * Links can be included in the paragraph they are inside. This allows changing the link label, but also changing the link target to a localized version if one exists.
 * Links can be included in the paragraph they are inside. This allows changing the link label, but also changing the link target to a localized version if one exists.

If the target page is (or should be) also translatable, you should link to it by prepending  to its title. Only the link label will need to be translated, because this automatically redirects users to the translation page in their own interface language, as selected for instance via the UniversalLanguageSelector. However, to achieve a constant behavior the syntax must be used for all links.

Because headers are translated, you cannot rely on the automatically generated id's for headers. You can add your own anchors. To have them outside of the translation template you need to break up the page into multiple tag pairs around each header you want to have an anchor to. Internal links: &lt;translate> Helsinki is capital of Finland. &lt;/translate>

Links to translatable pages: &lt;translate> It has marvelous beaches with a lot of seagulls. &lt;/translate> External links: &lt;translate> PHP (website) is a programming language. &lt;/translate> Links within a page: &lt;translate>

Culture
Lorem ipsum dolor.

...

For more about food, see section about culture. &lt;/translate>

&lt;translate> &lt;/translate> &lt;translate> &lt;/translate>
 * Lists
 * Lists can get long, so might want to split them into multiple parts with for example five items or less in each as follows. Do so only if the items are sufficiently independent to be translate separately in all languages, don't create "lego messages": for instance, you must avoid to split a single sentence in multiple units, or to separate logically dependent parts which may affect each other (with regard to punctuation or style of the list, for instance). To split a list, use -tags. Do not insert new lines as this will break the HTML output.
 * Lists can get long, so might want to split them into multiple parts with for example five items or less in each as follows. Do so only if the items are sufficiently independent to be translate separately in all languages, don't create "lego messages": for instance, you must avoid to split a single sentence in multiple units, or to separate logically dependent parts which may affect each other (with regard to punctuation or style of the list, for instance). To split a list, use -tags. Do not insert new lines as this will break the HTML output.
 * General principles
 * Headings
 * Images
 * Tables
 * Categories
 * Links
 * Templates


 * Numbers
 * With numbers and other non-linguistic elements you may want to pull the actual number out of translation and make it a variable. This has multiple benefits:
 * With numbers and other non-linguistic elements you may want to pull the actual number out of translation and make it a variable. This has multiple benefits:

&lt;translate> Income this month  EUR &lt;/translate> Note that this prevents the translators from localising the number by doing currency conversion. The  call makes sure the number is formatted correctly in the target language.
 * You can update the number without invalidating translations.
 * Translation memory can work better when the changing number is ignored.


 * Templates
 * Templates have varying functions and purposes, so the best solution depends on what the template is for. If the template is not a part of longer paragraph, it should be left out, unless it has parameters that need to be translated. If the template has no linguistic content itself, you don't need to do anything for the template itself.
 * For an example of templates translated with page translation, see Template:Extension-Translate. To use this template, you need to have another template similar to Translatable navigation template, because you cannot include the template by  anymore. This is not yet provided by the Translate extension itself, but that is in the plans.
 * For an example of templates translated with page translation, see Template:Extension-Translate. To use this template, you need to have another template similar to Translatable navigation template, because you cannot include the template by  anymore. This is not yet provided by the Translate extension itself, but that is in the plans.

Another way is to use the unstructured element translation to translate the template, but then the language of the template will follow the user's interface language, not the language of the page they are viewing.
 * }

Changing the source text
General principles:


 * Avoid changes
 * Make the changes as isolated as possible
 * Do not add translation unit markers yourself

Unit markers. When page is marked for translation, the system will update the translatable page source and add unique identifiers for each translation unit. See example below. These markers are crucial for the system, which uses them to track changes to each translation unit. You should never add unit markers yourself. The markers are always on the line before the unit; or, if it starts with a header, after the first header on the same line. The different placement for headers is needed to keep section editing working as expected.

&lt;translate>

Birds
&lt;!--T:1--> Birds are animals which....

&lt;!--T:2--> Birds can fly and... &lt;/translate> Changing unit text. Changing is the most common operation for translation units. You can fix spelling mistakes, correct grammar or do other changes to the unit. When re-marking the page for translation, you will see the difference in the unit text. The same difference is also shown to translators when they update their translations. For simple spelling fixes and other cases where you don't want the existing translations to be highlighted on the translated pages, you can avoid invalidating them: translators will still see the difference if they ever update the translation for any reason.

Adding new text. You can freely add new text inside tags. Make sure that there is one empty line between adjacent units, so that the system will see it as a new unit. You can also add tags around the new text, if it is not inside existing  tags. Again, do not add unit markers yourself, the system will do it.

Deleting text. You can delete whole units. If you do so, also remove the unit marker.

Splitting units. You can split existing units by adding an empty line in the middle of a unit, or by placing tags so that they split the unit. You can either keep the unit marker with the first unit or remove it altogether. In the first case, translators see the old text when updating the old translation. If you removed the unit marker, both units will behave as if no translation ever existed, after the page is re-marked for translation.

Merging units. If you merge units, you have to remove at least all but one unit marker.

Moving units. You can move units around without invalidating translations: just move the unit marker together with the rest of the unit.

Before marking the new version of the page for translation, ensure that the best practices are followed, especially that translators get a new translation unit if the content has changed. Also make sure that there are no unnecessary changes to prevent wasting translators time. If the source page is getting many changes, it may be worthwhile to wait for it to stabilize, and push the work for translators only after that.

Unused unit translations are not deleted automatically, but that should not cause trouble.

Migrating to page translation
If you have been translating pages before using the page translation system, you might want to migrate the pages to the new system, at least the ones you expect to have new translations and want statistics for. You will probably have existing templates for language switching and maybe different page naming conventions.

You can start migration by cleaning up, tagging and marking the source page. You can keep the existing language-switching templates while you migrate the old translations. If your pages follow the language code subpages naming convention, they will be replaced with the source text after marking the source page for translation, but you'll still be able to access translations from history.

This manual task has been partly automated by Special:PageMigration, which shows the source and target units besides each other and allows the user to adjust the units by providing a set of features mentioned later in this page.

How to use?
500px|Screenshot showing an example use of Special:PageMigration for "Help:Special pages" as page name and "fr" as language code.
 * 1) Go to Special:PageMigration
 * 2) Enter the title of the page and the language code. For example, "Help:Special pages" & "fr"
 * 3) The source text which was divided into units by Translate and the imported translations will be shown besides each other with some initial alignment.
 * 4) Use the actions available for each unit to manually do the remaining alignment
 * 5) As translated units are editable, do required manual improvements (for add translation variables, fix links and markup, etc.)
 * 6) Click on the "" button. This will create pages under the Translations namespace of the form  . The old translations have been imported into Translate.
 * 7) Else, if you wish to abort the importing, click on the 'Cancel' button.

Actions available
Each row consisting of source and target unit has a set of action icons. They are used as follows:
 * 1) Add: Clicking on this action icon adds a new empty unit below the current one. Use this feature if you want to split the current unit and need a unit below.
 * 2) Swap: Clicking on this action icon swaps the content of the current unit with the unit below it. You can use this feature when the units get aligned improperly due to different ordering of sections. Or when you need to drag a unit below or above. In either case, remember it swaps with the unit below and does not create any additional units.
 * 3) Delete: Clicking on this action icon completely removes the corresponding target unit from the page and shifts the remaining target units up by one unit. Use this to remove unwanted content like code or imported translations which are present completely in the source language. Note: this irrevocable action (in the current session).

Troubleshooting

 * 1) If you mark a page for translation and immediately go to the special page and try to import translations, you may get an error message like "". This is because FuzzyBot didn't fuzzy the messages on the old page yet: the tool won't find an edit by FuzzyBot on the translation page. In this case, simply wait for FuzzyBot to do its job. Once an edit is seen, you can proceed with the imports.
 * 2) Please wait for some time after pressing the "" button. While the button background remains gray, there is an ongoing process of importing non-empty units. Once the button becomes colored again, the import is completed.

Tips

 * 1) Migration will be easier if you first (before the mark to translation) check whether existing translations are similar to the original English text, and manually edit the structure of pages: break paragraphs and lists, add the missing headers (even if empty).
 * 2) Will be useful to check the result in the core translation interface - some of the units may be immediately marked as obsolete because of errors markup or if not all of the translation variables was added.
 * 3) Translation of the page title will have to be added manually. If you do not know very well the language of the imported page, you can try to find the translation of the page title among the "links here" or sometimes in redirects. Note: Please don't translate the namespace, keep it untranslated.