---
title: "Traduza arquivos Java, INI, Fluent e PHP"
description: "Traduza arquivos Java .properties, INI, Joomla, Inno Setup e .lang, Mozilla Fluent .ftl e arquivos de idioma PHP de até 4 MB, mantendo chaves, comentários e placeholders."
canonical: "https://ai-glot.com/docs/pt/formats/java-ini-fluent-php"
updated: "2026-10-12"
---

# Traduza arquivos Java, INI, Fluent e PHP

Quatro formatos de recursos compartilham esta página porque oferecem a mesma garantia: as chaves e a estrutura permanecem como estão, e somente os valores mudam. Cada formato aceita arquivos de até **4 MB**. Cada um tem suas próprias regras de aspas e placeholders, listadas abaixo. Todos os quatro contêm **um idioma por arquivo**.

> **Tip: Experimente grátis**
>
> Envie um arquivo de até 2 MB para os tradutores gratuitos de [Java properties](https://ai-glot.com/file-formats/properties-translation), [INI](https://ai-glot.com/file-formats/ini-translation), [Fluent](https://ai-glot.com/file-formats/fluent-translation) ou [arquivos de idioma PHP](https://ai-glot.com/file-formats/php-translation) e teste sem criar uma conta, com limite de cinco arquivos por dia. O app, a API e a CLI aceitam arquivos de até 4 MB.

## Java properties (`.properties`)

As chaves, o separador (`=` ou `:`), os comentários e as linhas em branco são mantidos como estão. Placeholders do MessageFormat, como `{0}` e `{0,number,currency}`, são preservados com o índice e o tipo de formato. O bundle é lido e gravado em **UTF-8**: salve primeiro em UTF-8 qualquer bundle antigo em ISO-8859-1. Ainda não há suporte para valores que continuam na linha seguinte com uma barra invertida no fim. Nesse caso, somente a primeira linha é traduzida; portanto, coloque cada valor em uma única linha antes de enviar o arquivo.

**Um bundle do Spring**

messages.properties se torna `messages_fr.properties.`

Traduza os valores para francês. Mantenha inalterados os placeholders do MessageFormat, como \{0} e \{1,number}, e deixe as chaves e os comentários como estão.

## INI, Joomla, Inno Setup e `.lang` (`.ini`, `.isl`, `.lang`)

As chaves, as `[sections]`, os comentários e as aspas são mantidos como estão. O arquivo é reescrito linha por linha, então qualquer linha que não precisava de tradução volta byte por byte. Um valor entre aspas continua entre aspas, e as aspas dentro de uma tradução são escapadas conforme o padrão já usado naquela linha, inclusive o `"_QQ_"` do Joomla. Valores sem aspas são gravados literalmente, pois, no Inno Setup, as aspas passariam a fazer parte do texto. Um valor de INI ocupa uma única linha: uma quebra de linha na tradução vira um espaço. Arquivos que **não estejam em UTF-8** (os do Inno Setup costumam usar Windows-1252) são recusados, em vez de convertidos. Salve-os primeiro em UTF-8.

**Um arquivo de idioma do Joomla**

Mantém as chaves `COM_` e as aspas.

Traduza os valores para alemão. Mantenha inalterados os placeholders, como %s, %d e \[name], e deixe todas as chaves e os comentários como estão.

**Um instalador do Inno Setup**

Somente as seções de mensagens de um arquivo .isl.

Traduza somente as seções \[Messages] e \[CustomMessages] para espanhol. Mantenha %1 e %n inalterados.

## Fluent (`.ftl`)

Usado pelo Firefox, Thunderbird e muitos outros apps. Os IDs das mensagens, os nomes dos atributos e os nomes dos termos voltam exatamente como foram enviados. Variáveis como `{ $count }` são protegidas, e cada variante de plural ou seleção (`[one]`, `*[other]`) é traduzida como uma string própria, sem alterar as chaves das variantes. O arquivo não é reformatado: cada tradução é inserida no lugar do texto original. Uma chave literal ou uma linha iniciada por `[`, `*` ou ponto é escapada para manter a validade do arquivo.

**Um catálogo Fluent**

Traduz mensagens, atributos e todas as variantes de plural.

Traduza para italiano. Mantenha inalteradas variáveis como \{ $count } e \{ $name } e traduza cada variante de plural conforme o contexto.

## Arquivos de idioma PHP (`.php`)

Para arquivos de idioma do Laravel, Symfony, CodeIgniter e PrestaShop: estruturas `return [ ... ]` ou `array( ... )` com mensagens, atribuições `$lang[...]` e strings `$_MODULE`. **Somente os valores de strings simples são alterados.** As chaves dos arrays, os argumentos das funções, as concatenações, os heredocs e qualquer outro código voltam exatamente como estavam, e cada string mantém suas próprias aspas. Placeholders como `:attribute`, `{field}`, `%s` e `$name` são preservados. Arquivos PHP que não sejam arquivos de idioma são recusados, em vez de serem interpretados por suposição: o AI Glot não traduz código. Um plural do Laravel, como `"one apple|:count apples"`, é uma única string simples; confira quantas formas seu idioma precisa no resultado.

**Mensagens de validação do Laravel**

Mantém os placeholders :attribute funcionais.

Traduza as mensagens para português. Mantenha :attribute, :min, :max e %s inalterados e não altere as chaves do array.

## Informações úteis

- **Um idioma de destino por envio** nos quatro formatos. Se você pedir dois, o plano traduz um e informa isso. Envie o arquivo uma vez para cada idioma: seu [glossário](/docs/platform/glossaries) é mantido, então o arquivo em alemão usa os mesmos termos que o arquivo em francês.
- **Vários arquivos de uma vez.** Coloque uma pasta `lang` em um [ZIP](/docs/formats/zip) para traduzir tudo em um único trabalho.
- **Filtro de saída.** Não disponível para esses formatos: o arquivo inteiro é retornado.
- **Limite.** 4 MB para os quatro formatos.

## Relacionados

- [YAML e TOML](/docs/formats/yaml-and-toml), [JSON](/docs/formats/json) e [gettext PO](/docs/formats/gettext-po) para outros formatos de localização.
- [Todos os formatos de arquivo](/docs/formats)
