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 adicionais valiosas, 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 em arquivos de localização sejam salvas para usar futuro.
Existem vários métodos para fazer upload de arquivos:
-
No application, ao criar um novo projeto ou selecionando Upload file em uma página de projeto
-
via API
-
via CLI
-
Por padrão, apenas 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 . Traduções existentes serão sobrescritas com o conteúdo do arquivo de localização enviado via upload.
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 upload novamente com a opção .
-
Insira um identificador exclusivo (por exemplo, o caminho do arquivo) para adicionar como prefixo aos 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 importada
hello_worldcom 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 tradução 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 Strings organizadas, adicione várias tags à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 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çado foi ativado. Isso indica que as chaves estão prontas para serem enviadas para produção.
-
trata todas as traduções enviadas como verificadas.
-
Para upload de arquivos em 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.
Os 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 essas informações não estiverem no próprio arquivo, criar um novo idioma para o conteúdo ou usar um existente.
-
Opcionalmente, forneça códigos para serem atribuídos às novas chaves e quaisquer outras opções.
-
Clique em Gravar.
O conteúdo é importado e convertido em chaves.
-
upload com falha
Se um arquivo não puder ser processado corretamente, detalhes do erro serã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.
-
Removendo chaves
Para evitar a exclusão acidental de chaves ao remover chaves de um arquivo de localização e fazer o upload 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 de upload são removidas do projeto.
O limite para excluir chaves não mencionadas é 100.000 chaves. Em projetos que excedem esse limite, a opção não está disponível.
-
Undo an upload
Cada upload aciona várias ações e pode modificar muitos dados dentro de projetos e não é possível retrair um upload.
Para remover chaves que foram (incorretamente) introduzidas por um arquivo de upload, 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 para 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 na parte superior para pesquisar por nome.
Acesse 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 atividades de um projeto.
Arquivos de idioma podem ser exportados de um projeto a qualquer momento e para qualquer formato de arquivo compatível.
Arquivos podem ser exportados do aplicativo, via API ou CLI.
Arquivos podem ser download da aba de qualquer projeto selecionando-os e clicando em Download (vários arquivos) ou no botão Mais opções /Download de um idioma.
Opções de download são apresentadas ao fazer download de um arquivo na janela com abas para , e .
Selecionar diferentes s apresenta diferentes opções. Para mais detalhes, consulte o artigo relevante sobre o formato de arquivo específico.
Opcionalmente, use o campo na aba para especificar um nome de arquivo de exportação Personalizado, ou deixe-o em branco para gerar um nome definido pelo sistema.
-
Se um prefixo de chave de tradução tiver sido adicionado durante o upload do arquivo, selecione esta opção na aba para remover o prefixo dos nomes das chaves de tradução exportadas:
-
Insira o prefixo para download de todas as chaves e remover o prefixo especificado sempre que 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, selecione para download apenas das chaves de tradução que contêm 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ível são armazenados como chaves e valores em vez de manter a estrutura de arquivo original. Isso permite formatos de arquivo intercambiáveis sem ficar bloqueado em um formato, bem como agrupamento flexível usando tags.
Alguns frameworks ou configurações exigem múltiplos arquivos de texto original, também exigindo configuração adicional.
Manter 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 mais 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 de texto original. As chaves podem carregar múltiplos códigos e ser incluídas em múltiplos arquivos, garantindo reutilização e 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 enviado para projetos.
Dê às chaves nomes exclusivos 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 exclusivas em múltiplos arquivos. Alguns formatos, como 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 exclusivo para chaves dentro do arquivo.
Exemplo de configuração de CLI
Se estiver trabalhando com CLI ou conectando um projeto com um repositório (por exemplo, GitHub, GitLab ou Bitbucket), configurar 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ódigos.
Configurar o .phrase.yml para refletir a organização dos arquivos no projeto de localização e vinculá-los a códigos no projeto Phrase 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/<código>.en.yml
params:
locale_id: "abcd1234cdef1234abcd1234cdef1234"
pull:
targets:
# contas
- file: ./path/to/locales/accounts.<locale_name>.yml
params:
etiquetas: contas
# e-mails
- file: ./path/to/locales/emails.<locale_name>.yml
params:
etiquetas: e-mails
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_acessar_TOKEN é mais seguro.
Etiquetas de parâmetro também podem ser usadas na seção push em vez de usar o marcador de posição <código>.
A configuração cria chaves com etiquetas 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 etiquetas.
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 mesmo 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 estiver totalmente desenvolvido e raramente for atualizado, uma versão separada do produto pode existir dentro de um projeto.
-
Se for uma única saída ou um projeto de curto prazo:
Criar um ramo, realizar o trabalho exclusivamente nesse ramo durante a duração do projeto e Excluir o ramo ao Concluir.
-
Se for um projeto de longo prazo:
Manter uma Duplicar do projeto existente. Isso permite convidar e trabalhar com clientes na mesma organização, fornecendo acesso apenas 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 vários 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 exclusivos, portanto, muitas versões do mesmo idioma podem ser criar dentro de um projeto. Distinga entre regiões, clientes ou públicos usando um nome de idioma exclusivo.
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.