From 0ba115b57b6c8196b9de794afdd1d3855a3b9011 Mon Sep 17 00:00:00 2001 From: wei <> Date: Sat, 23 Sep 2006 07:30:43 +0000 Subject: Fixed #382 --- demos/quickstart/protected/pages/Advanced/I18N.page | 2 ++ framework/I18N/TGlobalization.php | 5 +++-- framework/I18N/Translation.php | 4 ++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/demos/quickstart/protected/pages/Advanced/I18N.page b/demos/quickstart/protected/pages/Advanced/I18N.page index 1330091f..9c3d620f 100644 --- a/demos/quickstart/protected/pages/Advanced/I18N.page +++ b/demos/quickstart/protected/pages/Advanced/I18N.page @@ -40,6 +40,7 @@ First you need to include the System.I18N.* namespace to your paths. @@ -48,6 +49,7 @@ First you need to include the System.I18N.* namespace to your paths. where you are going to store your translate message catalogue. The autosave attribute if enabled, saves untranslated messages back into the message catalogue. With cache enabled, translated messages are saved in the application runtime/i18n directory. +The marker value is used to surround any untranslated text.

With the configuration complete, we can now start to localize your application. If you have autosave enabled, after running your application with some localization activity (i.e. translating some text), you will see a directory and a messages.xml created within your source directory.

diff --git a/framework/I18N/TGlobalization.php b/framework/I18N/TGlobalization.php index d3c6d233..4a9a20ac 100644 --- a/framework/I18N/TGlobalization.php +++ b/framework/I18N/TGlobalization.php @@ -160,6 +160,7 @@ class TGlobalization extends TModule * $config['catalogue'] = 'messages'; //default catalog * $config['autosave'] = 'true'; //save untranslated message * $config['cache'] = 'true'; //cache translated message + * $config['marker'] = '@@'; // surround untranslated text with '@@' * * Throws exception is source is not found. * @param TMap configuration options @@ -176,7 +177,7 @@ class TGlobalization extends TModule if(@mkdir($config['source'])===false) throw new TConfigurationException('globalization_source_path_failed', $config['source']); - chmod($config['source'], 0777); //make it deletable + chmod($config['source'], 0777); //make it deletable } } else @@ -192,7 +193,7 @@ class TGlobalization extends TModule if(@mkdir($config['cache'])===false) throw new TConfigurationException('globalization_cache_path_failed', $config['cache']); - chmod($config['cache'], 0777); //make it deletable + chmod($config['cache'], 0777); //make it deletable } } $this->_translation = $config; diff --git a/framework/I18N/Translation.php b/framework/I18N/Translation.php index 33696304..7394842b 100644 --- a/framework/I18N/Translation.php +++ b/framework/I18N/Translation.php @@ -54,6 +54,10 @@ class Translation extends TComponent self::$formatter = new MessageFormat($source, $app->getCharset()); + //mark untranslated text + if($ps=$config['marker']) + self::$formatter->setUntranslatedPS(array($ps,$ps)); + //save the message on end request Prado::getApplication()->attachEventHandler( 'OnEndRequest', array('Translation', 'saveMessages')); -- cgit v1.2.3