예제 #1
0
파일: I18nHelper.php 프로젝트: neolao/php
 /**
  * Get a translated message
  * (access point of the helper)
  *
  * @param   string  $key        The message key
  * @param   array   $parameters The message parameters
  * @return  string              The translated message
  */
 public function main($key, $parameters = [])
 {
     if ($this->i18n instanceof I18n === false) {
         return $key;
     }
     // Return the message
     return $this->i18n->getMessage($key, $parameters);
 }
예제 #2
0
파일: SiteAdvanced.php 프로젝트: neolao/php
 protected function set_localeString($value)
 {
     // Create the locale if necessary
     if (!$this->_i18n->hasLocale($value)) {
         // Get the directory path
         $localeDirectory = $this->_localesPath . '/' . $value;
         if (!is_dir($localeDirectory)) {
             return;
         }
         // Create the locale instance
         $locale = new Locale($value);
         // Add the messages
         $messagesPath = $localeDirectory . '/messages.json';
         if (is_file($messagesPath)) {
             if (!is_readable($messagesPath)) {
                 throw new \Exception("{$messagesPath} is not readable");
             }
             $messages = file_get_contents($messagesPath);
             $messages = Json::removeComments($messages);
             $locale->addMessagesJson($messages);
         }
         // Add the locale
         $this->_i18n->addLocale($locale);
     }
     // Select the locale
     $this->_i18n->localeString = $value;
 }
예제 #3
0
파일: I18nHelper.php 프로젝트: neolao/php
 /**
  * Get a translated message
  * (access point of the view helper)
  *
  * @param   string  $key        The message key
  * @return  string              The translated message
  */
 public function main($key)
 {
     if ($this->i18n instanceof I18n === false) {
         return $key;
     }
     // Get the key
     $array = explode(',', $key);
     $key = array_shift($array);
     // Build parameters
     // @todo Handle errors
     $parameters = [];
     foreach ($array as $parameter) {
         list($name, $value) = explode(':', $parameter);
         $name = trim($name);
         $value = trim($value);
         $parameters[$name] = $value;
     }
     // Return the message
     return $this->i18n->getMessage($key, $parameters);
 }