summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes2
-rw-r--r--framework/I18N/core/MessageFormat.php4
-rw-r--r--tests/FunctionalTests/tickets/protected/messages/en/messages.xml17
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/Ticket306.page12
-rw-r--r--tests/FunctionalTests/tickets/protected/pages/config.xml8
5 files changed, 43 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
index e1677ef4..5ba1c6fb 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1614,6 +1614,7 @@ tests/FunctionalTests/quickstart/Controls/Wizard5TestCase.php -text
tests/FunctionalTests/quickstart/Fundamentals/HangmanTestCase.php -text
tests/FunctionalTests/tickets.php -text
tests/FunctionalTests/tickets/index.php -text
+tests/FunctionalTests/tickets/protected/messages/en/messages.xml -text
tests/FunctionalTests/tickets/protected/pages/Layout.php -text
tests/FunctionalTests/tickets/protected/pages/Layout.tpl -text
tests/FunctionalTests/tickets/protected/pages/TestHtmlArea.php -text
@@ -1635,6 +1636,7 @@ tests/FunctionalTests/tickets/protected/pages/Ticket284.php -text
tests/FunctionalTests/tickets/protected/pages/Ticket284Component.php -text
tests/FunctionalTests/tickets/protected/pages/Ticket284Component.tpl -text
tests/FunctionalTests/tickets/protected/pages/Ticket285.page -text
+tests/FunctionalTests/tickets/protected/pages/Ticket306.page -text
tests/FunctionalTests/tickets/protected/pages/Ticket311.page -text
tests/FunctionalTests/tickets/protected/pages/Ticket312.page -text
tests/FunctionalTests/tickets/protected/pages/Ticket54.page -text
diff --git a/framework/I18N/core/MessageFormat.php b/framework/I18N/core/MessageFormat.php
index dab7434c..3faa663d 100644
--- a/framework/I18N/core/MessageFormat.php
+++ b/framework/I18N/core/MessageFormat.php
@@ -161,6 +161,10 @@ class MessageFormat
public function format($string,$args=array(), $catalogue=null, $charset=null)
{
if(empty($charset)) $charset = $this->getCharset();
+
+ //force args as UTF-8
+ foreach($args as $k => $v)
+ $args[$k] = I18N_toUTF8($v, $charset);
$s = $this->formatString(I18N_toUTF8($string, $charset),$args,$catalogue);
return I18N_toEncoding($s, $charset);
}
diff --git a/tests/FunctionalTests/tickets/protected/messages/en/messages.xml b/tests/FunctionalTests/tickets/protected/messages/en/messages.xml
new file mode 100644
index 00000000..9b04d076
--- /dev/null
+++ b/tests/FunctionalTests/tickets/protected/messages/en/messages.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<xliff version="1.0">
+ <file source-language="EN" target-language="en" datatype="plaintext" original="messages" date="2006-08-01T12:08:27Z" product-name="messages">
+ <body>
+
+<trans-unit id="1">
+<source>{field} is required.</source>
+<target>Lütfen '{field}' alanını doldurunuz.</target>
+</trans-unit>
+
+<trans-unit id="2">
+<source>city</source>
+<target>Şehir</target>
+</trans-unit>
+</body>
+ </file>
+</xliff>
diff --git a/tests/FunctionalTests/tickets/protected/pages/Ticket306.page b/tests/FunctionalTests/tickets/protected/pages/Ticket306.page
new file mode 100644
index 00000000..6a202cc6
--- /dev/null
+++ b/tests/FunctionalTests/tickets/protected/pages/Ticket306.page
@@ -0,0 +1,12 @@
+<com:TContent ID="Content">
+
+<com:TTranslate>
+ {field} is required.
+ <com:TTranslateParameter Key="field">
+ <com:TTranslate>
+ city
+ </com:TTranslate>
+ </com:TTranslateParameter>
+</com:TTranslate>
+
+</com:TContent> \ No newline at end of file
diff --git a/tests/FunctionalTests/tickets/protected/pages/config.xml b/tests/FunctionalTests/tickets/protected/pages/config.xml
index 48a0114c..9404e969 100644
--- a/tests/FunctionalTests/tickets/protected/pages/config.xml
+++ b/tests/FunctionalTests/tickets/protected/pages/config.xml
@@ -4,5 +4,13 @@
<paths>
<using namespace="System.I18N.*" />
</paths>
+ <modules>
+ <module id="globalization" class="TGlobalization">
+ <translation type="XLIFF"
+ source="Application.messages"
+ autosave="true"/>
+ </module>
+ </modules>
+
<pages MasterClass="Application.pages.Layout" />
</configuration> \ No newline at end of file