Desenvolva para o Mundo II - Inovação + Internacionalização de sistemas com Zend Framework
1. DESENVOLVA PARA O
MUNDO
Já que você tem que pensar de qualquer forma
PENSE GRANDE
PENSE DIFERENTE
@eduardobona
sábado, 9 de fevereiro de 13
2. Quem sou eu?
- Co-fundador daVivaweb Internet criada em 2005
na Incubadora Tecnológica de Maringá - UEM.
- Graduação:Tecnologia em Desenvolvimento de
Sistemas para Web (Cesumar) em 2008.
- Pós-Graduação:Administração de Banco de
Dados Oracle / DB2 (Cesumar) em 2009.
- Professor universitário desde 2010. Atualmente
no Cesumar com linhas de pesquisa em
tecnologias web emergentes, desenvolvimento
php / zend framework, des. móvel, redes sociais.
- @eduardobona
facebook.com/eduardobona
slideshare.net/eduardobona
sábado, 9 de fevereiro de 13
3. Sorteio
- 1 ebook Zend Framework (1 ou 2) na Prática
(formato Kindle)
- 2 cortesias para a
PHP CONFERENCE 2013
- PARA PARTICIPAR:
1. Curtir a página daVivaweb no facebook ou
seguir a @vivaweb no twitter.
2. Preencher o formulário que está disponível em
nossa página do facebook e twitter.
- DATA DO SORTEIO: às 13/02 17:00 e resultado
estará nas redes sociais daVivaweb.
sábado, 9 de fevereiro de 13
5. INOVAÇÃO
• algo novo
• aproveitar a
oportunidade no
momento certo
• talento, muita disposição
e nenhum medo
• rápida (ruptura)
• a solução
• uma invenção
• tão simples quanto parece
ser para alguns
• apenas questão de dinheiro
e marca
• rápida (em outros casos)
• o problema
É NÃO É
sábado, 9 de fevereiro de 13
9. 0
10,00
20,00
30,00
40,00
Inovadores Primeiros a adotar Maioria Inicial Maioria Tardia Retardatários
16,0%
34,0%
34,0%
13,5%
2,5%
Teoria da Difusão de Inovações
Everett Rogers, 1962
sábado, 9 de fevereiro de 13
12. • Inglês é o idioma mais
importante com
percentual acima de 90%
para downloads pagos e
gratuitos.
• Todos os Top 200
aplicativos gratuitos e
pagos suportam o inglês.
• Para aplicativos pagos, é
significante suporte ao
idioma nativo.
• A China é o único país
onde o idioma nativo é
mais significante do que
o inglês.
• O Brasil é o único país
onde o idioma nativo não
é o primeiro nem o
segundo em downloads.
Conclusões
sábado, 9 de fevereiro de 13
15. Conceitos
• Internacionalização (i18n) é 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) 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 (um "local").
Fonte:W3C http://www.w3.org/International/questions/qa-i18n.pt.php
sábado, 9 de fevereiro de 13
18. Caso 1: Tradução
1) acrescentar HELPERTRANSLATE ao textos
<li><a>Galeria</a></li>
alterar para <a><?php echo $this->translate("Galeria") ?></a>
2) em application/i18n/en_US.po (tradução) - traduzir os novos termos
com POEDIT
3) em application/configs/application.ini adicionar os parâmetros para
reconhecimento do idioma e do arquivo de tradução
resources.locale.default = "pt_BR"
resources.translate.data = APPLICATION_PATH "/i18n/"
resources.translate.default.disableNotices = 1
resources.translate.adapter = "gettext"
resources.translate.options.scan = "filename"
sábado, 9 de fevereiro de 13
19. Caso 2: Moeda
1) em application/scripts/views/index/index.phtml
<p>iPhone 5 a partir de 1290.50)</p> alterar para
<p>iPhone 5 a partir de <? echo $this->currency(1290.50) ?></p>
Resultado com navegador em inglês: $1.290,50
Resultado com navegador em português: R$1,290.50
De acordo com a identificação da localização (locale) - neste caso é
automático pelo idioma do navegador.
sábado, 9 de fevereiro de 13
20. Caso 3: Datas
1) em application/scripts/views/index/index.phtml
<?php
$data_de = new Zend_Date("2012-12-01", Zend_Date::ISO_8601);
$data_ate = new Zend_Date("30/12/2012", "pt_BR");
$data3 = new Zend_Date("10/11/2012"); // FORMA ERRADA
?>
Do dia <?php echo $data_de->get("dd/MM/yy") ?> até
<?php echo $data_ate->get("dd/MM/yy") ?>
Problemas em inglês <?php echo $data3->get("dd/MM/yy") ?>
sábado, 9 de fevereiro de 13
21. Caso 4: Tradução por URL
Objetivo: através da url /en ou /pt aplicar a internacionalização
1) Criar plugin de rotas para identificar sempre como primeiro
parâmetro o idioma
2) Criar plugin de internacionalização que recerá o parâmetro do
idioma (através da rota) via URL e configurará os locales e
tradução.
3) Adicionar ao Bootstrap o AutoLoader para pasta de plugins
(caso não haja ainda)
4) Adicionar ao application.ini os 2 plugins e só!
sábado, 9 de fevereiro de 13
22. #gogogo: ao Zend 2
ZEND_LOCALE
ZEND_DATE
ZEND_CURRENCY
ZEND_TRANSLATE
i18n
sábado, 9 de fevereiro de 13
23. Mudanças na internacionalização
com Zend Framework 2
• Remoção das classes:
• ZendLocaleLocale
• ZendLocaleFormat
• ZendDateDate
• ZendCurrencyCurrency
sábado, 9 de fevereiro de 13
24. Mudanças na internacionalização
com Zend Framework 2
• Criação da Zendi18n substituindo a Zend_Translate
• Criação de view helpers para CurrencyFormat,
DateFormat, NumberFormat e Translate
• Incentivo ao uso das bibliotecas nativas do PHP 5.3
para resolução das demandas removidas do ZF1
• Benefícios como aumento de performance entre 5 a
10 vezes em testes realizados durante o
desenvolvimento
sábado, 9 de fevereiro de 13