Share via


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.

Información general sobre Windows Search

Windows Search como plataforma de desarrollo

Uso de código administrado con datos de shell y Windows Search