En el pasado, escribí un pequeño proyecto web experimental cuando trabajaba en una empresa de software extranjera. Parte del requisito era admitir varios idiomas (chino simplificado, chino tradicional, inglés, coreano, japonés) para el usuario. En ese momento, se utilizó tecnología de plantilla para implementarlo. Este requisito se cumple y la configuración del usuario se guarda mediante cookies. Sin embargo, el usuario aún debe seleccionar el idioma al iniciar sesión por primera vez (o después de eliminar las cookies). ). Entonces, ¿puede ser más conveniente para los usuarios? ¿Se puede utilizar un programa para ayudar automáticamente con la selección?
La respuesta es sí, todo el mundo utiliza Google. Si utiliza el sistema chino para abrir la página de inicio de Google, naturalmente se abrirá la página de inicio en chino, no en otros idiomas. Porque Google determinará automáticamente cuál es el idioma preferido para el sistema del usuario.
¿Cómo podemos hacerlo como Google? En realidad, es muy simple.
La información de encabezados HTTP enviada por el navegador al servidor web contiene información como Aceptar-Idioma. Esta información es el idioma en Herramientas->Opciones de Internet->General en el navegador. Se utiliza para configurar las preferencias de idioma aceptables para el usuario. servidor, que puede ser una lista priorizada de múltiples idiomas aceptables.
Permítanme tomar ASP como ejemplo para presentar brevemente "cómo determinar automáticamente el idioma del usuario":
<%
Función RegExpTest(patrón, cadena)
Dim regEx, Match, Matches' crea variables.
Establecer regEx = New RegExp' Crea una expresión regular.
regEx.Pattern = patrn' establece el patrón.
regEx.IgnoreCase = True' establece si los caracteres distinguen entre mayúsculas y minúsculas.
regEx.Global = True'Establece la disponibilidad global.
Establecer coincidencias = regEx.Execute(strng)'Ejecutar búsqueda.
For Each Match in Matches itera a través de la colección de coincidencias.
RetStr = RetStr&Match.Value
Próximo
PruebaExpReg = RetStr
Función final
AL = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")' Obtiene los parámetros de idioma aceptables del navegador del usuario
LG = RegExpTest("^[az-]+",AL)' Obtiene las preferencias de idioma aceptables del navegador del usuario
seleccione caso LG
caso "zh-cn"
respuesta.escribir "中文(中国)"
caso "zh-tw"
Response.write "Chino (Taiwán)"
caso "zh-mo"
Response.write "Chino (RAE de Macao)"
caso "zh-hk"
Response.write "Chino (RAE de Hong Kong)"
caso "zh-sg"
Response.write "Chino (Singapur)"
caso "en-us"
Response.write "Inglés (Estados Unidos)"
caso "ja"
respuesta.escribir "japonés"
caso "ko"
respuesta.escribir "coreano"
finalizar seleccionar
%>