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):