Jump to content

Help:Extension:Translate/Translation aids/da

From mediawiki.org
This page is a translated version of the page Help:Extension:Translate/Translation aids and the translation is 43% 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. Getting translation aids is as simple as doing HTTP GET for the URL http://translatewiki.net/w/api.php?action=translationaids&title=MediaWiki%3AJan%2Fde . It provides various different formats, but JSON and XML are the most popular ones. This API does not need authentication, but some translation aids like "inotherlanguages" uses user preferences to determine which languages to use. To use that aid you should log in first, as described in the MediaWiki WebAPI documentation.

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. You can see an example of this above with definitiondiff. It signals that it cannot display a diff, because there have been no changes to the definition since last translation.

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. By default the API returns all aids, but you can request specific ones with the prop param. In the example we are using jsonp to work around cross site request limitations. Be aware that you cannot execute any write actions with jsonp, so if you are using this API from JavaScript you will need: to have a proxy; to run the script on the same host; or to load a little helper (not yet implemented) from the target site.

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" );
	} );

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 *. Identifiers should avoid special characters, especially those which are not valid in JavaScript identifiers, like - and *.

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. Language should be provided in field language. Users of this data should ensure that in HTML and elsewhere the text is tagged properly with the provided language and directionality (not provided here). If there is HTML output, it should be available with key html. Examples of this are message documentation and 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. For machine translation and translation memory this is suggestion. This is mandated by the MediaWiki WebAPI framework. It is visible in the XML format, but in JSON format the output is just a list.

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. In PHP that means array with numerical indexes + one with key **; see above why this is needed.

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.