Changeset 46420

Show
Ignore:
Timestamp:
06/12/06 19:51:33 (2 years ago)
Author:
lregebro
Message:

#1668: The jscalendars support for Portugese Brazilian didn't work.
Now uses ILanguageAvailability adapter if one exists to figure out which
languages are defined in the site.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Zope2/CalZope/trunk/CHANGES

    r45826 r46420  
    77Bug fixes: 
    88~~~~~~~~~~ 
    9 - 
     9- #1668: The jscalendars support for Portugese Brazilian didn't work. 
    1010New internal features: 
    1111~~~~~~~~~~~~~~~~~~~~~~ 
    12 
     12- Now uses ILanguageAvailability adapter if one exists to figure out which 
     13  languages are defined in the site. 
  • Zope2/CalZope/trunk/browser/configure.zcml

    r45755 r46420  
    459459    /> 
    460460 
    461   <browser:resource 
    462     file="jscalendar/lang/calendar-pt.js" 
    463     name="calendar-pt.js" 
     461  <!-- jscalendar calles Brazilian 'br' which is really Breton.  
     462       We "rename" it to it's proper 'pt-br' name here: /--> 
     463  <browser:resource 
     464    file="jscalendar/lang/calendar-br.js" 
     465    name="calendar-pt-br.js" 
    464466    permission="zope.Public"  
    465467    /> 
  • Zope2/CalZope/trunk/browser/jscalendar/lang/calendar-br.js

    r26663 r46420  
    1 // ** I18N 
     1// ** I18N 
    22 
    33// Calendar pt-BR language 
     
    3434 
    3535// short day names 
    36 // [No changes using default values] 
     36Calendar._SDN = new Array 
     37("Dom", 
     38 "Seg", 
     39 "Ter", 
     40 "Qua", 
     41 "Qui", 
     42 "Sex", 
     43 "Sab", 
     44 "Dom"); 
     45 
     46// First day of the week. "0" means display Sunday first, "1" means display 
     47// Monday first, etc. 
     48Calendar._FD = 0; 
    3749 
    3850// full month names 
     
    5264 
    5365// short month names 
    54 // [No changes using default values] 
    55  
     66// short month names 
     67Calendar._SMN = new Array 
     68("Jan", 
     69 "Fev", 
     70 "Mar", 
     71 "Abr", 
     72 "Mai", 
     73 "Jun", 
     74 "Jul", 
     75 "Ago", 
     76 "Set", 
     77 "Out", 
     78 "Nov", 
     79 "Dez"); 
     80  
    5681// tooltips 
    5782Calendar._TT = {}; 
  • Zope2/CalZope/trunk/browser/widget.py

    r45703 r46420  
    3939_ = MessageFactory("calendar") 
    4040 
    41 from zope.i18n.interfaces import IUserPreferredLanguages 
     41from zope.i18n.interfaces import IUserPreferredLanguages, ILanguageAvailability 
    4242# List of the supported languages for the jscalendar. 
    4343# These must be synced with what is configured in the configure.zcml. 
    44 # The first one is used as default. 
    45 supported_languages = ('en', 'de', 'es', 'fr', 'it', 'nl', 'pt', 'ro',) 
     44supported_languages = ('en', 'de', 'es', 'fr', 'it', 'nl', 'pt-br', 'ro',) 
    4645 
    4746def setupLanguage(context, request): 
     
    4948        # Only do this once per request 
    5049        return 
    51     langs = IUserPreferredLanguages(request).getPreferredLanguages() 
     50    user_langs = IUserPreferredLanguages(request).getPreferredLanguages() 
     51    site_lang_adapter = ILanguageAvailability(context, None) 
     52    if site_lang_adapter is not None: 
     53        site_langs = site_lang_adapter.getAvailableLanguages() 
     54        # Filter out languages not supported by jscalendar: 
     55        site_langs = [l for l in site_langs if l in supported_languages] 
     56    else: 
     57        site_langs = supported_languages 
     58     
    5259    use_lang = None 
    53     for lang in langs: 
    54         if lang in supported_languages: 
     60    for lang in user_langs: 
     61        if lang in site_langs: 
    5562            use_lang = lang 
    5663            break 
    57     if use_lang is None: # Take the first 
    58         use_lang = supported_languages[0] 
     64    if use_lang is None: 
     65        use_lang = site_langs[0] 
    5966 
    6067    request.jscalendar_language = use_lang