Skip to content

Latest commit

 

History

History
93 lines (59 loc) · 8.08 KB

File metadata and controls

93 lines (59 loc) · 8.08 KB

10.1 Time zone

Cuál es la configuración regional

Locale es un conjunto de descriptores en el mundo de una región en particular y los hábitos lingüísticos de texto colección formato de configuración. nombre de entorno se compone normalmente de tres partes: La primera parte es un sistema obligatorio, lo que significa que la abreviatura del idioma, como por ejemplo "en" para Inglés o "zh" representa chino. La segunda parte, seguido de un guión, el país es un especificador opcional, hablan el mismo idioma se utiliza para distinguir entre los diferentes países, como "en_US" para EE.UU. Inglés, y "es_ES" representa Inglés británico. La última parte, seguido de un punto después de los especificadores de conjunto de caracteres opcionales, tales como "zh_CN.gb2312" dijo que los chinos utilizan el conjunto de caracteres GB2312.

GO lenguaje predeterminado a "UTF-8" conjunto de codificación, por lo que nos damos cuenta de i18n no considera que la tercera parte, entonces hemos adoptado la descripción escenario de las dos secciones anteriores como i18n nombre de entorno estándar.

En los sistemas Linux y Solaris pueden locale-a comando lista todos los nombres de la región con el apoyo, el lector puede ver estas áreas a dar nombres. Para BSD y otros sistemas, no hay comando locale, pero la información regional se almacena en /usr/share/locale.

Establecer la configuración regional

Con la cara de la definición del entorno regional, entonces tenemos que de acuerdo a la información del usuario (acceso a la información, la información personal, el acceso a los nombres de dominio, etc) para establecer la configuración regional asociada, podemos utilizar las siguientes varias formas de establecer la configuración regional del usuario .

Establezca la configuración regional por su nombre de dominio

Establecer modo de configuración regional se utiliza cuando la aplicación se está ejecutando de forma jerárquica de dominio, por ejemplo, hemos adoptado como nuestro Inglés www.asta.com estación (la estación por defecto), y el nombre de dominio www.asta.cn como estación china. Por aplicación de este nombre de dominio y establecer dentro de la correspondencia entre la respectiva localidad, usted puede configurar regiones. Este tratamiento tiene varias ventajas:

  • A través de una URL puede ser muy distintivo de identificación
  • Los usuarios pueden ser muy intuitivo para saber el nombre de dominio va a visitar el sitio en este idioma
  • Vaya programa es implementado de una manera muy simple y conveniente, se puede lograr a través de un map
  • Propicio para buscar rastreadores de motores puede mejorar la vida del sitio SEO

Podemos utilizar el siguiente código para implementar una configuración regional correspondiente nombre de dominio:

if r.Host == "www.asta.com" {
	i18n.SetLocale("en")
} else if r.Host == "www.asta.cn" {
	i18n.SetLocale("zh-CN")
} else if r.Host == "www.asta.tw" {
	i18n.SetLocale("zh-TW")
}

Por supuesto, además de la configuración del dominio enteras fuera de la región, que también puede ser ajustada a través de las áreas sub-dominio, como "en.asta.com" para sitios en inglés, "cn.asta.com" indica el sitio chino. Realización del código es el siguient

prefix:= strings.Split(r.Host,".")

if prefix[0] == "en" {
	i18n.SetLocale("en")
} else if prefix[0] == "cn" {
	i18n.SetLocale("zh-CN")
} else if prefix[0] == "tw" {
	i18n.SetLocale("zh-TW")
}

Configuración de Región por nombre de dominio, como se muestra más arriba ventajas, pero por lo general no desarrollamos aplicaciones Web, cuando se usa de esta manera, porque en primer lugar el costo nombres de dominio es relativamente alto, el desarrollo de un Locale necesita un nombre de dominio, ya menudo el nombre del dominio no necesariamente uniforme se aplica a, y en segundo lugar que no quiero ir a cada sitio de la localización de una configuración, pero más es utilizar el método de URL con parámetros, vea la siguiente descripción.

Configuración de los parámetros de configuración regional del nombre de dominio

La forma más común es establecer la configuración regional para que dentro de los parámetros de la URL, tales www.asta.com/hello?locale=zh o www.asta.com / zh / hola . Para que podamos establecer la región: i18n.SetLocale(params["locale"]).

Esta configuración se ha casi hablar delante del nombre de dominio estableciendo todas las ventajas de configuración regional, utiliza de manera RESTful, por lo que no es necesario añadir métodos adicionales para hacer frente a. Sin embargo, este enfoque requiere un enlace dentro de cada uno incremento en el parámetro de configuración regional correspondiente, esto puede ser un poco complicado y, a veces bastante engorroso. Sin embargo, podemos escribir una función genérica que url, para que todas las direcciones de enlace se generan a través de esta función, esta función que aumenta locale = params [" locale "] parámetro para aliviarlo

Tal vez queremos ver la dirección URL más reparador que, por ejemplo: www.asta.com/en/books (English site) and www.asta.com/zh/books (Chinese site), este enfoque es más propicio para el URL SEO, pero también más amigable para el usuario, se puede acceder a través de la dirección URL del sitio que intuitivo. A continuación, una dirección URL similar a conseguir a través de la configuración regional router (sección de referencia que describe el RESTO del router plug-in de aplicación):

mux.Get("/:locale/books", listbook)

Desde el área de configuración del cliente

En algunos casos especiales, necesitamos la información del cliente en lugar de a través de la URL para establecer la configuración regional, dicha información puede provenir del cliente para definir el idioma preferido (los ajustes del navegador), la dirección IP del usuario, el usuario en el momento de llenar el registro la información de ubicación. Este enfoque es más adecuado para las aplicaciones basadas en Web.

  • Accept-Language

Cuando un cliente solicita información en el encabezado HTTP no Accept-Language , los clientes generalmente se establezca esta información, el siguiente es el lenguaje Go para lograr una sencilla Accept-Language en fase de ejecución establece el código de la región:

AL := r.Header.Get("Accept-Language")
if AL == "en" {
	i18n.SetLocale("en")
} else if AL == "zh-CN" {
	i18n.SetLocale("zh-CN")
} else if AL == "zh-TW" {
	i18n.SetLocale("zh-TW")
}

Por supuesto, en las aplicaciones prácticas, puede requerir un juicio más riguroso que se establezca zona

  • IP Address

Otro conjunto del área de cliente es la IP de acceso de usuario, de acuerdo a la biblioteca IP correspondiente, que corresponde a la IP de acceso a las zonas del mundo que se utiliza más comúnmente GeoIP Lite País esta biblioteca. Este mecanismo de configuración regional es muy simple, sólo tenemos que comprobar la base de datos de IP IP del usuario y luego regresar a las regiones de los países, de acuerdo con los resultados devueltos por el establecimiento de las regiones correspondientes.

  • User profile

Por supuesto, también puede permitir que los usuarios le proporcionan menús desplegables o cualquier forma que establezca la configuración regional adecuada, entonces tenemos la información introducida por el usuario, se guarda en la cuenta asociada con el perfil, cuando el usuario entre de nuevo, este tiempo para crear replicado con la configuración local, de modo que usted puede garantizar que cada vez que los accesos de los usuarios se basan en su configuración regional establecida previamente para obtener la página.

Resumen

A través de la descripción anterior demuestra que se puede establecer la configuración regional Hay muchas maneras en las que deben ser seleccionados de acuerdo a las diferentes necesidades de los diferentes ajustes de modo de configuración regional para permitir a un usuario a su forma más familiar para obtener los servicios que ofrecemos, mejorar la facilidad de uso de aplicaciones .

Links