multilenguaje, multillenguatge, 多语言 llegar a todos. arribar a tot el món. 大家达成

29
Multilenguaje, Multilenguaje, multillenguatge multillenguatge , , 多多多 多多多 Llegar a todos. Llegar a todos. A A rribar a tot el món rribar a tot el món . . 多多多多 多多多多

Upload: gael-mazariegos

Post on 22-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Multilenguaje, Multilenguaje, multillenguatge multillenguatge , , 多语言多语言

Llegar a todos.Llegar a todos.

AArribar a tot el mónrribar a tot el món..

大家达成 大家达成

Page 2: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Quién soy?Quién soy?

Gabriel GalanternikGabriel Galanternik Oracle DBA Oracle DBA

“Adrupalado”“Adrupalado” 2 años de desarrollo de 2 años de desarrollo de

portales con Drupal 6portales con Drupal 6 Analizador de Redes Analizador de Redes

Sociales y Sociales y Comunidades Comunidades VirtualesVirtuales

Page 3: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

De qué la va?De qué la va?

Nuestros navegantes, nos entienden?Nuestros navegantes, nos entienden? Los que no, nos interesan?Los que no, nos interesan?

Page 4: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Soluciones!Soluciones!

Distintas Versiones del mismo sitioDistintas Versiones del mismo sitio– Dificil de mantenerDificil de mantener– Navegación restringida por dominioNavegación restringida por dominio– Mejor noMejor no

Un único sitio con traduccion configurableUn único sitio con traduccion configurable– Por dominio, por ip, por url, por elección Por dominio, por ip, por url, por elección

del usuariodel usuario

– Traduzcamos TODO, interfaz, contenido, Traduzcamos TODO, interfaz, contenido, taxonomía, etc, etc, etctaxonomía, etc, etc, etc

Page 5: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Que el usuario elija!Que el usuario elija!

http://traducciones.sandboxdrupal.com.ar/es/admin/settings/language/configure

Page 6: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Qué tenemos que hacer?Qué tenemos que hacer?

• Lenguaje por Default.Lenguaje por Default.• Configurar módulos básicosConfigurar módulos básicos• Traducciones de los elementosTraducciones de los elementos• Seguir las reglasSeguir las reglas

Page 7: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Ejemplo que vamos a mostrarEjemplo que vamos a mostrar

Page 8: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Lenguaje por Default.Lenguaje por Default.

Descargar nuevos lenguajes: http://drupal.org/project/translations

Activacion de lenguajes instalados: http://traducciones.sandboxdrupal.com.ar/es/admin/settings/language

Agregar o actualizar lenguajes: http://traducciones.sandboxdrupal.com.ar/es/admin/settings/language/add

Page 9: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Configurar módulos básicosConfigurar módulos básicosObligatoriosObligatorios Locale: Traducción de Interface – CoreLocale: Traducción de Interface – Core Content Translation: Contenido – Core Content Translation: Contenido – Core Internationalization: i18n – ContribuídoInternationalization: i18n – Contribuído I18n Taxonomy Views: Términos – ContribuídoI18n Taxonomy Views: Términos – Contribuído Select TranslationSelect Translation

OpcionalesOpcionales tContact: Formulario de contactotContact: Formulario de contacto I18n Logo: Logo por lenguajeI18n Logo: Logo por lenguaje Translation 404: Página Not FoundTranslation 404: Página Not Found Language Icons: Iconos de cada lenguajeLanguage Icons: Iconos de cada lenguaje

Page 10: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

LocaleLocale

Módulo del CoreMódulo del Core Qué nos provee?Qué nos provee?

– Traducción de la InterfazTraducción de la Interfaz

– Visualización de la interfaz en el lenguaje correctoVisualización de la interfaz en el lenguaje correcto

– Bloque de cambio de lenguajeBloque de cambio de lenguaje

– Función locale()Función locale()

– Negociación del lenguajeNegociación del lenguaje» Ninguna: DefaultNinguna: Default

» Prefijo: example.com/ES/...Prefijo: example.com/ES/...

» Prefijo y regreso: prefijo, si no, perfil usuario, navegador, defaultPrefijo y regreso: prefijo, si no, perfil usuario, navegador, default

» Dominio: ES.example.comDominio: ES.example.com

http://traducciones.sandboxdrupal.com.ar/es/admin/settings/language.

Page 11: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Content TranslationContent Translation

Módulo del CoreMódulo del Core Qué provee?Qué provee?

– Traducción del contenidoTraducción del contenido– Configuración en cada contenidoConfiguración en cada contenido

Page 12: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Select translationSelect translation

Módulo contribuídoMódulo contribuído Qué provee?Qué provee?

– Filtro para views: “Node: Select Translation”Filtro para views: “Node: Select Translation”– Varios criteriosVarios criterios

» current: el idioma en el cual se esta navegandocurrent: el idioma en el cual se esta navegando» user: el idioma elegido por el usuariouser: el idioma elegido por el usuario» default: el idioma por defecto del sitiodefault: el idioma por defecto del sitio» original: el idioma original del contenidooriginal: el idioma original del contenido» código: cada lenguaje tiene un código asociadocódigo: cada lenguaje tiene un código asociado

Page 13: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Internationalization o i18nInternationalization o i18n

Módulo contribuído esencial!Módulo contribuído esencial! Qué provee? Qué provee?

– Bloques: Título y CuerpoBloques: Título y Cuerpo

– Campos CCKCampos CCK

– Content TypeContent Type

– Menúes: (no Nice menus...)Menúes: (no Nice menus...)

– Campos del PerfilCampos del Perfil

– Taxonomía: Términos y vocabulariosTaxonomía: Términos y vocabularios

– Views: Labels y textosViews: Labels y textos

– Taxonomía en Views: Submódulo de i18nTaxonomía en Views: Submódulo de i18n

– Función Tt()Función Tt()

Page 14: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Módulos opcionalesMódulos opcionales

Language Icons: íconos para traducción en cada nodoLanguage Icons: íconos para traducción en cada nodo tContact: Formulario de contacto totalmente traducible. tContact: Formulario de contacto totalmente traducible.

Filtro de Categorías.Filtro de Categorías. I18n Logo: Para cada lenguaje un logo distinto, aunque es I18n Logo: Para cada lenguaje un logo distinto, aunque es

global para todos los temasglobal para todos los temas Preserve language: permite ver la traducción de un nodo sin Preserve language: permite ver la traducción de un nodo sin

cambiar “todo el sitio” al lenguaje elegidocambiar “todo el sitio” al lenguaje elegido Translation Access: permisos de Creación/Edición de Translation Access: permisos de Creación/Edición de

traducciones por lenguaje/usuariotraducciones por lenguaje/usuario Translation 404: mensaje cuando una traducción no existe, Translation 404: mensaje cuando una traducción no existe,

en lugar de mostrar otra traducciónen lugar de mostrar otra traducción

Page 15: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Traducciones de los elementosTraducciones de los elementos

Una vez configurado todo... qué hacemos???Una vez configurado todo... qué hacemos??? Primero: Qué hay que traducir?Primero: Qué hay que traducir?

– InterfazInterfaz– ViewsViews

» Table HeaderTable Header

» TérminosTérminos

» Empty TextEmpty Text

» LabelsLabels

» Exposed FiltersExposed Filters

Page 16: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Traducciones de los elementosTraducciones de los elementos Sólo eso??? No, no, continúa...Sólo eso??? No, no, continúa...

– ContenidoContenido» Título, CuerpoTítulo, Cuerpo

» CCKCCK

» Lables CCKLables CCK

» Tipos de contenido DefaultTipos de contenido Default

» Tipos de contenidos propiosTipos de contenidos propios

» Allowed Values CCKAllowed Values CCK

» Node ReferencesNode References

Page 17: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Traducciones de los elementosTraducciones de los elementos Y por último...Y por último...

– TaxonomíaTaxonomía» Términos Términos

» VocabulariosVocabularios

– MenúMenú» Menu EntryMenu Entry

» Nice Menu o Menu DesplegableNice Menu o Menu Desplegable

– Mails de usuarioMails de usuario

Page 18: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Interfaz de TraducciónInterfaz de Traducción

Permite la traducción “en vivo” de StringsPermite la traducción “en vivo” de Strings» http://traducciones.sandboxdrupal.com.ar/admin/build/http://traducciones.sandboxdrupal.com.ar/admin/build/

translatetranslate

» Buscar y traducir cada StringBuscar y traducir cada String

Importar archivos .poImportar archivos .po Exportar TraduccionesExportar Traducciones Reconstruir los Strings para la traducciónReconstruir los Strings para la traducción

Page 19: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Interfaz de TraducciónInterfaz de Traducción

Qué nos permite traducir?Qué nos permite traducir?– ViewsViews

» Origen: NombreView:DisplayOrigen: NombreView:Display» Grupo: ViewGrupo: View» Idioma: Default del sitioIdioma: Default del sitio

– Views Table HeaderViews Table Header» Origen: lugar vistoOrigen: lugar visto» Grupo: Interfaz incorporadaGrupo: Interfaz incorporada» Idioma: InglésIdioma: Inglés

– Exposed FilterExposed Filter» Origen: lugar vistoOrigen: lugar visto» Grupo: Interfaz incorporadaGrupo: Interfaz incorporada» Idioma: InglésIdioma: Inglés

– VocabularioVocabulario» Origen: vocabulary:vid:nameOrigen: vocabulary:vid:name» Grupo de Texto: TaxonomyGrupo de Texto: Taxonomy» Idioma: Default del sitioIdioma: Default del sitio

– Views LabelsViews Labels» Origen: lugar vistoOrigen: lugar visto» Grupo: Interfaz incorporadaGrupo: Interfaz incorporada» Idioma: InglésIdioma: Inglés

– TérminosTérminos» Origen: term:tid:nameOrigen: term:tid:name» Grupo: TaxonomyGrupo: Taxonomy» Idioma: Default del sitioIdioma: Default del sitio

Page 20: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Interfaz de TraducciónInterfaz de Traducción

Qué más? Qué más? – Lables CCKLables CCK

» Origen: lugar vistoOrigen: lugar visto» Grupo: Interfaz incorporadaGrupo: Interfaz incorporada» Idioma: InglésIdioma: Inglés

– Content Types de UsuarioContent Types de Usuario» Origen:Origen:

type:tipodecontenido:nametype:tipodecontenido:name

» Grupo: Content TypeGrupo: Content Type» Idioma: DefaultIdioma: Default

– Content Type Built InContent Type Built In» Origen: lugar vistoOrigen: lugar visto» Grupo: Interfaz incorporadaGrupo: Interfaz incorporada» Idioma: InglésIdioma: Inglés

– Empty TextEmpty Text» Origen: lugar vistoOrigen: lugar visto» Grupo: Interfaz incorporadaGrupo: Interfaz incorporada» Idioma: InglésIdioma: Inglés

– Menu EntryMenu Entry» Origen: item:MID:titleOrigen: item:MID:title» Grupo: MenúGrupo: Menú» Idioma: DefaultIdioma: Default

– Nice Menu (sólo Dev version)Nice Menu (sólo Dev version)» Origen: item:Mid:titleOrigen: item:Mid:title» Grupo: MenuGrupo: Menu» Idioma: Default del sitioIdioma: Default del sitio

Page 21: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Allowed Values CCKAllowed Values CCK

Un poco de PHPUn poco de PHPreturn array( nowhere => t('Nowhere'), return array( nowhere => t('Nowhere'),

main => t('Main region in frontpage'), main => t('Main region in frontpage'),

secondary => t('Secondary region in frontpage'), secondary => t('Secondary region in frontpage'),

right => t('Right sidebar in frontpage'), right => t('Right sidebar in frontpage'),

left => t('Left sidebar in frontpage'),);left => t('Left sidebar in frontpage'),);

Y ahora pasar por la interfaz de traducciónY ahora pasar por la interfaz de traducción

Page 22: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Términos en las ViewsTérminos en las Views

Se hereda de TérminosSe hereda de Términos Configurar y utilizar el módulo específico:Configurar y utilizar el módulo específico:

– I18n taxonomy viewsI18n taxonomy views

Como administrador, establecerse en un idiomaComo administrador, establecerse en un idioma Escribir los mails en ese idiomaEscribir los mails en ese idioma Cambiarse a cada idioma y volver a escribirlosCambiarse a cada idioma y volver a escribirlos

Mails de usuarioMails de usuario

http://traducciones.sandboxdrupal.com.ar/es/admin/user/settings

Page 23: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

ContenidoContenido

Crear el contenidoCrear el contenido Marcar el idioma en alguno distinto de NeutroMarcar el idioma en alguno distinto de Neutro Aparecerá el Tab TranslateAparecerá el Tab Translate En él se crean las traducciones del contenidoEn él se crean las traducciones del contenido O se asocia un contenido ya existenteO se asocia un contenido ya existente

Page 24: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Node ReferenceNode Reference

ProblemaProblema– 2 empresas: Google y Tesis OyS2 empresas: Google y Tesis OyS

– Cada una con su traducciónCada una con su traducción» Google Castellano, Google CatalánGoogle Castellano, Google Catalán

» Tesis OyS Castellano, Tesis OyS CatalánTesis OyS Castellano, Tesis OyS Catalán

– Un producto Neutro: Planeta Pro DentalUn producto Neutro: Planeta Pro Dental

– Editando en Castellano, por Node Reference, se asocian Editando en Castellano, por Node Reference, se asocian al producto PPD las 2 empresas.al producto PPD las 2 empresas.

– Viendo PPD en Catalán, veo las referencias en Viendo PPD en Catalán, veo las referencias en Castellano.Castellano.

Page 25: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Node ReferenceNode Reference

SoluciónSolución– Translated Node ReferenceTranslated Node Reference– Módulo contribuído, sponsoreado por Tesis Módulo contribuído, sponsoreado por Tesis

OySOyS– Formatter para mostrar la traducción adecuada Formatter para mostrar la traducción adecuada

del nodo referenciado.del nodo referenciado.– Configuración de criterios de lenguaje Configuración de criterios de lenguaje

mostrado.mostrado.

Page 26: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Node ReferenceNode Reference

Page 27: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Seguir las reglasSeguir las reglas ViewsViews Idioma: Default del sitioIdioma: Default del sitio

Views Table HeaderViews Table Header Idioma: InglésIdioma: Inglés

Exposed FilterExposed Filter Idioma: InglésIdioma: Inglés

VocabularioVocabulario Idioma: Default del sitioIdioma: Default del sitio

Views LabelsViews Labels Idioma: InglésIdioma: Inglés

TérminosTérminos Idioma: Default del sitioIdioma: Default del sitio

Lables CCKLables CCK Idioma: InglésIdioma: Inglés

Content Types de UsuarioContent Types de Usuario Idioma: DefaultIdioma: Default

Content Type Built InContent Type Built In Idioma: InglésIdioma: Inglés

Empty TextEmpty Text Idioma: InglésIdioma: Inglés

Menu EntryMenu Entry Idioma: DefaultIdioma: Default

Nice Menu (Dev version)Nice Menu (Dev version) Idioma: Default del sitioIdioma: Default del sitio

Page 28: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Preguntas?Preguntas?

Page 29: Multilenguaje, multillenguatge, 多语言 Llegar a todos. Arribar a tot el món. 大家达成

Muchas Gracias!Muchas Gracias!

Yo: [email protected]: [email protected] [email protected]@gmail.com Twitter: ggalanternikTwitter: ggalanternik At Drupal.org: ggalan1173At Drupal.org: ggalan1173 At drupalcamp.es: ggalanternikAt drupalcamp.es: ggalanternik Sitios con DrupalSitios con Drupal

– www.tesis-oys.com.arwww.tesis-oys.com.ar– www.planetaprodental.comwww.planetaprodental.com