先日Drupal8.9.1で起きた現象でした。
環境Aで定義した日本語翻訳データはExportし(ja.poとして出力される)、環境BでそのファイルをImportした後、環境Bの「コンテンツ > ファイル」画面(/admin/content/files)がエラーとなって、開けなくなりました。
####手順
【環境A】
Admin側の「環境設定 > 地域と言語 > User interface translation」画面で、翻訳データの日本語を入力し、保存後、同じ画面の「エクスポート」タブを開き、Languageは「Japanese」に選択し、エクスポートオプションにチェック入れて、エクスポートする
※ デフォルトはja.poファイルとして出力される
【環境B】
1.Admin側の「環境設定 > 地域と言語 > User interface translation」画面で、「インポート」タグを開き、上記出力された「ja.po」ファイルをインポートする
※ インポートは順調で終わりました。
2.別件の確認ために、「コンテンツ > ファイル」画面を開こうとすると、エラーが発生し、表示されませんでした。
以下のようなエラーが出力される↓
>> LogicException: PO files URL should not be public. in Drupal\locale\StreamWrapper\TranslationsStream->getExternalUrl() (line 55 of core/modules/locale/src/StreamWrapper/TranslationsStream.php).
####対策方法
ネット上で調べると、以下の記事に辿り着いた↓
https://www.drupal.org/project/drupal/issues/2449895#comment-13453160
記事に掲載されている8.9系用のPatchがあるので、そのPatachを与えることによって解決できるではないかと思った。
一番早い方法として、ComposerでPatchを設定して試したが、エラーになって、Composer installできませんでした。。
仕方なく、上記のPatchの修正箇所を確認しながら、ほかのメンバーが直接ソースを手動修正することになった。
ソースを修正した後、エラーとなった「コンテンツ > ファイル」画面が無事表示された!
※ Importした「ja.po」はファイルリストの一番目に表示されている