使用Drush导入po文件


15

我大约有20个具有共同翻译的网站。我不想每次Po文件更新时都进入每个站点的管理。

是否可以使用Drush导入po文件?

Answers:


25

我找到了一种使用Drush和Localization Update做到这一点的方法。

  1. 安装本地化更新 drush en l10n_update
  2. 配置Po文件的本地路径(admin / config / regional / language / update)
  3. 从远程服务器或仅本地源配置自动更新

现在,您可以将自己的po文件放在本地路径中(例如,sites / all / translations)。如果您有自己模块的翻译,请按照以下命名约定命名:

modulename-version.language.po

因此,“ my_module”版本7.x-1.1的瑞典语po文件将命名为:

my_module-7.x-1.1.sv.po

现在,您已完成所有设置,可以开始使用Drush更新网站的翻译了:

drush l10n-update-refresh # Looks for new po-files
drush l10n-update # Updates translations

我无法真正做到这一点。我已经使用UI将翻译导出到po文件中。它被命名de.po为德语。我已将其重命名为模块名称,并在其后面附加了模块的版本,例如:controller-7.x-1.0.de.po。用git推送并执行drush命令。但它无法检测到我新推送的po文件,并显示“所有翻译均为最新”。我在哪里做错了?
ЕлинЙ.

您需要将po文件放置在l10n_update配置的目录中作为源,通常是site / all / translations
FGM

2
有谁知道如何在Drupal 8中做到这一点?
Guillaume Bois

小心!如果要对自定义本地模块使用此方法,则.info文件必须具有project属性,否则该模块将被完全忽略。
Thedotwriter '17

最后一个细节是2.2版本,我必须--mode=overwrite在运行时指定 drush l10n-update,否则.po文件中的修改将不被考虑(即使modeoverwrite在后端设置为)。
Thedotwriter '17

3

目前尚无法使用Drush进行此操作,但可以使用“ 本地化更新”模块。

如果您有很多站点,也可以尝试使用Selenium IDE或Selenium脚本。这是我为将翻译作为可导出文件而想出的最佳解决方案。



1

最好的选择是使用Potx Exportable s模块。

它显示了Drush命令 drush potx-import-all


欢迎来到Drupal答案!该模块也有Drush支持吗?OP正在寻求一种使用Drush的方法。
kiamlaluno

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.