Ticket #569: 569-jLocale-support-multiline-rendering-in-strings.2.diff

File 569-jLocale-support-multiline-rendering-in-strings.2.diff, 4.0 kB (added by Julien, 4 months ago)

improved patch and unit test

  • build/manifests/testapp.mn

    old new  
    108108cd testapp/modules/jelix_tests/locales/en_EN 
    109109  tests1.UTF-8.properties 
    110110  tests3.UTF-8.properties 
     111  tests4.UTF-8.properties 
    111112cd testapp/modules/jelix_tests/templates 
    112113  menu.tpl 
    113114  test_plugin_counter_init_allarg_noexeption.tpl 
  • testapp/modules/jelix_tests/locales/en_EN/tests4.UTF-8.properties

    old new  
  • testapp/modules/jelix_tests/tests/core.jlocale.html_cli.php

    old new  
    178178        } 
    179179        $GLOBALS['gJConfig']->charset = 'UTF-8'; 
    180180    } 
     181     
     182    function testLineBreak(){ 
     183        $this->assertEqual("This sentence has a line break\n after the word \"break\"",jLocale::get('tests4.string.with.line.break',null,'en_EN','UTF-8')); 
     184    } 
    181185 
    182186} 
    183187 
  • lib/jelix/plugins/tpl/html/function.jlocale.php

    old new  
    33* @package    jelix 
    44* @subpackage jtpl_plugin 
    55* @author     Jouanneau Laurent 
    6 * @contributor 
     6* @contributor Julien Issler 
    77* @copyright  2005-2007 Jouanneau laurent 
     8* @copyright 2008 Julien Issler 
    89* @link        http://www.jelix.org 
    910* @licence    GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 
    1011*/ 
     
    2021{ 
    2122     if(func_num_args() == 3 && is_array(func_get_arg(2))){ 
    2223         $param = func_get_arg(2); 
    23          echo htmlspecialchars(jLocale::get($locale, $param)); 
     24         echo nl2br(htmlspecialchars(jLocale::get($locale, $param))); 
    2425     }elseif(func_num_args() > 2){ 
    2526         $params = func_get_args(); 
    2627         unset($params[0]); 
    2728         unset($params[1]); 
    28          echo htmlspecialchars(jLocale::get($locale, $params)); 
     29         echo nl2br(htmlspecialchars(jLocale::get($locale, $params))); 
    2930     }else{ 
    30          echo htmlspecialchars(jLocale::get($locale)); 
     31         echo nl2br(htmlspecialchars(jLocale::get($locale))); 
    3132     } 
    3233} 
    3334 
  • lib/jelix/core/jLocale.class.php

    old new  
    44* @subpackage core 
    55* @author     Laurent Jouanneau 
    66* @author     Gerald Croes 
    7 * @contributor 
     7* @contributor Julien Issler 
    88* @copyright  2001-2005 CopixTeam, 2005-2007 Laurent Jouanneau 
    99* Some parts of this file are took from Copix Framework v2.3dev20050901, CopixI18N.class.php, http://www.copix.org. 
    1010* copyrighted by CopixTeam and released under GNU Lesser General Public Licence. 
    1111* initial authors : Gerald Croes, Laurent Jouanneau. 
    1212* enhancement by Laurent Jouanneau for Jelix. 
     13* @copyright 2008 Julien Issler 
    1314* @link        http://www.jelix.org 
    1415* @licence    GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 
    1516*/ 
     
    138139                            $value=''; 
    139140                        } 
    140141 
    141                         $this->_strings[$charset][$key] =$value
     142                        $this->_strings[$charset][$key] = str_replace('\n',"\n",$value)
    142143 
    143144                    }elseif(preg_match("/^\s*(\#.*)?$/",$line, $match)){ 
    144145                        // ok, juste un commentaire 
Download in other formats: Original Format