viernes, 24 de junio de 2011

Cómo personalizar los textos

Introducción

Con SFS Tools, todos los campos soportan localización, por lo que la manera de cambiarlos es por medio de los archivos de recursos, o cualquier otro proveedor de localización que se utilice.

La generación automática de la solución crea todos los archivos de recursos necesarios para cada objeto de negocio y otro necesario para el módulo. Todos los archivos de recursos se encuentran en una carpeta y son fáciles de modificar.

Pre-Requisitos

Generar la aplicación del tutorial de inicio.

Pasos

Cambiando textos por cada idioma.

  1. En el proyecto de presentación (ASP.NET MVC) del módulo de negocio, abre la carpeta “Resources” y observa que por cada entidad de negocio existe un archivo de recursos.
  2. Selecciona el archivo del objeto de negocio a personalizar, en este caso: “ProductResources.resx”, haz clic derecho y selecciona “Copy” del menú contextual y con “Control + v” pegarlo en la misma carpeta (Lo que creará un archivo de nombre: “Copy of ProductResources.resx”).
    image   image
  3. Selecciona el archivo “Copy of ProductResources.resx” y haz clic derecho para seleccionar “Rename” del menú contextual y cambia su nombre agregando “.es-mx” antes de la extensión “.resx” para que el archivo se llame: “ProductResources.es-mx.resx”.
    image
  4. Abre el archivo “ProductResources.es-mx.resx” con doble clic y cambia los siguientes textos:
    Los campos “PRODUCTS_ADD_NEW”, “PRODUCTS_DETAILS”, “PRODUCTS_EDIT” y “PRODUCTS_LIST” que se usan para el título de las formas en las operaciones CRUD (Altas, bajas y cambios).
    image 
    Los campos ENTITY_PLURAL y ENTITY_SINGLE, son importantes porque se usan en la construcción del menú.
    image
    Tu puedes cambiar todos los demás campos que requieras, para este ejemplo cambiaremos dos mas: “NAME”, “PRODUCTMODEL”, Relación a uno (Foreign Key) y “PRODUCTCOSTHISTORIES” (Relación a muchos).
    image
  5. Haz clic derecho sobre la aplicación “SFS.AdventureWorks.Web.Mvc” y selecciona “Build” del menú contextual.
    image
    La aplicación se esta compilando y generando los assemblies que se depositarán en la carpeta bin del proyecto web shell (SFSdotNet.Framework.Web.Mvc).
  6. Corre la aplicación.
    image
  7. Navega hasta la “lista de productos” y en el campo de búsqueda escribe “” y presiona la tecla “Enter”.
    image  image  image
    Observa como en el encabezado del grid la columna de “Name” cambió a “Nombre” y el título de la forma también ha cambiado.
  8. haz clic derecho en la fila del producto encontrado y selecciona “Details” del menú contextual.
    image
    Esto abrirá la forma de detalle del registro del “Producto” seleccionado, y se puede observar como las propiedades han cambiado en el texto.
    image  image 
    Los efectos de la localización llegan más allá que a los textos de la forma, es importante notar que incluso con aquella funcionalidad con la que la “Entidad de negocio” se relaciona, también serán localizados de una manera integrada y automática.
    Por ejemplo, si regresas a la “Lista de productos” y haces clic sobre el link de “Abrir búsqueda avanzada”, después “Agregar filtro”, entonces puedes observar que también en el motor de filtros ha hecho efecto la localización.
    image  image

Ahora, ¿Cómo funciona lo anterior? Es implementando los atributos de localización en el modelo.

image

Una buena práctica recomendada por Microsoft pero que puede costar muchas horas de trabajo si no usamos una herramienta de automatización.

Estableciendo el idioma de nuestra aplicación.

En este ejemplo hemos localizado a Español – México (es-mx), pero puedes hacerlo al idioma que requieras y debes considerar dos opciones: una localización fija o automática que puede configurarse en el archivo web.config del proyecto Shell SFSdotNet.Framework.Web.Mvc

  • Usar una localización fija
    <globalization culture="es-mx" uiCulture="es-mx" requestEncoding="ISO-8859-1" responseEncoding="ISO-8859-1" fileEncoding="ISO-8859-1"/>
  • Usar una localización automática
    <globalization culture="Auto" uiCulture="Auto" requestEncoding="ISO-8859-1" responseEncoding="ISO-8859-1" fileEncoding="ISO-8859-1"/>

Conclusión

Todos los textos en una solución con SFS Tools son totalmente localizables por medio de archivos de recursos localizados en un solo lugar: la carpeta “Resources”. Su mayor complejidad se reduce a copiar, pegar y traducir.

1 comentario:

  1. Si usted es un traductor y necesitas una buena sugerencia para una herramienta de localización de archivos resx, recomiendo https://poeditor.com. Es una herramienta en línea con una cuenta gratuita también y muchas posibilidades.

    ResponderEliminar