Help:Extension:Translate/Group configuration example/da

Denne vejledning er for udviklere og avancerede oversættelses-administratorer. Vejledningen forklarer hvordan nye konfigurationsfiler oprettes til software brugergrænseflade meddelelses-oversættelse, med detaljeret beskrivelse af de tilhørende praktiske aspekter. Den skal bruges sammen med gruppe-konfiguration referencemanualen og udviklerne af Translate-udvidelsen vil med glæde hjælpe dig med eventuelle spørgsmål som du har, efter at have arbejdet dig igennem denne vejledning.

Forudsætninger

 * Install Mediawiki
 * the Translate extension and
 * it.

Denne vejledning er lavet på grundlag af Translate-udvidelsen version r97948 (2011-09-23).

Denne vejledning beskriver processen med at aktivere oversættelse af visse dele af MyBB-projektet. Du kan følge lignende trin til at tilføje andre projekter/filer til oversættelse. Nogle ting er specifikke for translatewiki.net og du bør naturligvis bruge, hvad der er relevant i dit tilfælde i stedet for at følge trinnene i denne vejledning blindt.

Trin 1: Tjek kildekode
Let's check out the MyBB source code using  as working directory, which is   in this example. cd /home/betawiki/projects svn co http://svn.mybboard.net/mybb/branches/1.6-stable mybb

sudo -u betawiki svn co http://svn.mybboard.net/mybb/branches/1.6-stable mybb Nu skal vi finde de filer, der indeholder beskeder. De er i   underbiblioteket, og du kan finde de engelske kildemeddelelser i  -undermappen.

So let's start with, the first localisation file of our project.

Trin 2: Filformat-support
In our MediaWiki installation directory, under  and    we can see the classes for file format support, which are used to map message groups to localisation files of each project. You have to do a bit digging to actually see what kind of formats are supported. So we just decide to try and use FlatPhpFFS class first and see how well it works with our PHP file.

Så vi har en fil at kortlægge, og vi har valgt FFS klassen til det. Nu skal vi til at skrive en gruppe-konfiguration. Det er en YAML fil.

In the you can find a link to. Let's start with the minimal file given as example for the BASIC section. Vi kan gå videre og bare udskifte eksempelteksten med vores egne værdier. The description accepts all wikitext syntax. One nice trick shown in the original example is that you can make it translatable by using. But then you need to define the default text in the page Mediawiki:Message-key. Note that the namespace ID is added through its constant, see how to use custom namespaces.

Vi har brug for en ting mere: -afsnittet. Igen startende fra eksemplet i dokumentationen: Hmm,  er sprogkoden, ligesom   som standard. Foreløbig ønsker vi ikke at ændre mappestrukturen, der anvendes af MyBB. I stedet kan vi bruge en funktion til dette formål: code map, som giver os mulighed for at kortlægge sprogkoder fra hvert sprog til identifikatorerne, der anvendes i vores projekt.

Så vi ender op med:

Dybest set siger dette, at for kode, vil ovenstående   være  , som er mappen til de engelske beskedfiler. Nøglen  er normalt den samme som , men uden   præfiks.

Good. Now let's save this file somewhere, for example to the same folder where LocalSettings.php is stored, with name. The whole file is: Så må vi fortælle vores udvidelse til at læse denne fil. Tilføj følgende linje til : After doing this, follow the instructions at Help:Extension:Translate/Group management to run the  script.

Så lad os logge ind og vær sikker på at brugeren har "translate-manage" retttighed konfigureret ordentligt, og gå til Special:ManageMessageGroups.

Du kan se dette: No valid namespace defined, got NS_MYBB. Backtrace: <...> I dette tilfælde, ved at læse dokumentation omhyggeligt, kan du have identificeret behovet for at tilføje følgende linje til  for at registrere det nye navnerum med MediaWiki: In this example 1246 is used, but you can pick any free namespace number you need. For the Translate extension, we recommend you to use the even namespace numbers 1200-1298.

Hvis du nu genindlæse ManageMessageGroups specialsiden, bør du se en linje, der siger: MyBB This message group has not been imported previously. Klik på MyBB link. Efter dette vil du se en liste over meddelelser, der er i den fil. Hvis du er tilfreds med resultaterne, klik på "Udfør".

Når du klikker på "Udfør" behandles filen og du vil se et output der ligner dette: Imported new version of page MyBB:L\x5b'boardstats'\x5d/en. Imported new version of page MyBB:L\x5b'new posts'\x5d/en. Imported new version of page MyBB:L\x5b'no new posts'\x5d/en. ... Cache rebuild. All done! If the file is very large, you need to run  first, because the web interface can only import a limited number of messages at once because of the PHP timeout limit; if you encounter this limit, you can click a button at the bottom of the page to import the remaining messages.

Trin 3: Tilføje en anden fil
Lad os nu tilføje en anden fil for MyBB til oversættelse. Der er to måder at gøre dette:

Tilgang 1: Tilføje en ny YAML-fil
Du skal blot tilføje en ny YAML fil og gemme den med et nyt navn. Så kalde det fra  og følge alle de ovenstående trin. Filen vil se nogenlunde ud som her: Som indlysende i ovenstående eksempel, skal du bruge et andet ID til denne nye gruppe.

Så let kan denne tilgang ikke skaleres til hundredvis af forskellige oversættelsesenheder (dvs. filer knyttet til deres meddelelsesgruppe). På et tidspunkt skal du opdatere en vis værdi, og at gøre det for alle disse filer er ikke sjovt. Heldigvis er der en anden måde, som vist nedenfor.

Tilgang 2: TEMPLATE-syntaks
Ideen er at vi trækker fælles værdier ind i en skabelon. Så vil hver gruppe tage manglende værdier fra skabelonen, og det ikke er nødvendigt at gentage dem for hver gruppe.

Lad os komme tilbage til MyBB eksemplet. Lad os sige, at du ønsker at inkludere,   og    i oversættesmeddelelserne. YAML filen skal opdateres sådan her: Som indlysende i ovenstående eksempel defineres  kun én gang. Tilføjelse og fjernelse af filer er lige så let som at tilføje eller fjerne et afsnit i ovennævnte fil.

Hvis du nu går til ManageMessageGroups specialsiden, vil du se 3 emner som dette: MyBB global messages: This message group has not been imported previously. MyBB index page: This message group has not been imported previously. MyBB show thread: This message group has not been imported previously.

If there are a lot of files to be included in your project, it may be a good idea to write a script that generated your YAML file for you. An example can be found in page>svn:trunk/translatewiki/StatusNet/genStatusNet-plugins.php.

Trin 4: Samlet gruppe
Tilføjelse af en samlet gruppe og definition af beskedfilerne som dens undergrupper, har to fordele:


 * Mindre arbejde for oversættere ved valg af forskellige meddelelsesgrupper, især for vedligeholdelsesarbejde. Oversættere kan blot åbne den samlede gruppe og oversætte eller opdatere alt der skal opdateres eller oversættelse af alle grupper.
 * Statistik kan indberettes på det samlede gruppe niveau, dvs. hele projektet.

For at definere en samlet gruppe, skal du tilføje følgende afsnit lige efter TEMPLATE afsnittet og før definitionen af ​​de enkelte undergrupper: Dette får os temmelig tæt på, men der mangler stadig et skridt. Hvis du nu går til Special:Translate vil du se MyBB forældegruppen (og det faktisk virker!), men også de undergrupper, der er anført som separate grupper.

Det er sådan det ordnes. Tilføj den følgende linje til din : $wgTranslateGroupStructure['/^out-mybb/'] = array( 'mybb' );

Dette tager alle grupper, hvis id matcher det givne mønster, viser den første gruppe, og skjuler alt andet under den første gruppe. Ikke kønt, men det virker. Denne konstruktion understøtter kun to lag, selv om samlede grupper kan være en del af samlede grupper.

Hvis du nu går til Special:Translate vil du kun se den forældregruppen MyBB opført. Derudover vil du se et link "Vis 3 undergrupper" og ved at klikke der, vises navnene på undergrupperne.

Check out the manual for TAGS and other sections we didn't go through in this document.

Trin 5: Oprydning
YAML filer fra projekter understøttet af translatewiki.net er forpligtet til lagringspladsen på Git.

I translatewiki.net er  linjer faktisk i. Sandboxwiki på translatewiki.net har ikke en TranslateSetting.php fil, hvorfor vi tilføjede alt i.