Title: Metodologa y Tcnicas en Proyectos software para la Web
1Metodolog铆a y T茅cnicasen Proyectos software para
la Web
Curso de Doctorado Profesorado Dra. Mar铆a
Jos茅 Escalona Cuaresma mjescalona_at_us.es Dr.
Jos茅 Mariano Gonz谩lez Romano mariano_at_lsi.us.es
Programa de Doctorado Tecnolog铆a e Ingenier铆a del
Software http//www.lsi.us.es/docencia/doctorado.p
hp Universidad de Sevilla Curso 2006/07
2Internacionalizaci贸n 脥ndice
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
- Introducci贸n
- Modelo de localizaci贸n
- Elementos de la interfaz
- Internacionalizaci贸n en la Web
- Caso pr谩ctico
3Internacionalizaci贸n Introducci贸n
- Software internacionalizado
- Producto que est谩 preparado para ser utilizado
fuera de la regi贸n o pa铆s donde fue creado - Objetivo hacer llegar el producto a mercados
internacionales - Problema ajustar la interfaz a los diferentes
destinos - Caso extremo sitios web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
4Internacionalizaci贸n Introducci贸n
- Ejemplo de problema culturas con lenguajes que
se escriben de derecha a izquierda
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
5Internacionalizaci贸n Introducci贸n
- Internacionalizaci贸n (i18n)
- Es el proceso de dise帽ar una aplicaci贸n de tal
manera que pueda adaptarse a diferentes lenguajes
y regiones sin necesidad de cambiar el c贸digo - Un programa internacionalizado no tiene elementos
dependientes de la lengua o del contexto cultural
de un pa铆s o regi贸n en el propio c贸digo - Los elementos textuales, como los mensajes o las
etiquetas de los componentes, no est谩n en el
c贸digo, est谩n fuera y se toman din谩micamente
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
6Internacionalizaci贸n Introducci贸n
- Localizaci贸n (L10n)
- Es el proceso de adaptar software a una regi贸n
espec铆fica o lenguaje a帽adi茅ndole componentes
espec铆ficos y traduciendo texto - Convenciones locales, cultura y lenguaje de una
regi贸n particular - Conjunto de letras que se utilizan para escribir
en una lengua (escritura)
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
7Internacionalizaci贸n Introducci贸n
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
alem谩n
espa帽ol
谩rabe
www.vienna.info
8Internacionalizaci贸n Introducci贸n
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Yahoo
Espa帽a
EEUU
9Internacionalizaci贸n Introducci贸n
- Ventajas de la internacionalizaci贸n
- El mismo ejecutable funciona en todo el mundo
- El mercado es mayor
- No hace falta hacer un desarrollo internacional
del producto una vez acabada la primera versi贸n - Se utilizan los recursos m谩s eficientemente
- A帽adir soporte internacional a un programa
acabado puede hacerlo menos estable que si se
hace como una parte del proceso de desarrollo - El mantenimiento del c贸digo y la inclusi贸n de
nuevas localizaciones es menos costoso
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
10Internacionalizaci贸n Introducci贸n
- Zonas de internacionalizaci贸n
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
11Internacionalizaci贸n Modelo de localizaci贸n
- Esquema de un producto localizado
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Recursos localizados
C贸digo de la aplicaci贸n
Producto localizado
12Internacionalizaci贸n Modelo de localizaci贸n
- Esquema de un producto localizado
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Recursos localizados
C贸digo de la aplicaci贸n
Producto localizado
- Contiene datos pero no c贸digo
- Contiene cadenas de caracteres y gr谩ficos
utilizados en la interfaz - Contiene elementos espec铆ficos de la localizaci贸n
realizada
13Internacionalizaci贸n Modelo de localizaci贸n
- Esquema de un producto localizado
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Recursos localizados
C贸digo de la aplicaci贸n
Producto localizado
- Contiene el c贸digo de la aplicaci贸n que se
ejecuta en todos los pa铆ses e idiomas
14Internacionalizaci贸n Modelo de localizaci贸n
- Claves para el dise帽o de un producto localizado
- Extraer todos los datos, textos y elementos
gr谩ficos y colocarlos en un fichero de datos
separado - Organizar y documentar los ficheros
- Crear un proceso para construir el producto
localizado - Recomendaciones
- Documentar todos los recursos que tienen que ser
localizados (y los que no) - Es 煤til hacer dos localizaciones en paralelo para
poder evaluar la internacionalizaci贸n - Es importante disponer de herramientas y
utilidades para hacer la localizaci贸n
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
15Internacionalizaci贸n Elementos de la interfaz
- Principales elementos de la interfaz a considerar
- Texto
- Elementos culturales
- Iconos
- Colores
- Calendarios, formatos y separadores de fecha y
hora - Formatos de n煤meros y monedas
- Ordenaci贸n
- Unidades de medida
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
16Internacionalizaci贸n Elementos de la interfaz
- Cultura
- La cultura de una regi贸n o pa铆s puede hacer
percibir un mismo objeto de maneras diferentes en
puntos geogr谩ficos diferentes - Ejemplos
- La mano izquierda es ofensiva en algunas culturas
- Hay que cuidar c贸mo se dibujan hombres y mujeres
juntos y c贸mo van vestidos - Algunos s铆mbolos como la esv谩stica, hoz y
martillo, sol naciente, cruces y estrellas
representan ideas pol铆ticas y/o religiosas - En un pa铆s fundamentalista pueden entenderse como
ofensivas cosas que en Occidente no tienen ning煤n
significado - Mover la cabeza, decir adi贸s con la mano, bebidas
alcoh贸licas
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
17Internacionalizaci贸n Elementos de la interfaz
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Qu茅 objeto elegiremos si el perro nos pide una
pelota?
18Internacionalizaci贸n Elementos de la interfaz
- Iconos
- Muchos iconos presentan una dependencia m谩s o
menos importante de una determinada lengua y
cultura - Ejemplos
- Buz贸n de correo
- Corrector ortogr谩fico
- Comprobaci贸n (tick)
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
19Internacionalizaci贸n Elementos de la interfaz
- Colores
- Tienen asociados significados a trav茅s de la
tradici贸n en la mayor parte de las culturas - Occidental
- Negro color asociado con el luto y los funerales
- Blanco asociado con el matrimonio y el
nacimiento - Oriental
- Blanco asociado con el luto
- Rojo asociado con el matrimonio
- Cada cultura tiene sus est谩ndares, por lo que es
dif铆cil generalizar - Ejemplo sem谩foro
- Rojo (parar), 谩mbar (precauci贸n) y verde
(adelante), pero ni a煤n estos los podemos asumir
de una manera generalizada
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
20Internacionalizaci贸n Elementos de la interfaz
- Calendarios, fecha y hora
- Hay otros tipos de calendario aparte del
Gregoriano - Budista, isl谩mico, chino, hebreo, etc.
- En el calendario gregoriano hay distintos
formatos - dd/mm/aaaa 12 de marzo de 2007
- mm/dd/aaaa March 12th, 2007 (pa铆ses de habla
inglesa)
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
21Internacionalizaci贸n Elementos de la interfaz
- N煤meros y moneda
- Para cada pa铆s hace falta tener en cuenta el
s铆mbolo de la moneda y el formato num茅rico - USA 1,234.56
- Gran Breta帽a 1,234.56
- Euro 1.234,56
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
22Internacionalizaci贸n Elementos de la interfaz
- Ordenaci贸n
- Las ordenaciones son importantes en el proceso de
internacionalizaci贸n y son un tema complejo - En un principio las ordenaciones de caracteres
son de la A a la Z, may煤sculas primero y despu茅s
las min煤sculas, y los n煤meros se ordenan de 0 a 9 - Este tipo de regla no siempre es aceptable,
porque hay reglas m谩s complicadas cuando hay que
considerar un segundo car谩cter al mismo tiempo - Ejemplo de la ch y la ll en Castellano, ya
superado
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
23Internacionalizaci贸n Elementos de la interfaz
- Unidades de medida
- La mayor parte del mundo utiliza el sistema
m茅trico excepto Estados Unidos - Utiliza la milla (1.609 m), la pulgada (2,54 cm),
etc.
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
24Internacionalizaci贸n Elementos de la interfaz
- Escritura
- Las escrituras se pueden clasificar en ideogramas
y escrituras fon茅ticas - Un ideograma tiene un significado especial y no
tiene relaci贸n con su pronunciaci贸n - Las letras de una escritura fon茅tica representan
determinados sonidos, como por ejemplo M - Los tres sistemas de escritura m谩s importantes
son - Occidental
- Oriente medio
- Extremo Oriente
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
25Internacionalizaci贸n Elementos de la interfaz
- Escrituras occidentales
- Las escrituras occidentales son lat铆n, griego y
cir铆lico - Caracter铆sticas comunes a las tres escrituras
- Fon茅ticas
- Se leen de izquierda a derecha en una l铆nea
horizontal - Utilizan letras may煤sculas y min煤sculas
diferentes - Utilizan numeraci贸n ar谩biga 0,1,2,3,4,5,6,7,8 y
9 - Escritura latina
- La m谩s usada (casi toda Europa, parte de Asia,
casi toda 脕frica, Am茅rica y Ocean铆a) - Proviene del lat铆n, con letras a帽adidas (J, W)
- Algunas lenguas usan m谩s letras y marcas
diacr铆ticas - Acento grave ( 脿), agudo ( 谩), circunflejo (
芒), tilde ( 茫), di茅resis ( 盲), c铆rculo (潞 氓) y
slash (/ 脴). - En Castellano, 谩, 茅, 铆, 贸, 煤, 眉, 帽, ,
- Escritura griega usada en Grecia
- Escritura cir铆lica usada en los pa铆ses eslavos
(ruso, b煤lgaro, serbio...) y de Asia central
(turcomeno, kurdo, uzbeko, kazakho, tajik...)
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
26Internacionalizaci贸n Elementos de la interfaz
- Extremo Oriente
- Est谩n basadas en los caracteres ideogr谩ficos
chinos - Su antig眉edad se remonta a 4000 a帽os y se
utilizan de esta forma desde hace m谩s de 2000
a帽os - Actualmente se usan unos cuantos miles de
caracteres - Conjunto est谩ndar 20.000 caracteres
- Conjunto extendido 50.000 caracteres
- M铆nimo para conversar 3.000 caracteres
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
27Internacionalizaci贸n Elementos de la interfaz
- Esquemas de codificaci贸n
- Cada tipo de escritura ha de ser representada en
sistemas inform谩ticos - Esta representaci贸n se concreta en un esquema de
codificaci贸n - Estos esquemas se codifican a trav茅s de mapas de
caracteres - Los mapas de caracteres permiten la
representaci贸n de escrituras en el ordenador e
incluyen caracteres que no est谩n en el alfabeto
como los signos de puntuaci贸n - Tipos de esquemas
- ASCII
- Mapa de caracteres de un octeto 256 caracteres
(SBCS) - ISO- 8859-1 (Lat铆n Europa del oeste)
- ISO- 8859-2 (Lat铆n Europa del este)
- ISO- 8859-5 (Cir铆lico)
- ISO- 8859-7 (Griego)
- ISO- 8859-8 (Hebreo)
- ISO- 8859-6 (脕rabe)
- Mapa de caracteres de doble octeto 65536
caracteres (DBCS) - JIS (Japan Industry Standard)
- Unicode
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
28Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Aspectos a tener en cuenta para desarrollar
aplicaciones web internacionalizadas - Codificaci贸n
- Secuencias de escape
- Lenguaje
- Presentaci贸n vs contenido
- Im谩genes, animaciones y ejemplos
- Formularios
- Texto
- Navegaci贸n
- Direcci贸n de escritura
- Comprobaci贸n
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Internationalization Quick Tips for the
Web http//www.w3.org/International/quicktips/
29Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Use Unicode wherever possible for content,
databases, etc. Always declare the encoding of
content
30Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Conjunto de caracteres conjunto de letras y
s铆mbolos utilizados en un sistema de escritura.
Ejemplos - ASCII (letras y s铆mbolos de la escritura inglesa)
- ISO-8859-6 (letras y s铆mbolos de escrituras
ar谩bigas) - Unicode (caracteres de la mayor铆a de lenguajes
vivos del mundo) - Los caracteres se almacenan en uno o m谩s bytes en
el ordenador. Cada byte o secuencia de bytes
representa un car谩cter - Sistemas de codificaci贸n correspondencia entre
caracteres y su representaci贸n en bytes - Hay muchos sistemas de codificaci贸n. Si se aplica
un sistema equivocado a los bytes en memoria, se
mostrar谩 un texto ininteligible - Consecuencia es muy importante que el sistema de
codificaci贸n utilizado para el contenido est茅
correctamente indicado en el documento
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
31Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Elecci贸n de un sistema de codificaci贸n hay que
tener en cuenta los requisitos de localizaci贸n
actuales y futuros y el beneficio de utilizar un
mismo sistema para todas las p谩ginas y lenguajes - Esto lleva al uso de Unicode como mejor
alternativa, porque - Soporta muchos lenguajes
- Permite la mezcla de lenguajes en una misma
p谩gina - Es una ventaja para p谩ginas generadas
din谩micamente, ya que no se precisa una l贸gica en
el servidor para determinar el sistema de
codificaci贸n para cada p谩gina servida - Permite que un formulario en un lenguaje (p.ej.
espa帽ol) acepte entrada en otro diferente (p.ej.
chino) - Tanto UTF-8 como UTF-16 y UTF-32 son sistemas
Unicode. El primero tiene actualmente un soporte
m谩s amplio por parte de los agentes, luego es el
recomendado
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
32Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
33Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
34Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Si no se utiliza Unicode, debe elegirse un
sistema que soporte el lenguaje y los caracteres
que aparezcan en la p谩gina - Cu谩ndo no utilizar Unicode?
- Si el contenido proviene de una fuente externa
que utilice un sistema de codificaci贸n nativo y
la transformaci贸n no es viable, entonces no es
pr谩ctico el uso de Unicode y un sistema nativo
puede ser una mejor elecci贸n - En tal caso, cuidar que
- El sistema de codificaci贸n debe cubrir todos los
caracteres requeridos por el contenido y, si se
trata de un formulario, por los caracteres que se
deban aceptar como entrada - Hay que verificar que los agentes de usuario
soportan el sistema utilizado y muestran bien el
contenido de la p谩gina. No todos los agentes
soportan todos los sistemas, aunque todos suelen
soportar los sistemas nativos m谩s habituales
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
35Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Qu茅 sistema de codificaci贸n Unicode utilizar
para p谩ginas web? UTF-8 - Es el sistema recomendado
- Coincide con ASCII en sus 128 primeras
posiciones, proporcionando compatibilidad - Soportado por IE, Firefox, Mozilla, Opera,
Netscape Navigator, Safari, algunos tel茅fonos
m贸viles - Soportado por so Windows (NT en adelante),
Unix/Linux, BSD, Mac OS X - No supone un incremento notable de tama帽o (y por
tanto tiempo de descarga) de la p谩gina porque la
mayor铆a de los caracteres son marcas HTML y
ocupan un s贸lo byte. Adem谩s, muchos sistemas
nativos ya son de doble byte, como el chino
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
36Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Fuentes
- La correcta presentaci贸n del texto depende de la
disponibilidad de la fuente Unicode en la
m谩quina. El uso de fuentes gen茅ricas en CSS es
muy recomendado - Las fuentes o familias de fuentes Unicode
proporcionan un mapeo entre el c贸digo y la
representaci贸n gr谩fica del car谩cter. Las fuentes
Unicode son de tipo truetype y opentype
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
BODY font-family verdana, arial
BODY font-family verdana, arial, sans-serif
37Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Declaraci贸n del sistema de codificaci贸n
- Almacenar el fichero en formato UTF-8 desde el
editor - Declarar el sistema de codificaci贸n en la
cabecera HTTP Content-Type, mediante un lenguaje
de script o configurando el servidor - Con un lenguaje de script (PHP)
- header (Content-Type text/html
charsetutf-8) - Para ficheros con una extensi贸n dada (Apache)
- AddCharset UTF-8 .html
- Para ficheros concretos (Apache)
- ltFiles "example.html"gt
- AddCharset UTF-8 .html
- lt/Filesgt
- Declarar el sistema de codificaci贸n en la p谩gina
- ltmeta http-equiv"Content-Type"
content"text/html charsetutf-8"/gt
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
http//www.lsi.us.es/i18n
38Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Only use escapes (e.g. xA0 160 or nbsp)
in specific circumstances
39Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Es una forma de expresar caracteres Unicode
utilizando s贸lo caracteres ASCII - Ejemplo
- x20AC
- 8364
- euro
- euro es una character entity. En XML es
preferible usar el c贸digo ya que la entidad puede
estar definida externamente y no ser le铆da por
las herramientas que procesan el XML - Permite representar caracteres que no est谩n
disponibles en el sistema de codificaci贸n
empleado o por otras razones - conflictos de sintaxis
- no disponibles en el teclado
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
40Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Es preferible casi siempre usar un sistema de
codificaci贸n que permita representar los
caracteres en su forma normal y no con escapes.
El c贸digo es m谩s legible y f谩cil de mantener, y
de menor tama帽o - Ejemplo pasaje en checo
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Jako efektivnej铆 se n谩m jev铆 por谩d谩n铆 tzv. Road
Show prostrednictv铆m naich autorizovan媒ch
dealeru v Cech谩ch a na Morave, kter茅 probehnou v
prubehu z谩r铆 a r铆jna.
Jako efektivnx115jx161xED se nxE1m
jevxED pox159xE1dxE1nxED tzv. Road
Show prostx159ednictvxEDm nax161ich
autorizovanx1FDch dealerx16F v
x10CechxE1ch a na Moravx11B, kterxE9
probx11Bhnou v prx16Fbx16Fhu zxE1
x159xED a x159xEDjna.
41Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Cu谩ndo usar escapes?
- Para los tres caracteres de sintaxis
- lt (lt)
- gt (gt)
- amp ()
- Raz贸n para que no se confundan con la sintaxis
del marcado - Representar caracteres no soportados por el
sistema de codificaci贸n. Pero es mejor usar un
sistema que soporte todos los caracteres que se
necesiten - El editor no permite introducir caracteres
especiales. Mejor cambiar de editor o utilizar
una herramienta llamada unicode character picker - Representar caracteres que son
- invisibles (no tienen forma gr谩fica)
- Ej. car谩cter Unicode 200F RIGHT-TO-LEFT MARK
- ambiguos en la presentaci贸n
- Ej. car谩cter 00A0 NO-BREAK SPACE. Previene el
salto de l铆nea, usado como car谩cter es igual que
cualquier otro espacio en blanco
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
42Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Declare the text-processing language of documents
and indicate any internal language changes
43Internacionalizaci贸n Internacionalizaci贸n en la
Web
- La informaci贸n sobre el lenguaje del contenido es
importante para - Accesibilidad lectores de pantalla
- Herramientas de autor ortograf铆a, sintaxis
- Navegadores aplicaci贸n de variaciones
estil铆sticas (por ejemplo, espaciado entre
l铆neas, 茅nfasis) - Aplicaciones que realizan un procesamiento
espec铆fico del lenguaje buscadores, traductores - Tipos de declaraci贸n del lenguaje
- Para un documento completo (lenguaje primario,
que puede ser m谩s de uno) - Para un trozo de texto (s贸lo un lenguaje)
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
44Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Formas de declarar el lenguaje
- En la cabecera HTTP Content-Language (en el
servidor) - HTTP/1.1 200 OK
- Date Wed, 05 Nov 2003 104604 GMT
- Server Apache/1.3.28 (Unix) PHP/4.2.3
-
- Content-Type text/html charsetutf-8
- Content-Language en, fr, sp
- En el atributo lang del elemento HTML (lang
admite s贸lo un lenguaje). Es la forma
recomendada - lthtml lang"en"gt
- En un elemento meta de la cabecera del documento
(habitualmente no reconocido por los
navegadores) - ltmeta http-equiv"Content-Language"
content"en,fr,sp" /gt - En el atributo lang de un elemento dentro del
documento - ltpgtThe French word for ltemgtcatlt/emgt is ltem
lang"fr"gtchatlt/emgt
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
45Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Elecci贸n del atributo correcto
- HTML
- lthtml lang"fr-CA"gt
- XHTML servido como text/html
- lthtml lang"fr-CA" xmllang"fr-CA"
xmlns"http//www.w3.org/1999/xhtml"gt - XHTML servido como XML
- lthtml xmllang"fr-CA" xmlns"http//www.w3.org/19
99/xhtml"gt - Valores para el atributo de lenguaje
- C贸digo de lenguaje ISO 639 eng/en, fre/fr,
spa/es - C贸digo de lenguaje ISO 639 c贸digo de pa铆s ISO
3166 para indicar variantes regionales en-US,
en-GB, es-ES, es-AR
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
46Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Presentaci贸n vs contenido
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Use style sheets for presentational information.
Restrict markup to semantics
47Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Un principio importante del dise帽o web es separar
el contenido de su estilo de presentaci贸n, y es
煤til para mostrar el mismo contenido en distintos
dispositivos - Este principio es particularmente 煤til para la
localizaci贸n. En ciertas escrituras complejas,
como la japonesa, no es adecuado usar la negrita
o it谩lica para enfatizar texto. Las hojas de
estilo facilitan estos cambios al no requerir
modificar las p谩ginas sino simplemente el fichero
CSS
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
48Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Im谩genes, animaciones y ejemplos
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Check for translatability and inappropriate
cultural bias
49Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Hay que comprobar im谩genes, v铆deos, colores con
los usuarios del pa铆s ya que es f谩cil que pase
inadvertida la dependencia cultural de los
s铆mbolos, comportamientos, humor, conceptos,
lenguaje corporal - Tambi茅n hay que cuidar el texto incrustado en las
im谩genes. Deben proporcionarse al equipo de
localizaci贸n im谩genes con el texto separado en
capas. Tambi茅n hay que dejar espacio para la
expansi贸n del texto
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
50Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
51Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
52Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Use an appropriate encoding on both form and
server. Support local formats of names/addresses,
times/dates, etc
53Internacionalizaci贸n Internacionalizaci贸n en la
Web
- El sistema de codificaci贸n de una p谩gina que
contiene un formulario debe soportar todos los
posibles caracteres necesarios para introducir
datos en el formulario, m谩xime si los usuarios
pueden introducir informaci贸n en m煤ltiples
lenguajes - Las bases de datos y programas que reciben estos
datos tambi茅n deben soportarlos - Lo mejor para permitir esto es utilizar Unicode
en ambos casos
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
54Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Hay que evitar realizar asunciones sobre nombres
y direcciones de personas - No detallar m谩s de lo preciso y separar en m谩s
campos de lo necesario estos datos - En algunas culturas no existe el nombre de la
calle, puede necesitarse m谩s de una l铆nea antes
del nombre de la ciudad, en algunos casos la
direcci贸n va de lo general a lo espec铆fico - Validaci贸n no hacer suposiciones incorrectas
sobre los c贸digos de 谩rea o las longitudes de los
n煤meros telef贸nicos, y asegurarse de etiquetar
correctamente las fechas num茅ricas para que se
introduzcan en el orden correcto - El desarrollo de una estrategia adecuada para
mostrar los diferentes formatos de entrada que
esperan los usuarios de distintos pa铆ses es
importante para los usuarios y para el
almacenamiento de los datos recogidos en una base
de datos
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
55Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
56Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
57Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Ejemplo mostrar distintos formatos de fechas.
Caso 03/04/02 qu茅 fecha es? Opciones - Utilizar un formato neutral, como el definido por
ISO 8601, YYYY-MM-DD, o una modificaci贸n habitual
como en el ejemplo 2003-apr-02 (que ya no es tan
neutral) - Hacer el mes y el a帽o obvios, utilizando un
nombre para el mes y 4 d铆gitos para el a帽o. Por
ejemplo, 2 April 2003 - Usar la cabecera HTTP Accept-Language. Aunque
s贸lo especifica las preferencias de lenguaje del
usuario, se usa com煤nmente para determinar
tambi茅n las preferencias locales. Es adecuado en
p谩ginas generadas autom谩ticamente. En PHP se hace
con _SERVERHTTP_ACCEPT_LANGUAGE. No se debe
fiar s贸lo a esto, porque muchos usuarios nunca
cambian los valores por defecto de la instalaci贸n
del agente de usuario, o utilizan m谩quinas que no
son suyas - Pros/contras ambig眉edad, espacio ocupado,
ordenaci贸n, naturalidad
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
http//www.lsi.us.es/i18n
58Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Use simple, concise text. Do not compose
sentences from multiple strings using scripting
59Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Usar texto simple y conciso. Es m谩s f谩cil de
traducir y de leer en el idioma original - Prestar especial atenci贸n al texto compuesto
din谩micamente insertando texto variable dentro de
cadenas, ya que el orden del texto en otros
lenguajes puede ser muy diferente - Evitar fijar la posici贸n de variables dentro del
texto como en el caso P谩gina 1 de 10. La
sintaxis de otros lenguajes puede requerir
cambiar los n煤meros de sitio
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
60Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Reutilizaci贸n de cadenas. A veces se almacena un
texto en una cadena y se reutiliza donde hace
falta, con lo cual se ahorra traducir el texto
varias veces - Problema la traducci贸n de la cadena puede variar
en distintos contextos - Ejemplos
- on conectado/a/s, activado/a/s, encendido/a/s
- time tiempo, hora, duraci贸n
- Hay buenos candidatos para esta t茅cnica,
generalmente palabras t茅cnicas como cancel, u
otras que siempre aparezcan en el mismo contexto
o sean palabras o frases independientes. Hay que
estudiar cada caso individual
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
61Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Mensajes compuestos mensajes que se componen
din谩micamente a partir de varias cadenas de
texto, una o m谩s de ellas variables con el
contexto - Ventaja se reduce la parte com煤n de un conjunto
de mensajes a una simple cadena, mejorando la
consistencia de los mensajes y optimizando la
memoria - Tipos de mensajes compuestos
- Mensajes de tipo sentencia
- Mensajes de tipo sujeto-predicado
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
62Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Mensaje tipo sentencia
- Ejemplo
- printer
- The stacker has been disabled
- stapler options
- Problemas al traducir a espa帽ol, the puede ser
traducido por el/la/los/las, y disabled por
desactivado/a/os/as
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
63Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Mensaje tipo sujeto-predicado
- Ejemplos
- Printer enabled
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
64Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Aspectos de internacionalizaci贸n de los mensajes
compuestos - Sintaxis inflexible el texto original asume un
orden de las palabras que puede tener que
alterarse al traducir el texto - Componentes del mensaje dispersos en diferentes
谩reas visuales, lo que hace m谩s dif铆cil su
reordenaci贸n
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
65Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Aspectos de internacionalizaci贸n de los mensajes
compuestos - Variables que no pueden ser reordenadas debe ser
posible reordenar variables y reposicionarlas de
cualquier forma en relaci贸n con el texto. Ejemplo
en PHP - printf ("There were d spelling mistakes in file
s.", number, filename) - La traducci贸n al alem谩n es "Datei ltfilenamegt
enth盲lt ltnumbergt Rechtschreibfehler.", que puede
introducir un error en el c贸digo al cambiar el
orden de los par谩metros - printf (" Datei s enth盲lt d Rechtschreibfehler."
, number, filename) - Soluci贸n escribir el c贸digo de la forma
siguiente - printf ("There were 1\d spelling mistakes in
file 2\s.", number, filename) - En la traducci贸n queda as铆
- printf (" Datei 2\s enth盲lt 1\d
Rechtschreibfehler.", number, filename)
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
66Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Aspectos de internacionalizaci贸n de los mensajes
compuestos - Concordancia de g茅nero en datos generados en
tiempo de ejecuci贸n. Normalmente los textos no
tienen problemas de localizaci贸n. Por ejemplo, - The file ltfile_namegt has been scanned.
- Excepci贸n nombres propios. Por ejemplo, la
frase en ingl茅s - The patient ltperson's_namegt is ready.
- Se traduce al espa帽ol por
- El enfermo Antonio est谩 listo.
- o
- La enferma Julia est谩 lista.
- En caso de nombres propios es mejor utilizar un
mensaje de tipo sujeto-predicado que uno de tipo
sentencia - Estado de Antonio listo.
- o
- Estado de Julia listo.
- Concordancia de n煤mero tampoco funciona bien en
mensajes de tipo sentencia
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
67Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Hay que codificar de forma que la traducci贸n se
circunscriba al texto y no implique una
modificaci贸n del c贸digo, ya que ello puede dar
lugar a errores graves - Recomendaci贸n usar mensajes de tipo
sujeto-predicado siempre que sea posible
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
68Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Otros aspectos de internacionalizaci贸n del texto
- Dejar espacio para la expansi贸n del texto
traducido. Ejemplos - Mover se traduce como verschieben en alem谩n
(5 contra 11) - Sort Ascending se traduce como Lajittele
nousevassa j盲rjestyksess盲 en finland茅s (14
contra 35) - Regla permitir un 30 de expansi贸n
- Teclas aceleradoras
- Suelen coincidir con el primer car谩cter de una
palabra - Esto puede dar problemas al traducir. Hay que
permitir que la tecla aceleradora sea otra
distinta de la inicial
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
69Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
On each page include clearly visible navigation
to localized pages or sites. Use the target
language
70Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Mostrar siempre enlaces a las versiones de las
p谩ginas en diferentes lenguajes. Utilizar el
nombre del lenguaje con el nombre y escrituras
del lenguaje nativo. No asumir que el usuario
puede leer en ingl茅s. Ejemplo espa帽ol, no
spanish - Uso de men煤 desplegable con ltSELECTgt para elegir
idioma - Ventajas ahorro de espacio
- Desventajas necesidad de desplegar,
imposibilidad de usar gr谩ficos en lugar de texto
en las opciones, dificultad de encontrar una
etiqueta para la lista que no sea espec铆fica del
lenguaje, mala usabilidad si la lista es muy
larga y hay que usar las barras de desplazamiento - Si es posible, evitar el uso de una lista
- Alternativas
- enlaces directos
- mapa
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
71Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Hay unas normas para usar los men煤s desplegables
- Posici贸n
- Etiquetado
- Tama帽o de la caja de selecci贸n
- Nombres de los lenguajes
- Codificaci贸n
- Fuentes
- Descripciones (nombre del lenguaje en el lenguaje
de la p谩gina actual) - Orden de los lenguajes
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
cetina (Czech)fran莽ais (French)Deutsch
(German)??? (Japanese)
72Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
For XHTML, add dir"rtl" to the html tag. Only
re-use it to change directionality
73Internacionalizaci贸n Internacionalizaci贸n en la
Web
- En algunos lenguajes (脕rabe, Hebreo, Persa) el
texto se lee de derecha a izquierda. Se puede
especificar la alineaci贸n por defecto del
contenido de la p谩gina de derecha a izquierda con
el atributo dirrtl de la marca html
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
http//www.lsi.us.es/i18n
74Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
espa帽ol
谩rabe
75Internacionalizaci贸n Internacionalizaci贸n en la
Web
- Si se incrusta texto escrito en Latin, o n煤meros,
se muestran de izquierda a derecha, gracias al
algoritmo bidireccional de Unicode - Cada car谩cter en Unicode (salvo los espacios y
signos de puntuaci贸n, que son neutrales) tiene
asociada una direcci贸n como propiedad LTR o RTL - Cuando se mezclan textos con direcciones
diferentes, cada uno se muestra con la suya.
Ejemplo - bahrain ??? kuwait (hay 3 direcciones
distintas) - La direcci贸n depende del contexto. Lo anterior se
muestra si el elemento html de la p谩gina tiene el
atributo dirltr (valor por defecto). Si tiene
el valor dirrtl entonces el texto impreso es - kuwait ??? bahrain
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
76Internacionalizaci贸n Internacionalizaci贸n en la
Web
- La direcci贸n de lectura tambi茅n afecta a las
im谩genes - Ejemplo controles de reproducci贸n
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
primero
anterior
siguiente
煤ltimo
Izquierda a derecha
煤ltimo
siguiente
anterior
primero
Derecha a izquierda
77Internacionalizaci贸n Internacionalizaci贸n en la
Web
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
Validate! Use techniques, tutorials, and articles
at http//www.w3.org/International/
78Internacionalizaci贸n Caso pr谩ctico
- Caso pr谩ctico
- Ejemplo de p谩gina internacionalizada
Introducci贸n Modelo de L10n Elementos I18n en
la Web Caso pr谩ctico
http//www.lsi.us.es/i18n