Index: /main/waeup.sirp/trunk/src/waeup/sirp/applicants/viewlets.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/applicants/viewlets.py	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/applicants/viewlets.py	(revision 7674)
@@ -17,4 +17,5 @@
 ##
 import grok
+import zope.i18nmessageid
 from hurry.workflow.interfaces import IWorkflowState
 from waeup.sirp.interfaces import ISIRPObject
@@ -30,4 +31,6 @@
     )
 
+_ = zope.i18nmessageid.MessageFactory('waeup.sirp')
+
 grok.context(ISIRPObject) # Make ISIRPObject the default context
 grok.templatedir('browser_templates')
@@ -40,5 +43,5 @@
     grok.require('waeup.viewApplicantsTab')
     pnav = 3
-    tab_title = u'Applicants'
+    tab_title = _(u'Applicants')
 
     @property
@@ -53,5 +56,5 @@
     """
     grok.require('waeup.Anonymous')
-    tab_title = u'Application'
+    tab_title = _(u'Application')
 
     # Also zope.manager has role Anonymous.
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt	(revision 7674)
@@ -36,4 +36,19 @@
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
   ...Welcome to the...
+  ...
+
+We can change to German::
+  >>> browser.getLink('de').click()
+  >>> print browser.contents
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
+  ...Anfragen...
+  ...
+
+And then change back to English by clicking on the third link containing 'en'
+behind 'Anfragen' and 'Einloggen'::
+  >>> browser.getLink('en', index=2).click()
+  >>> print browser.contents
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
+  ...Enquiries...
   ...
 
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py	(revision 7674)
@@ -26,4 +26,5 @@
 import time
 import re
+import zope.i18nmessageid
 from zope import schema
 from zope.authentication.interfaces import (
@@ -137,5 +138,5 @@
 
 #
-# Login/logout pages...
+# Login/logout and language switch pages...
 #
 
@@ -187,4 +188,20 @@
             self.flash("You have been logged out. Thanks for using WAeUP SIRP!")
         self.redirect(self.application_url())
+
+
+class LanguageChangePage(SIRPPage):
+    """ Language switch
+    """
+    grok.context(ISIRPObject)
+    grok.name('change_language')
+    grok.require('waeup.Public')
+
+    def update(self, lang='en', view_name='@@index'):
+        self.response.setCookie('waeup.sirp.language', lang, path='/')
+        self.redirect(self.url(self.context, view_name))
+        return
+
+    def render(self):
+        return
 
 #
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/static/waeup-base.css
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/static/waeup-base.css	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/static/waeup-base.css	(revision 7674)
@@ -193,2 +193,17 @@
   line-height: 18px;
 }
+
+.language {
+  color: #BFBFBF;
+  position:relative;
+  top:10px;
+  right:-160px;
+}
+
+.language a {
+  color: #BFBFBF;
+}
+
+.language a:hover {
+  color: #ffffff;
+}
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultypage.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultypage.pt	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultypage.pt	(revision 7674)
@@ -1,11 +1,11 @@
-<div tal:condition="python: not len(context.keys())">
+<div i18n:domain="waeup.sirp" i18n:translate="" tal:condition="python: not len(context.keys())">
 There no subobjects registered yet.
 </div>
 
-<table>
+<table i18n:domain="waeup.sirp">
   <thead>
     <tr>
-      <th>Code</th>
-      <th>Title</th>
+      <th i18n:translate="code">Code</th>
+      <th i18n:translate="title">Title</th>
     </tr>
   </thead>
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/staffsitelayout.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/staffsitelayout.pt	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/staffsitelayout.pt	(revision 7674)
@@ -1,7 +1,4 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
-      i18n:domain="waeup.sirp"
-      xml:lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" i18n:domain="waeup.sirp">
   <head>
     <title>WAeUP - your way up
@@ -29,5 +26,5 @@
           <ul class="nav secondary-nav">
             <li tal:condition="not: layout/isAuthenticated">
-            <a href="#" i18n:translate="login"
+            <a href="#" i18n:translate=""
                 tal:attributes="href python: view.url(layout.site, 'login')">
                 Login
@@ -35,12 +32,18 @@
             </li>
             <li tal:condition="layout/isAuthenticated">
-            <a href="#" tal:attributes="href python: view.url(layout.site, '@@contactadmin')">
+            <a href="#" i18n:translate=""
+               tal:attributes="href python: view.url(layout.site, '@@contactadmin')">
                 Contact
             </a>
             </li>
             <li tal:condition="layout/isAuthenticated">
-            <a href="#" tal:attributes="href python: view.url(context, '@@logout')">Logout</a>
+            <a href="#" i18n:translate=""
+               tal:attributes="href python: view.url(context, '@@logout')">Logout</a>
             </li>
           </ul>
+          <span class="language">
+            <tal:languages
+                  tal:content="structure provider:languages" /> |
+          </span>
         </div>
       </div>
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/studentsitelayout.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/studentsitelayout.pt	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/studentsitelayout.pt	(revision 7674)
@@ -1,7 +1,4 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
-      i18n:domain="waeup.sirp"
-      xml:lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" i18n:domain="waeup.sirp">
   <head>
     <title>WAeUP - your way up
@@ -34,20 +31,28 @@
           <ul class="nav secondary-nav">
             <li tal:condition="not: layout/isAuthenticated">
-            <a href="#" tal:attributes="href python: view.url(layout.site, 'login')">
+            <a href="#" i18n:translate=""
+               tal:attributes="href python: view.url(layout.site, 'login')">
                 Login
             </a>
             </li>
             <li tal:condition="layout/isAuthenticated">
-            <a href="#" tal:attributes="href python: view.url(layout.site, '@@contactadmin')">
+            <a href="#" i18n:translate=""
+               tal:attributes="href python: view.url(layout.site, '@@contactadmin')">
                 Contact
             </a>
             </li>
             <li tal:condition="layout/isAuthenticated">
-            <a href="#" tal:attributes="href python: view.url(context, '@@logout')">Logout</a>
+            <a href="#" i18n:translate=""
+               tal:attributes="href python: view.url(context, '@@logout')">Logout</a>
             </li>
           </ul>
+          <span class="language">
+            <tal:languages
+                  tal:content="structure provider:languages" /> |
+          </span>
         </div>
       </div>
     </div>
+
     <div class="container">
       <ul class="student-info-bar" tal:condition="layout/isAuthenticated">
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/viewlets.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/viewlets.py	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/viewlets.py	(revision 7674)
@@ -17,4 +17,6 @@
 ##
 import grok
+import zope.i18nmessageid
+from urllib import urlencode
 from zope.component import getMultiAdapter, queryAdapter
 from zope.interface import Interface
@@ -33,4 +35,6 @@
 from waeup.sirp.utils.helpers import get_user_account
 
+_ = zope.i18nmessageid.MessageFactory('waeup.sirp')
+
 grok.templatedir('templates')
 grok.context(ISIRPObject) # Make ISIRPObject the default context
@@ -41,4 +45,7 @@
 class BreadCrumbManager(grok.ViewletManager):
     grok.name('breadcrumbs')
+
+class LanguageManager(grok.ViewletManager):
+    grok.name('languages')
 
 class ActionBar(grok.ViewletManager):
@@ -200,4 +207,54 @@
                     url = self.view.url(breadcrumb.context, breadcrumb.target)
                     )
+
+class LanguageLink(grok.Viewlet):
+    """ An entry in the language selector.
+
+    This is only a baseclass that won't be rendered actually. Deriving
+    viewlets can override certain values and will be rendered with the
+    values set here as default.
+    """
+    grok.baseclass()
+    grok.viewletmanager(LanguageManager)
+    grok.context(ISIRPObject)
+    grok.require('waeup.Public')
+    lang = 'de'
+    title = u'Deutsch'
+
+    def render(self):
+        args = {'lang':self.lang, 'view_name':self.view.__name__}
+        url = self.view.url(
+            self.context) + '/@@change_language?%s' % urlencode(args)
+        return u'| <a href="%s" title="%s">%s</a> ' % (url,self.title,self.lang)
+
+class English(LanguageLink):
+    """A link to switch to English.
+    """
+    lang = 'en'
+    title = u'English'
+
+class French(LanguageLink):
+    """A link to switch to French.
+    """
+    lang = 'fr'
+    title = u'Fran&ccedil;ais'
+
+class German(LanguageLink):
+    """A link to switch to German.
+    """
+    lang = 'de'
+    title = u'Deutsch'
+
+class Hausa(LanguageLink):
+    """A link to switch to Hausa.
+    """
+    lang = 'ha'
+    title = u'Hausa'
+
+class Yoruba(LanguageLink):
+    """A link to switch to Yoruba.
+    """
+    lang = 'yo'
+    title = u'Yoruba'
 
 
@@ -623,5 +680,5 @@
 
     pnav = 1
-    tab_title = u'Academics'
+    tab_title = _(u'Academics')
 
     @property
@@ -638,5 +695,5 @@
     grok.order(6)
     grok.require('waeup.Anonymous')
-    tab_title = u'Enquiries'
+    tab_title = _(u'Enquiries')
     pnav = 2
 
Index: /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser.py	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser.py	(revision 7674)
@@ -20,4 +20,5 @@
 import grok
 import sys
+import zope.i18nmessageid
 from waeup.sirp.browser import (
     SIRPEditFormPage, SIRPAddFormPage, SIRPDisplayFormPage,
@@ -36,4 +37,6 @@
     IHostelsContainer, IHostel, IBed, IBedAllocateStudent)
 
+_ = zope.i18nmessageid.MessageFactory('waeup.sirp')
+
 def write_log_message(view, message):
     ob_class = view.__implemented__.__name__.replace('waeup.sirp.','')
@@ -63,5 +66,5 @@
     template = default_primary_nav_template
     pnav = 5
-    tab_title = u'Hostels'
+    tab_title = _(u'Hostels')
 
     @property
Index: /main/waeup.sirp/trunk/src/waeup/sirp/locales/de/LC_MESSAGES/waeup.sirp.po
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/locales/de/LC_MESSAGES/waeup.sirp.po	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/locales/de/LC_MESSAGES/waeup.sirp.po	(revision 7674)
@@ -15,6 +15,6 @@
 msgstr ""
 "Project-Id-Version: WAeUP.SIRP\n"
-"POT-Creation-Date: Sun Feb 19 19:32:13 2012\n"
-"PO-Revision-Date: 2012-02-19 19:33+0100\n"
+"POT-Creation-Date: Wed Feb 22 08:30:39 2012\n"
+"PO-Revision-Date: 2012-02-22 08:38+0100\n"
 "Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
 "Language-Team: WAeUP Germany <henrik@waeup.org>\n"
@@ -31,61 +31,69 @@
 #: waeup/sirp/applicants/browser_templates/applicantdisplaypage.pt:41
 msgid "acceptance_fee_tickets"
-msgstr ""
+msgstr "Zullassungsgebühr-Ticket"
+
+#: waeup/sirp/applicants/viewlets.py:42
+msgid "Applicants"
+msgstr "Antragsteller"
+
+#: waeup/sirp/applicants/viewlets.py:55
+msgid "Application"
+msgstr "Beantragung"
 
 #. Default: "Local Roles"
 #: waeup/sirp/browser/templates/facultymanagepage.pt:15
 msgid "local_roles"
-msgstr ""
+msgstr "Lokale Rollen"
+
+#: waeup/sirp/browser/templates/facultypage.pt:1
+msgid "There no subobjects registered yet."
+msgstr "Es existieren bisher keine Unterobjekte."
+
+#. Default: "Code"
+#: waeup/sirp/browser/templates/facultypage.pt:8
+msgid "code"
+msgstr "Kürzel"
+
+#. Default: "Title"
+#: waeup/sirp/browser/templates/facultypage.pt:9
+msgid "title"
+msgstr "Titel"
 
 #. Default: "My Portal Roles:"
 #: waeup/sirp/browser/templates/myrolespage.pt:1
 msgid "my_portal_roles"
-msgstr ""
+msgstr "Meine portalweiten Rollen:"
 
 #. Default: "My Local Roles:"
 #: waeup/sirp/browser/templates/myrolespage.pt:10
 msgid "my_local_roles"
-msgstr ""
+msgstr "Meine lokalen Rollen:"
 
-#. Default: "Login"
-#: waeup/sirp/browser/templates/staffsitelayout.pt:31
-msgid "login"
-msgstr ""
+#: waeup/sirp/browser/templates/staffsitelayout.pt:28
+#: waeup/sirp/browser/templates/studentsitelayout.pt:33
+msgid "Login"
+msgstr "Einloggen"
 
-#: waeup/sirp/interfaces.py:36
-msgid "created"
-msgstr "neu"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:34
+#: waeup/sirp/browser/templates/studentsitelayout.pt:39
+msgid "Contact"
+msgstr "Kontakt"
 
-#: waeup/sirp/interfaces.py:37
-msgid "admitted"
-msgstr ""
+#: waeup/sirp/browser/templates/staffsitelayout.pt:40
+#: waeup/sirp/browser/templates/studentsitelayout.pt:45
+msgid "Logout"
+msgstr "Ausloggen"
 
-#: waeup/sirp/interfaces.py:38
-msgid "clearance started"
-msgstr ""
+#: waeup/sirp/browser/viewlets.py:679
+msgid "Academics"
+msgstr "Akademie"
 
-#: waeup/sirp/interfaces.py:39
-msgid "clearance requested"
-msgstr ""
+#: waeup/sirp/browser/viewlets.py:694
+msgid "Enquiries"
+msgstr "Anfragen"
 
-#: waeup/sirp/interfaces.py:40
-msgid "cleared"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:41
-msgid "school fee paid"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:42
-msgid "returning"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:43
-msgid "courses registered"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:44
-msgid "courses validated"
-msgstr ""
+#: waeup/sirp/hostels/browser.py:65
+msgid "Hostels"
+msgstr "Wohnheime"
 
 #. Default: "Please solve the captcha<br />to prevent misuse of this service:"
@@ -93,5 +101,5 @@
 #: waeup/sirp/applicants/browser_templates/applicantregister.pt:26
 msgid "solve_captcha"
-msgstr ""
+msgstr "Löse Captcha, um Misbrauch des Dienstes zu vermeiden:"
 
 #. Default: "Max. file size:"
@@ -100,5 +108,9 @@
 #: waeup/sirp/applicants/browser_templates/applicanteditpage.pt:41
 msgid "max_file_size"
-msgstr ""
+msgstr "Max. Dateigröße:"
+
+#: waeup/sirp/students/viewlets.py:464
+msgid "Students"
+msgstr "Studenten"
 
 #: waeup/sirp/students/workflow.py:30
@@ -111,4 +123,2 @@
 msgstr "Name der Fakultät"
 
-#~ msgid "Invalid datetime data"
-#~ msgstr "Ungültiges Datum "
Index: /main/waeup.sirp/trunk/src/waeup/sirp/locales/fr/LC_MESSAGES/waeup.sirp.po
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/locales/fr/LC_MESSAGES/waeup.sirp.po	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/locales/fr/LC_MESSAGES/waeup.sirp.po	(revision 7674)
@@ -14,16 +14,14 @@
 msgid ""
 msgstr ""
-"Project-Id-Version: WAeUP.SIRP\n"
-"POT-Creation-Date: Sun Feb 19 19:32:13 2012\n"
-"PO-Revision-Date: 2012-02-19 10:32+0100\n"
-"Last-Translator: Issoufou Abba Moussa <isouaba@waeup.org>\n"
-"Language-Team: WAeUP Niger <isouaba@waeup.org>\n"
-"Language: fr-FR\n"
+"Project-Id-Version: Development/Unknown\n"
+"POT-Creation-Date: Wed Feb 22 08:30:39 2012\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Zope 3 Developers <zope3-dev@zope.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: zope/app/locales/extract.py\n"
-"X-Poedit-Language: French\n"
-"X-Poedit-Country: NIGER\n"
 
 #. Default: "Acceptance Fee Payment Tickets"
@@ -33,7 +31,29 @@
 msgstr ""
 
+#: waeup/sirp/applicants/viewlets.py:42
+msgid "Applicants"
+msgstr ""
+
+#: waeup/sirp/applicants/viewlets.py:55
+msgid "Application"
+msgstr ""
+
 #. Default: "Local Roles"
 #: waeup/sirp/browser/templates/facultymanagepage.pt:15
 msgid "local_roles"
+msgstr ""
+
+#: waeup/sirp/browser/templates/facultypage.pt:1
+msgid "There no subobjects registered yet."
+msgstr ""
+
+#. Default: "Code"
+#: waeup/sirp/browser/templates/facultypage.pt:8
+msgid "code"
+msgstr ""
+
+#. Default: "Title"
+#: waeup/sirp/browser/templates/facultypage.pt:9
+msgid "title"
 msgstr ""
 
@@ -48,43 +68,29 @@
 msgstr ""
 
-#. Default: "Login"
-#: waeup/sirp/browser/templates/staffsitelayout.pt:31
-msgid "login"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:28
+#: waeup/sirp/browser/templates/studentsitelayout.pt:33
+msgid "Login"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:36
-msgid "created"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:34
+#: waeup/sirp/browser/templates/studentsitelayout.pt:39
+msgid "Contact"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:37
-msgid "admitted"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:40
+#: waeup/sirp/browser/templates/studentsitelayout.pt:45
+msgid "Logout"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:38
-msgid "clearance started"
+#: waeup/sirp/browser/viewlets.py:679
+msgid "Academics"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:39
-msgid "clearance requested"
+#: waeup/sirp/browser/viewlets.py:694
+msgid "Enquiries"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:40
-msgid "cleared"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:41
-msgid "school fee paid"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:42
-msgid "returning"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:43
-msgid "courses registered"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:44
-msgid "courses validated"
+#: waeup/sirp/hostels/browser.py:65
+msgid "Hostels"
 msgstr ""
 
@@ -102,4 +108,8 @@
 msgstr ""
 
+#: waeup/sirp/students/viewlets.py:464
+msgid "Students"
+msgstr ""
+
 #: waeup/sirp/students/workflow.py:30
 msgid "Admit student"
Index: /main/waeup.sirp/trunk/src/waeup/sirp/locales/ha/LC_MESSAGES/waeup.sirp.po
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/locales/ha/LC_MESSAGES/waeup.sirp.po	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/locales/ha/LC_MESSAGES/waeup.sirp.po	(revision 7674)
@@ -14,16 +14,14 @@
 msgid ""
 msgstr ""
-"Project-Id-Version: WAeUP.SIRP\n"
-"POT-Creation-Date: Sun Feb 19 19:32:13 2012\n"
-"PO-Revision-Date: 2012-02-19 10:49+0100\n"
-"Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
-"Language-Team: WAeUP Nigeria<isouaba@waeup.org>\n"
-"Language: ha-NG-Latn\n"
+"Project-Id-Version: Development/Unknown\n"
+"POT-Creation-Date: Wed Feb 22 08:30:39 2012\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Zope 3 Developers <zope3-dev@zope.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: zope/app/locales/extract.py\n"
-"X-Poedit-Language: Hausa\n"
-"X-Poedit-Country: NIGERIA\n"
 
 #. Default: "Acceptance Fee Payment Tickets"
@@ -33,7 +31,29 @@
 msgstr ""
 
+#: waeup/sirp/applicants/viewlets.py:42
+msgid "Applicants"
+msgstr ""
+
+#: waeup/sirp/applicants/viewlets.py:55
+msgid "Application"
+msgstr ""
+
 #. Default: "Local Roles"
 #: waeup/sirp/browser/templates/facultymanagepage.pt:15
 msgid "local_roles"
+msgstr ""
+
+#: waeup/sirp/browser/templates/facultypage.pt:1
+msgid "There no subobjects registered yet."
+msgstr ""
+
+#. Default: "Code"
+#: waeup/sirp/browser/templates/facultypage.pt:8
+msgid "code"
+msgstr ""
+
+#. Default: "Title"
+#: waeup/sirp/browser/templates/facultypage.pt:9
+msgid "title"
 msgstr ""
 
@@ -48,43 +68,29 @@
 msgstr ""
 
-#. Default: "Login"
-#: waeup/sirp/browser/templates/staffsitelayout.pt:31
-msgid "login"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:28
+#: waeup/sirp/browser/templates/studentsitelayout.pt:33
+msgid "Login"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:36
-msgid "created"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:34
+#: waeup/sirp/browser/templates/studentsitelayout.pt:39
+msgid "Contact"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:37
-msgid "admitted"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:40
+#: waeup/sirp/browser/templates/studentsitelayout.pt:45
+msgid "Logout"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:38
-msgid "clearance started"
+#: waeup/sirp/browser/viewlets.py:679
+msgid "Academics"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:39
-msgid "clearance requested"
+#: waeup/sirp/browser/viewlets.py:694
+msgid "Enquiries"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:40
-msgid "cleared"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:41
-msgid "school fee paid"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:42
-msgid "returning"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:43
-msgid "courses registered"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:44
-msgid "courses validated"
+#: waeup/sirp/hostels/browser.py:65
+msgid "Hostels"
 msgstr ""
 
@@ -102,4 +108,8 @@
 msgstr ""
 
+#: waeup/sirp/students/viewlets.py:464
+msgid "Students"
+msgstr ""
+
 #: waeup/sirp/students/workflow.py:30
 msgid "Admit student"
@@ -109,3 +119,3 @@
 #: waeup/sirp/university/interfaces.py:47
 msgid "name_of_faculty"
-msgstr "Hausa Test"
+msgstr ""
Index: /main/waeup.sirp/trunk/src/waeup/sirp/locales/waeup.sirp.pot
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/locales/waeup.sirp.pot	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/locales/waeup.sirp.pot	(revision 7674)
@@ -15,5 +15,5 @@
 msgstr ""
 "Project-Id-Version: Development/Unknown\n"
-"POT-Creation-Date: Sun Feb 19 19:32:13 2012\n"
+"POT-Creation-Date: Wed Feb 22 08:30:39 2012\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
@@ -30,7 +30,29 @@
 msgstr ""
 
+#: waeup/sirp/applicants/viewlets.py:42
+msgid "Applicants"
+msgstr ""
+
+#: waeup/sirp/applicants/viewlets.py:55
+msgid "Application"
+msgstr ""
+
 #: waeup/sirp/browser/templates/facultymanagepage.pt:15
 #. Default: "Local Roles"
 msgid "local_roles"
+msgstr ""
+
+#: waeup/sirp/browser/templates/facultypage.pt:1
+msgid "There no subobjects registered yet."
+msgstr ""
+
+#: waeup/sirp/browser/templates/facultypage.pt:8
+#. Default: "Code"
+msgid "code"
+msgstr ""
+
+#: waeup/sirp/browser/templates/facultypage.pt:9
+#. Default: "Title"
+msgid "title"
 msgstr ""
 
@@ -45,43 +67,29 @@
 msgstr ""
 
-#: waeup/sirp/browser/templates/staffsitelayout.pt:31
-#. Default: "Login"
-msgid "login"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:28
+#: waeup/sirp/browser/templates/studentsitelayout.pt:33
+msgid "Login"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:36
-msgid "created"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:34
+#: waeup/sirp/browser/templates/studentsitelayout.pt:39
+msgid "Contact"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:37
-msgid "admitted"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:40
+#: waeup/sirp/browser/templates/studentsitelayout.pt:45
+msgid "Logout"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:38
-msgid "clearance started"
+#: waeup/sirp/browser/viewlets.py:679
+msgid "Academics"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:39
-msgid "clearance requested"
+#: waeup/sirp/browser/viewlets.py:694
+msgid "Enquiries"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:40
-msgid "cleared"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:41
-msgid "school fee paid"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:42
-msgid "returning"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:43
-msgid "courses registered"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:44
-msgid "courses validated"
+#: waeup/sirp/hostels/browser.py:65
+msgid "Hostels"
 msgstr ""
 
@@ -99,4 +107,8 @@
 msgstr ""
 
+#: waeup/sirp/students/viewlets.py:464
+msgid "Students"
+msgstr ""
+
 #: waeup/sirp/students/workflow.py:30
 msgid "Admit student"
Index: /main/waeup.sirp/trunk/src/waeup/sirp/locales/yo/LC_MESSAGES/waeup.sirp.po
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/locales/yo/LC_MESSAGES/waeup.sirp.po	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/locales/yo/LC_MESSAGES/waeup.sirp.po	(revision 7674)
@@ -14,16 +14,14 @@
 msgid ""
 msgstr ""
-"Project-Id-Version: WAeUP.SIRP\n"
-"POT-Creation-Date: Sun Feb 19 19:32:13 2012\n"
-"PO-Revision-Date: 2012-02-19 10:57+0100\n"
-"Last-Translator: Henrik Bettermann <henrik@waeup.org>\n"
-"Language-Team: WAeUP Nigeria <isouaba@waeup.org>\n"
-"Language: yo-NG\n"
+"Project-Id-Version: Development/Unknown\n"
+"POT-Creation-Date: Wed Feb 22 08:30:39 2012\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Zope 3 Developers <zope3-dev@zope.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: zope/app/locales/extract.py\n"
-"X-Poedit-Language: Yoruba\n"
-"X-Poedit-Country: NIGERIA\n"
 
 #. Default: "Acceptance Fee Payment Tickets"
@@ -33,7 +31,29 @@
 msgstr ""
 
+#: waeup/sirp/applicants/viewlets.py:42
+msgid "Applicants"
+msgstr ""
+
+#: waeup/sirp/applicants/viewlets.py:55
+msgid "Application"
+msgstr ""
+
 #. Default: "Local Roles"
 #: waeup/sirp/browser/templates/facultymanagepage.pt:15
 msgid "local_roles"
+msgstr ""
+
+#: waeup/sirp/browser/templates/facultypage.pt:1
+msgid "There no subobjects registered yet."
+msgstr ""
+
+#. Default: "Code"
+#: waeup/sirp/browser/templates/facultypage.pt:8
+msgid "code"
+msgstr ""
+
+#. Default: "Title"
+#: waeup/sirp/browser/templates/facultypage.pt:9
+msgid "title"
 msgstr ""
 
@@ -48,43 +68,29 @@
 msgstr ""
 
-#. Default: "Login"
-#: waeup/sirp/browser/templates/staffsitelayout.pt:31
-msgid "login"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:28
+#: waeup/sirp/browser/templates/studentsitelayout.pt:33
+msgid "Login"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:36
-msgid "created"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:34
+#: waeup/sirp/browser/templates/studentsitelayout.pt:39
+msgid "Contact"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:37
-msgid "admitted"
+#: waeup/sirp/browser/templates/staffsitelayout.pt:40
+#: waeup/sirp/browser/templates/studentsitelayout.pt:45
+msgid "Logout"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:38
-msgid "clearance started"
+#: waeup/sirp/browser/viewlets.py:679
+msgid "Academics"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:39
-msgid "clearance requested"
+#: waeup/sirp/browser/viewlets.py:694
+msgid "Enquiries"
 msgstr ""
 
-#: waeup/sirp/interfaces.py:40
-msgid "cleared"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:41
-msgid "school fee paid"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:42
-msgid "returning"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:43
-msgid "courses registered"
-msgstr ""
-
-#: waeup/sirp/interfaces.py:44
-msgid "courses validated"
+#: waeup/sirp/hostels/browser.py:65
+msgid "Hostels"
 msgstr ""
 
@@ -102,4 +108,8 @@
 msgstr ""
 
+#: waeup/sirp/students/viewlets.py:464
+msgid "Students"
+msgstr ""
+
 #: waeup/sirp/students/workflow.py:30
 msgid "Admit student"
@@ -109,3 +119,3 @@
 #: waeup/sirp/university/interfaces.py:47
 msgid "name_of_faculty"
-msgstr "Yoruba Test"
+msgstr ""
Index: /main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py	(revision 7673)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py	(revision 7674)
@@ -18,4 +18,5 @@
 import os
 import grok
+import zope.i18nmessageid
 from zope.component import getUtility
 from zope.interface import Interface
@@ -44,4 +45,6 @@
     )
 
+_ = zope.i18nmessageid.MessageFactory('waeup.sirp')
+
 grok.context(ISIRPObject) # Make ISIRPObject the default context
 grok.templatedir('browser_templates')
@@ -462,5 +465,5 @@
 
     pnav = 4
-    tab_title = u'Students'
+    tab_title = _(u'Students')
 
     @property
