Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dax/jmc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Rousselie <dax@happycoders.org>2008-03-06 10:25:53 +0300
committerDavid Rousselie <dax@happycoders.org>2008-03-06 10:25:53 +0300
commit103f8accd8d91f2fd853696bdd26a12bbc5828fe (patch)
tree1ea1d9a6c806876bea9029805ff364536681fad4 /src
parent9f2417194350031accf6fec277cd39a637c7b62e (diff)
Add translation fallback to english
darcs-hash:20080306072553-86b55-e44d4546127f64f40a2f32aeaa7fa2d4e974124c.gz
Diffstat (limited to 'src')
-rw-r--r--src/jmc/lang.py92
-rw-r--r--src/jmc/tests/lang.py82
2 files changed, 101 insertions, 73 deletions
diff --git a/src/jmc/lang.py b/src/jmc/lang.py
index 7b5a179..35851f0 100644
--- a/src/jmc/lang.py
+++ b/src/jmc/lang.py
@@ -85,7 +85,17 @@ class Lang(jcl.lang.Lang):
+ " - Add a contact to your roster, with JID to_email\%test.com@jmc.test.com"\
+ ", where to_email@test.com is the receiver's email address."
- class fr(jcl.lang.Lang.fr):
+ command_force_check = "Force check for new emails"
+ command_force_check_1_description = "Select account(s) to check for new emails."
+
+ command_get_email = "Fetch emails"
+ command_get_email_1_description = "Select email(s) to fetch"
+ command_get_email_2_description = "% emails have been sent"
+ field_email_subject = u"Email Subject"
+ field_select_more_emails = u"Select more emails to fetch"
+ mail_subject = u"Email from %s"
+
+ class fr(en, jcl.lang.Lang.fr):
component_name = u"Jabber Mail Component"
register_title = u"Enregistrement d'une nouvelle connexion à un " \
u"serveur email."
@@ -149,7 +159,17 @@ class Lang(jcl.lang.Lang):
+ u"to_email\%test.com@jmc.test.com, où to_email@test.com est " \
+ u"l'adresse du destinataire."
- class nl(jcl.lang.Lang.nl):
+ command_force_check = "Forcer la vérification de nouveaux emails"
+ command_force_check_1_description = "Séléctionner le(s) compte(s) à vérifier."
+
+ command_get_email = "Récupérer des emails"
+ command_get_email_1_description = "Séléctionner le(s) email(s) à récupérer"
+ command_get_email_2_description = "% emails ont été envoyés"
+ field_email_subject = u"Objet des emails"
+ field_select_more_emails = u"Séléctionner plus d'emails à récupérer"
+ mail_subject = u"Email de %s"
+
+ class nl(en, jcl.lang.Lang.nl):
# TODO: when finish, delete this line and uncomment in tests/lang.py the makeSuite(Language_nl_TestCase, 'test') line
register_title = u"Registratie van verbindingen voor Jabber Mail"
register_instructions = u"Instellingen voor verbinding"
@@ -173,27 +193,14 @@ class Lang(jcl.lang.Lang):
action_nothing = u"Niets doen"
action_retrieve = u"E-mail ophalen"
action_digest = u"Samenvatting verzenden"
- update_title = u"Bijwerken van JMC"
- update_instructions = u"Verbinding '%s' aanpassen"
connection_label = u"%s verbinding '%s'"
- update_account_message_subject = u"Verbinding %s '%s' werd bijgewerkt"
- update_account_message_body = u"Geregistreerd met gebruikersnaam '%s'"\
- u"en wachtwoord '%s' op '%s'"
- new_account_message_subject = u"Nieuwe %s verbinding '%s' aangemaakt"
- new_account_message_body = u"Geregistreerd met " \
- u"gebruikersnaam '%s' en wachtwoord '%s' op '%s'"
- ask_password_subject = u"Wachtwoordaanvraag"
- ask_password_body = u"Antwoord dit bericht met het volgende wachtwoord" \
- u"voor de volgende account: \n" \
- u"\thost = %s\n" \
- u"\tlogin = %s\n"
password_saved_for_session = u"Het wachtwoord zal worden bewaard tijdens uw Jabber-sessie"
check_error_subject = u"Fout tijdens controle op e-mails."
check_error_body = u"Fout tijdens controle op e-mails:\n\t%s"
new_mail_subject = u"Nieuwe e-mail van %s"
new_digest_subject = u"%i nieuwe e-mail(s)"
- class es(jcl.lang.Lang.es):
+ class es(en, jcl.lang.Lang.es):
# TODO: when finish, delete this line and uncomment in tests/lang.py the makeSuite(Language_es_TestCase, 'test') line
register_title = u"Registro de nueva cuenta de email"
register_instructions = u"Inserta los datos para la nueva cuenta"
@@ -216,25 +223,14 @@ class Lang(jcl.lang.Lang):
action_nothing = u"No hacer nada"
action_retrieve = u"Mostrarme el email"
action_digest = u"Enviar resúmen"
- update_title = u"Actualización de cuenta de email"
- update_instructions = u"Modifica los datos de la cuenta '%s'"
connection_label = u"%s conexión '%s'"
- update_account_message_subject = u"Actualizada %s conexión '%s'"
- update_account_message_body = u"Registrado con el usuario '%s' y contraseña '%s' en '%s'"
- new_account_message_subject = u"Nueva %s conexión '%s' creada"
- new_account_message_body = u"Registrado con usuario '%s' y contraseña '%s' en '%s'"
- ask_password_subject = u"Petición de contraseña"
- ask_password_body = u"Para avisarte de emails nuevos, contesta a este mensaje con la contraseña " \
- "de la cuenta: \n" \
- "\tHost = %s\n" \
- "\tUsuario = %s\n"
password_saved_for_session = u"La contraseña será guardada para esta sesión únicamente."
check_error_subject = u"Error al revisar los emails."
check_error_body = u"Un error apareció al revisar los emails:\n\t%s"
new_mail_subject = u"Nuevo email en %s"
new_digest_subject = u"%i email(s) nuevo(s)"
- class pl(jcl.lang.Lang.pl):
+ class pl(en, jcl.lang.Lang.pl):
# TODO: when finish, delete this line and uncomment in tests/lang.py the makeSuite(Language_pl_TestCase, 'test') line
register_title = u"Rejestracja w komponencie E-Mail"
register_instructions = u"Wprowadź parametry połączenia"
@@ -257,24 +253,14 @@ class Lang(jcl.lang.Lang):
action_nothing = u"Nic nie rób"
action_retrieve = u"Pobierz emaila"
action_digest = u"Wyślij zarys emaila"
- update_title = u"Modyfikacja połączenia z komponentem mailowym"
- update_instructions = u"Modyfikacja połączenia '%s'"
connection_label = u"%s połączenie '%s'"
- update_account_message_subject = u"Zmodyfikowane %s połączenie '%s'"
- update_account_message_body = u"Zarejestrowany z nazwą użytkownika '%s' i hasłem '%s' na '%s'"
- new_account_message_subject = u"Nowe %s połączenie '%s' utworzone"
- new_account_message_body = u"Zarejestrowany z nazwą użytkownika '%s' i hasłem '%s' na '%s'"
- ask_password_subject = u"Żądanie hasła"
- ask_password_body = u"Odpowiedz na ta wiadomosc z hasłem dla podanego konta: \n" \
- "\tnazwa hosta = %s\n" \
- "\tnazwa uzytkownika = %s\n"
password_saved_for_session = u"Hasło będzie przechowywane podczas Twojej sesji Jabbera"
check_error_subject = u"Błąd podczas sprawdzania emaili."
check_error_body = u"Pojawił się błąd podczas sprawdzania emaili:\n\t%s"
new_mail_subject = u"Nowy email od %s"
new_digest_subject = u"%i nowy(ch) email(i)"
- class cs(jcl.lang.Lang.cs):
+ class cs(en, jcl.lang.Lang.cs):
# TODO: when finish, delete this line and uncomment in tests/lang.py the makeSuite(Language_cs_TestCase, 'test') line
register_title = u"Jabber MailNotify registrace"
register_instructions = u"Vložte nastavení spojení"
@@ -297,27 +283,14 @@ class Lang(jcl.lang.Lang):
action_nothing = u"Nedělej nic"
action_retrieve = u"Přijmi poštu"
action_digest = u"Pošli upozornění na novou poštu"
- update_title = u"Jabber - aktualizace spojení k emailu"
- update_instructions = u"Aktualizace spojení '%s'"
connection_label = u"%s spojení '%s'"
- update_account_message_subject = u"Aktualizováno %s spojení '%s'"
- update_account_message_body = u"Registrováno s přihlašovacím jménem '%s' a " \
- u"heslem '%s' v '%s'"
- new_account_message_subject = u"Nové spojení %s '%s' aktualizováno"
- new_account_message_body = u"Registrováno " \
- u"s přihlašovacím jménem '%s' a heslem '%s' v '%s'"
- ask_password_subject = u"Žádost o heslo"
- ask_password_body = u"Odpovězte na tuto zprávu posláním hesla " \
- u"pro následující spojení: \n" \
- u"\thost = %s\n" \
- u"\tlogin = %s\n"
password_saved_for_session = u"Heslo bude uchováno během vašeho připojení k Jabberu"
check_error_subject = u"Chyba při kontrole emailů."
check_error_body = u"Nějaká chyba nastala při kontrole emailů:\n\t%s"
new_mail_subject = u"Nový email od %s"
new_digest_subject = u"%i má nový(é) email(y)"
- class ru:
+ class ru(en, jcl.lang.Lang.ru):
# TODO: when finish, delete this line and uncomment in tests/lang.py the makeSuite(Language_ru_TestCase, 'test') line
register_title = u"Учетные данные соединения"
register_instructions = u"Введите данные для соединения"
@@ -340,20 +313,7 @@ class Lang(jcl.lang.Lang):
action_nothing = u"Не делать ничего"
action_retrieve = u"Показать почту"
action_digest = u"Показать уведомление"
- update_title = u"Уточнение параметров"
- update_instructions = u"Изменяем соединение '%s'"
connection_label = u"%s соединение '%s'"
- update_account_message_subject = u"Данные для %s обновлены '%s'"
- update_account_message_body = u"Зарегистрирован с логином '%s' и " \
- u"паролем '%s' на '%s'"
- new_account_message_subject = u"Новое %s соединение '%s' создано"
- new_account_message_body = u"Перерегистрирован с " \
- u"логином '%s' и паролем '%s' на '%s'"
- ask_password_subject = u"Запрос пароля"
- ask_password_body = u"Ответьте на это сообщение с паролем " \
- u"для следующей учетной записи: \n" \
- u"\tХост = %s\n" \
- u"\tЛогин = %s\n"
password_saved_for_session = u"Пароль будет сохранен только на время Вашей сессии."
check_error_subject = u"Ошибка при проверке почты."
check_error_body = u"Возникла ошибка при проверке почты:\n\t%s"
diff --git a/src/jmc/tests/lang.py b/src/jmc/tests/lang.py
index 2cb4070..33efa1b 100644
--- a/src/jmc/tests/lang.py
+++ b/src/jmc/tests/lang.py
@@ -25,6 +25,7 @@ import unittest
import jcl.tests.lang
+import jmc.lang
from jmc.lang import Lang
from pyxmpp.iq import Iq
@@ -118,8 +119,67 @@ class Language_TestCase(jcl.tests.lang.Language_TestCase):
None)
self.assertNotEquals(self.lang_class.send_mail_ok_subject, None)
self.assertNotEquals(self.lang_class.send_mail_ok_body, None)
-
-class Language_fr_TestCase(Language_TestCase):
+ self.assertNotEquals(self.lang_class.help_message_body, None)
+ self.assertNotEquals(self.lang_class.command_force_check, None)
+ self.assertNotEquals(self.lang_class.command_force_check_1_description, None)
+ self.assertNotEquals(self.lang_class.command_get_email, None)
+ self.assertNotEquals(self.lang_class.command_get_email_1_description, None)
+ self.assertNotEquals(self.lang_class.command_get_email_2_description, None)
+ self.assertNotEquals(self.lang_class.field_email_subject, None)
+ self.assertNotEquals(self.lang_class.mail_subject, None)
+ self.assertNotEquals(self.lang_class.field_select_more_emails, None)
+
+class SubLanguage_TestCase(Language_TestCase):
+ """
+ Test translation fallback mecanism :
+ jmc.lang.Lang.{translation class} -> jmc.lang.Lang.en -> jcl.lang.Lang.{translation class} -> jcl.lang.Lang.en
+ """
+
+ def test_fallback_jmc_en(self):
+ """
+ if a translation does not exist in JMC. It falls back to the English
+ translation.
+ """
+ value = self.lang_class.register_title
+ del self.lang_class.register_title
+ self.assertEquals(self.lang_class.register_title,
+ jmc.lang.Lang.en.register_title)
+ self.lang_class.register_title = value
+
+ def test_fallback_jcl_current(self):
+ """
+ if an attribut does not exist in JMC translation class nor in JMC
+ English class, it falls back to the current language in JCL.
+ """
+ lang_class_value = self.lang_class.register_title
+ jmc_lang_en_value = jmc.lang.Lang.en.register_title
+ del self.lang_class.register_title
+ del jmc.lang.Lang.en.register_title
+ self.assertEquals(\
+ self.lang_class.register_title,
+ jcl.lang.Lang.__dict__[self.lang_class.__name__].register_title)
+ jmc.lang.Lang.en.register_title = jmc_lang_en_value
+ self.lang_class.register_title = lang_class_value
+
+ def test_fallback_jcl_en(self):
+ """
+ if an attribut does not exist in JMC and is not translated in JCL,
+ it falls back to English in JCL
+ """
+ lang_class_value = self.lang_class.register_title
+ jmc_lang_en_value = jmc.lang.Lang.en.register_title
+ jcl_lang_class_value = jcl.lang.Lang.__dict__[self.lang_class.__name__].register_title
+ del self.lang_class.register_title
+ del jmc.lang.Lang.en.register_title
+ del jcl.lang.Lang.__dict__[self.lang_class.__name__].register_title
+ self.assertEquals(\
+ self.lang_class.register_title,
+ jcl.lang.Lang.en.register_title)
+ jcl.lang.Lang.__dict__[self.lang_class.__name__].register_title = jcl_lang_class_value
+ jmc.lang.Lang.en.register_title = jmc_lang_en_value
+ self.lang_class.register_title = lang_class_value
+
+class Language_fr_TestCase(SubLanguage_TestCase):
def setUp(self):
self.lang_class = Lang.fr
@@ -135,16 +195,24 @@ class Language_pl_TestCase(Language_TestCase):
def setUp(self):
self.lang_class = Lang.pl
+class Language_cs_TestCase(Language_TestCase):
+ def setUp(self):
+ self.lang_class = Lang.cs
+
+class Language_ru_TestCase(Language_TestCase):
+ def setUp(self):
+ self.lang_class = Lang.ru
+
def suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Lang_TestCase, 'test'))
suite.addTest(unittest.makeSuite(Language_TestCase, 'test'))
suite.addTest(unittest.makeSuite(Language_fr_TestCase, 'test'))
-# suite.addTest(unittest.makeSuite(Language_nl_TestCase, 'test'))
-# suite.addTest(unittest.makeSuite(Language_es_TestCase, 'test'))
-# suite.addTest(unittest.makeSuite(Language_pl_TestCase, 'test'))
-# suite.addTest(unittest.makeSuite(Language_cs_TestCase, 'test'))
-# suite.addTest(unittest.makeSuite(Language_ru_TestCase, 'test'))
+ suite.addTest(unittest.makeSuite(Language_nl_TestCase, 'test'))
+ suite.addTest(unittest.makeSuite(Language_es_TestCase, 'test'))
+ suite.addTest(unittest.makeSuite(Language_pl_TestCase, 'test'))
+ suite.addTest(unittest.makeSuite(Language_cs_TestCase, 'test'))
+ suite.addTest(unittest.makeSuite(Language_ru_TestCase, 'test'))
return suite
if __name__ == '__main__':