Hi Ben.

Ben Bangert wrote:
>> print request.environ['HTTP_ACCEPT_LANGUAGE'] returns
>> en-GB,en;q=0.9,en-US;q=0.8,en-us;q=0.6,ar-AE;q=0.5,ar;q=0.4,en- 
>> gb;q=0.3,en;q=0.1
>>
>> print request.languages returns
>> ['en-gb', 'en', 'en-us']
>>
>> It appears to be dropping the ar-AE and ar but only until I switch  
>> to Arabic in the browser.
>>
>> This is what I get when switched to Arabic
>>
>> print request.environ['HTTP_ACCEPT_LANGUAGE'] returns
>> ar-AE,ar;q=0.9,en-GB;q=0.8,en;q=0.6,en-US;q=0.5,en-us;q=0.4,en- 
>> gb;q=0.3,en;q=0.1
>>
>> print request.languages returns
>> ['ar-ae', 'ar', 'en-gb', 'en', 'en-us']
>>
>> Is this to be expected or is it filtering the languages somehow?
>>     
>
> It is, for a good reason that is in the doc string but will need to  
> be mentioned elsewhere. It's assumed that you write your original  
> source code in the main 'fallback' language. From the docstring:
>      The ``language`` default value is considered the fallback during  
> i18n
>      translations to ensure in odd cases that mixed languages don't  
> occur should
>      the ``language`` file contain the string but not another  
> language in the
>      accepted languages list. The ``language`` value only applies  
> when getting
>      a list of accepted languages from the HTTP Accept header.
>   
That's great but it still filtered the ar and ar-AE entries. At least it 
did at my end. 
David got what I would have expected so I'll see what happens.
>      This behavior is duplicated from Aquarium, and may seem strange  
> but is
>      very useful. Normally, everything in the code is in "en-us".   
> However,
>      the "en-us" translation catalog is usually empty.  If the user  
> requests
>      ``["en-us", "zh-cn"]`` and a translation isn't found for a  
> string in
>      "en-us", you don't want gettext to fallback to "zh-cn".  You  
> want it to
>      just use the string itself.  Hence, if a string isn't found in the
>      ``language`` catalog, the string in the source code will be used.
>
> If you would like to change the fallback language that's used, you  
> can change it in your environment.py like so:
> return pylons.config.Config(myghty, map, paths, request_settings=dict 
> (charset='UTF-8', errors='replace', language='ar-AE'))
>
> Hopefully that makes sense? If not, I'm sure JJ will help shed some  
> light on it as well.
>   
All that makes sense and is what I want to do.  I think I may have some 
version mismatch at this end.  Perhaps with Paste. I'll take a look and 
try again.

Uwe.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to