Loading django/conf/global_settings.py +3 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,9 @@ LANGUAGES = ( ('zh-tw', _('Traditional Chinese')), ) # Languages using BiDi (right-to-left) layout LANGUAGES_BIDI = ("he",) # Not-necessarily-technical managers of the site. They get broken link # notifications and other various e-mails. MANAGERS = ADMINS Loading django/templatetags/i18n.py +27 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,14 @@ class GetCurrentLanguageNode(Node): context[self.variable] = translation.get_language() return '' class GetCurrentLanguageBidiNode(Node): def __init__(self, variable): self.variable = variable def render(self, context): context[self.variable] = translation.get_language_bidi() return '' class TranslateNode(Node): def __init__(self, value, noop): self.value = value Loading Loading @@ -102,9 +110,26 @@ def do_get_current_language(parser, token): """ args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError, "'get_available_languages' requires 'as variable' (got %r)" % args raise TemplateSyntaxError, "'get_current_language' requires 'as variable' (got %r)" % args return GetCurrentLanguageNode(args[2]) def do_get_current_language_bidi(parser, token): """ This will store the current language layout in the context. Usage:: {% get_current_language_bidi as bidi %} This will fetch the currently active language's layout and put it's value into the ``bidi`` context variable. True indicates right-to-left layout, otherwise left-to-right """ args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError, "'get_current_language_bidi' requires 'as variable' (got %r)" % args return GetCurrentLanguageBidiNode(args[2]) def do_translate(parser, token): """ This will mark a string for translation and will Loading Loading @@ -217,5 +242,6 @@ def do_block_translate(parser, token): register.tag('get_available_languages', do_get_available_languages) register.tag('get_current_language', do_get_current_language) register.tag('get_current_language_bidi', do_get_current_language_bidi) register.tag('trans', do_translate) register.tag('blocktrans', do_block_translate) django/utils/translation.py +10 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,16 @@ def get_language(): from django.conf import settings return settings.LANGUAGE_CODE def get_language_bidi(): """ Returns selected language's BiDi layout. False = left-to-right layout True = right-to-left layout """ from django.conf import settings return get_language() in settings.LANGUAGES_BIDI def catalog(): """ This function returns the current active catalog for further processing. Loading Loading
django/conf/global_settings.py +3 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,9 @@ LANGUAGES = ( ('zh-tw', _('Traditional Chinese')), ) # Languages using BiDi (right-to-left) layout LANGUAGES_BIDI = ("he",) # Not-necessarily-technical managers of the site. They get broken link # notifications and other various e-mails. MANAGERS = ADMINS Loading
django/templatetags/i18n.py +27 −1 Original line number Diff line number Diff line Loading @@ -23,6 +23,14 @@ class GetCurrentLanguageNode(Node): context[self.variable] = translation.get_language() return '' class GetCurrentLanguageBidiNode(Node): def __init__(self, variable): self.variable = variable def render(self, context): context[self.variable] = translation.get_language_bidi() return '' class TranslateNode(Node): def __init__(self, value, noop): self.value = value Loading Loading @@ -102,9 +110,26 @@ def do_get_current_language(parser, token): """ args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError, "'get_available_languages' requires 'as variable' (got %r)" % args raise TemplateSyntaxError, "'get_current_language' requires 'as variable' (got %r)" % args return GetCurrentLanguageNode(args[2]) def do_get_current_language_bidi(parser, token): """ This will store the current language layout in the context. Usage:: {% get_current_language_bidi as bidi %} This will fetch the currently active language's layout and put it's value into the ``bidi`` context variable. True indicates right-to-left layout, otherwise left-to-right """ args = token.contents.split() if len(args) != 3 or args[1] != 'as': raise TemplateSyntaxError, "'get_current_language_bidi' requires 'as variable' (got %r)" % args return GetCurrentLanguageBidiNode(args[2]) def do_translate(parser, token): """ This will mark a string for translation and will Loading Loading @@ -217,5 +242,6 @@ def do_block_translate(parser, token): register.tag('get_available_languages', do_get_available_languages) register.tag('get_current_language', do_get_current_language) register.tag('get_current_language_bidi', do_get_current_language_bidi) register.tag('trans', do_translate) register.tag('blocktrans', do_block_translate)
django/utils/translation.py +10 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,16 @@ def get_language(): from django.conf import settings return settings.LANGUAGE_CODE def get_language_bidi(): """ Returns selected language's BiDi layout. False = left-to-right layout True = right-to-left layout """ from django.conf import settings return get_language() in settings.LANGUAGES_BIDI def catalog(): """ This function returns the current active catalog for further processing. Loading