RainLab\Translate\Models\Message::get PHP Method

get() public static method

Creates or finds an untranslated message string.
public static get ( string $messageId ) : string
$messageId string
return string
    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;
    }

Usage Example

Esempio n. 1
0
 public function testGetCopiesFromDeprecated()
 {
     $this->seedDeprecatedData();
     Message::setContext('en-US');
     Message::get('Hello Piñata!');
     $newMessage = Message::whereCode('hello.piñata')->first();
     $deprecatedMessage = Message::whereCode('hello.pinata')->first();
     $this->assertNotNull($newMessage);
     $this->assertEquals($newMessage->messageData, $deprecatedMessage->messageData);
     Message::truncate();
 }