Importar arquivos po usando Drush

16

Eu tenho cerca de 20 sites que têm uma tradução comum. Eu não quero entrar no administrador de cada site cada vez que o arquivo po é atualizado.

É possível importar um arquivo po usando o Drush?

D. Wroblewski
fonte

Respostas:

25

Eu encontrei uma maneira de fazer isso usando Drush e atualização de localização .

  1. Instalar atualização de localização drush en l10n_update
  2. Configure um caminho local para os arquivos po (admin / config / regional / language / update)
  3. Configure atualizações automáticas de servidores remotos ou apenas de fontes locais

Agora você pode colocar seus próprios arquivos po em um caminho local (por exemplo, sites / all / traduções). Se você possui traduções para seu próprio módulo, nomeie-o de acordo com esta convenção de nomenclatura:

modulename-version.language.po

Portanto, um arquivo po sueco para 'my_module', versão 7.x-1.1, seria nomeado:

my_module-7.x-1.1.sv.po

Agora você tem tudo configurado e pode começar a atualizar a tradução dos seus sites com o Drush:

drush l10n-update-refresh # Looks for new po-files
drush l10n-update # Updates translations
D. Wroblewski
fonte
Eu não consegui fazer isso realmente funcionar. Eu exportei as traduções em um arquivo po usando a interface do usuário. Foi nomeado como de.popara alemão. Eu renomeou para meu nome módulos e acrescentado que a versão do meu módulo como: controller-7.x-1.0.de.po. Empurrei com git e executei os comandos drush. Mas ele não detecta meu arquivo po recém-enviado e diz 'Todas as traduções atualizadas'. Onde estou fazendo errado?
Елин Й.
Você precisa colocar o arquivo po no diretório configurado pelo l10n_update como uma fonte, tipicamente sites / todas as traduções /
FGM
2
Alguém sabe como fazer isso no Drupal 8?
Guillaume Bois
Cuidado! Se você deseja usar esse método para módulos locais personalizados, o arquivo .info deve ter a projectpropriedade , caso contrário, o módulo será completamente ignorado.
thedotwriter
Um último detalhe, com a versão 2.2, tive que especificar --mode=overwriteao executar drush l10n-update, caso contrário, as modificações no meu arquivo .po não seriam levadas em consideração (mesmo que modejá estejam definidas overwriteno back-end).
thedotwriter
3

No momento, não há como fazê-lo com o Drush, mas você pode usar o módulo Atualização de localização .

Você também pode tentar usar o Selenium IDE ou um script Selenium se tiver muitos sites. Essa é a melhor solução que consegui encontrar para obter traduções como exportáveis.

Patrick Kenny
fonte
1

Sua melhor aposta é usar o módulo Potx Exportable .

Expõe o comando Drush drush potx-import-all

vancho17
fonte
Bem-vindo ao Drupal Answers! O módulo também tem suporte para Drush? O OP está pedindo uma maneira de fazer isso com o Drush.
kiamlaluno