Pergunta

Estive analisando algumas opções para permitir a localização e internacionalização de um aplicativo php dinâmico.Parece haver uma variedade de ferramentas disponíveis, como o gettext e o R3 do Yahoo, e estou interessado em ouvir dos desenvolvedores e dos tradutores quais ferramentas são boas para usar e quais funcionalidades são importantes para facilitar a tarefa de implementação e tradução.

Foi útil?

Solução

A implementação do PHP GetText funciona muito bem. E os arquivos PO com PO Edit e GetText são tão bons quanto você pode lidar com a localização, tendo em mente que nenhuma solução desse tipo pode lidar completamente com as complexidades dos vários idiomas. Por exemplo, o método getText é muito bom nas formas plurais, mas nada que eu vi pode lidar com coisas como a conjugação.

Para mais informações, consulte minha postagem aqui: Como você constrói um site de vários idiomas?

Outras dicas

Nós estivemos mexendoZend_Traduzir, já que usamos o Zend Framework de qualquer maneira.Está muito bem documentado e até agora extremamente sólido.

No passado, eu praticamente usei o meu próprio cultivado em casa solução principalmente.O que envolve arquivos de linguagem com constantes ou variáveis ​​que contêm todas as partes do texto e são apenas ecoadas na visualização/modelo posteriormente.

Quanto ao gettext, no passado ouvi referências sobre falhas na implementação do gettext do PHP, mas não posso comprovar isso nem tenho nenhuma referência no momento.

Existem várias extensões úteis no PECL:http://pecl.php.net/packages.php?catpid=28&catname=Internationalization

Em particular, você pode querer conferir o PHP-INTL, que fornece a maioria das principais funções i18N de componentes internacionais para Unicode (UTI)

A solução orientada ao banco de dados para mostrar as mensagens nem sempre é a boa, eu trabalhei em um site com mais de 15 idiomas e as traduções foram um problema.

Então, nosso design foi:

  • aplicativo de tradução no PHP-MYSQL (acesso à tradução, etc.)
  • Então as traduções são escritas no PHP Arrrays
  • Essas matrizes também são armazenadas em cache na APC para acelerar o site.

Então, para localizar diferentes idiomas, você só precisa fazer uma inclusão

Curti

<?php
include('lang/en.php');
include('lang/en_us.php'); // this file overrides few keys from the last one.
?>

O Xataface pode ser usado para internacionalizar facilmente um aplicativo arbitrário PHP/MYSQL. Apoia a tradução do seu texto estático e dos dados do banco de dados. Tudo o que você precisa fazer é adicionar uma linha ou 2 de código a alguns lugares em seu aplicativo e é bom ir.

http://xataface.com/documentation/tutorial/internationalization-with-dataface-0.6

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top