Ao fazer upload de um arquivo para um projeto, todos os novos recursos são extraídos desse arquivo e armazenados em um projeto. O formato do arquivo enviado não precisa ser o formato inicial configurar para o projeto. Se tags forem fornecidas para agrupar recursos, novas chave terão essas tags aplicadas.
Alguns formatos, como Gettext, fornecem informações meta valiosas adicionais, como comentários, descrições ou informações sobre formas plurais. Essas informações são extraídas quando e onde possível e são armazenadas junto com os recursos atribuídos, permitindo que todas as informações valiosas fornecidas nos arquivos de localização sejam salvas para usar posterior.
Existem vários métodos para fazer upload de arquivos:
-
No aplicativo, ao criar um novo projeto ou selecionando Upload file em uma página de projeto
-
via API
-
via CLI
-
Por padrão, apenas o novo conteúdo é extraído e quaisquer chaves existentes em um projeto de localização não são excluídas ou atualizadas; nenhum dado pode ser perdido ao fazer upload de arquivos. Se for necessário substituir dados existentes, Substituir os recursos do projeto com conteúdo do arquivo de localização selecionando a opção . As traduções existentes serão substituídas pelo conteúdo do arquivo de localização enviado.
Esta opção também está disponível na API.
Nota
Para evitar perda de dados, certifique-se de que as alterações mais recentes sejam baixadas do Phrase para o arquivo de localização antes de alterá-lo e fazer o upload novamente com a opção .
-
Insira um identificador exclusivo (por exemplo, o caminho do arquivo) para adicionar ao início dos nomes das chave de tradução enviadas. Usar um prefixo significativo relacionado ao projeto ou arquivo para manter os nomes das chave organizados.
Por exemplo, uma chave
hello_worldimportada com o prefixoproject_resultará na chaveproject_hello_world.O prefixo da chave de tradução garante que as chaves sejam comparadas com as existentes para evitar colisões entre diferentes projetos ou arquivos.
Esta opção também está disponível na API e na interface CLI.
-
Adicionar novas chaves e substituir as existentes com o conteúdo do arquivo enviado.
-
Atualizar traduções de destino apenas se o texto original existente no idioma padrão do projeto corresponder ao texto original no arquivo multilíngue enviado.
-
Selecione esta opção se for necessário atualizar todas as descrições das chaves do arquivo enviado. Descrições vazias substituirão as existentes. As descrições podem conter qualquer informação adicional para tradutores e ajudar a identificar chaves individuais no editor.
-
Para manter as traduções organizadas, adicione vários códigos às chaves com rótulos significativos. Selecione esta opção para evitar que novas chaves sejam marcadas automaticamente com um código de upload.
-
Selecione esta opção para marcar automaticamente novas chaves e chaves com traduções atualizadas após o upload. Isso ajudará a distinguir entre Strings de tradução novas, atualizadas e antigas, garantindo que apenas as chaves relevantes sejam processadas posteriormente.
Esta opção também está disponível na API.
-
Especifique a codificação (por exemplo, UTF-8) do arquivo ou deixe-a ser selecionada automaticamente (a codificação selecionada automaticamente pode resultar em uma codificação incorreta e pode ser revertida desfazendo o upload).
-
-
evita a necessidade de verificar novamente as traduções de idiomas que não são o principal ao atualizar traduções.
-
trata todas as traduções enviadas como revisadas. Esta opção está disponível quando o fluxo de trabalho de revisão avançada foi ativado. Isso indica que as chaves estão prontas para serem enviadas para produção.
-
trata todas as traduções de upload como verificado.
-
Para realizar o upload de arquivos no Strings, siga estas etapas:
-
Antes do upload, certifique-se de que o arquivo esteja formatado corretamente com base no tipo.
-
A partir de um projeto, Selecionar upload de arquivo no menu .
A página é aberta.
-
Clique em Escolher arquivo, selecionar um arquivo de um diretório.
O arquivo selecionado é adicionado ao campo .
-
Selecionar um para o arquivo.
Formatos sugeridos são apresentados primeiro com base no tipo de arquivo.
-
Selecionar um idioma para o conteúdo do arquivo na lista suspensa.
Se esta informação não estiver no próprio arquivo, Criar um novo idioma para o conteúdo ou usar um existente.
-
Opcionalmente, forneça tags a serem atribuídas às novas chaves e quaisquer outras opções.
-
Clique em Gravar.
O conteúdo é importado e convertido em chaves.
-
Falha no upload
Se um arquivo não pôde ser processado corretamente, detalhes do erro são fornecidos para ajudar a mitigar o erro.
-
Upload bem-sucedido
Após o processamento bem-sucedido de um arquivo de tradução, uma página de resumo é apresentada, fornecendo uma visão geral do upload com botões que levam às etapas Seguinte. Clique no código de upload para abrir o arquivo no editor.
-
Remover chaves
Para evitar a exclusão acidental de chaves ao remover chaves de um arquivo de localização e enviá-lo novamente, essas chaves não são excluídas automaticamente.
Para remover essas chaves, siga estas etapas:
Chaves não mencionadas são chaves que não estão incluídas no upload atual, mas ainda existem no projeto. Ao excluí-las, todas as chaves e traduções associadas que não foram incluídas no arquivo enviado são removidas do projeto.
O limite para excluir chaves não mencionadas é de 100.000 chaves. Em projetos que excedem esse limite, a opção não está disponível.
-
Desfazer um upload
Cada upload aciona várias ações e pode modificar muitos dados dentro dos projetos, e não é possível retrair um upload.
Para remover chaves que foram (incorretamente) introduzidas por um arquivo enviado, siga estas etapas:
Todas as chaves e traduções associadas criadas por esse upload são removidas. As traduções para chaves que existiam antes do upload não serão removidas. Para remover traduções individuais, usar o histórico de versões de cada tradução.
A partir de qualquer página de projeto, Selecionar no menu para acessar o arquivo de upload.
O arquivo de upload lista todos os uploads históricos em todos os estados possíveis. Clique no menu suspenso para filtrar uploads por estado (, e/ou ). Para localizar um upload específico, usar a caixa de pesquisa no topo para pesquisar por nome.
Acessar resumos detalhados de upload de recursos afetados clicando em um upload listado. Todos os uploads bem-sucedidos também são apresentados no fluxo de atividade de um projeto.
Arquivos de idioma podem ser exportar de um projeto a qualquer momento e para qualquer file format suportado.
Arquivos podem ser exportar da aplicação, via API, ou CLI.
Arquivos podem ser baixados da aba de qualquer projeto ao selecioná-los e clicar no botão Download (múltiplos arquivos) ou no botão More options /Download de um idioma.
Opções de download são apresentadas ao baixar um arquivo na janela com abas para , e .
Selecionar diferentes s apresenta diferentes opções. Para mais detalhes, consulte o artigo relevante sobre o specific file format.
Opcionalmente, usar o campo na aba para especificar um nome de arquivo de exportar Personalizado, ou deixe em branco para gerar um nome definido pelo sistema.
-
Se um prefixo de chave de tradução foi adicionado durante o upload do arquivo, Selecionar esta opção na aba para remover o prefixo dos nomes das chaves de tradução exportar:
-
Insira o prefixo para download de todas as chaves, e remover o prefixo especificado onde possível.
Importante
Isso pode Criar nomes de chave Duplicar se outras chaves compartilharem o mesmo nome após a chave ser removida.
-
Se necessário, Selecionar para download apenas as chaves de tradução contendo o prefixo especificado, e remover o prefixo do arquivo baixado.
Esta opção também está disponível na API e na interface CLI.
-
Por padrão, recursos traduzíveis são armazenados como chaves e valores em vez de manter a estrutura original do arquivo. Isso permite formatos de arquivo intercambiáveis sem ficar bloqueado em um formato, bem como agrupamento flexível usando códigos.
Alguns frameworks ou configurações exigem múltiplos arquivos de texto original, também exigindo configuração adicional.
Mantendo arquivos separados
Em geral, mantenha todas as traduções para cada idioma em um arquivo. Isso torna os downloads de recursos mais rápidos e robustos. As traduções são mantidas organizadas em projetos, portanto, arquivos pequenos separados não são necessários.
Se for necessário manter arquivos de localização em arquivos separados, um fluxo de trabalho baseado em arquivo pode ser usado marcando as chaves durante o upload e usando os códigos como referência ao baixar chaves traduzidas de volta para os arquivos originais. As chaves podem conter múltiplos códigos e ser incluídas em múltiplos arquivos, garantindo a reutilização e a consistência. Um fluxo de trabalho baseado em código é flexível e permite a reorganização de recursos de tradução sem precisar ser feito o upload para projetos.
Dê nomes únicos às chaves em todos os arquivos para garantir um fluxo de trabalho tranquilo. Em uma abordagem baseada em chave-valor, uma chave deve ter os mesmos valores atribuídos a ela em todos os contextos. Alguns frameworks permitem o uso de chaves não únicas em múltiplos arquivos. Alguns formatos, como o Symfony, suportam domínios de mensagem. Esses domínios são detectados pelo nome do arquivo. As chaves não são automaticamente delimitadas por domínios baseados em nome de arquivo, mas isso pode ser resolvido usando um prefixo de domínio único para chaves dentro do arquivo.
Exemplo de configuração CLI
Se estiver trabalhando com CLI ou conectando um projeto a um repositório (por exemplo, GitHub, GitLab ou Bitbucket), configure um arquivo de configuração para gerenciar uploads e downloads.
Para o exemplo, um projeto tem vários arquivos de tradução nomeados semanticamente para o local de texto original. Por exemplo: accounts.en.yml, emails.en.yml etc. Esses nomes semânticos são gerenciados por meio de código.
Configure o .phrase.yml para refletir a organização dos arquivos no projeto de localização e vincule-os a código no projeto Strings incluindo o marcador de posição de código no caminho do arquivo:
phrase:
access_token: "3d7e6598d955bfcab104c45c40af1b9459df5692ac4c28a17793"
project_id: "23485c9c5dfb15d85b32d9c5f3d2hl54"
file_format: yml
push:
sources:
- file: ./path/to/locales/<tag>.en.yml
params:
locale_id: "abcd1234cdef1234abcd1234cdef1234"
pull:
targets:
# accounts
- file: ./path/to/locales/accounts.<locale_name>.yml
params:
tags: accounts
# emails
- file: ./path/to/locales/emails.<locale_name>.yml
params:
tags: emails
Importante
Embora seja suportado, por motivos de segurança, não é recomendado armazenar tokens de acessar dentro do arquivo.
Definir uma variável de ambiente PHRASE_ACCESS_TOKEN é mais seguro.
Parâmetro tags também pode ser usado na seção push em vez de usar o marcador de posição <tag>.
A configuração cria chaves com tags baseadas no arquivo de onde vieram ao executar um push ou acionar a sincronização de um repositório. Ao executar pull ou acionar a exportar para o repositório, ele agrupa chaves em arquivos com base em suas tags.
Um produto, site ou aplicativo é traduzido para vários idiomas diferentes, mas em alguns casos, a localização não é apenas o idioma escolhido, mas versões diferentes dentro de um idioma.
Uma distinção adicional é necessária se:
-
Um produto tem uma marca diferente em regiões onde o mesmo idioma é falado.
-
Um produto é usado por diferentes clientes que desejam usar uma solução white label.
-
Variantes de idioma como simples, formal ou informal são necessárias.
Localizando um produto estático
Se um produto está totalmente desenvolvido e raramente atualizado, uma versão separada do produto pode existir dentro de um projeto.
-
Se uma única saída ou um projeto de curto prazo:
Criar um ramo, trabalhar exclusivamente nesse ramo durante a duração do projeto e Excluir o ramo quando Concluir.
-
Se um projeto de longo prazo:
Manter uma Duplicar do projeto existente. Isso permite o convite e trabalho com clientes na mesma organização fornecendo apenas acesso ao(s) seu(s) projeto(s), deixando outros projetos ocultos para eles.
Localizando um projeto com atualizações contínuas
Se um produto é constantemente atualizado com novo conteúdo (chaves), aplicar essas atualizações a múltiplos projetos e mantê-los sincronizados é difícil. Usar idiomas dedicados dentro de um projeto para mantê-los.
Códigos de idioma seguindo o padrão ISO (por exemplo, en-US) não precisam ser únicos, portanto, muitas versões do mesmo idioma podem ser criadas dentro de um projeto. Distinga entre regiões, clientes ou públicos usando um nome de idioma único.
Após a configuração, qualquer chave recém-introduzida no local padrão apareceria como não traduzido nos outros idiomas e seria localizada adequadamente. Se estiver trabalhando com um cliente e seu(s) próprio(s) tradutor(es), atribua-os especificamente para que possam apenas editar suas versões de idioma atualizando o acesso ao idioma em seu perfil de usuário ou no gerenciamento de usuário do projeto.
Configurar processos de localização paralelos com trabalhos e fluxos de trabalho de revisão dentro do mesmo projeto. Essa flexibilidade também se estende ao upload e download de arquivos de idioma ou processos automatizados via API.