17
@eduardobona DESENVOLVA PARA O MUNDO APLICAÇÕES INTERNACIONALIZADAS

Desenvolva para o mundo com Zend Framework 2

Embed Size (px)

DESCRIPTION

Nova versão da palestra criada em 2012 para PHP Conferece e agora apresentada na TDC 2014 Florianópolis.

Citation preview

Page 1: Desenvolva para o mundo com Zend Framework 2

@eduardobona

DESENVOLVA PARA O MUNDO

APLICAÇÕES INTERNACIONALIZADAS

Page 2: Desenvolva para o mundo com Zend Framework 2

@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

Page 3: Desenvolva para o mundo com Zend Framework 2

@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

Page 4: Desenvolva para o mundo com Zend Framework 2

@eduardobona

?POR QUE

INTERNACIONALIZAR MEU APLICATIVO

Page 5: Desenvolva para o mundo com Zend Framework 2
Page 6: Desenvolva para o mundo com Zend Framework 2
Page 7: Desenvolva para o mundo com Zend Framework 2
Page 8: Desenvolva para o mundo com Zend Framework 2

@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.

Page 9: Desenvolva para o mundo com Zend Framework 2

@eduardobona

“Já que você tem que pensar de qualquer

forma, pense grande!”Donald Trump

Page 10: Desenvolva para o mundo com Zend Framework 2

@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

Page 11: Desenvolva para o mundo com Zend Framework 2

@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;

Page 12: Desenvolva para o mundo com Zend Framework 2

@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

Page 13: Desenvolva para o mundo com Zend Framework 2

@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!

Page 14: Desenvolva para o mundo com Zend Framework 2

@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!

Page 15: Desenvolva para o mundo com Zend Framework 2

@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

Page 16: Desenvolva para o mundo com Zend Framework 2

@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.

Page 17: Desenvolva para o mundo com Zend Framework 2

@eduardobona

Dúvidas?

[email protected]

http://slideshare.net/eduardobona

Material para download:

http://vivaweb.net/palestras/zf_i18n.zip

http://vivaweb.net/palestras/zf2_i18n.zip