src/pyams_i18n/interfaces/__init__.py
changeset 2 a44a73ee12f9
parent 0 9c21b8e2ba46
child 9 017ad36cc2ba
--- a/src/pyams_i18n/interfaces/__init__.py	Wed Mar 11 11:58:56 2015 +0100
+++ b/src/pyams_i18n/interfaces/__init__.py	Fri Mar 20 17:28:43 2015 +0100
@@ -19,7 +19,7 @@
 from zope.interface import Interface, invariant, Invalid
 
 # import packages
-from zope.schema import Choice, Set, Bool
+from zope.schema import Choice, Set, Bool, List
 
 from pyams_i18n import _
 
@@ -55,8 +55,8 @@
                                           "user select languages which are offered in "
                                           "a skin."""),
                             value_type=Choice(vocabulary='PyAMS base languages'),
-                            default={'en', },
-                            required=False)
+                            default={'en'},
+                            required=True)
 
     cache_enabled = Bool(title=_("Language caching enabled"),
                          description=_("Language caching enabled (per request)"),
@@ -77,6 +77,18 @@
         """Clear cached language value"""
 
 
+class II18nManager(Interface):
+    """Context languages manager
+
+    This interface is used to handle contents providing several languages
+    """
+
+    languages = List(title=_("Content languages"),
+                     description=_("List of languages available for this content"),
+                     required=True,
+                     value_type=Choice(vocabulary='PyAMS offered languages'))
+
+
 class IUserPreferredLanguage(Interface):
     """This interface provides language negotiation based on user preferences"""