diff --git a/VIPSWeb/local_settings_sample.py b/VIPSWeb/local_settings_sample.py index c95ad114b495a099f1baeac49e8c52aee50b6bcb..491df59bbff49278c6538500aa711d083f3665a0 100644 --- a/VIPSWeb/local_settings_sample.py +++ b/VIPSWeb/local_settings_sample.py @@ -108,7 +108,7 @@ VIPSCOREMANAGER_SSLCERT_PATH = None VIPSLOGIC_DATE_FORMAT = "%Y-%m-%d" # Site owner info -SITE_OWNER_NAME = "FooBar Inc" +SITE_OWNER_NAME = {"en":"FooBar Inc","nb":"ACME industrier"} SITE_OWNER_URL = "http://www.example.com/" # OpenLayers Map initial configuration diff --git a/VIPSWeb/templates/base.html b/VIPSWeb/templates/base.html index a673810df539394d963f199d926642d9e1105bd6..edbff6cba510624cd3e704db8a4a226b659e445d 100644 --- a/VIPSWeb/templates/base.html +++ b/VIPSWeb/templates/base.html @@ -97,8 +97,8 @@ </div><!-- End contents container --> </div><!-- End row with sidebar and contents container --> <footer> - <p>© {% now "Y" %} <a href="{{settings.SITE_OWNER_URL}}" target="new">{{settings.SITE_OWNER_NAME}}</a></p> - {% get_footer_text_i18n %} + <p>© {% now "Y" %} <a href="{{settings.SITE_OWNER_URL}}" target="new">{% get_text_i18n settings.SITE_OWNER_NAME %}</a></p> + {% get_text_i18n settings.FOOTER_HTML%} </footer> </div> <!-- end contentwrapper--> diff --git a/VIPSWeb/templatetags/template_helper.py b/VIPSWeb/templatetags/template_helper.py index a402aaa29f16bb37abe0dec52fc84264939a1951..2ba70f2a52e985ec71e0cad623af0d4a65add372 100644 --- a/VIPSWeb/templatetags/template_helper.py +++ b/VIPSWeb/templatetags/template_helper.py @@ -76,6 +76,8 @@ def generate_main_menu(context): return menu_html # Get the footer text in correct language +# REPLACED WITH THE MORE FLEXIBLE get_text_i18(text_dict) BELOW +""" @register.simple_tag() def get_footer_text_i18n(): # Absolute fallback is the empty string @@ -91,6 +93,27 @@ def get_footer_text_i18n(): footer_html = settings.FOOTER_HTML[settings.FOOTER_HTML.keys()[0]] return footer_html if footer_html != None else "" +""" + +# Get text in correct language +# Assuming text is on format{"LANGCODE":"CONTENTS","LANGCODE":"CONTENTS"} +@register.simple_tag +def get_text_i18n(text_dict): + # If no dictionary, return as-is + if not isinstance(text_dict,dict): + return text_dict + text = None + # Languages in preferred order: user's selected language, default language of site, English + language_candidates = [translation.get_language(), settings.LANGUAGE_CODE, "en"] + for language_candidate in language_candidates: + if text_dict.get(language_candidate, None) != None: + text = text_dict.get(language_candidate, text_dict) + break + # Fallback: First item in list + if text == None and len(text_dict.keys()) > 0: + text = text_dict[text_dict.keys()[0]] + + return text if text != None else "" @register.simple_tag def get_system_time(format_string):