コード例 #1
0
ファイル: I18n_Test.php プロジェクト: xafr/gallery3
 public function setup()
 {
     $config = array('root_locale' => 'en', 'default_locale' => 'te_ST', 'locale_dir' => VARPATH . 'locale/');
     $this->i18n = I18n::instance($config);
     ORM::factory("incoming_translation")->where("locale", "te_ST")->delete_all();
     $messages_te_ST = array(array('Hello world', 'Hallo Welt'), array(array('one' => 'One item has been added', 'other' => '%count elements have been added'), array('one' => 'Ein Element wurde hinzugefuegt.', 'other' => '%count Elemente wurden hinzugefuegt.')), array('Hello %name, how are you today?', 'Hallo %name, wie geht es Dir heute?'));
     foreach ($messages_te_ST as $data) {
         list($message, $translation) = $data;
         $entry = ORM::factory("incoming_translation");
         $entry->key = I18n::get_message_key($message);
         $entry->message = serialize($message);
         $entry->translation = serialize($translation);
         $entry->locale = 'te_ST';
         $entry->revision = null;
         $entry->save();
     }
 }
コード例 #2
0
ファイル: l10n_scanner.php プロジェクト: hiwilson/gallery3
 static function process_message($message, &$cache)
 {
     if (empty($cache)) {
         foreach (Database::instance()->select("key")->from("incoming_translations")->where("locale", "root")->get() as $row) {
             $cache[$row->key] = true;
         }
     }
     $key = I18n::get_message_key($message);
     if (array_key_exists($key, $cache)) {
         return $cache[$key];
     }
     $entry = ORM::factory("incoming_translation", array("key" => $key));
     if (!$entry->loaded) {
         $entry->key = $key;
         $entry->message = serialize($message);
         $entry->locale = "root";
         $entry->save();
     }
 }
コード例 #3
0
ファイル: l10n_client.php プロジェクト: xafr/gallery3
 public function save()
 {
     access::verify_csrf();
     user::active()->admin or access::forbidden();
     $input = Input::instance();
     $message = $input->post("l10n-message-source");
     $translation = $input->post("l10n-edit-target");
     $key = I18n::get_message_key($message);
     $locale = I18n::instance()->locale();
     $entry = ORM::factory("outgoing_translation")->where(array("key" => $key, "locale" => $locale))->find();
     if (!$entry->loaded) {
         $entry->key = $key;
         $entry->locale = $locale;
         $entry->message = serialize($message);
         $entry->base_revision = null;
     }
     $entry->translation = serialize($translation);
     $entry_from_incoming = ORM::factory("incoming_translation")->where(array("key" => $key, "locale" => $locale))->find();
     if (!$entry_from_incoming->loaded) {
         $entry->base_revision = $entry_from_incoming->revision;
     }
     $entry->save();
     print json_encode(new stdClass());
 }