i18n and i18n testing

darcs-hash:20070516154843-86b55-9d5af7a3a36bf42fb81ea0e55bb89c13ebbe1524.gz
This commit is contained in:
David Rousselie
2007-05-16 17:48:43 +02:00
parent aa65f4ebea
commit 9ca677ff15
3 changed files with 129 additions and 76 deletions

View File

@@ -51,7 +51,6 @@ class MailComponent(FeederComponent):
port, \ port, \
db_connection_str, db_connection_str,
lang = lang) lang = lang)
self.name = "Jabber Mail Component"
self.feeder = MailFeeder(self) self.feeder = MailFeeder(self)
self.sender = MailSender(self) self.sender = MailSender(self)
self.account_manager.account_classes = (IMAPAccount, POP3Account) self.account_manager.account_classes = (IMAPAccount, POP3Account)

View File

@@ -26,34 +26,18 @@ import jcl.lang
class Lang(jcl.lang.Lang): class Lang(jcl.lang.Lang):
class en(jcl.lang.Lang.en): class en(jcl.lang.Lang.en):
account_login = u"Login" register_title = u"Jabber Mail connection registration"
account_password = u"Password" component_name = u"Jabber Mail Component"
account_password_store = u"Store password on Jabber server?"
account_host = u"Host" field_login = u"Login"
account_port = u"Port" field_password = u"Password"
account_type = u"Mail server type" field_host = u"Host"
account_mailbox = u"Mailbox path (IMAP)" field_port = u"Port"
account_ffc_action = u"Action when state is 'Free For Chat'" field_ssl = u"Secure connection (SSL)"
account_online_action = u"Action when state is 'Online'" field_store_password = u"Store password on Jabber server?"
account_away_action = u"Action when state is 'Away'" field_live_email_only = u"Reports only emails received while connected to Jabber"
account_xa_action = u"Action when state is 'Not Available'" field_interval = u"Mail check interval (in minutes)"
account_dnd_action = u"Action when state is 'Do not Disturb'" field_mailbox = u"Mailbox path"
account_offline_action = u"Action when state is 'Offline'"
account_check_interval = u"Mail check interval (in minutes)"
account_live_email_only = u"Reports only emails received while connected to Jabber"
action_nothing = u"Do nothing"
action_retrieve = u"Retrieve mail"
action_digest = u"Send mail digest"
update_title = u"Jabber mail connection update"
update_instructions = u"Modifying connection '%s'"
connection_label = u"%s connection '%s'"
update_account_message_subject = u"Updated %s connection '%s'"
update_account_message_body = u"Registered with username '%s' and " \
"password '%s' on '%s'"
check_error_subject = u"Error while checking emails."
check_error_body = u"An error appears while checking emails:\n\t%s"
new_mail_subject = u"New email from %s"
new_digest_subject = u"%i new email(s)"
field_action_1 = u"Retrieve digest" field_action_1 = u"Retrieve digest"
field_chat_action_1 = field_action_1 field_chat_action_1 = field_action_1
@@ -71,50 +55,52 @@ class Lang(jcl.lang.Lang):
field_dnd_action_2 = field_action_2 field_dnd_action_2 = field_action_2
field_offline_action_2 = field_action_2 field_offline_action_2 = field_action_2
class fr: new_mail_subject = u"New email from %s"
register_title = u"Enregistrement d'une nouvelle connexion à un serveur email." new_digest_subject = u"%i new email(s)"
register_instructions = u"Entrer les paramètres de connexion"
account_name = u"Nom de la connexion" type_imap_name = u"IMAP accounts"
account_login = u"Nom d'utilisateur" type_pop3_name = u"POP3 accounts"
account_password = u"Mot de passe"
account_password_store = u"Sauvegarder le mot de passe sur le serveur Jabber ?" class fr(jcl.lang.Lang.fr):
account_host = u"Adresse du serveur email" component_name = u"Jabber Mail Component"
account_port = u"Port du serveur email" register_title = u"Enregistrement d'une nouvelle connexion à un " \
account_type = u"Type du serveur email" u"serveur email."
account_mailbox = u"Chemin de la boîte email (IMAP)"
account_ffc_action = u"Action lorsque l'état est 'Free For Chat'" field_login = u"Nom d'utilisateur"
account_online_action = u"Action lorsque l'état est 'Online'" field_password = u"Mot de passe"
account_away_action = u"Action lorsque l'état est 'Away'" field_host = u"Adresse du serveur email"
account_xa_action = u"Action lorsque l'état est 'Not Available'" field_port = u"Port du serveur email"
account_dnd_action = u"Action lorsque l'état est 'Do not Disturb'" field_ssl = u"Connexion sécurisé (SSL)"
account_offline_action = u"Action lorsque l'état est 'Offline'" field_store_password = u"Sauvegarder le mot de passe sur le serveur Jabber ?"
account_check_interval = u"Interval de vérification de nouveaux emails (en minutes)" field_live_email_only = u"Vérifier les nouveaux emails seulement " \
account_live_email_only = u"Vérifier les nouveaux emails seulement " \ "lorsqu'une session Jabber est ouverte"
"lorsqu'une session Jabber est ouverte" field_interval = u"Interval de vérification de nouveaux emails (en minutes)"
action_nothing = u"Ne rien faire" field_mailbox = u"Chemin de la boîte email"
action_retrieve = u"Récupérer l'email"
action_digest = u"Envoyer un résumé" field_action_1 = u"Envoyer un résumé"
update_title = u"Mise à jour du compte JMC" field_chat_action_1 = field_action_1
update_instructions = u"Modification de la connexion '%s'" field_online_action_1 = field_action_1
connection_label = u"Connexion %s '%s'" field_away_action_1 = field_action_1
update_account_message_subject = u"La connexion %s '%s' a été mise à jour" field_xa_action_1 = field_action_1
update_account_message_body = u"Nom d'utilisateur : '%s'\nMot de passe : '%s'\nsur : '%s'" field_dnd_action_1 = field_action_1
new_account_message_subject = u"La connexion %s '%s' a été créée" field_offline_action_1 = field_action_1
new_account_message_body = u"Nom d'utilisateur : '%s'\nMot de passe : '%s'\nsur : '%s'"
ask_password_subject = u"Demande de mot de passe" field_action_2 = u"Envoyer l'email complet"
ask_password_body = u"Répondre à ce message avec le mot de passe du " \ field_chat_action_2 = field_action_2
"compte suivant : \n" \ field_online_action_2 = field_action_2
"\thost = %s\n" \ field_away_action_2 = field_action_2
"\tlogin = %s\n" field_xa_action_2 = field_action_2
password_saved_for_session = u"Le mot de passe sera garder tout au " \ field_dnd_action_2 = field_action_2
"long de la session Jabber." field_offline_action_2 = field_action_2
check_error_subject = u"Erreur lors de la vérification des emails."
check_error_body = u"Une erreur est survenue lors de la vérification " \
"des emails :\n\t%s"
new_mail_subject = u"Nouvel email de %s" new_mail_subject = u"Nouvel email de %s"
new_digest_subject = u"%i nouveau(x) email(s)" new_digest_subject = u"%i nouveau(x) email(s)"
class nl: type_imap_name = u"comptes IMAP"
type_pop3_name = u"comptes POP3"
class nl(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_title = u"Registratie van verbindingen voor Jabber Mail"
register_instructions = u"Instellingen voor verbinding" register_instructions = u"Instellingen voor verbinding"
account_name = u"Accountnaam" account_name = u"Accountnaam"
@@ -157,7 +143,8 @@ class Lang(jcl.lang.Lang):
new_mail_subject = u"Nieuwe e-mail van %s" new_mail_subject = u"Nieuwe e-mail van %s"
new_digest_subject = u"%i nieuwe e-mail(s)" new_digest_subject = u"%i nieuwe e-mail(s)"
class es: class es(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_title = u"Registro de nueva cuenta de email"
register_instructions = u"Inserta los datos para la nueva cuenta" register_instructions = u"Inserta los datos para la nueva cuenta"
account_name = u"Nombre para la cuenta" account_name = u"Nombre para la cuenta"
@@ -197,7 +184,8 @@ class Lang(jcl.lang.Lang):
new_mail_subject = u"Nuevo email en %s" new_mail_subject = u"Nuevo email en %s"
new_digest_subject = u"%i email(s) nuevo(s)" new_digest_subject = u"%i email(s) nuevo(s)"
class pl: class pl(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_title = u"Rejestracja w komponencie E-Mail"
register_instructions = u"Wprowadź parametry połączenia" register_instructions = u"Wprowadź parametry połączenia"
account_name = u"Nazwa połączenia" account_name = u"Nazwa połączenia"
@@ -236,7 +224,8 @@ class Lang(jcl.lang.Lang):
new_mail_subject = u"Nowy email od %s" new_mail_subject = u"Nowy email od %s"
new_digest_subject = u"%i nowy(ch) email(i)" new_digest_subject = u"%i nowy(ch) email(i)"
class cs: class cs(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_title = u"Jabber MailNotify registrace"
register_instructions = u"Vložte nastavení spojení" register_instructions = u"Vložte nastavení spojení"
account_name = u"Název spojení" account_name = u"Název spojení"

View File

@@ -20,9 +20,11 @@
## along with this program; if not, write to the Free Software ## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
## ##
# TODO : Reuse JCL Lang tests
import unittest import unittest
import jcl.tests.lang
from jmc.lang import Lang from jmc.lang import Lang
from pyxmpp.iq import Iq from pyxmpp.iq import Iq
@@ -64,8 +66,71 @@ class Lang_TestCase(unittest.TestCase):
lang = self.lang.get_lang_class_from_node(iq_node) lang = self.lang.get_lang_class_from_node(iq_node)
self.assertEquals(lang, Lang.fr) self.assertEquals(lang, Lang.fr)
class Language_TestCase(jcl.tests.lang.Language_TestCase):
"""Test language classes"""
def setUp(self):
"""must define self.lang_class. Lang.en is default"""
self.lang_class = Lang.en
def test_strings(self):
jcl.tests.lang.Language_TestCase.test_strings(self)
self.assertNotEquals(self.lang_class.field_login, None)
self.assertNotEquals(self.lang_class.field_password, None)
self.assertNotEquals(self.lang_class.field_host, None)
self.assertNotEquals(self.lang_class.field_port, None)
self.assertNotEquals(self.lang_class.field_ssl, None)
self.assertNotEquals(self.lang_class.field_store_password, None)
self.assertNotEquals(self.lang_class.field_live_email_only, None)
self.assertNotEquals(self.lang_class.field_interval, None)
self.assertNotEquals(self.lang_class.field_mailbox, None)
self.assertNotEquals(self.lang_class.field_action_1, None)
self.assertNotEquals(self.lang_class.field_chat_action_1, None)
self.assertNotEquals(self.lang_class.field_online_action_1, None)
self.assertNotEquals(self.lang_class.field_away_action_1, None)
self.assertNotEquals(self.lang_class.field_xa_action_1, None)
self.assertNotEquals(self.lang_class.field_dnd_action_1, None)
self.assertNotEquals(self.lang_class.field_offline_action_1, None)
self.assertNotEquals(self.lang_class.field_action_2, None)
self.assertNotEquals(self.lang_class.field_chat_action_2, None)
self.assertNotEquals(self.lang_class.field_online_action_2, None)
self.assertNotEquals(self.lang_class.field_away_action_2, None)
self.assertNotEquals(self.lang_class.field_xa_action_2, None)
self.assertNotEquals(self.lang_class.field_dnd_action_2, None)
self.assertNotEquals(self.lang_class.field_offline_action_2, None)
self.assertNotEquals(self.lang_class.new_mail_subject, None)
self.assertNotEquals(self.lang_class.new_digest_subject, None)
class Language_fr_TestCase(Language_TestCase):
def setUp(self):
self.lang_class = Lang.fr
class Language_nl_TestCase(Language_TestCase):
def setUp(self):
self.lang_class = Lang.nl
class Language_es_TestCase(Language_TestCase):
def setUp(self):
self.lang_class = Lang.es
class Language_pl_TestCase(Language_TestCase):
def setUp(self):
self.lang_class = Lang.pl
def suite(): def suite():
return unittest.makeSuite(Lang_TestCase, 'test') 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'))
return suite
if __name__ == '__main__': if __name__ == '__main__':
unittest.main(defaultTest='suite') unittest.main(defaultTest='suite')