Compartilhar via


Idiomas compatíveis com a Pesquisa do Windows

Este tópico descreve como o Windows Search dá suporte a vários idiomas.

Tokenization, Wordbreakers e Recursos de Linguagem

A Pesquisa do Windows é independente de linguagem, mas a precisão da pesquisa entre idiomas pode variar devido à maneira como os quebra-palavras tokenizam o texto. Os quebra-palavras implementam várias regras de token para idiomas e dividem o texto em tokens individuais, ou palavras, para serem indexados ou pesquisados.

O idioma do texto indexado e a cadeia de caracteres de consulta são divididos em tokens. Como as regras de tokenização variam de acordo com o idioma, há quebra-palavras separadas para cada idioma ou família de idiomas. Se houver uma incompatibilidade entre a linguagem de consulta e o idioma indexado, os resultados poderão ser imprevisíveis.

O Windows Search é fornecido com um conjunto bem definido de quebra-palavras. Componentes clássicos do quebra-palavras e do lematizador têm suporte no Windows Vista e posteriores. Se o idioma de um documento não puder ser determinado, a Pesquisa do Windows tentará detectar o idioma para identificar o quebra-palavras mais apropriado. O Windows Search tenta detectar o idioma chamando a função GetSystemPreferredUILanguages para determinar a primeira linguagem MUI (Interface do Usuário Múltipla) (que normalmente é a linguagem de interface do usuário do sistema, a menos que os pacotes de idiomas MUI estejam instalados). Se essa chamada for bem-sucedida, o quebra-palavras da primeira linguagem MUI será usado. Se a chamada para GetSystemPreferredUILanguages falhar, o Windows Search recuperará a localidade do sistema chamando a função GetSystemDefaultLCID e usará o quebra-palavras associado a essa localidade.

Se nenhum quebra-palavras estiver instalado para um idioma, a Pesquisa do Windows interromperá o espaço em branco usando o quebra-palavras neutro do.

Você pode remover um idioma por meio do registro, conforme ilustrado no exemplo a seguir.

HKEY_LOCAL_MACHINE
   SYSTEM
      CurrentControlSet
         Control
            ContentIndex
               Language
                  Dutch_Dutch
                     (Default)
                     Locale
                     NoiseFile
                     StemmerClass = CLSID
                     WBreakerClass = CLSID

Ponta

Se você fizer alterações no registro, reinicie a Pesquisa do Windows.

 

Quando o Windows Search requer um novo quebra-palavras, o CLSID (identificador de classe) é lido e o quebra-palavras instanciado é armazenado em cache.

Você pode criar um quebra-palavras personalizado para um idioma implementando a interface deIWordBreaker. O Windows Search chama os métodos IWordBreaker quando cria índices de conteúdo e executa consultas.

As informações de localidade do conteúdo indexado são recuperadas da origem do conteúdo. Se o implementador de origem não souber a localidade do conteúdo indexado, ele deverá definir a localidade como LOCALE_NEUTRAL.

Por exemplo, se você implementar um manipulador de filtro (uma implementação da interfaceIFilter), manipulador de propriedades ou manipulador de protocolo, deverá definir a localidade do conteúdo indexado como LOCALE_NEUTRAL a menos que você tenha informações de localidade específicas e esteja confiante de sua precisão.

Ponta

Se uma consulta de índice for baseada na entrada do usuário, a localidade deverá corresponder ao idioma no qual o usuário está digitando. Você pode determinar essa localidade chamando a função GetKeyboardLayout.

 

Idiomas compatíveis com o Wordbreakers

A Pesquisa do Windows inclui quebra-palavras para dar suporte aos seguintes idiomas.

Chave do Registro Idioma (sublanguagem) LCID
Arabic_SaudiArabia Árabe (neutro) 0x0001
Bengali_Default Bangla (neutro) 0x0045
Bulgarian_Default Búlgaro (Bulgária) 0x0402
Catalan_Default Catalão (catalão) 0x0403
Chinese_HongKong Chinês (Hong Kong SAR, PRC) 0x0C04
Chinese_Simplified Chinês (simplificado) 0x0804
Chinese_Traditional Chinês (Tradicional) 0x0404
Croatian_Default Croata (Croácia) 0x041A
Czech_Default Tcheco (República Tcheca) 0x0405
Danish_Default Dinamarquês (Dinamarca) 0x0406
Dutch_Dutch Holandês (Países Baixos) 0x0413
English_UK Inglês (Reino Unido) 0x0809
English_US Inglês (Estados Unidos) 0x0409
Finnish_Default Finlandês (Finlândia) 0x040B
French_French Francês (França) 0x040C
German_German Alemão (Alemanha) 0x0407
Greek_Default Grego (Grécia) 0x0408
Gujarati_Default Gujarati (Índia) 0x0447
Hebrew_Default Hebraico (Neutro) 0x000D
Hindi_Default Hindi (Índia) 0x0439
Hungarian_Default Húngaro (Hungria) 0x040E
Icelandic_Default Islandês (Islândia) 0x040F
Indonesian_Default Indonésio (Indonésia) 0x0421
Italian_Italian Italiano (Itália) 0x0410
Japanese_Default Japonês (Japão) 0x0411
Kannada_Default Kannada (Índia) 0x044B
Korean_Default Coreano (Coreia) 0x0412
Latvian_Default Letão (Letônia) 0x0426
Lithuanian_Default Lituano (lituano) 0x0427
Malay_Malaysia Malaio (Malásia) 0x043E
Malayalam_Default Malayalam (neutro) 0x004C
Marathi_Default Marathi (Índia) 0x044E
Norwegian_Bokmal Norueguês (Bokmål, Noruega) 0x0414
Polish_Default Polonês (Polônia) 0x0415
Portuguese_Portugal Português (Portugal) 0x0816
Portuguese_Brazil Português (Brasil) 0x0416
Punjabi_Default Punjabi (Índia) 0x0446
Romanian_Default Romeno (Romênia) 0x0418
Russian_Default Russo (neutro) 0x0019
Serbian_Cyrillic Sérvio (Sérvia e Montenegro, Antigo, Cirílico) 0x0C1A
Serbian_Latin Sérvio (Sérvia e Montenegro, Antigo, Latino) 0x081A
Slovak_Default Eslovaco (Eslováquia) 0x041B
Slovenian_Default Esloveno (Eslovênia) 0x0424
Spanish_Modern Espanhol (Espanha, Classificação Moderna) 0x0C0A
Swedish_Default Sueco (Suécia) 0x041D
Tamil_Default Tâmil (Índia) 0x0449
Telugu_Default Telugu (Índia) 0x044A
Thai_Default Tailandês (Tailândia) 0x041E
Turkish_Default Turco (Türkiye) 0x041F
Ukrainian_Default Ucraniano (Ucrânia) 0x0422
Urdu_Default Urdu (Paquistão) 0x0420
Vietnamese_Default Vietnamita (Vietnã) 0x042A

 

Nota

LCIDs para alguns idiomas na tabela são gerados usando o identificador de idioma, o identificador de sublanguagem e o identificador de classificação.

 

Para obter mais informações sobre idiomas e identificadores associados, consulte constantes e cadeias de caracteres do identificador de linguagem.

Nota

Não há garantia de que todas essas chaves do Registro de Idioma estarão presentes em qualquer computador específico. O quebra-palavras para um determinado idioma pode ou não ser instalado no computador, dependendo das configurações do usuário.

 

Começando no Windows 8.1, a maneira preferida de usar quebra-palavras é por meio da classeda API do WinRTWordsSegmenter.

Recursos adicionais

  • Para obter informações sobre como implementar e usar separadores de palavras personalizados e lematizadores para idiomas e localidades adicionais, consulte Estendendo recursos de idioma node Pesquisa do Windows.
  • Se você precisar identificar o idioma de um texto, poderá usar a Detecção Automática de Idioma (LAD), que está disponível no Windows 7 e posterior. Para obter mais informações, consulte ELS (Serviços Linguísticos Estendidos).
  • Para obter informações sobre como gerenciar, consultar e estender o índice, consulte o guia do desenvolvedor do Windows Search.

de Visão Geral da Pesquisa do Windows

o Windows Search como uma plataforma de desenvolvimento

usando código gerenciado com dados do Shell e de pesquisa do Windows