Extension:UniversalLanguageSelector/nl

This page is a translated version of the page Extension:UniversalLanguageSelector and the translation is 100% complete.
MediaWiki Handleiding extensies
UniversalLanguageSelector
Release status: stabiel
Implementatie Gebruikersinterface, Skin , Beta Functie
Beschrijving Hulpmiddel waarmee gebruikers een taal kunnen kiezen en de ondersteuning daarvan op een eenvoudige manier kunnen configureren.
Auteur(s) Wikimedia taalteam
Laatste versie 2024-07-16
Compatibiliteit beleid Master onderhoudt achterwaartse compatibiliteit.
MediaWiki >= 1.41.0
Composer mediawiki/universal-language-selector
Licentie
Download Onderdeel van de bundel Language Extension
  • $wgULSWebfontsEnabled
  • $wgULSGeoService
  • $wgULSLanguageDetection
  • $wgULSAnonCanChangeLanguage
  • $wgULSEnable
  • $wgULSImeSelectors
  • $wgULSIMEEnabled
  • $wgULSNoWebfontsSelectors
  • $wgULSFontRepositoryBasePath
  • $wgULSCompactLanguageLinksBetaFeature
  • $wgULSNoImeSelectors
  • $wgULSPosition
Niet compatibel met Internet Explorer 8 of lager.
Downloads kwartaal 238 (Ranked 26th)
Publieke wiki's die het gebruiken 1,237 (Ranked 214th)
Vertaal de UniversalLanguageSelector extensie indien beschikbaar op translatewiki.net
Problemen Open taken · Rapporteer een bug

De Universal Language Selector is een hulpmiddel waarmee gebruikers een taal kunnen selecteren en de ondersteuning ervan eenvoudig kunnen configureren. Indien gebruikt, levert het ook de functionaliteit van zowel WebFonts als Narayam extensies (die beide zijn afgeschaft ten gunste van Universal Language Selector). Meer informatie, ook over achtergronden: Universal Language Selector/nl .

Gebruik

Het primaire doel is om gebruikers in staat te stellen een taal te selecteren en de ondersteuning ervan op een eenvoudige manier te configureren.

De extensie heeft de volgende functies:

  1. Een flexibele en eenvoudige manier om een taal uit een grote groep talen te kiezen.
    1. Selectie kan gebaseerd zijn op geografische regio gebaseerd op het browsen en zoeken.
    2. Zoeken kan gebaseerd zijn op ISO-taalcode, taalnaam geschreven in de huidige gebruikersinterface taal of in het eigen script (autoniem)
    3. Zoeken in meerdere talen - zoek taalnamen met behulp van een willekeurig script
    4. Automatisch aanvullen van taalnamen
    5. Autocorrectie van spellingfouten in zoektekst
    6. Geo IP-gebaseerde taalvoorstellen
    7. Taalkeuze op basis van gebruikersbrowser/OS-taal
  2. Invoermethoden
    Zie Help:Extension:UniversalLanguageSelector/Input methods/nl voor volledige instructies.
    1. Een gemakkelijk te selecteren inputmethode collectie, gemakkelijk beschikbaar in elk bewerkbaar veld
    2. Biedt een grote reeks invoermethoden voor een breed scala aan talen
    3. Voorkeuren per taal voor de invoermethode
  3. Webfonts
    1. Een grote verzameling lettertypen om uit te kiezen voor elke taal om te gebruiken als ingesloten lettertype voor de pagina
    2. Voorkeuren per taal voor het lettertype
 
De extensie met een taalvoorstel op basis van Geoip voor een gebruiker uit India
 
Een geregistreerde gebruiker kan in de Taalinstellingen de Engelse Wikipedia gebruiken om de UI te op hun voorkeurstaal te zetten.
 
Een Bengaalse gebruiker kan inhoud van de Bengalese Wikipedia lezen ondanks het gebrek aan lettertypen op zijn computer. Webfonten worden automatisch verstrekt voor niet-Latijnse scripts waarvoor een open source font beschikbaar is. De gebruiker kan beslissen om zijn systeemlettertypen per taal te gebruiken.
 
Een Hindi spreker zonder een Hindi-toetsenbord configureert de invoermethoden zodat die in de eigen taal kan typen.
 
Bij het zoeken kan een gebruiker dan wisselen tussen Engels en Hindi.

Lettertype toevoegen

Het ondersteunen van meer talen is slechts een kwestie van het opnemen van de juiste lettertypen in de code. Houd er echter rekening mee dat we alleen ondersteuning toevoegen voor lettertypen met een open-source licentie, zoals lettertypen die zijn gelicentieerd onder GNU GPL, SIL OFL, enz. Een voorbeeld van een map van dergelijke open-source lettertypen is Google Fonts [1] (nog niet volledig onderzocht/geëxploiteerd door de auteurs van deze extensie); zie ook de Open Font Library.

Allereerst moet u zo'n open-source lettertype vinden of produceren (dit is het essentieelste onderdeel en u moet het zelf doen); Vervolgens moet het worden geconverteerd naar het formaat woff2; U kunt een verzoek indienen in Phabricator voor het lettertype dat aan de extensie moet worden toegevoegd.

In Webfonts voorbereiden wordt uitgelegd hoe de lettertypen te converteren: basiskennis van het op GNU/Linux gebaseerde besturingssysteem is vereist; als u hier moeite mee heeft, kunt u deze stap overslaan en iemand anders vragen om het voor u te doen op hetzelfde Phabricator-verzoek (dit vertraagt het proces natuurlijk).

Webfonts voorbereiden

Aanmaken .woff2:

Gebruik https://github.com/google/woff21 om woff2 te genereren uit ttf. Dit zal een gecomprimeerd woff2-bestand produceren. Moderne browsers ondersteunen dit formaat.

Maak een bestand font.ini. Hier is een voorbeeld:

[AbyssinicaSIL]
languages=am*, ti*
version=1.200
license=OFL 1.1
licensefile=OFL.txt
url=http://scripts.sil.org/AbyssinicaSIL
request-url=https://phabricator.wikimedia.org/[Task Number]
woff2=AbyssinicaSIL.woff2
bold=AbyssinicaSIL Bold

[AbyssinicaSIL Bold]
woff2=AbyssinicaSIL-Bold.woff2
fontweight=bold

Een sterretje (*) na een taalcode betekent dat dit lettertype de standaard lettertype voor die taal zal zijn. Als u alleen maar de optie wilt om dit lettertype te gebruiken voor die taal, gebruik het sterretje dan niet.

Na het maken van de bestanden, doe het volgende:

  1. Maak een map voor het lettertype onder data/fontrepo/fonts.
  2. Zet de woff2 en font.ini bestanden in die map en voeg ze toe aan de bronrepository (git add).
  3. Ga naar de map scripts/ en voer php compile-font-repo.php uit.
  4. Commit de wijzigingen in de repository (git commit -a) en dien ze in volgens de Git-workflow.

Ondersteuning toegevoegd voor een nieuwe key koppeling (invoermethode)

Volg de instructies op de jquery.ime github wiki, maar doe bestandsverzoeken in het product Wikimedia-extensions-UniversalLanguageSelector Phabricator.

Installatie

  • Download en plaats de bestanden in de map UniversalLanguageSelector in de map extensions/.
    Ontwikkelaars en bijdragers van code moeten in plaats daarvan de extensie van Git installeren, met behulp van:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UniversalLanguageSelector
  • Voeg de volgende code onderaan het bestand LocalSettings.php toe:
    wfLoadExtension( 'UniversalLanguageSelector' );
    
  •   Klaar – Navigeer naar Special:Version op de wiki om te controleren dat de extensie geïnstalleerd is.


Vagrant installatie:

  • Wanneer Vagrant gebruikt wordt, installeer door middel van vagrant roles enable uls --provision

LanguageNameIndex bijwerken

Voor het uitvoeren van zoekopdrachten in meerdere talen, zoeken op autoniemen, moeten taalgegevens worden ingevuld. ULS wordt geleverd met een vooraf ingevulde taalnaamindex (data/langnames.ser). Als u het wilt bijwerken, installeert u Extension:CLDR en werkt u de gegevens bij met de volgende opdracht.

php UniversalLanguageSelector/data/LanguageNameIndexer.php

en controleer of het bestand langnames.ser wordt gegenereerd in de map ULS/data/.

Configuratie

De volgende variabelen worden automatisch aangemaakt tijdens de initialisatie en kunnen worden gebruikt vanuit JavaScript met behulp van mw.config.get( NAME ):

  • wgULSLanguages - een associatieve matrix waarin de sleutels taalcodes zijn en de waarden taalnamen in het Engels.
  • wgULSAcceptLanguageList - een matrix met taalcodes van de waarde Accept-Language van de gebruiker. Dit zijn de talen die zijn geselecteerd in de browservoorkeuren van de gebruiker.

Voor het weergeven van lettertypen kunt u de volgende MIME-typen aan uw webserver toevoegen als deze nog niet aanwezig zijn. Handleiding

AddType font/woff2 .woff2

Ook de volgende variabelen kunnen worden geconfigureerd:

  • $wgULSGeoService - ULS kan geolocatie-diensten gebruiken om talen voor te stellen op basis van het land van waaruit de gebruiker komt. Als u dit instelt op false, wordt voorkomen dat de ingebouwde geolocatie wordt gebruikt. U kunt uw eigen geolocatie opgeven. Geo naar object met de sleutel 'country_code' of 'country'. Als het is ingesteld op true, zal het de service geoip van Wikimedia opvragen. De dienst moet jsonp teruggeven die de geleverde callback parameter gebruikt. Is standaard ingesteld op http://freegeoip.net/json/ (waarschuwing: deze website heeft zijn API afgesloten) en verwacht hetzelfde formaat.
  • $wgULSEnable - Inschakelen van taalkeuze, compacte taallinks, inputmethoden en webfonts voor iedereen, tenzij het gedrag wordt overschreven door de onderstaande configuratie variabelen. Zelfs indien het niet klopt, worden de classes en de resource loader-modules geregistreerd voor het gebruik van andere extensies. Taalwijziging via cookie of query-parameter setlang is niet mogelijk.
  • $wgULSAnonCanChangeLanguage - Toestaan dat anonieme gebruikers de taal veranderen met cookie en setlang query param. Gebruik het niet als u anonieme pagina-views in de cache zet zonder rekening te houden met cookies. Het heeft geen effect als of $wgULSEnable of $wgULSEnableAnon is ingesteld op false.
  • $wgULSIMEEnabled - De functie voor invoermethoden standaard uitschakelen voor alle gebruikers. De gebruiker kan deze nog steeds handmatig inschakelen.
  • $wgULSPosition - De locatie en de vorm van de trigger voor het selecteren van de taal. De mogelijke waarden zijn: personal: als een link in de buurt van de gebruikersnaam of de inloglink in de persoonlijke werkbalk (standaard). interlanguage: als een symbool in de buurt van de koptekst van de lijst met intertaallinks in de zijbalk.
  • $wgULSNoImeSelectors - Matrix van jQuery selectoren van elementen waarop IME niet mag worden ingeschakeld. Bijvoorbeeld: [ '#wpCaptchaWord' ];
  • $wgULSLanguageDetection - Of de taal van de gebruiker automatisch wordt gedetecteerd uit de kop Accept-Language.

Positie van ULS trigger

  • $wgULSPosition - De locatie en de vorm van de taalkeuze-trigger. De mogelijke waarden zijn: personal: als link naast de gebruikersnaam of de log-in link in de persoonlijke toolbar (voor standaard). interlanguage: als een icoon in de buurt van de kop van de lijst van interlanguage links in de zijbalk.

Het is ook mogelijk om ULS-trigger overal op het scherm te hebben. Een element met uls-settings-trigger zal fungeren als een ULS-trigger.

Standaardlettertypen overschrijven

ULS heeft een grote repository met lettertypen om te dienen als webfonts. Soms zijn er meerdere lettertypen voor een taal/script, er is dan een standaard lettertype voor elke taal/script. De volgorde van lettertypen of standaard lettertypen kan worden overschreven met behulp van globale scripts (MediaWiki:Common.js) of persoonlijke scripts (Special:MyPage/common.js):

$.webfonts.repository.languages.languageCode = ["system", "FontA", "FontB"];

Hier moet languageCode een geldige taalcode zijn (bijv.: en, hi, nl). FontA en FontB zijn lettertypen die beschikbaar zijn in de repository hiervoor. In het bovenstaande voorbeeld voor languageCode hebben we een lettertype dat beschikbaar is op de lokale computer ingesteld als standaardlettertype, d.w.z. geen standaard webfont.

Configuratie cache

Om ervoor te zorgen dat de bestanden met webfonts op de machines van de cliënten worden opgeslagen, moeten de typen van deze bestanden worden toegevoegd aan de configuratie van de webserver. In Apache2 bestaat dit uit:

  • Het toevoegen van de lettertype bestandsextensies aan de FileTimes regex bij FilesMatch voor de relevante map, voorbeeld:
<FilesMatch "\.(gif|jpe?g|png|css|js|woff2|svg)$">
  • Het toevoegen van ExpiresByType waarden aan de relevante MIME-typen, vergelijkbaar met de MIME-types van afbeeldingen.
    • Er is geen standaard MIME-type voor TTF.

application/x-font-ttf wordt gebruikt voor Wikimedia.

  • Toevoegen van de MIME-types:
AddType font/woff2 .woff2

Zie voor een volledig voorbeeld de caching configuratie update gedaan voor het Wikimedia cluster.

Pagina vertalen

UniversalLanguageSelector is een van de afhankelijkheden van de extensie Translate/nl , die deze gebruikt voor verschillende taalselectiefuncties. Een daarvan is het MyLanguage systeem voor links, dat afhankelijk is van de interfacetaal van de gebruiker, maar er kunnen er meer worden geconfigureerd: zie Functie voor het vertalen van pagina's.

Webfonts gebruiken

De gebruiker kan weblettertypes voor een taal kiezen in de Taalinstellingen -> Meer taalinstellingen. Als standaard wordt het eerste lettertype in dat menu toegepast op de wiki. Een gebruiker kan het lettertype veranderen en het zal worden onthouden over de pagina's. Als optie kan de gebruiker de lettertype-invoeging ook uitschakelen door het systeem-lettertype te selecteren.

Als het lettertype beschikbaar is in het lokale systeem van de gebruiker zal deze niet worden geladen van de MediaWiki server. Het zal worden overgenomen van de computer van de gebruiker. Anders zal het lettertype gedownload worden van de server bij de eerste keer wanneer dat nodig is. Daarna word het lettertype geladen uit de lokale cache.

Alternatieve manieren om lettertypes te laden

Door de font-family te specificeren

In de wikitext <span style="font-family:'YourFontName';">UwTekst</span>, de extensie webfonts zal controleren of het lettertype beschikbaar is voor de extensie, het zal dan worden gedownload naar de client.

De lezer zal dus geen problemen ondervinden bij het lezen van de tekst, zelfs als het opgegeven lettertype niet beschikbaar is op zijn computer.

Door de taal te specificeren

In de wikitext <span lang="my">UwTekst</span>, zal de extensie webfonts controleren of er een lettertype beschikbaar is voor de gegeven taal met de extensie, zo ja, dan zal het deze naar de client downloaden. De lezer zal dus geen problemen ondervinden bij het lezen van de tekst, zelfs als het opgegeven lettertype niet beschikbaar is op zijn computer. Als er meerdere lettertypen voor de taal zijn, wordt het standaardlettertype gebruikt. Als het standaardlettertype niet de voorkeur heeft, gebruikt u de lettertypefamiliebenadering om het lettertype op te geven. Als de tag zowel lang- als font-family-definities heeft, krijgt font-family voorrang.

Voorbeeld:

<span lang=sux>𒄖𒉈𒅁𒌨𒅎</span>

geeft de tekst weergegeven in spijkerschrift met behulp van het Akkadische lettertype (Akkadian font)

𒄖𒉈𒅁𒌨𒅎

Zie ook