Add __literal parameter for lang template plugin
authorMatthias Schmidt <gravatronics@live.com>
Tue, 19 Aug 2014 16:52:23 +0000 (18:52 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Tue, 19 Aug 2014 16:52:23 +0000 (18:52 +0200)
{lang __literal=true}wcf.foo.bar{/lang} won't parse the value of the wcf.foo.bar so that the variables are preserved to be parsed by JavaScript.

com.woltlab.wcf/templates/headIncludeJavaScript.tpl
wcfsetup/install/files/acp/templates/header.tpl
wcfsetup/install/files/lib/system/template/plugin/LangCompilerTemplatePlugin.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index b6e05000494b5549f3ef504154b7bd7f0b97a3d2..a792a6d0dbd4385fbc8ca892e00d4534cd8ae223 100644 (file)
@@ -89,8 +89,8 @@
                'wcf.global.error.timeout': '{lang}wcf.global.error.timeout{/lang}',
                'wcf.global.error.title': '{lang}wcf.global.error.title{/lang}',
                'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
-               'wcf.global.form.error.greaterThan': '{lang}wcf.global.form.error.greaterThan.javaScript{/lang}',
-               'wcf.global.form.error.lessThan': '{lang}wcf.global.form.error.lessThan.javaScript{/lang}',
+               'wcf.global.form.error.greaterThan': '{lang __literal=true}wcf.global.form.error.greaterThan{/lang}',
+               'wcf.global.form.error.lessThan': '{lang __literal=true}wcf.global.form.error.lessThan{/lang}',
                'wcf.global.language.noSelection': '{lang}wcf.global.language.noSelection{/lang}',
                'wcf.global.loading': '{lang}wcf.global.loading{/lang}',
                'wcf.global.page.jumpTo': '{lang}wcf.global.page.jumpTo{/lang}',
index de3398baff58825bdf6fcbcfa22f7829281c6c32..5b1da7474aa8510233bfadcbad3df0fb1285f384 100644 (file)
@@ -87,8 +87,8 @@
                                'wcf.global.error.timeout': '{lang}wcf.global.error.timeout{/lang}',
                                'wcf.global.error.title': '{lang}wcf.global.error.title{/lang}',
                                'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
-                               'wcf.global.form.error.greaterThan': '{lang}wcf.global.form.error.greaterThan.javaScript{/lang}',
-                               'wcf.global.form.error.lessThan': '{lang}wcf.global.form.error.lessThan.javaScript{/lang}',
+                               'wcf.global.form.error.greaterThan': '{lang __literal=true}wcf.global.form.error.greaterThan{/lang}',
+                               'wcf.global.form.error.lessThan': '{lang __literal=true}wcf.global.form.error.lessThan{/lang}',
                                'wcf.global.loading': '{lang}wcf.global.loading{/lang}',
                                'wcf.global.page.jumpTo': '{lang}wcf.global.page.jumpTo{/lang}',
                                'wcf.global.page.jumpTo.description': '{lang}wcf.global.page.jumpTo.description{/lang}',
index a30249bce35f68b55c3bc4b0960386ac9c9036b3..5fb0e6878ae26eadbdc9a1a94a3035354105a0b6 100644 (file)
@@ -32,6 +32,6 @@ class LangCompilerTemplatePlugin implements ICompilerTemplatePlugin {
         */
        public function executeEnd(TemplateScriptingCompiler $compiler) {
                $compiler->popTag('lang');
-               return "<?php echo wcf\system\WCF::getLanguage()->getDynamicVariable(ob_get_clean(), \$this->tagStack[count(\$this->tagStack) - 1][1], (isset(\$this->tagStack[count(\$this->tagStack) - 1][1]['__optional']) ? \$this->tagStack[count(\$this->tagStack) - 1][1]['__optional'] : false)); array_pop(\$this->tagStack); ?>";
+               return "<?php echo (!empty(\$this->tagStack[count(\$this->tagStack) - 1][1]['__literal']) ? wcf\system\WCF::getLanguage()->get(ob_get_clean(), \$this->tagStack[count(\$this->tagStack) - 1][1], (isset(\$this->tagStack[count(\$this->tagStack) - 1][1]['__optional']) ? \$this->tagStack[count(\$this->tagStack) - 1][1]['__optional'] : false)) : wcf\system\WCF::getLanguage()->getDynamicVariable(ob_get_clean(), \$this->tagStack[count(\$this->tagStack) - 1][1], (isset(\$this->tagStack[count(\$this->tagStack) - 1][1]['__optional']) ? \$this->tagStack[count(\$this->tagStack) - 1][1]['__optional'] : false))); array_pop(\$this->tagStack); ?>";
        }
 }
index d887930418123c9cd304e88285dbe788edcc9f00..8c970f7495f11dc1f8b8c637bf117595cbbb55e8 100644 (file)
@@ -2112,12 +2112,15 @@ Fehler sind beispielsweise:
                <item name="wcf.global.form.error"><![CDATA[Ihre Angaben sind ungültig. Bitte überprüfen Sie die markierten Eingabefelder.]]></item>
                <item name="wcf.global.form.error.empty"><![CDATA[Bitte füllen Sie dieses Eingabefeld aus.]]></item>
                <item name="wcf.global.form.error.greaterThan"><![CDATA[Der eingebene Wert muss größer sein als {#$greaterThan}.]]></item>
-               <item name="wcf.global.form.error.greaterThan.javaScript"><![CDATA[{literal}Der eingebene Wert muss größer sein als {#$greaterThan}.{/literal}]]></item>
                <item name="wcf.global.form.error.lessThan"><![CDATA[Der eingebene Wert muss kleiner sein als {#$lessThan}.]]></item>
-               <item name="wcf.global.form.error.lessThan.javaScript"><![CDATA[{literal}Der eingebene Wert muss kleiner sein als {#$lessThan}.{/literal}]]></item>
                <item name="wcf.global.form.error.multilingual"><![CDATA[Bitte füllen Sie dieses Eingabefeld für jede Sprache aus.]]></item>
                <item name="wcf.global.form.error.noValidSelection"><![CDATA[Wählen Sie eine der angebotenen Optionen aus.]]></item>
                <item name="wcf.global.form.error.securityToken"><![CDATA[Ihre Sitzung ist abgelaufen, bitte senden Sie das Formular erneut ab.]]></item>
+               
+               <!-- deprecated since 2.1 -->
+               <item name="wcf.global.form.error.lessThan.javaScript"><![CDATA[{literal}Der eingebene Wert muss kleiner sein als {#$lessThan}.{/literal}]]></item>
+               <item name="wcf.global.form.error.greaterThan.javaScript"><![CDATA[{literal}Der eingebene Wert muss größer sein als {#$greaterThan}.{/literal}]]></item>
+               <!-- /deprecated since 2.1 -->
        </category>
        
        <category name="wcf.imageViewer">
index ad0db05ee2833dde5ca8d13194789031663f491a..9c72e94eb6d350a5860fecaf6c1d2611cd091bb7 100644 (file)
@@ -2110,12 +2110,15 @@ Errors are:
                <item name="wcf.global.form.error"><![CDATA[Please correct the erroneous fields marked below.]]></item>
                <item name="wcf.global.form.error.empty"><![CDATA[Please fill in this field.]]></item>
                <item name="wcf.global.form.error.greaterThan"><![CDATA[The entered value has to be greater than {#$greaterThan}.]]></item>
-               <item name="wcf.global.form.error.greaterThan.javaScript"><![CDATA[{literal}The entered value has to be greater than {#$greaterThan}.{/literal}]]></item>
                <item name="wcf.global.form.error.lessThan"><![CDATA[The entered value has to be less than {#$lessThan}.]]></item>
-               <item name="wcf.global.form.error.lessThan.javaScript"><![CDATA[{literal}The entered value has to be less than {#$lessThan}.{/literal}]]></item>
                <item name="wcf.global.form.error.multilingual"><![CDATA[Please fill in this field for all languages.]]></item>
                <item name="wcf.global.form.error.noValidSelection"><![CDATA[Choose one of the available options.]]></item>
                <item name="wcf.global.form.error.securityToken"><![CDATA[Your session has expired, please submit the form again.]]></item>
+               
+               <!-- deprecated since 2.1 -->
+               <item name="wcf.global.form.error.greaterThan.javaScript"><![CDATA[{literal}The entered value has to be greater than {#$greaterThan}.{/literal}]]></item>
+               <item name="wcf.global.form.error.lessThan.javaScript"><![CDATA[{literal}The entered value has to be less than {#$lessThan}.{/literal}]]></item>
+               <!-- /deprecated since 2.1 -->
        </category>
        
        <category name="wcf.imageViewer">