Mercurial > p > roundup > code
comparison roundup/i18n.py @ 2356:c2db20eca3fa
fix ungettext() in PluralFormsMixIn;
in get_translation(), don't look for english fallback if language is 'en'
| author | Alexander Smishlajev <a1s@users.sourceforge.net> |
|---|---|
| date | Sat, 22 May 2004 14:55:07 +0000 |
| parents | 6c2d8183a235 |
| children | e8b2044d82a6 |
comparison
equal
deleted
inserted
replaced
| 2355:6c2d8183a235 | 2356:c2db20eca3fa |
|---|---|
| 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | 13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
| 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" | 14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" |
| 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, | 15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
| 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. | 16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
| 17 # | 17 # |
| 18 # $Id: i18n.py,v 1.7 2004-05-22 14:40:17 a1s Exp $ | 18 # $Id: i18n.py,v 1.8 2004-05-22 14:55:07 a1s Exp $ |
| 19 | 19 |
| 20 """ | 20 """ |
| 21 RoundUp Internationalization (I18N) | 21 RoundUp Internationalization (I18N) |
| 22 | 22 |
| 23 To use this module, the following code should be used:: | 23 To use this module, the following code should be used:: |
| 86 if count == 1: | 86 if count == 1: |
| 87 _msg = singular | 87 _msg = singular |
| 88 else: | 88 else: |
| 89 _msg = plural | 89 _msg = plural |
| 90 return self.gettext(_msg) | 90 return self.gettext(_msg) |
| 91 def ngettext(self, singular, plural, count): | 91 def ungettext(self, singular, plural, count): |
| 92 if count == 1: | 92 if count == 1: |
| 93 _msg = singular | 93 _msg = singular |
| 94 else: | 94 else: |
| 95 _msg = plural | 95 _msg = plural |
| 96 return self.gettext(_msg) | 96 return self.ugettext(_msg) |
| 97 class RoundupNullTranslations( | 97 class RoundupNullTranslations( |
| 98 gettext_module.NullTranslations, PluralFormsMixIn | 98 gettext_module.NullTranslations, PluralFormsMixIn |
| 99 ): | 99 ): |
| 100 pass | 100 pass |
| 101 class RoundupTranslations( | 101 class RoundupTranslations( |
| 117 _languages = [language] | 117 _languages = [language] |
| 118 else: | 118 else: |
| 119 # use OS environment | 119 # use OS environment |
| 120 _languages = None | 120 _languages = None |
| 121 # except for english ("en") language, add english fallback if available | 121 # except for english ("en") language, add english fallback if available |
| 122 try: | 122 if language == "en": |
| 123 _fallback = translation(domain=domain, languages=["en"], | |
| 124 class_=RoundupTranslations) | |
| 125 except IOError: | |
| 126 # no .mo files found | |
| 127 _fallback = None | 123 _fallback = None |
| 124 else: | |
| 125 try: | |
| 126 _fallback = translation(domain=domain, languages=["en"], | |
| 127 class_=RoundupTranslations) | |
| 128 except IOError: | |
| 129 # no .mo files found | |
| 130 _fallback = None | |
| 128 # get the translation | 131 # get the translation |
| 129 try: | 132 try: |
| 130 _translation = translation(domain=domain, languages=_languages, | 133 _translation = translation(domain=domain, languages=_languages, |
| 131 class_=RoundupTranslations) | 134 class_=RoundupTranslations) |
| 132 except IOError: | 135 except IOError: |
