Help:Extension:Translate/Translation aids/da

This page is a translated version of the page Help:Extension:Translate/Translation aids and the translation is 89% complete.
Outdated translations are marked like this.

Oversættelses-hjælpemoduler (eller oversættelses-hjælpere) er moduler, der giver nyttig og nødvendig information til oversætteren ved oversættelse. Forskellige hjælpemoduler kan give forslag fra oversættelseshukommelsen og maskinoversættelse, dokumentation om beskeden eller endda sådan en grundlæggende ting som beskeddefinitionen - den tekst, der skal oversættes.

Der er en vis overlapning mellem de data, som besked indsamling og hjælpemodulerne, men tommelfingerreglen er, at beskedindsamlingen kun giver information, der er absolut nødvendig for at præsentere en liste over beskeder: definition, oversættelse, status for oversættelse, sidste oversætter (fordi man kun kan gennemgå oversættelser foretaget af en anden) etc.

Translate kommer med mange hjælpe-klasser. Hver klasse, der udbygger TranslationAid klassen behøver kun at gennemføre en metode, der kaldes GetData. Den skal returnere informationen i struktureret format (indlejrede matrixer). Disse moduler kaldes enten direkte fra PHP eller via WebAPI.

Sådan bruges oversættelses-hjælpemoduler i MediaWiki

Simpelt eksempel på at få beskeddokumentationen fra en besked, hvis den er tilgængelig.

$title = Title::newFromText( 'MediaWiki:Jan/de' );
$handle = new MessageHandle( $title );
$group = $handle->getGroup();
$context = RequestContext::newExtraneousContext( $title );

$aid = new DocumentationAid( $group, $handle, $context );

try {
	$data = $aid->getData();
	$docHtml = $aid['html'];
} catch ( TranslationHelperException $e ) {
	return;
}

echo $docHtml . "\n";

Sådan bruges oversættelses-hjælpemodul API

Som allerede vist ovenfor er oversættelses-hjælpemoduler tilgængelige via en WebAPI, der bruger MediaWiki WebAPI rammerne. At få oversættelses-hjælpemoduler er lige så simpelt som at lave HTTP GET for URL'en http://translatewiki.net/w/api.php?action=translationaids&title=MediaWiki%3AJan%2Fde . Den giver forskellige formater, men JSON og XML er de mest populære. Denne API behøver ikke godkendelse, men nogle oversættelses-hjælpemoduler som "inotherlanguages​​" benytter brugerindstillinger til at bestemme, hvilke sprog der skal bruges. For at bruge dette hjælpemodul bør du logge ind først, som beskrevet i MediaWiki WebAPI dokumentationen.

De returnerede data skal se sådan ud (vist i smuk JSON format):

{
	"helpers": {
		"definition": {
			"value": "Jan",
			"language": "en"
		},
		"translation": {
			"language": "de",
			"fuzzy": false,
			"value": "Jan."
		},
		"inotherlanguages": [
			
		],
		"documentation": {
			"language": "en",
			"value": "Abbreviation of January, the first month of the Gregorian calendar",
			"html": "<p>Abbreviation of January, the first month of the Gregorian calendar\n<\/p>"
		},
		"mt": [
			{
				"target": "Jan",
				"service": "Microsoft",
				"source_language": "en",
				"source": "Jan"
			},
			{
				"target": "Jan",
				"service": "Yandex",
				"source_language": "en",
				"source": "Jan"
			}
		],
		"definitiondiff": {
			"error": "No changes"
		},
		"ttmserver": [
			{
				"source": "Jan",
				"target": "Jan.",
				"context": "MediaWiki:Jan",
				"location": "MediaWiki:Jan\/de",
				"quality": 1,
				"wiki": "mediawiki-bw_",
				"service": "TTMServer",
				"source_language": "en",
				"local": true,
				"uri": "https:\/\/translatewiki.net\/wiki\/MediaWiki:Jan\/de"
			}
		],
		"support": {
			"url": "\/\/translatewiki.net\/w\/i.php?title=Support&lqt_method=talkpage_new_thread&lqt_subject_field=About+%5B%5BMediaWiki%3AJan%2Fde%5D%5D"
	}
}

Hvert anmodet hjælpemodul er garanteret at have en nøgle her (indtil anmodningen ynkelig mislykkes), men mens vi bruger undtagelser på PHP siden, kan hvert hjælpemodul på JavaScript siden have nøglen "fejl" sat, med fejlmeddelelsen angivet som værdi. Du kan se et eksempel på dette ovenfor med definitiondiff. Det signalerer, at diff ikke kan vises, fordi der ikke har været nogen ændringer i definitionen siden sidste oversættelse.

JavaScript eksempel

Her er det samme for JavaScript. Som standard returnerer API alle hjælpemoduler, men du kan anmode om specifikke moduler med prop parameter. I eksemplet bruger vi JSONP til at omgå krydshenvisnings anmodning begrænsninger. Vær opmærksom på, at du ikke kan udføre nogen skrivbare handlinger med JSONP, så hvis du bruger denne API fra JavaScript skal du: have en proxy, køre scriptet hos den samme vært, eller at indlæse en lille hjælper (endnu ikke implementeret) fra målsitet.

apiURL = 'https://translatewiki.net/w/api.php?callback=?';

queryParams = {
	action: 'translationaids',
	title: 'MediaWiki:Jan/de',
	format: 'json'
};

$.getJSON( apiURL, queryParams )
	.complete( function( data ) {
		console.log( data );
	} )
	.fail( function () {
		console.log( "Failed" );
	} );

Navngivningskonventioner og returværdier

Hver oversættelses-hjælpemodul har en entydig streng identifikator. Identifikatorer bør undgå specialtegn, især dem, der ikke er gyldige i JavaScript identifikatorer, såsom - og *.

Matrixen, der returneres af hvert oversættelses-hjælpemodul er op til udvikleren, men bør følge nogle generelle anbefalinger.

Hvis kun én tekstværdi returneres, skal den bruge value som feltets nøgle. Sprog bør angives i feltet language. Brugere af disse data skal sikre, at i HTML og andre steder er teksten er afmærket korrekt med det givne sprog og retningsbestemt (ikke angivet her). Hvis der er HTML-output, bør det være tilgængelig med nøglen html. Eksempler på dette er beskeddokumentation og diffs.

Forskellige former for oversættelsesforslag som maskinoversættelse og oversættelseshukommelser bør benytte disse nøgler, når de giver mening:

  • source, source_language og target (målsproget er underforstået det samme som oversættelsessproget)
  • server: identifikator for den benyttede service
  • quality: værdi i intervallet [0,1], høj værdi betyder at forslagenes kvalitet er meget god.
  • server: identifier of the service used
  • quality: value in range [0,1], higher value means that the quality of the suggestions is very good.
Ved returnering af matrix, skal du sætte ** feltet til at indeholde et element navn. For maskinoversættelse og oversættelseshukommelse er det suggestion. Dette er bestemt af MediaWiki WebAPI rammerne. Det er synligt i XML formatet, men i JSON format er output blot en liste.

Liste med standard hjælpemoduler

[field] Betyder at returværdien er en liste. I PHP vil det være en matrix med numeriske indekser + en med nøgle **, se ovenfor, hvorfor dette er nødvendigt.

Klasse Id Felter Noter
MessageDefinitionAid definition
  • language
  • value
CurrentTranslationAid translation
  • language
  • value
  • fuzzy - (boolean) Såfremt oversættelse eksisterer, men behøver revision eller opdatering.
InOtherLanguagesAid inotherlanguages
  • [suggestion]
    • language
    • value
Afhænger af brugerens præferencer
DocumentationAid documentation
  • language
  • value - Uanalyseret wiki opmærkning
  • html
MachineTranslationAid mt
  • [suggestion]
    • source
    • source_language
    • target
    • service
Tilgængelighed afhænger af sprogpar støtte og tilgængelighed af ​​eksterne tjenester.
UpdatedDefinitionAid definitiondiff
  • value_old
  • value_new
  • revisionid_old
  • revisionid_new
  • language
  • html
Displayet afhænger af mediawiki.action.history.diff resource-loader modulet i MediaWiki.
TTMServerAid ttmserver
  • [suggestion]
    • source
    • source_language
    • target
    • service
    • quality
    • local - (boolean) Hvorvidt forslaget er en besked forespurgt i wikien.
    • uri - URL eller en anden ressource placerings-indikator.
SupportAid support
  • url
Dette er en webside, hvor brugeren kan blive henvist til skrive spørgsmål om denne besked.
InsertablesAid insertables
  • [insertable]
    • display
    • pre
    • post
Strings of untranslatable text that can be inserted into the translation. Fields tell what to display to the user and what is inserted before and after selection.