public static function get($messageId)
{
if (!self::$locale) {
return $messageId;
}
$messageCode = self::makeMessageCode($messageId);
/*
* Found in cache
*/
if (array_key_exists($messageCode, self::$cache)) {
return self::$cache[$messageCode];
}
/*
* Uncached item
*/
$item = static::firstOrNew(['code' => $messageCode]);
/*
* Create a default entry
*/
if (!$item->exists) {
$data = [static::DEFAULT_LOCALE => $messageId];
$item->message_data = $item->message_data ?: $data;
$item->save();
}
/*
* Schedule new cache and go
*/
$msg = $item->forLocale(self::$locale, $messageId);
self::$cache[$messageCode] = $msg;
self::$hasNew = true;
return $msg;
}