Download the PHP package radig/locale without Composer
On this page you can find all versions of the php package radig/locale. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package locale
h1. CakePHP Locale !https://travis-ci.org/radig/locale.png?branch=master(Build Status)!:https://travis-ci.org/radig/locale !https://coveralls.io/repos/radig/locale/badge.svg(Coverage Status)!:https://coveralls.io/r/radig/locale
That plugin allow your users to input localized data (like dates and decimals) while kept consistency at database-level.
It's also included a Helper to output a non-localized data in users locale format.
Some static libs are delivered in bundle and are used by Helper and Behavior, at the same time allow you to work with localized data where you need (like shell).
Este plugin permite que usuários de seu sistema visualizem e insiram dados em formatos locais/regionais ao mesmo tempo que garante a consistência dos dados convertendo-o para um formato aceito pelo banco de dados escolhido.
h2. Autor e Copyright
- Copyright 2009-2014, "Radig - Soluções em TI":http://www.radig.com.br
- Licença MIT - Isto quer dizer que o código está disponível sem nenhuma garantia, ao mesmo tempo que você pode usa-lo de forma isolada ou em conjunto com seu próprio código.
h2. Observações/Observations
- PHP >= 5.4
- CakePHP 2.x
- Consulte os testes incluído no plugin para ver melhor seu funcionamento (Consult unit tests included)
h2. Como usar / How begin
- A única configuração necessária é ter definido o locale da sua aplicação. Caso não tenha feito isso, basta utilizar a função setlocale
- Only configuration is define the locale of application with:
bc. setlocale(LC_ALL, 'pt_BR.utf-8', 'pt_BR', 'pt-br', 'portuguese');
h3. Utilizando o Behavior
- Basta definir, no model que deseja ativa-lo, a seguinte linha:
bc. $actsAs = ['Locale.Locale'];
- A partir daí o behavior vai converter seus dados antes da validação e antes de salvar.
h3. Utilizando o Helper
- Nos controladores de interesse, adicione o helper Locale.Locale, deixando similar a linha abaixo:
bc. $helpers = ['Locale.Locale'];
- Agora nas views de seu controlador, você pode chamar o helper, como abaixo:
bc. echo $this->Locale->dateTime('2010-08-26');
h3. Além do Behavior e Helper...
Agora você também pode trabalhar com a normalização de desnormalização de dados em diferentes contextos de sua aplicação (como em Shells), bastando para isso carregar as libs Localize e Unlocalize, de acordo com suas necessidades.
bc. App::uses('Localize', 'Locale.Lib');
Elas são todas estáticas, então você deve usa-las sem se preocupar com instâncias:
bc. $localizada = Localize::date('2012-04-16');
Desta forma, a variável $localizada armazenará "16/04/2012" caso seu locale esteja definido para pt_BR
h3. Resolvendo problemas
h4. '[Notice] Undefined index C: ...'
Este erro ocorre quando o locale que você configurou no seu bootstrap não está disponível em seu SO. No caso do pt_BR, ele não costuma vir habilitado no Ubuntu Server (e me parece que no Desktop também). Para resolver o problema você possuí pelo menos duas alternativas:
Em uma linha (pode funcionar em outras distros):
bc. sudo locale-gen --no-purge --lang pt_BR
Deixando para o SO gerenciar:
@sudo vi /var/lib/locales/supported.d/local@
Acrescente o locale pt_BR.UTF-8 UTF-8
@sudo dpkg-reconfigure locales@
Reinicie o Apache/PHP-FPM
h4. 'Notice (8): Undefined index: [APP\Plugin\Locale\Lib\Localize.php, line 41]'
Outro erro relacionado ao locale do sistema que já foi reportado na [issue #2]:https://github.com/radig/locale/issues/2 e ocorre sempre na primeira execução do script (antes de haver cache de APC/Arquivo...).
A solução consiste em incluir o locale 'portuguese' quando configurar o setlocale.
bc. setlocale(LC_ALL, 'pt_BR.utf-8', 'pt_BR', 'pt-br', 'portuguese');