From c779ede92177af956f4e3366505ca88d752ed858 Mon Sep 17 00:00:00 2001 From: ArnAud Date: Wed, 3 Jun 2015 16:48:35 +0200 Subject: [PATCH] MlString: Class to handle multilingual strings --- Lodel/utils/mlstring.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/Lodel/utils/mlstring.py b/Lodel/utils/mlstring.py index 1e47867..4bc2a22 100644 --- a/Lodel/utils/mlstring.py +++ b/Lodel/utils/mlstring.py @@ -1,7 +1,29 @@ # -*- coding: utf-8 -*- +import json + class MlString(object): """ Handle string with translations """ - def __init__(self, default_str, translations = dict()): - pass + def __init__(self, translations = dict()): + self.translations = translations + + def get(self, lang): + if not lang in self.translations: + return '' + + return self.translations[lang] + + def set(self, lang, text): + self.translations[lang] = text + + def __str__(self): + return json.dumps(self.translations) + + @staticmethod + def load(json_string): + if isinstance(json_string, str) and json_string != '': + translations = json.loads(json_string) + else: + translations = dict() + return MlString(translations)