Como web sites devem lidar com configurações de localização? (De “Quais são equívocos UI comuns e aborrecimentos?”)

StackOverflow https://stackoverflow.com/questions/1016709

Pergunta

Eu escolhi a tomar isso como uma questão de direito próprio, uma vez que estava gerando muito debate nos comentários do post original .

É interessante ver que um monte de pessoas no SO (que são desenvolvedor de) simplesmente não entendo localização. Aqui está a minha opinião sobre como deve funcionar:

Em todos os navegadores que eu olhei (e para os desenvolvedores .NET lá fora também) quando você olha para as preferências de cultura de um usuário que está no seguinte formato: linguagem de Cultura.

Assim, temos:

  • en-GB - idioma Inglês - cultura do Reino Unido
  • pt-BR - idioma Inglês - cultura dos Estados Unidos
  • en - idioma Inglês -. Cultura invariável
  • fr-FR - língua francesa - a cultura francesa
  • fr-CH - língua francesa - cultura suíça
  • de-CH - língua alemã - cultura suíça
  • de-DE - língua alemã - a cultura alemã

MSDN para uma lista completa de que o suporte no .NET framework.

Quando vou a um site sabe que eu quero que o idioma Inglês a partir da parte en e ele sabe que eu estou interessado em ser inclinado para o Reino Unido (formatação de número, data de formatação). Então, quando eu ir para google.com e leva-me a google.de (por causa do meu endereço IP) que é completamente bem se exibe Google.de tudo para mim em Inglês, mas completamente errado desde google.de é em alemão. Eu tenho pouco controle sobre o meu endereço IP, mas o controle completo sobre minhas configurações de idioma e cultura. Se você é novo motor de busca da Microsoft (bing.com) lida interessados ??coisas corretamente. Vamos esperar Microsoft pode aprender como fazer uma pesquisa, bem como o Google ou o Google pode aprender a localizar, bem como Microsoft;)

MSDN tem outro bom artigo aqui para mais informações

Então, quais são suas recomendações para como os sites devem lidar com localizações?

Foi útil?

Solução

A solução aqui é tão simples, é irritante que de Dev fazer qualquer outra coisa.

  1. Respeitar a configuração do navegador. Se ele diz Inglês, em seguida, por Deus que é Inglês.

  2. Se você absolutamente deve, em seguida, basta adicionar um botão na parte superior para escolher outra coisa. Então, e somente então, você substituir o navegador.

  3. Se você acha que seu caminho é melhor. Stop, ter alguém a batida você. Não é. Repita conforme necessário.

  4. Se livrar dessas páginas de abertura da web que pedem país de alguém. Basta mostrar sua página normal, baseado fora dos padrões do navegador e veja o item 2 acima. eu ainda tenho que correr em um local onde ele realmente importa atualização:. alguns anos mais tarde e agora há uma razão para fazer isso. Em 2013, no Reino Unido instituíram políticas que cercam cookies que operadores de sites precisam respeitar para sites baseados no país que estão servindo páginas para os visitantes daquele país. Então, preste atenção às leis dos países que você está hospedado no.

  5. Se acontecer de você ter um site que realmente é servida por vários servidores em vários países, então provavelmente você pode detectar que um dos servidores é realmente mais perto para servir de. Se não for possível, basta parar a loucura redirecionamento e, em seguida, não tente fazer uma determinação para eles.

Outras dicas

Se as configurações de localização estão disponíveis - incluindo, mas não limitado a, o HTTP Accept-Language cabeçalho -. Sites, então absolutamente deve respeitá-los

O argumento comum contra isso é que "os usuários médios" são suficientes não é inteligente para encontrar as configurações de idioma e configurá-los para combinar com suas próprias preferências, assim que estes ajustes são, na maioria das vezes, incorreto (a menos que o usuário passa a estar dentro os EUA).

Esta é a solução errada.

Se um segmento substancial da população usuário não pode encontrar (ou não pode ser incomodado para encontrar) configurações de idioma do seu navegador, em seguida, a resposta correta é a torná-los mais fáceis de encontrar não, para sites de ignorar o que eles têm definido. Talvez fazer configurações de idioma directamente acessível a partir de menu de nível superior do programa em vez de enterrá-lo dentro de uma caixa de diálogo sobre-complicada "Preferências". Talvez pedir preferências de idioma pela primeira vez o programa é executado. Talvez use configurações de localização do sistema operacional. Ou talvez algo completamente diferente, se é isso o que é preciso para torná-lo quase certo que o navegador estará enviando informações corretas sobre as preferências do usuário. Mas não basta deitar-se as mãos, dizer "é inútil e não pode ser corrigido!", E ignorá-lo.

Outras respostas têm falado sobre permitindo que o usuário escolha um idioma ou local em seu perfil no site, que também é importante e absolutamente deve ser padrão, mas isso é apenas para fornecer uma substituição específica do local para configurações normais do usuário. Se o usuário não tenha anulado este no site, no entanto, a ação correta é como padrão para o idioma disponível / locale mais-preferida como especificado em suas configurações do navegador, não para a base-lo em geolocalização do seu endereço IP.

Em um ponto na minha carreira, eu mantido partes da pilha TCP / IP. Isso coloca-me na posição um pouco raro de saber muito bem que os endereços IP não deve ser usado como algo além de endereços de rede-camada. Qualquer associação entre um endereço IP e uma localização é tudo, mas uma coincidência. - É um artefato da maneira como os endereços são distribuídos, não qualquer parte fundamental do que um meio de endereços IP

(Eles também não está útil como o identificador exclusivo de um computador, mas isso é uma história diferente)

Eu sugiro deixando de geolocalização fora dele. O padrão HTTP inclui um caminho para um navegador ou outro agente de usuário para incluir as preferências usuários cultura com cada pedido (e lembre-se, é uma lista de preferências ponderada, não necessariamente apenas um de cultura). Uma vez que o navegador é mais perto do usuário do que você é, você deve honrar este pedido, pelo menos como padrão.

É aprovado, em seguida, permitir que o usuário altere a sua preferência para o seu site, temporária ou permanentemente. É ainda ok para permitir que o usuário optar por exibir conteúdo diferente com diferentes configurações de cultura. Um exemplo selvagem seria um site que inclui tanto notícias políticas e informações técnicas. É bastante razoável que alguém iria querer a notícia em sua língua "natural", mas a informação técnica em Inglês.

Finalmente, é ok para ter um padrão de reversão. Se, por exemplo, você tem um site que os usuários de serviços com base em sua região (revendedores, por exemplo), então é possível que o conteúdo japonês só existe em seu sub-site regional asiática. Um usuário japonês de língua visitar o seu site EMEA só poderia estar vendo o conteúdo preso Inglês, que poderia muito bem ser sua última escolha.

Nos sites que eu crio I normalmente seguem este padrão:

  • Cada página tem um URL exclusivo com a língua em algum lugar, geralmente como /en/page ou um diferente (sub) domínio
  • Se o usuário abrir um URL com uma linguagem não especificado como /page eu começo a adivinhar:
    • É um cookie de uma sessão anterior está disponível?
    • Se não, é Accept-Language disponível e posso mapeá-lo para um idioma disponível no site?
    • Se não, se é uma possibilidade, pode Eu acho que por IP?
    • Se não, padrão para o idioma padrão do site.
  • I definir um cookie com a linguagem adivinhou e redirecionar o usuário para um site com o URL apropriado
  • Eu coloquei uma mudança de idioma em cada página, assim /en/page pode ser facilmente transferido para /xx/page
    • Cookie é atualizado se o usuário muda para uma página diferente

Idealmente, eu só tenho que adivinhar uma vez e desde então uso o cookie do usuário, ou o usuário visita a página desejada diretamente.

Eu concordo, dar ao usuário a chance de substituí-los com as preferências do usuário em seu aplicativo. Isto é especialmente útil para coisas como questões fuso horário de localização que você não pode derivar de configurações do navegador.

corro o risco de ser considerado falta de educação, mas acho que meu post sobre este tema terá respostas mais informativas, principalmente porque o meu post é realmente uma questão. Estou embora lamento que eu não encontrei esse post antes.

Há uma diferença entre padrões inteligentes e a capacidade dos usuários para substituí-los. Nas grandes aplicativos que eu já trabalhei, eu assumiu a localidade do usuário de configurações do navegador, de geolocalização, etc. - mas os usuários sempre deu um jeito de mudar facilmente

.

Eu não sei de que outra forma se poderia fazer isso. Não dando aos usuários a chance de corrigir seus pressupostos é profundamente problemático, porque você está indo para obtê-lo errado por algum tempo.

ALÉM:

Eu acho que o problema aqui é que enquanto você pode editar suas configurações de localização, se eles olham basicamente idêntico ao do padrão, não há nenhuma maneira para um desenvolvedor de aplicativos para dizer se você deixou como está intencionalmente, ou porque você don' t sabe como ou por que mudá-lo.

Eu sugiro honrar configurações de localização dos usuários, , exceto se a configuração é a esmagadora padrão, que os usuários não podem mudar. Por exemplo, eu acredito que a grande maioria (90 +%) dos usuários com uma configuração en-us geolocated no Vietnã quase sempre ser melhor servido por ver o conteúdo Vietnamita, ao invés de conteúdo US Inglês, enquanto há uma maneira trivial para locais de switch. Por outro lado, se um usuário geolocated nos EUA tem um cenário vietnamita, por todos os meios dar-lhe conteúdo vietnamita.

É este irritante para os usuários norte-Inglês no Vietnã? Certo. Mas também é o maior bem para o maior número, e ajuda a garantir que os usuários não-técnicos médios de obter a melhor experiência do mundo real. Até que possamos segurar uma arma para a cabeça dos usuários e forçá-los a declarar honestamente as suas preferências de idioma / cultura antes de ligar um computador, vamos heurísticas necessidade como esta.

Eu vi relatórios de bugs forte o suficiente de clientes que quando investigou vir a ser que um de lá os usuários tinham errado configuração de cultura do navegador, que agora deixar o cliente substituir os navegadores com uma opção de configuração. configuração de cultura do navegador está errado muitas vezes que não é muito útil, também é muito difícil para a maioria dos usuários finais para encontrar ou alterá-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top