Extension:UniversalLanguageSelector/nl
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.42.0 |
Composer | mediawiki/universal-language-selector |
Licentie |
|
Download | Onderdeel van de bundel Language Extension |
|
|
Niet compatibel met Internet Explorer 8 of lager. | |
Downloads kwartaal | 225 (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:
- Een flexibele en eenvoudige manier om een taal uit een grote groep talen te kiezen.
- Selectie kan gebaseerd zijn op geografische regio gebaseerd op het browsen en zoeken.
- Zoeken kan gebaseerd zijn op ISO-taalcode, taalnaam geschreven in de huidige gebruikersinterface taal of in het eigen script (autoniem)
- Zoeken in meerdere talen - zoek taalnamen met behulp van een willekeurig script
- Automatisch aanvullen van taalnamen
- Autocorrectie van spellingfouten in zoektekst
- Geo IP-gebaseerde taalvoorstellen
- Taalkeuze op basis van gebruikersbrowser/OS-taal
- Invoermethoden
- Zie Help:Extension:UniversalLanguageSelector/Input methods/nl voor volledige instructies.
- Een gemakkelijk te selecteren inputmethode collectie, gemakkelijk beschikbaar in elk bewerkbaar veld
- Biedt een grote reeks invoermethoden voor een breed scala aan talen
- Een verouderde lijst is beschikbaar op Extensie Narayam - Ondersteunde schema's
- Voorkeuren per taal voor de invoermethode
- Webfonts
- Een grote verzameling lettertypen om uit te kiezen voor elke taal om te gebruiken als ingesloten lettertype voor de pagina
- U kunt bladeren door alle hier standaard lettertypen
- Voorkeuren per taal voor het lettertype
- Een grote verzameling lettertypen om uit te kiezen voor elke taal om te gebruiken als ingesloten lettertype voor de pagina
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.
Webfonts voorbereiden
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).
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:
- Maak een map voor het lettertype onder
data/fontrepo/fonts
. - Zet de woff2 en font.ini bestanden in die map en voeg ze toe aan de bronrepository (
git add
). - Ga naar de map
scripts/
en voerphp compile-font-repo.php
uit. - 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 mapextensions/
.
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 opfalse
.$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
- Universal Language Selector/nl
- Framework voor interactieontwerp
- Technisch ontwerp
- Technische details van de functie Webfonts
- Extension:Google Translator
Deze uitbreiding wordt gebruikt op een of meerdere Wikimedia projecten. Dit betekent waarschijnlijk dat de uitbreiding stabiel is en goed werkt op dergelijke vaak bezochte websites. Zoek op de naam van deze uitbreiding in Wikimedia's CommonSettings.php en InitialiseSettings.php om te zien waar deze is geïnstalleerd. Een volledige lijst van de uitbreidingen die geïnstalleerd zijn op een bepaalde wiki kan worden gevonden op de Special:Version pagina van de wiki. |
Deze uitbreiding is beschikbaar op de volgende wiki-families en/of onderdeel van de volgende pakketten: Dit is geen gezaghebbende lijst. Sommige wikifarms/hosts en/of pakketten kunnen deze extensie bevatten, zelfs als ze hier niet worden vermeld. Controleer het altijd bij uw wiki farms/hosts of bundel. |