Browse Source

[PHP-5.3-COMPAT] Backport r17066 to trunk

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@17067 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew 16 years ago
parent
commit
ebb44b077d

+ 14 - 0
documentation/manual/en/module_specs/Zend_Translate-Adapters.xml

@@ -196,6 +196,20 @@
                 You should only use this Adapter when your customer wants to do translations
                 You should only use this Adapter when your customer wants to do translations
                 himself. Do not use this adapter as generic translation source.
                 himself. Do not use this adapter as generic translation source.
             </para>
             </para>
+
+            <warning>
+                <title>Regression in PHP 5.3</title>
+
+                <para>
+                    Prior to PHP 5.3, <functionname>parse_ini_file()</functionname> and 
+                    <functionname>parse_ini_string()</functionname> handled non-ASCII characters 
+                    within INI option keys worked without an issue. However, starting with PHP 5.3,
+                    any such keys will now be silently dropped in the returned array from either 
+                    function. If you had keys utilizing UTF-8 or Latin-1 characters, you may find 
+                    your translations no longer work when using the INI adapter. If this is the 
+                    case, we recommend utilizing a different adapter.
+                </para>
+            </warning>
         </sect3>
         </sect3>
 
 
         <sect3 id="zend.translate.adapter.tbx">
         <sect3 id="zend.translate.adapter.tbx">

BIN
tests/Zend/Paginator/_files/test.sqlite


+ 1 - 1
tests/Zend/Translate/Adapter/IniTest.php

@@ -63,7 +63,7 @@ class Zend_Translate_Adapter_IniTest extends PHPUnit_Framework_TestCase
         $this->assertEquals('Message 1 (en)', $adapter->_('Message_1'));
         $this->assertEquals('Message 1 (en)', $adapter->_('Message_1'));
         $this->assertEquals('Message_6', $adapter->translate('Message_6'));
         $this->assertEquals('Message_6', $adapter->translate('Message_6'));
         $this->assertEquals('Küchen Möbel (en)', $adapter->translate('Cooking_furniture'));
         $this->assertEquals('Küchen Möbel (en)', $adapter->translate('Cooking_furniture'));
-        $this->assertEquals('Cooking furniture (en)', $adapter->translate('Küchen_Möbel'));
+        $this->assertEquals('Cooking furniture (en)', $adapter->translate('Küchen_Möbel'), var_export($adapter->getMessages('en'), 1));
     }
     }
 
 
     public function testIsTranslated()
     public function testIsTranslated()