Skip to content

Commit

Permalink
traduccion capitulo 10
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosjml4 committed Jun 16, 2014
1 parent 8ab03a1 commit eaa65c5
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 82 deletions.
19 changes: 9 additions & 10 deletions eBook/10.0.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
# 10 Internationalization and localization
# 10 Internacionalización y localización

In order to adapt to globalization, as a developer, we need to develop a multilingual, international Web applications.
This means the same page in a different language environment need to show a different effect. For example, the application at runtime according to the request from the geographical and language differences and display a different user interface. Thus, when an application needs to add support for a new language, the need to modify the application code, just add language packs can be realized.
Con el fin de adaptarse a la globalización, como desarrollador, tenemos que desarrollar un multilingües aplicaciones web internacionales. Esto significa que la misma página en un entorno de idioma distinto necesita demostrar un efecto diferente. Por ejemplo, la aplicación en tiempo de ejecución de acuerdo con la solicitud de las diferencias geográficas y lingüísticas y mostrar una interfaz de usuario diferente. Así, cuando una aplicación necesita para añadir soporte para un nuevo idioma, la necesidad de modificar el código de la aplicación, sólo tiene que añadir paquetes de idiomas puede ser observada.

Internationalization and Localization (usually expressed as i18n and L10N), internationalization is an area designed for the reconstruction program to enable it to use in more areas, localization refers to a face international programs to increase support for the new region.
Internacionalización y Localización (generalmente expresado como i18n y L10N), la internacionalización es un área diseñada para el programa de reconstrucción para que pueda utilizar en más zonas, la localización se refiere a una cara programas internacionales para aumentar el apoyo a la nueva región.

Currently, Go language standard package does not provide i18n support, but there are some relatively simple third-party implementations of this chapter we will achieve a go-i18n library to support the Go language i18n.
Actualmente, Go paquete estándar del lenguaje no ofrece soporte i18n, pero hay algunas implementaciones relativamente simples de terceros de este capítulo vamos a lograr una biblioteca go-i18n para apoyar la i18n lenguaje Go.

The so-called International: is based on a specific locale information, extracted with the corresponding string or some other things (such as time and currency format) and so on. This involves three issues:
El llamado Internacional: se basa en una información de configuración regional específica, se extrajo con la cadena correspondiente o algunas otras cosas (tales como el tiempo y formato de moneda) y así sucesivamente. Esto implica tres cuestiones:

1. how to determine the locale.
1. cómo determinar la configuración regional.

2. how to save the string associated with the locale or other information.
2. cómo guardar la cadena asociada a la configuración regional o de otra información.

3. how to extract according to locale strings and other appropriate information.
3. cómo extraer de acuerdo a las cadenas de localización y otra información apropiada.

In the first section, we will describe how to set the correct locale in order to allow access to the site's users to get their language corresponding page. The second section describes how to handle or store strings, currency, time, date and other locale related information, and the third section describes how to achieve international sites, namely, how to return different depending on locale appropriate content. Through these three sections of the study, we will get a full i18n program.
En la primera sección, describiremos cómo establecer la configuración regional correcta con el fin de permitir el acceso a los usuarios del sitio para obtener su página correspondiente idioma. La segunda sección describe cómo manejar o almacenar cadenas, moneda, hora, fecha y otra información relacionada con la configuración regional, y la tercera sección se describe la forma de lograr un sitio, es decir, cómo devolver diferente según la zona de contenido apropiado. A través de estas tres secciones de estudio, vamos a conseguir un programa i18n completo.

## Links

Expand Down
55 changes: 28 additions & 27 deletions eBook/10.1.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
# 10.1 Time zone

## What is the Locale
## Cuál es la configuración regional

Locale is a set of descriptors in the world in a particular region and language habits text format collection of settings. locale name is usually composed of three parts: The first part is a mandatory, which means that the language abbreviation, such as "en" for English or "zh" represents Chinese. The second part, followed by an underscore, the country is an optional specifier, speak the same language is used to distinguish between different countries, such as "en_US" for U.S. English, and "en_UK" represents British English. The last part, followed by a period after the optional character set specifiers, such as "zh_CN.gb2312" said the Chinese use the gb2312 character set.
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 language defaults to "UTF-8" encoding set, so we realize i18n does not consider the third part, then we have adopted the locale description of the previous two sections as i18n standard locale name.
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.

> On Linux and Solaris systems can `locale -a` command lists all supported regional name, the reader can see these areas naming names. For BSD and other systems, there is no locale command, but the regional information is stored in `/usr/share/locale`.
> 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`.
## Set the Locale
## Establecer la configuración regional

With the face of the locale definition, then we need according to the user's information( access to information, personal information, access to domain names, etc.) to set the associated locale, we can use the following several ways to set the user's locale.
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 .

### Set Locale by domain name
### Establezca la configuración regional por su nombre de dominio

Set Locale way this is used when the application is running domain hierarchical manner, for example, we have adopted as our English www.asta.com station( the default station), and the domain name www.asta.cn as a Chinese station. By application of this domain name and set up inside the correspondence between the respective locale, you can set up regions. This treatment has several advantages:
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:

- Via a URL can be very distinctive identification
- Users can be very intuitive to know the domain name will be visiting the site in that language
- Go program is implemented in a very simple and convenient, can be achieved through a map
- Conducive to search engine crawlers can improve the site's SEO
- 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

We can use the following code to implement a corresponding domain name locale:
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")
Expand All @@ -31,7 +31,7 @@ We can use the following code to implement a corresponding domain name locale:
i18n.SetLocale("zh-TW")
}

Of course, in addition to the entire domain settings outside the region, we can also be set through the sub-domain areas, such as "en.asta.com" for English sites, "cn.asta.com" indicates Chinese site. Realization of the code is as follows:
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,".")

Expand All @@ -43,25 +43,25 @@ Of course, in addition to the entire domain settings outside the region, we can
i18n.SetLocale("zh-TW")
}

Locale setting by domain name as shown above advantages, but we generally do not develop Web applications, when used in this way, because first of all domain names cost is relatively high, the development of a Locale need a domain name, and often the name of the domain does not necessarily uniform apply to, and secondly we do not want to go to each site localization of a configuration, but more is to use the url method with parameters, see the following description.
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.

### Locale parameter settings from the domain name
### Configuración de los parámetros de configuración regional del nombre de dominio

The most common way is to set the Locale to bring inside in the URL parameters, such `www.asta.com/hello?locale=zh` or `www.asta.com/zh/hello`. So that we can set the region: `i18n.SetLocale(params["locale"])`.
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"])`.

This setup has almost speaking in front of the domain name Locale setting all the advantages, it uses a RESTful way, so we do not need to add additional methods to deal with. However, this approach requires a link inside each one corresponding increase in the parameter locale, this may be a bit complicated and sometimes quite cumbersome. However, we can write a generic function that url, so that all the link addresses are generated through this function, then this function which increases `locale = params [" locale "]` parameter to alleviate it.
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

Maybe we want to look more RESTful URL address that, for example: `www.asta.com/en/books` (English site) and `www.asta.com/zh/books` (Chinese site), this approach is more conducive to the URL SEO, but also more friendly for the user, can be accessed through the URL of the site that intuitive. Then such a URL address to get through router locale(reference section which describes the router REST plug-in implementation):
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)

### From the client settings area
### Desde el área de configuración del cliente

In some special cases, we need the client's information rather than through the URL to set Locale, such information may come from the client to set the preferred language( the browser settings), the user's IP address, the user at the time of registration fill the location information. This approach is more suitable for Web -based applications.
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

When a client requests information in the HTTP header there `Accept-Language`, clients will generally set this information, the following is the Go language to achieve a simple `Accept-Language` under implementation sets the region code:
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" {
Expand All @@ -72,18 +72,19 @@ When a client requests information in the HTTP header there `Accept-Language`, c
i18n.SetLocale("zh-TW")
}

Of course, in practical applications, it may require more rigorous judgment to be set area
Por supuesto, en las aplicaciones prácticas, puede requerir un juicio más riguroso que se establezca zona

- IP Address

Another set of the client area is the user access IP, we according to the corresponding IP library, corresponding to the IP access to areas of the world that is more commonly used GeoIP Lite Country this library. This setting regional mechanism is very simple, we only need to check the user's IP IP database and then return to the country regions, according to the results returned by setting the corresponding regions.
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

Of course, you can also let users provide you with drop-down menus or whatever way set the appropriate locale, then we have the information entered by the user, it is saved to the account associated with the profile, when the user login again, this time to set up replicated to the locale setting, so that you can guarantee that every time the user accesses are based on their previously set locale to get the page.
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.

## Summary
## Resumen

Through the above description shows that you can set the Locale There are many ways that we should be selected according to the different needs of different settings Locale way to allow a user to its most familiar way to get the services we provide, improve application user friendliness.
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

Expand Down
Loading

0 comments on commit eaa65c5

Please sign in to comment.