summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2015-03-03 19:01:53 +0100
committerÉtienne Loks <etienne.loks@proxience.com>2015-05-06 16:04:02 +0200
commit8708305186d2fa554cadee4bc23dda5a851bf611 (patch)
tree56a4153d39f462ce0273e7118f1446ab5123e9a8
parentc27e8ff3493bb9e03d0fbc4db0b6b14fa289a5a0 (diff)
downloadIshtar-8708305186d2fa554cadee4bc23dda5a851bf611.tar.bz2
Ishtar-8708305186d2fa554cadee4bc23dda5a851bf611.zip
OOO: manage translation of keys
-rw-r--r--ishtar_common/ooo_replace.py12
-rw-r--r--ishtar_common/ooo_translation.py37
2 files changed, 49 insertions, 0 deletions
diff --git a/ishtar_common/ooo_replace.py b/ishtar_common/ooo_replace.py
index 1f770fc2b..54ecfced4 100644
--- a/ishtar_common/ooo_replace.py
+++ b/ishtar_common/ooo_replace.py
@@ -23,6 +23,18 @@ from cStringIO import StringIO
from xml.etree.cElementTree import ElementTree, fromstring
from django.conf import settings
+from ooo_translation import ooo_translation
+
+def translate_context(context, locale):
+ if locale not in ooo_translation:
+ return context
+ new_context = {}
+ for k in context:
+ new_key = k
+ if k in ooo_translation[locale]:
+ new_key = ooo_translation[locale][k]
+ new_context[new_key] = context[k]
+ return new_context
OOO_NS = "{urn:oasis:names:tc:opendocument:xmlns:text:1.0}"
diff --git a/ishtar_common/ooo_translation.py b/ishtar_common/ooo_translation.py
new file mode 100644
index 000000000..446537994
--- /dev/null
+++ b/ishtar_common/ooo_translation.py
@@ -0,0 +1,37 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+# Copyright (C) 2013-2015 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# See the file COPYING for details.
+
+from django.conf import settings
+from django.utils import translation
+from django.utils.translation import pgettext_lazy
+
+# [('study', pgettext_lazy('ooo key', u'study')),]
+TRANSLATION_STRINGS = []
+
+ooo_translation = {}
+cur_language = translation.get_language()
+
+try:
+ for language in settings.LANGUAGES:
+ translation.activate(language)
+ ooo_translation[language] = {}
+ for k, v in TRANSLATION_STRINGS:
+ ooo_translation[language][k] = unicode(v)
+finally:
+ translation.activate(cur_language)