Talen die worden ondersteund door Windows Search
In dit onderwerp wordt beschreven hoe Windows Search ondersteuning biedt voor meerdere talen.
Tokenisatie, Wordbreakers en Taalbronnen
Windows Search is taalonafhankelijk, maar de nauwkeurigheid van zoeken in verschillende talen kan variëren vanwege de manier waarop woordbrekers tekst tokeniseren. Wordbreakers implementeren verschillende tokenisatieregels voor talen en splitsen tekst in afzonderlijke tokens of woorden die moeten worden geïndexeerd of doorzocht.
Zowel de taal van de geïndexeerde tekst als de querytekenreeks worden onderverdeeld in tokens. Omdat tokenisatieregels per taal verschillen, zijn er afzonderlijke woordscheidingstekens voor elke taal of familie van talen. Als de querytaal en de geïndexeerde taal niet overeenkomen, kunnen de resultaten onvoorspelbaar zijn.
Windows Search wordt geleverd met een goed gedefinieerde set woordbrekers. Klassieke woordbreker- en stemmeronderdelen worden ondersteund in Windows Vista en hoger. Als de taal van een document niet kan worden bepaald, probeert Windows Search de taal te detecteren om de meest geschikte woordbreker te identificeren. Windows Search probeert de taal te detecteren door de GetSystemPreferredUILanguages functie aan te roepen om de eerste MUI-taal (Multiple User Interface) te bepalen (dit is meestal de taal van de systeemgebruikersinterface, tenzij MUI-taalpakketten zijn geïnstalleerd). Als deze aanroep slaagt, wordt de woordbreker voor de eerste MUI-taal gebruikt. Als de aanroep naar GetSystemPreferredUILanguages mislukt, haalt Windows Search de landinstelling van het systeem op door de functie GetSystemDefaultLCID- aan te roepen en wordt de woordscheiding gebruikt die aan die landinstelling is gekoppeld.
Als er geen woordverbreking is geïnstalleerd voor een taal, wordt Windows Search verbroken op witruimte met behulp van de Neutrale woordverbreking.
U kunt een taal verwijderen via het register, zoals wordt geïllustreerd in het volgende voorbeeld.
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
ContentIndex
Language
Dutch_Dutch
(Default)
Locale
NoiseFile
StemmerClass = CLSID
WBreakerClass = CLSID
Fooi
Als u wijzigingen aanbrengt in het register, start u Windows Search opnieuw.
Wanneer Windows Search een nieuwe woordbreker vereist, wordt de klasse-id (CLSID) gelezen en wordt de geïnstantieerde woordbreaker in de cache opgeslagen.
U kunt een aangepaste woordbreker voor een taal maken door de interface IWordBreaker te implementeren. Windows Search roept vervolgens de IWordBreaker- methoden aan wanneer inhoudsindexen worden gebouwd en query's worden uitgevoerd.
Informatie over landinstellingen voor geïndexeerde inhoud wordt opgehaald uit de bron van de inhoud. Als de bron-implementeerfunctie de landinstelling van de geïndexeerde inhoud niet kent, moet de landinstelling worden ingesteld op LOCALE_NEUTRAL.
Als u bijvoorbeeld een filterhandler implementeert (een implementatie van de IFilter interface), eigenschapshandler of protocolhandler, moet u de landinstelling voor geïndexeerde inhoud instellen op LOCALE_NEUTRAL, tenzij u specifieke landinstellingengegevens hebt en er zeker van zijn dat deze correct zijn.
Fooi
Als een indexquery is gebaseerd op gebruikersinvoer, moet de landinstelling overeenkomen met de taal waarin de gebruiker typt. U kunt deze landinstelling bepalen door de functie GetKeyboardLayout aan te roepen.
Talen die worden ondersteund door Wordbreakers
Windows Search bevat woordbrekers ter ondersteuning van de volgende talen.
Registersleutel | Taal (subtaal) | LCID |
---|---|---|
Arabic_SaudiArabia | Arabisch (neutraal) | 0x0001 |
Bengali_Default | Bangla (neutraal) | 0x0045 |
Bulgarian_Default | Bulgaars (Bulgarije) | 0x0402 |
Catalan_Default | Catalaans (Catalaans) | 0x0403 |
Chinese_HongKong | Chinees (Hongkong SAR, Volksrepubliek China) | 0x0C04 |
Chinese_Simplified | Chinees (vereenvoudigd) | 0x0804 |
Chinese_Traditional | Chinees (traditioneel) | 0x0404 |
Croatian_Default | Kroatisch (Kroatië) | 0x041A |
Czech_Default | Tsjechisch (Tsjechische Republiek) | 0x0405 |
Danish_Default | Deens (Denemarken) | 0x0406 |
Dutch_Dutch | Nederlands (Nederland) | 0x0413 |
English_UK | Engels (Verenigd Koninkrijk) | 0x0809 |
English_US | Engels (Verenigde Staten) | 0x0409 |
Finnish_Default | Fins (Finland) | 0x040B |
French_French | Frans (Frankrijk) | 0x040C |
German_German | Duits (Duitsland) | 0x0407 |
Greek_Default | Grieks (Griekenland) | 0x0408 |
Gujarati_Default | Gujarati (India) | 0x0447 |
Hebrew_Default | Hebreeuws (neutraal) | 0x000D |
Hindi_Default | Hindi (India) | 0x0439 |
Hungarian_Default | Hongaars (Hongarije) | 0x040E |
Icelandic_Default | IJslands (IJsland) | 0x040F |
Indonesian_Default | Indonesisch (Indonesië) | 0x0421 |
Italian_Italian | Italiaans (Italië) | 0x0410 |
Japanese_Default | Japans (Japan) | 0x0411 |
Kannada_Default | Kannada (India) | 0x044B |
Korean_Default | Koreaans (Korea) | 0x0412 |
Latvian_Default | Lets (Letland) | 0x0426 |
Lithuanian_Default | Litouws (Litouws) | 0x0427 |
Malay_Malaysia | Maleis (Maleisië) | 0x043E |
Malayalam_Default | Malayalam (neutraal) | 0x004C |
Marathi_Default | Marathi (India) | 0x044E |
Norwegian_Bokmal | Noors (Bokmål, Noorwegen) | 0x0414 |
Polish_Default | Pools (Polen) | 0x0415 |
Portuguese_Portugal | Portugees (Portugal) | 0x0816 |
Portuguese_Brazil | Portugees (Brazilië) | 0x0416 |
Punjabi_Default | Punjabi (India) | 0x0446 |
Romanian_Default | Roemeens (Roemenië) | 0x0418 |
Russian_Default | Russisch (neutraal) | 0x0019 |
Serbian_Cyrillic | Servisch (Servië en Montenegro, voormalig, Cyrillisch) | 0x0C1A |
Serbian_Latin | Servisch (Servië en Montenegro, voormalig, Latijns) | 0x081A |
Slovak_Default | Slowaaks (Slowakije) | 0x041B |
Slovenian_Default | Sloveens (Slovenië) | 0x0424 |
Spanish_Modern | Spaans (Spanje, moderne sortering) | 0x0C0A |
Swedish_Default | Zweeds (Zweden) | 0x041D |
Tamil_Default | Tamil (India) | 0x0449 |
Telugu_Default | Telugu (India) | 0x044A |
Thai_Default | Thai (Thailand) | 0x041E |
Turkish_Default | Turks (Türk calendar) | 0x041F |
Ukrainian_Default | Oekraïens (Oekraïne) | 0x0422 |
Urdu_Default | Urdu (Pakistan) | 0x0420 |
Vietnamese_Default | Vietnamees (Vietnam) | 0x042A |
Notitie
LCID's voor sommige talen in de tabel worden gegenereerd met behulp van de taal-id, subtaal-id en sorteer-id.
Zie Language Identifier Constants and Stringsvoor meer informatie over talen en bijbehorende id's.
Notitie
Er is geen garantie dat al deze taalregistersleutels aanwezig zijn op een bepaalde computer. De woordbreker voor een bepaalde taal kan al dan niet op de computer worden geïnstalleerd, afhankelijk van de gebruikersinstellingen.
vanaf Windows 8.1is de voorkeursmethode voor het gebruik van woordverbrekers via de WinRT-API WordsSegmenter-klasse.
Aanvullende informatiebronnen
- Zie Uitbreiden van taalresources in Windows Searchvoor meer talen en landinstellingen voor informatie over het implementeren en gebruiken van aangepaste woordonderbrekers en stemmers.
- Als u de taal van een stuk tekst wilt identificeren, kunt u Taal automatisch detecteren (LAD) gebruiken, die beschikbaar is in Windows 7 en hoger. Zie Extended Linguistic Services (ELS) voor meer informatie.
- Zie de Handleiding voor ontwikkelaars van Windows Searchvoor informatie over het beheren, opvragen en uitbreiden van de index.
Verwante onderwerpen