Hi,
 
It seems that in 1.6.2 Zend_Locale doesn't handle well under Windows.
 
Zend_Locale is using 

$language = setlocale(LC_ALL, 0);

in the getEnvironment function 
 
Using the same browser to access two systems I get: 
 
On my Windows  ZF system this will return:
Array

(

    [0] => LC_COLLATE=C

    [1] => LC_CTYPE=English_United Kingdom.1252

    [2] => LC_MONETARY=C

    [3] => LC_NUMERIC=C

    [4] => LC_TIME=C

)

 
On my Linux ZF system this will return: 

Array

(

    [0] => C

)


Now running my language debugger I see the following:
 
Windows System:
 

_SERVER["HTTP_ACCEPT_LANGUAGE"]=de-at,de;q=0.7,en-gb;q=0.3



Registry contains:

Display getList():

Array

(

    [en] => en

    [de] => de

    [es] => es

    [fr] => fr

    [it] => it

)

Translate save: Save

Registry Locale: en


On Windows it is failing to detect the correct Browser Language setting.
 
Using the same browser and pointing at a Linux system I get:
 

_SERVER["HTTP_ACCEPT_LANGUAGE"]=de-at,de;q=0.7,en-gb;q=0.3



Registry contains:

Display getList():

Array

(

    [de] => de

    [en] => en

    [es] => es

    [fr] => fr

    [it] => it

)

Translate save: Speichern

Registry Locale: de


Which is correct!
 
The only thing I could find on Google was this which handles setting the
character set for Linux and the codepage for Windows:
 
https://code.zikula.org/svn/core/development/zikula-1/includes/pnLang.php
<https://code.zikula.org/svn/core/development/zikula-1/includes/pnLang.php> 
 
Look in the function pnSetLocale.
 
- Robert
 
 


________________________________________________________________________
This email has been scanned for all known viruses by the MessageLabs Email 
Security Service and the Macro 4 plc internal virus protection system.
________________________________________________________________________

Reply via email to