public function __construct(BasePlugin $plugin)
 {
     /** @var string[] $langs */
     $langs = json_decode($plugin->getResourceContents("langs/index.json"), true);
     foreach ($langs as $lang) {
         $path = "langs/{$lang}.json";
         $data = json_decode($plugin->getResourceContents($path), true);
         $walker = new ArrayWalker($data);
         $list = $walker->getPlainList();
         foreach ($list as $k => $v) {
             $this->getPhraseObject($k)->setImplementation($lang, $v);
         }
     }
 }
 public function __construct(BasePlugin $plugin)
 {
     /** @var string[] $langs */
     $langs = json_decode($plugin->getResourceContents("langs/index.json"), true);
     foreach ($langs as $lang) {
         $plugin->getLogger()->info("Loading language '{$lang}'...");
         $path = "langs/{$lang}.json";
         $data = json_decode($plugin->getResourceContents($path), true);
         $walker = new ArrayWalker($data);
         $list = $walker->getPlainList();
         foreach ($list as $k => $v) {
             $this->getPhraseObject($k)->setImplementation($lang, $v);
         }
         $plugin->getLogger()->info("Loaded language '{$lang}' with " . count($list) . " entries.");
     }
 }