@eduardobona
DESENVOLVA PARA O MUNDO
APLICAÇÕES INTERNACIONALIZADAS
@eduardobona
Eduardo Bona:
Graduado em Sistemas para Internet (2007) e Pós Graduado em Banco de Dados (2008) / UniCesumar
Programador PHP / 2003
Sócio-Diretor da Vivaweb / 2005
Professor de Graduação e Pós Graduação na UniCesumar
Maringá / PR
@eduardobona
SORTEIO:
PRÊMIO 1 - LIVRO ZEND 2 NA PRÁTICA + DOCTRINE NA PRÁTICA (ELTON MINETTO) !PRÊMIO 2 - INGRESSO SILVER PHP CONFERENCE 2014 !PARA CONCORRER VOCÊ DEVERÁ SE MARCAR NA FOTO QUE SERÁ PUBLICADA NA FANPAGE DA VIVAWEB INTERNET
@eduardobona
?POR QUE
INTERNACIONALIZAR MEU APLICATIVO
@eduardobona
Por que internacionalizar?O Brasil é o único país onde o idioma nativo não é nem o primeiro nem o segundo idioma principal das aplicações
Aplicações que não suportam o português são as mais baixadas pelos próprios brasileiros
O idioma en_US é o mais baixado do mundo e potencializa sua aplicação para pelo menos 60% de toda a população dos países desenvolvidos.
@eduardobona
“Já que você tem que pensar de qualquer
forma, pense grande!”Donald Trump
@eduardobona
#gogogo ao assunto…Internacionalização i18n (internacionalization) é a criação e o desenvolvimento de um produto que permite a localização fácil dos públicos alvo que variam em termos de cultura, região ou idioma.
Localização l10n (localization) está relacionado à adaptação de um produto, aplicação ou conteúdo do documento para atender às exigências do idioma, culturais e outros requisitos de um mercado alvo específico.
FONTE: HTTP://WWW.W3.ORG/INTERNATIONAL/QUESTIONS/QA-I18N.PT.PHP
@eduardobona
Como é uma aplicação internacionalizada?
Com tradução de todos os termos contidos nela;(textos, formulários, mensagens de validação, etc)
Com suporte aos diversos tipos de datas e moedas conhecidas pelas localizações desejadas;
Com possibilidade de detecção automática da localização e/ou mediante URL ou parâmetros;
@eduardobona
Antes do Zend 2e da evolução do PHP 5.3 e 5.4
no Zend 1, pela dependência com versões antigas do PHP como 5.2 eram necessários componentes como locale, data e currency…
outros frameworks pela dependência com versões antigas também estão na mesma situação…
e era uma confusão…
Zend_Date
Zend_Locale
Zend_Currency
Zend_Translate
@eduardobona
Estudo de Caso 1 (com zend framework 1) 2 passos e o pulo do gato!1. Adicionar os helpers e códigos necessários na
view para suporte à internacionalização
2. Configurar application.ini para detecção automática
3. Rodar!
4. Pulo do Gato com POEdit
5. Rodar!
@eduardobona
Estudo de Caso 2 (com zend framework 1) +2 passos e agora vai!
1. Fazer todos os passos anteriores
2. Reconfigurar a rota padrão
3. Criar plugin de internacionalização
4. Rodar!
@eduardobona
Depois do Zend 2e da evolução do PHP 5.3 e 5.4
Remoção da Zend_Locale, Zend_Date, Zend_Currency…
Criação da \Zend\i18n substituindo a Zend_Translate
Criação de view helpers para Currency, Date, Number e Translate (como era antes)
Zend_Date
Zend_Locale
Zend_Currency
Zend_Translate
@eduardobona
Estudo de Caso 3 (com zend framework 2) Sem pulo!1. Apenas usar os helpers…
2. Atualizar o dicionário com POEdit (por padrão, no Zend 2 o suporte a internacionalização já está pronto)
3. Atualizar as configurações, por padrão alguns parâmetros já estão setados.
4. Rodar!
5. Caso queira passar por parâmetro o idioma, será necessário algumas linhas de código no arquivo inicialização do módulo Application.
@eduardobona
Dúvidas?
http://slideshare.net/eduardobona
Material para download:
http://vivaweb.net/palestras/zf_i18n.zip
http://vivaweb.net/palestras/zf2_i18n.zip