(16) 981791110 contato@policast.studio

O que é o serviço de tradução do Symfony?

O serviço de tradução do Symfony é um recurso que permite aos desenvolvedores criar aplicativos que são acessíveis a todos os idiomas. Ele é baseado na biblioteca gettext, que tem sido o padrão de fato para a internacionalização de aplicativos Unix por mais de 40 anos.

Por que usar o serviço de tradução do Symfony?

Usar o serviço de tradução do Symfony permite aos desenvolvedores criar aplicativos que podem ser facilmente traduzidos para outros idiomas. Pode ser uma enorme vantagem competitiva para o seu aplicativo à medida que você torna mais fácil para pessoas de diferentes partes do mundo usá-lo. Se o seu aplicativo tem o potencial de atingir um público global, então é importante considerar a internacionalização e localização.

Como usar o serviço de tradução do Symfony?

Para começar a usar o serviço de tradução do Symfony, é necessário primeiro instalar a biblioteca gettext se ela ainda não estiver instalada em seu sistema. Para fazer isso, basta usar o seguinte comando:

sudo apt-get install gettext

Uma vez que a biblioteca gettext é instalada, você precisará habilitar o serviço de tradução em seu aplicativo Symfony. Isso é feito adicionando o seguinte código ao seu arquivo config/services.yml :

services:
translator:
class: SymfonyComponentTranslationTranslator
arguments: ['%locale%']
calls:
- [setFallbackLocales, ['en']]
- [addLoader, ['yaml', new YamlFileLoader()]]
- [addResource, ['yaml', '%kernel.project_dir%/translations/pt_BR.yml', 'pt_BR']]

Note que este é um exemplo de como configurar o serviço, e você pode ajustar os parâmetros de acordo com suas necessidades.

Agora, você precisa criar os arquivos de tradução. Eles devem ser armazenados no diretório translations em seu aplicativo. O nome do arquivo inclui o código do idioma. Por exemplo, para o português do Brasil, o nome do arquivo deve ser pt_BR.yml. Este é um exemplo simples de como escrever uma tradução:

# translations/pt_BR.yml
hello: Olá, mundo!

Agora, você pode usar a função trans para traduzir seu texto para o idioma preferido do usuário:

{% trans %}hello{% endtrans %}

Se o usuário preferir português do Brasil, ele será exibido como “Olá, mundo!”. Caso contrário, será exibido como “hello”.

Também é possível usar a função trans_choice para traduzir textos com variação de plural. É uma sintaxe semelhante:

# translations/pt_BR.yml
apples: "{0} Nenhuma maçã|{1} 1 maçã|]1,Inf] %count% maçãs"

E depois você pode usá-lo em seu modelo:

{% trans_choice apples count=0 %}
{% trans_choice apples count=1 %}
{% trans_choice apples count=10 %}

Aqui, se count for 0, será exibido “Nenhuma maçã”. Se for 1, será exibido “1 maçã”. Se for qualquer outra coisa, será exibido o número de maçãs.

O serviço de tradução do Symfony é uma ferramenta poderosa para tornar sua aplicação acessível a usuários de todo o mundo. Não hesite em usá-lo e permitir que seus usuários tenham uma experiência localizada do seu aplicativo.