Langues prises en charge par Windows Search
Cette rubrique décrit comment Windows Search prend en charge plusieurs langues.
Jetons, séparateurs et ressources de langage
La recherche Windows est indépendante du langage, mais la précision de la recherche dans les différentes langues peut varier en raison de la façon dont séparateurs le texte de jeton. Séparateurs implémente diverses règles de création de jetons pour les langues et découpent le texte en jetons individuels, ou mots, à indexer ou Rechercher.
La langue du texte indexé et de la chaîne de requête est divisée en jetons. Étant donné que les règles de création de jetons varient selon la langue, il existe des séparateurs distincts pour chaque langue ou famille de langues. En cas de discordance entre le langage de requête et le langage indexé, les résultats peuvent être imprévisibles.
Windows Search est fourni avec un ensemble bien défini de séparateurs. Les composants de séparateur de formes classique et générateur de formes dérivées sont pris en charge dans Windows Vista et versions ultérieures. Si la langue d’un document ne peut pas être déterminée, Windows Search tente de détecter la langue pour identifier le séparateur de séparateur le plus approprié. Windows Search tente de détecter la langue en appelant la fonction GetSystemPreferredUILanguages pour déterminer la première langue de l’interface utilisateur (MUI) (généralement la langue de l’interface utilisateur système, sauf si les modules linguistiques MUI sont installés). Si cet appel a échoué, le séparateur de la première langue MUI est utilisé. Si l’appel à GetSystemPreferredUILanguages échoue, la recherche Windows récupère les paramètres régionaux système en appelant la fonction GetSystemDefaultLCID et utilise le séparateur de paramètres associé à ces paramètres régionaux.
Si aucun séparateur n’est installé pour une langue, la recherche Windows s’arrête sur les espaces blancs à l’aide du séparateur de césure neutre .
Vous pouvez supprimer une langue par le biais du Registre, comme illustré dans l’exemple suivant.
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
ContentIndex
Language
Dutch_Dutch
(Default)
Locale
NoiseFile
StemmerClass = CLSID
WBreakerClass = CLSID
Conseil
Si vous apportez des modifications au registre, redémarrez Windows Search.
Lorsque la recherche Windows requiert un nouveau séparateur de points, l’identificateur de classe (CLSID) est lu et le séparateur de date instancié est mis en cache.
Vous pouvez créer un séparateur de passe personnalisé pour une langue en implémentant l’interface IWordBreaker . Windows Search appelle ensuite les méthodes IWordBreaker lors de la création d’index de contenu et d’exécution de requêtes.
Les informations de paramètres régionaux pour le contenu indexé sont extraites de la source du contenu. Si l’implémenteur source ne connaît pas les paramètres régionaux du contenu indexé, il doit définir les paramètres régionaux sur les paramètres régionaux _ neutres.
Par exemple, si vous implémentez un gestionnaire de filtres (implémentation de l’interface IFilter ), un gestionnaire de propriétés ou un gestionnaire de protocole, vous devez définir les paramètres régionaux pour le contenu indexé sur des paramètres régionaux _ neutres , à moins que vous n’ayez des informations de paramètres régionaux spécifiques et que leur exactitude soit fiable.
Conseil
Si une requête d’index est basée sur l’entrée d’utilisateur, les paramètres régionaux doivent correspondre à la langue dans laquelle l’utilisateur tape. Vous pouvez déterminer ces paramètres régionaux en appelant la fonction GetKeyboardLayout .
Langues prises en charge par séparateurs
Windows Search comprend séparateurs pour prendre en charge les langues suivantes.
| Clé de Registre | Langue (sous-langue) | LCID |
|---|---|---|
| _SaudiArabia arabe | Arabe (neutre) | 0x0001 |
| Bengali _ par défaut | Bangla (neutre) | 0x0045 |
| Bulgare _ par défaut | Bulgare (Bulgarie) | 0x0402 |
| Catalan _ par défaut | Catalan (Catalogne) | 0x0403 |
| Chinois _ Hong Kong | Chinois (Hong Kong R.A.S., RPC) | 0x0C04 |
| Chinois _ simplifié | Chinois (simplifié) | 0x0804 |
| Chinois _ traditionnel | Chinois (traditionnel) | 0x0404 |
| Croate _ par défaut | Croate (Croatie) | 0x041A |
| _Valeur tchèque par défaut | Tchèque (République tchèque) | 0x0405 |
| _Par défaut danois | Danois (Danemark) | 0x0406 |
| Néerlandais _ néerlandais | Néerlandais (Pays-Bas) | 0x0413 |
| Anglais ( _ Royaume-Uni) | Anglais (Royaume-Uni) | 0x0809 |
| Anglais ( _ États-Unis) | Anglais (États-Unis) | 0x0409 |
| Finnois _ par défaut | Finnois (Finlande) | 0x040B |
| Français _ français | Français (France) | 0x040C |
| Allemand _ allemand | Allemand (Allemagne) | 0x0407 |
| Grec _ par défaut | Grec (Grèce) | 0x0408 |
| Gujarati _ par défaut | Goudjrati (Inde) | 0x0447 |
| Hébreu _ par défaut | Hébreu (neutre) | 0x000D |
| Hindi _ par défaut | Hindi (Inde) | 0x0439 |
| Hongrois _ par défaut | Hongrois (Hongrie) | 0x040E |
| Islandais _ par défaut | Islandais (Islande) | 0x040F |
| _Par défaut indonésien | Indonésien (Indonésie) | 0x0421 |
| Italien _ Italien | Italien (Italie) | 0x0410 |
| _Valeur japonaise par défaut | Japonais (Japon) | 0x0411 |
| _Valeur par défaut kannada | Kannada (Inde) | 0x044B |
| Coréen _ par défaut | Coréen (Corée) | 0x0412 |
| _Valeur par défaut letton | Letton (Lettonie) | 0x0426 |
| _Valeur par défaut lituanien | Lituanien (lituanien) | 0x0427 |
| _Malaisie Malaisie | Malais (Malaisie) | 0x043E |
| Malayalam _ par défaut | Malayalam (neutre) | 0x004C |
| _Par défaut mamarathi | Marathi (Inde) | 0x044E |
| _Bokmål norvégien | Norvégien (bokmål, Norvège) | 0x0414 |
| Polonais _ par défaut | Polonais (Pologne) | 0x0415 |
| Portugais ( _ Portugal) | Portugais (Portugal) | 0x0816 |
| Portugais ( _ Brésil) | Portugais (Brésil) | 0x0416 |
| Pendjabi _ par défaut | Pendjabi (Inde) | 0x0446 |
| Roumain _ par défaut | Roumain (Roumanie) | 0x0418 |
| _Valeur russe par défaut | Russe (neutre) | 0x0019 |
| Serbe _ cyrillique | Serbe (Serbie et Monténégro, ancien, cyrillique) | 0x0C1A |
| Serbe _ latin | Serbe (Serbie et Monténégro, ancien, latin) | 0x081A |
| _Valeur par défaut slovaque | Slovaque (Slovaquie) | 0x041B |
| Slovène _ par défaut | Slovène (Slovénie) | 0x0424 |
| Espagnol _ moderne | Espagnol (Espagne, moderne) | 0x0C0A |
| Suédois _ par défaut | Suédois (Suède) | 0x041D |
| Tamoul _ par défaut | Tamoul (Inde) | 0x0449 |
| Télougou _ par défaut | Télougou (Inde) | 0x044A |
| Thaï _ par défaut | Thaï (Thaïlande) | 0x041E |
| Turc _ par défaut | Turc (Turquie) | 0x041F |
| _Valeur par défaut ukrainienne | Ukrainien (Ukraine) | 0x0422 |
| Ourdou _ par défaut | Ourdou (Pakistan) | 0x0420 |
| _Valeur par défaut vietnamienne | Vietnamien (Vietnam) | 0x042A |
Notes
Les LCID de certaines langues de la table sont générés à l’aide de l’identificateur de langue, de l’identificateur de sous-langue et de l’identificateur de tri.
Pour plus d’informations sur les langages et les identificateurs associés, consultez constantes et chaînesde l’identificateur de langue.
Notes
Il n’y a aucune garantie que toutes ces clés de registre de langue seront présentes sur un ordinateur donné. Le séparateur de paramètres pour une langue donnée peut ou non être installé sur l’ordinateur en fonction des paramètres utilisateur.
À compter de Windows 8.1, la meilleure façon d’utiliser séparateurs est d’utiliser la classe WORDSSEGMENTERde l’API WinRT.
Ressources supplémentaires
- Pour plus d’informations sur la façon d’implémenter et d’utiliser des analyseurs lexicaux et des générateurs de formes dérivées personnalisés pour des langues et des paramètres régionaux supplémentaires, consultez extension des ressources linguistiques dans Windows Search.
- Si vous devez identifier la langue d’un morceau de texte, vous pouvez utiliser la détection automatique de la langue (diagnostic Linux), qui est disponible dans Windows 7 et versions ultérieures. Pour plus d’informations, consultez services linguistiques étendus (ELS).
- Pour plus d’informations sur la gestion, l’interrogation et l’extension de l’index, consultez le Guide du développeur Windows Search.