Drushを使用してpoファイルをインポートする


16

共通の翻訳がある約20のサイトがあります。poファイルが更新されるたびに各サイトの管理者になりたくありません。

Drushを使用してpoファイルをインポートすることはできますか?

回答:


25

Drush and Localization Updateを使用してこれを行う方法を見つけました。

  1. ローカリゼーションアップデートのインストール drush en l10n_update
  2. poファイルのローカルパスを構成する(admin / config / regional / language / update)
  3. リモートサーバーまたはローカルソースのみから自動更新を構成する

これで、ローカルパス(たとえば、sites / all / translations)に独自のpoファイルを配置できます。独自のモジュールの翻訳がある場合、次の命名規則に従って名前を付けます。

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によって設定されたディレクトリに配置する必要があります。通常、sites / all / translations
FGM 14

2
Drupal 8でこれを行う方法は誰でも知っていますか?
ギヨームボワ

気を付けて!このメソッドをカスタムローカルモジュールに使用する場合は、.infoファイルにprojectプロパティが必要です。そうでない場合、モジュールは完全に無視されます。
thedotwriter

2.2バージョンでは--mode=overwrite、実行時に指定する必要がありまし たdrush l10n-update。そうしないと、.poファイルの変更は考慮されません(mode既にoverwriteバックエンドで設定されている場合でも)。
-thedotwriter

3

現時点ではDrushでそれを行う方法はありませんが、Localization Updateモジュールを使用できます。

多くのサイトがある場合は、Selenium IDEまたはSeleniumスクリプトを使用してみることもできます。これは、翻訳をエクスポート可能にするために思いついた最良のソリューションです。



1

最善の策は、Potex Exportable sモジュールを使用することです。

Drushコマンドを公開します drush potx-import-all


Drupal Answersへようこそ!モジュールにはDrushもサポートされていますか?OPはDrushでそれを行う方法を求めています。
kiamlaluno

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.