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 del 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 llamando a la función GetSystemPreferredUILanguages para determinar el primer idioma de la interfaz de usuario (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 hay ningún separador de palabras instalado para un idioma, Windows Search se interrumpe en espacios en blanco mediante el separador de palabras de 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
Propina
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 mediante la implementación de la interfazIWordBreaker. A continuación, Windows Search llama al IWordBreaker métodos 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 indexado, debe establecer la configuración regional en LOCALE_NEUTRAL.
Por ejemplo, si implementa un controlador de filtro (una implementación de la interfaz IFilter), un controlador de propiedades o un 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.
Propina
Si una consulta de índice se basa en la entrada del usuario, la configuración regional debe coincidir con el idioma en el que el usuario escribe. Para determinar esta configuración regional, llame a la funciónGetKeyboardLayout.
Idiomas admitidos por wordbreakers
Windows Search incluye separadores de palabras para admitir los siguientes idiomas.
Clave del Registro | Idioma (sublanguage) | LCID |
---|---|---|
Arabic_SaudiArabia | Árabe (neutro) | 0x0001 |
Bengali_Default | Bangla (Neutral) | 0x0045 |
Bulgarian_Default | Búlgaro (Bulgaria) | 0x0402 |
Catalan_Default | Catalán (catalán) | 0x0403 |
Chinese_HongKong | Chino (RAE de Hong Kong, PRC) | 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 | Inglés (Estados Unidos) | 0x0409 |
Finnish_Default | Finlandé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 (neutro) | 0x000D |
Hindi_Default | Hindi (India) | 0x0439 |
Hungarian_Default | Húngaro (Hungría) | 0x040E |
Icelandic_Default | Islandés (Islandia) | 0x040F |
Indonesian_Default | Indonesia (Indonesia) | 0x0421 |
Italian_Italian | Italiano (Italia) | 0x0410 |
Japanese_Default | Japonés (Japón) | 0x0411 |
Kannada_Default | Kannada (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 | Marathi (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 | Punjabi (India) | 0x0446 |
Romanian_Default | Rumano (Rumania) | 0x0418 |
Russian_Default | Ruso (neutro) | 0x0019 |
Serbian_Cyrillic | Serbio (Serbia y Montenegro, Ex, Cirílico) | 0x0C1A |
Serbian_Latin | 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 (Türkiye) | 0x041F |
Ukrainian_Default | Ucrania (Ucrania) | 0x0422 |
Urdu_Default | Urdu (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 de identificador de idioma y cadenas.
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 estar instalado o no 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 API de WinRT wordsSegmenter clase.
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, consulte Extended Linguistic Services (ELS).
- Para obtener información sobre cómo administrar, consultar y extender el índice, consulte la Guía del desarrollador de Windows Search .
Temas relacionados