Idiomas admitidos por Windows Search
En este tema se describe cómo Windows Search admite varios idiomas.
Tokenización, separadores de palabras y recursos de lenguaje
Windows Search es independiente del idioma, pero la precisión de la búsqueda entre idiomas puede variar debido a la forma en que los separadores de palabras tokenizan el texto. Los separadores de palabras implementan varias reglas de tokenización para los idiomas y dividen el texto en tokens individuales, o palabras, que se van a indexar o buscar.
Tanto el idioma del texto indizado como la cadena de consulta se dividen en tokens. Dado que las reglas de tokenización varían según el idioma, hay separados separados para cada idioma o familia de idiomas. Si hay un error de coincidencia entre el lenguaje de consulta y el lenguaje indizado, los resultados pueden ser impredecibles.
Windows Search se distribuye con un conjunto bien definido de separadores de palabras. Los componentes clásicos de separador de palabras y lematizador se admiten en Windows Vista y versiones posteriores. Si no se puede determinar el idioma de un documento, Windows Search intenta detectar el idioma para identificar el separador de palabras más adecuado. Windows Search intenta detectar el idioma mediante una llamada a la función GetSystemPreferredUILanguages para determinar el primer idioma de la interfaz de usuario múltiple (MUI), que suele ser el idioma de la interfaz de usuario del sistema a menos que se instalen paquetes de idioma MUI). Si esa llamada se realiza correctamente, se usa el separador de palabras del primer idioma MUI. Si se produce un error en la llamada a GetSystemPreferredUILanguages , Windows Search recupera la configuración regional del sistema llamando a la función GetSystemDefaultLCID y usa el separador de palabras asociado a esa configuración regional.
Si no se instala ningún separador de palabras para un idioma, Windows Search se interrumpe en espacios en blanco mediante el separador de palabras neutral .
Puede quitar un idioma a través del Registro, como se muestra en el ejemplo siguiente.
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
ContentIndex
Language
Dutch_Dutch
(Default)
Locale
NoiseFile
StemmerClass = CLSID
WBreakerClass = CLSID
Sugerencia
Si realiza cambios en el registro, reinicie Windows Search.
Cuando Windows Search requiere un nuevo separador de palabras, se lee el identificador de clase (CLSID) y se almacena en caché el separador de palabras con instancias.
Puede crear un separador de palabras personalizado para un lenguaje implementando la interfaz IWordBreaker . A continuación, Windows Search llama a los métodos IWordBreaker cuando compila índices de contenido y ejecuta consultas.
La información de configuración regional del contenido indexado se recupera del origen del contenido. Si el implementador de origen no conoce la configuración regional del contenido indizado, debe establecer la configuración regional en LOCALE_NEUTRAL.
Por ejemplo, si implementa un controlador de filtro (una implementación de la interfaz IFilter ), el controlador de propiedades o el controlador de protocolo, debe establecer la configuración regional del contenido indexado en LOCALE_NEUTRAL a menos que tenga información de configuración regional específica y esté seguro de su precisión.
Sugerencia
Si una consulta de índice se basa en la entrada del usuario, la configuración regional debe coincidir con el idioma en el que escribe el usuario. Para determinar esta configuración regional, llame a la función GetKeyboardLayout .
Idiomas admitidos por los separadores de palabras
Windows Search incluye separadores de palabras para admitir los siguientes idiomas.
Clave del Registro | Idioma (sublanguage) | LCID |
---|---|---|
Arabic_SaudiArabia | Árabe (neutral) | 0x0001 |
Bengali_Default | Bangla (Neutral) | 0x0045 |
Bulgarian_Default | Búlgaro (Bulgaria) | 0x0402 |
Catalan_Default | Catalán (España) | 0x0403 |
Chinese_HongKong | Chino (Hong Kong ZAE, RPC) | 0x0C04 |
Chinese_Simplified | Chino (simplificado) | 0x0804 |
Chinese_Traditional | Chino (tradicional) | 0x0404 |
Croatian_Default | Croata (Croacia) | 0x041A |
Czech_Default | Checo (República Checa) | 0x0405 |
Danish_Default | Danés (Dinamarca) | 0x0406 |
Dutch_Dutch | Neerlandés (Países Bajos) | 0x0413 |
English_UK | Inglés (Reino Unido) | 0x0809 |
English_US | Spanish (Traditional Sort) - Spain | 0x0409 |
Finnish_Default | Finés (Finlandia) | 0x040B |
French_French | Francés (Francia) | 0x040C |
German_German | Alemán (Alemania) | 0x0407 |
Greek_Default | Griego (Grecia) | 0x0408 |
Gujarati_Default | Gujarati (India) | 0x0447 |
Hebrew_Default | Hebreo (Neutral) | 0x000D |
Hindi_Default | Hindi (India) | 0x0439 |
Hungarian_Default | Húngaro (Hungría) | 0x040E |
Icelandic_Default | Islandés (Islandia) | 0x040F |
Indonesian_Default | Indonesio (Indonesia) | 0x0421 |
Italian_Italian | Italiano (Italia) | 0x0410 |
Japanese_Default | Japonés (Japón) | 0x0411 |
Kannada_Default | Canarés (India) | 0x044B |
Korean_Default | Coreano (Corea) | 0x0412 |
Latvian_Default | Letón (Letonia) | 0x0426 |
Lithuanian_Default | Lituano (lituano) | 0x0427 |
Malay_Malaysia | Malayo (Malasia) | 0x043E |
Malayalam_Default | Malayalam (Neutral) | 0x004C |
Marathi_Default | Maratí (India) | 0x044E |
Norwegian_Bokmal | Noruego (Bokmål, Noruega) | 0x0414 |
Polish_Default | Polaco (Polonia) | 0x0415 |
Portuguese_portugal | Portugués (Portugal) | 0x0816 |
Portuguese_Brazil | Portugués (Brasil) | 0x0416 |
Punjabi_Default | Punjabí (India) | 0x0446 |
Romanian_Default | Rumano (Rumanía) | 0x0418 |
Russian_Default | Ruso (neutral) | 0x0019 |
Serbio cirílico | Serbio (Serbia y Montenegro, Antiguo, Cirílico) | 0x0C1A |
Serbio latín | Serbio (Serbia y Montenegro, Antiguo, Latino) | 0x081A |
Slovak_Default | Eslovaco (Eslovaquia) | 0x041B |
Slovenian_Default | Esloveno (Eslovenia) | 0x0424 |
Spanish_Modern | Español (España, Ordenación Moderna) | 0x0C0A |
Swedish_Default | Sueco (Suecia) | 0x041D |
Tamil_Default | Tamil (India) | 0x0449 |
Telugu_Default | Telugu (India) | 0x044A |
Thai_Default | Tailandés (Tailandia) | 0x041E |
Turkish_Default | Turco (Turquía) | 0x041F |
Ukrainian_Default | Ucraniano (Ucrania) | 0x0422 |
Urdu_Default | Urdú (Pakistán) | 0x0420 |
Vietnamese_Default | Vietnamita (Vietnam) | 0x042A |
Nota:
Los LCID para algunos idiomas de la tabla se generan mediante el identificador de idioma, el identificador de sublanguaje y el identificador de ordenación.
Para obtener más información sobre los idiomas y los identificadores asociados, vea Constantes y cadenas de identificador de idioma.
Nota:
No hay ninguna garantía de que todas estas claves del Registro de idioma estén presentes en cualquier máquina determinada. El separador de palabras de cualquier idioma determinado puede o no instalarse en la máquina en función de la configuración del usuario.
A partir de Windows 8.1, la manera preferida de usar separadores de palabras es a través de la clase WordsSegmenter de la API de WinRT.
Recursos adicionales
- Para obtener información sobre cómo implementar y usar separadores de palabras y lematizadores personalizados para idiomas y configuraciones regionales adicionales, consulta Extender recursos de idioma en Windows Search.
- Si necesitas identificar el idioma de un fragmento de texto, puedes usar detección automática de idioma (LAD), que está disponible en Windows 7 y versiones posteriores. Para obtener más información, vea Extended Linguistic Services (ELS).
- Para obtener información sobre cómo administrar, consultar y extender el índice, vea la Guía del desarrollador de Windows Search.
Temas relacionados