diff --git a/application/languages/en.ini b/application/languages/en.ini index 964b92c..6bc18eb 100644 --- a/application/languages/en.ini +++ b/application/languages/en.ini @@ -1,3 +1,4 @@ home = home blog = blog -about = about fiktiv \ No newline at end of file +about = about fiktiv +example = "This is an example of %s and %s" \ No newline at end of file diff --git a/application/languages/se.ini b/application/languages/se.ini index 1ccf307..ca7ef36 100644 --- a/application/languages/se.ini +++ b/application/languages/se.ini @@ -1,3 +1,4 @@ home = start blog = blog about = om fiktiv +example = "Det här är ett exempel på %s och %s" \ No newline at end of file diff --git a/application/modules/default/views/layout/default.phtml b/application/modules/default/views/layout/default.phtml index 2e5b641..9272e86 100644 --- a/application/modules/default/views/layout/default.phtml +++ b/application/modules/default/views/layout/default.phtml @@ -13,6 +13,8 @@ diff --git a/application/modules/default/views/scripts/index/index.phtml b/application/modules/default/views/scripts/index/index.phtml index 7c03799..e13c823 100644 --- a/application/modules/default/views/scripts/index/index.phtml +++ b/application/modules/default/views/scripts/index/index.phtml @@ -1,5 +1,5 @@ Do nothing! - +

Translated: translate('uw:example', 'home', 'about', true) ?>

diff --git a/library/Fiktiv/Translate/Adapter.php b/library/Fiktiv/Translate/Adapter.php index 3eb38a1..7887e2f 100644 --- a/library/Fiktiv/Translate/Adapter.php +++ b/library/Fiktiv/Translate/Adapter.php @@ -16,36 +16,15 @@ abstract class Fiktiv_Translate_Adapter extends Zend_Translate_Adapter if ($messageId == null) return; - $options = func_get_args(); - array_shift($options); - - $count = count($options); - $locale = null; - if ($count > 0) { - if (Zend_Locale::isLocale($options[($count - 1)], null, false) !== false) { - $locale = array_pop($options); - } - } - - if ((count($options) === 1) and (is_array($options[0]) === true)) { - $options = $options[0]; - } - - if ($options[count($options)-1] === true) { - foreach ($options as &$opt) { - $opt = parent::translate($opt, $locale); - } - } - if (stristr($messageId,':')) { $parts = explode(':', $messageId); $flag = $parts[0]; $key = $parts[1]; - return $this->transform($flag, parent::translate($key, $options)); + return $this->transform($flag, parent::translate($key, $locale)); } - return parent::translate($messageId, $options); + return parent::translate($messageId, $locale); } /** diff --git a/library/Fiktiv/View/Helper/Translate.php b/library/Fiktiv/View/Helper/Translate.php index 4263ab9..a7e9de5 100644 --- a/library/Fiktiv/View/Helper/Translate.php +++ b/library/Fiktiv/View/Helper/Translate.php @@ -4,14 +4,12 @@ * * Additions: * - Translate arguments too. ($view->translate('KEY', 'arg', true);) - * - ucfirst in tag. ($view->translate('u:KEY', 'arg');) * */ class Fiktiv_View_Helper_Translate extends Zend_View_Helper_Translate { /** - * Performs the translation and call the transform - * function to handle transformations. + * Performs the translation * * @return string */ @@ -19,41 +17,14 @@ class Fiktiv_View_Helper_Translate extends Zend_View_Helper_Translate { $options = func_get_args(); $key = array_shift($options); - + if ($options[count($options)-1] === true) { foreach ($options as &$opt) { $opt = parent::translate($opt); } } - if (stristr($key,':')) { - - $parts = explode(':', $key); - $flag = $parts[0]; - $key = $parts[1]; - return $this->transform($flag, parent::translate($key, $options)); - } - return parent::translate($key, $options); } - /** - * Transform the translated text. - * This function defines the transfomation flags. - * - * @param string $flag - * @param string $text - * @return string $text - */ - protected function transform($flag, $text) - { - switch ($flag) { - case 'u': - return ucfirst($text); - break; - case 'uw': - return ucwords($text); - break; - } - } } \ No newline at end of file