Publicado: 24 de setembro de 2024, Última atualização: 20 de maio de 2025
Explicação | Web | Extensões | Status do Chrome | Intenção |
---|---|---|---|---|
GitHub | Ver | Intent de envio |
Antes de traduzir um texto de um idioma para outro, você precisa determinar qual idioma é usado no texto. Antes, a tradução exigia fazer o upload do texto para um serviço em nuvem, realizar a tradução no servidor e fazer o download dos resultados.
A API Language Detector funciona do lado do cliente, o que significa que você pode proteger a privacidade do usuário. Embora seja possível enviar uma biblioteca específica que faça isso, seriam necessários recursos adicionais para fazer o download.
Quando usar a detecção de idioma
A API Language Detector é útil principalmente nos seguintes cenários:
- Determina o idioma do texto de entrada para que ele possa ser traduzido.
- Determine o idioma do texto de entrada para que o modelo correto possa ser carregado para tarefas específicas de linguagem, como a detecção de toxicidade.
- Determinar a linguagem do texto de entrada para que ele possa ser rotulado corretamente, por exemplo, em sites de redes sociais on-line.
- Determine o idioma do texto de entrada para que a interface de um app possa ser ajustada de acordo. Por exemplo, em um site belga, mostrar apenas a interface relevante para usuários que falam francês.
Primeiros passos
A API Language Detector está disponível no Chrome 138 estável. Execute a detecção de recursos para saber se o navegador oferece suporte à API Language Detector.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
Analisar os requisitos de hardware
As APIs Language Detector e Translator funcionam em computadores somente no Chrome.
As APIs Prompt, Summarizer, Writer e Rewriter funcionam no Chrome quando as seguintes condições são atendidas:
- Sistema operacional: Windows 10 ou 11, macOS 13 ou mais recente (Ventura e versões mais recentes) ou Linux. O Chrome para Android, iOS e ChromeOS ainda não são compatíveis com nossas APIs com suporte do Gemini Nano.
- Armazenamento: pelo menos 22 GB no volume que contém seu perfil do Chrome.
- GPU: estritamente mais de 4 GB de VRAM.
- Rede: dados ilimitados ou uma conexão ilimitada.
- GPU: estritamente mais de 4 GB de VRAM.
- Rede: dados ilimitados ou uma conexão ilimitada.
Esses requisitos existem para você no processo de desenvolvimento e para os usuários que trabalham com os recursos que você cria.
Download do modelo
A detecção de idioma depende de um modelo ajustado para a tarefa específica de detectar idiomas. Enquanto a API é criada no navegador, o modelo é transferido por download sob demanda na primeira vez que um site tenta usar a API. No Chrome, esse modelo é muito pequeno em comparação com outros. Talvez ele já esteja presente, já que esse modelo é usado por outros recursos do Chrome.
Para saber se o modelo está pronto para uso, chame a função
LanguageDetector.availability()
assíncrona e inspecione a promessa resultante.
Há três respostas possíveis:
"unavailable"
: as opções solicitadas não têm suporte ou o modelo não pode ser solicitado."downloadable"
: a solicitação tem suporte, mas outros downloads são necessários para criar uma sessão. Esses downloads podem incluir o modelo de linguagem ou o ajuste fino."downloading"
: a solicitação tem suporte e um download está em andamento, o que precisa ser concluído antes de criar uma sessão."available"
: a solicitação tem suporte e é possível criar uma sessão.
Para acionar o download e instanciar o detector de idioma, chame a
função LanguageDetector.create()
assíncrona. Se a resposta para
availability()
foi 'downloadable'
ou 'downloading'
, é recomendável detectar o progresso
do download para informar o usuário caso o download demore.
O exemplo a seguir demonstra como inicializar o detector de idioma.
const availability = await LanguageDetector.availability();
let detector;
if (availability === 'unavailable') {
// The language detector isn't usable.
return;
}
if (availability === 'available') {
// The language detector can immediately be used.
detector = await LanguageDetector.create();
} else {
// The language detector can be used after model download.
detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
await detector.ready;
}
Executar o detector de idioma
A API Language Detector usa um modelo de classificação para determinar qual idioma é mais provável de ser usado em um determinado texto. O ranking é um tipo de aprendizado de máquina, em que o objetivo é ordenar uma lista de itens. Nesse caso, a API Language Detector classifica os idiomas da maior para a menor probabilidade.
A função detect()
pode retornar o primeiro resultado, a resposta mais provável ou iterar os candidatos classificados com o nível de confiança.
Isso é retornado como uma lista de objetos {detectedLanguage, confidence}
. O
nível confidence
é expresso como um valor entre 0.0
(menor confiança)
e 1.0
(maior confiança).
const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
Playground da API
Teste a API Language Detector no nosso API playground. Digite texto em diferentes idiomas no campo de texto.
Esforço de padronização
A equipe do Chrome pediu feedback do W3C Technical Architecture Group e pediu à Mozilla e ao WebKit as posições dos padrões.
Envie feedback
Queremos saber o que você está criando com a API Language Detector. Compartilhe seus sites e aplicativos da Web com a gente no X, YouTube e LinkedIn.
Se você tiver feedback sobre a implementação do Chrome, registre um bug do Chromium.