Een wijziging van de taal van de interface forceren

Als laatste belangrijke opmerking met betrekking tot meertaligheid: sommige mensen willen misschien een mix van talen tussen de interface en de inhoud, maar willen toch enige consistentie behouden. Meer specifiek willen velen de artikelen in de brontaal weergeven als ze nog niet in de gewenste taal zijn vertaald. In dergelijke gevallen moet je de instelling forcer_lang activeren.

Desalniettemin is het mogelijk om bij het weergeven van een artikel een lijst te maken van de verschillende bestaande vertalingen, zoals in het SPIP model modeles/articles_traductions.html, waarbij de gegenereerde link de taal van de interface niet verandert, aangezien forcer_lang de taal van de bezoeker aanhoudt.

Als je er de voorkeur aan geeft dat het klikken op een vertaallink ook het veranderen van de taal van de interface impliceert (in dezelfde taal als die van het vertaalde artikel), dan moet je de code in het model articles_traductions.html bewerken of er een nieuwe versie van maken. Vervolgens gebruik je de "converser"-actie om een speciale link te genereren die doorverwijst naar het gewenste artikel in de gewenste interfacetaal:

[(#VAL{converser}
	|generer_url_action{[redirect=(#URL_ARTICLE
		|parametre_url{var_lang,#LANG})]})]

Voorbeeld van een volledig (en complex!) model:

Dit is een model dat de verschillende vertalingen van een artikel opsomt. Als het niet de vertaling is die momenteel wordt bekeken, wordt een link voorgesteld die de vertaaltaal aangeeft.

<BOUCLE_article(ARTICLES){id_article}>
<BOUCLE_traductions(ARTICLES) {traduction} {par lang} {','}>[
	(#TOTAL_BOUCLE|>{1}|?{' '})
	<span lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR"[ class="(#EXPOSE)"]>
		[(#EXPOSE{'',<a href="[(#VAL{converser}
			|generer_url_action{[redirect=(#URL_ARTICLE
				|parametre_url{var_lang,#LANG})]})]" rel="alternate" hreflang="#LANG"[ title="(#TITRE|attribut_html|couper{80})"]>})]
		[(#LANG|traduire_nom_langue)]
		#EXPOSE{'',</a>}
	</span>
]</BOUCLE_traductions>
</BOUCLE_article>

Auteur hanjo Gepubliceerd op:

Vertalingen: English, français, Nederlands