Acabei de abrir uma página da web no Google Chrome e diz "Esta página está em japonês, você gostaria de traduzi-la?".
Pedir uma tradução presumivelmente enviaria o conteúdo para o Google, mas como o idioma é identificado em primeiro lugar? Isso é feito localmente, no navegador? Ou isso também envia a página para o Google? Se sim, não devo pedir permissão primeiro? A página em si não possui marcação para indicar o idioma e é uma página interna da intranet, de modo que não tenho certeza de que o Google deveria ter acesso ao seu conteúdo.
google-chrome
privacy
translation
Thilo
fonte
fonte
Respostas:
O navegador Chrome pode identificar, ou pelo menos adivinhar, o idioma da página observando vários fatores na página:
Isso pode ser feito localmente, sem qualquer conexão com a Internet ou relatórios ao Google.
A tradução do conteúdo enviaria definitivamente o conteúdo da página aos servidores do Google para tradução.
fonte
chrome.dll
recentemente? É enorme! Não examinei o código (maciço) recentemente, mas sem dúvida há uma função ou duas integradas para detecção de idioma (não é tão difícil).A função é chamada
DeterminePageLanguage
. Está no arquivocomponents/translate/core/language_detection/language_detection_util.cc
O Chrome verifica primeiro o atributo HTML
lang
e, se não estiver presente, verifica oContent-Language
cabeçalho HTTP . Então, obtém uma previsãocld3
.O Compact Language Detector v3 (ou CLD3) é um modelo de rede neural para identificação de idiomas. O README declara:
Então, basicamente, eles baixaram cópias de vários sites e pagaram a alguém para olhar o texto nesses sites e dizer em que idioma eles estavam escritos. Em seguida, eles dividiram o texto em n-gramas (grupos de n letras) e assim por diante e usou uma rede neural para aprender um mapeamento entre distribuições de n-grama e idiomas.
Então agora eles têm 2 variáveis:
language
que é definido a partir do HTML ou do cabeçalho (lembre-se de que o atributo HTML tem precedência se ambos estiverem presentes)cld_language
que é uma previsão baseada nas frequências de grupos de letras na páginaEm seguida, chegamos a essa série de instruções if (editei a parte em que eles enviam dados de análise sobre incompatibilidades de idioma)
O CLD3 é pequeno e é executado localmente. Na verdade, é de código aberto e eles distribuem um modelo pré-treinado (embora o código para treinar o modelo e os dados que eles usaram não estejam disponíveis). Você pode usá-lo em seus projetos.
Há até ligações Python (não oficiais e não mantidas) para o código C ++ original (você precisará instalar o Cython )
fonte