summaryrefslogtreecommitdiff
path: root/configure.zcml
blob: 2db8993afa79d65ddbd029bb46f389b02fef6774 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<zopeConfigure
   xmlns='http://namespaces.zope.org/zope'
   xmlns:browser='http://namespaces.zope.org/browser'
   xmlns:service='http://namespaces.zope.org/service'
   xmlns:gts='http://namespaces.zope.org/gts'
>

<!-- Setup language negotiation -->
<serviceType
      id="LanguageNegotiation" 
      interface=".INegotiator." />
<service
      serviceType="LanguageNegotiation" 
      component=".Negotiator.negotiator" />

<adapter factory="Zope.Publisher.Browser.BrowserLanguages."
         for="Zope.Publisher.Browser.IBrowserRequest."
         provides="Zope.I18n.IUserPreferredLanguages."
         />


<!-- Setup charset negotiation -->
<adapter factory="Zope.Publisher.HTTP.HTTPCharsets."
         for="Zope.Publisher.HTTP.IHTTPRequest."
         provides="Zope.I18n.IUserPreferredCharsets."
         />


<!-- Register the Translation Service as a content object -->
<content class=".TranslationService.">
    <factory
        id="TranslationService"
        permission="Zope.ManageServices"
        title="Translations"
        description="A Persistent Translation Service for TTW development" />
   <require permission="Zope.Public"
                     interface="Zope.I18n.ITranslationService." 
                     />

   <require permission="Zope.ManageServices"
                     interface="Zope.App.OFS.Container.IContainer." 
                     />
</content>


<serviceType id="GlobalTranslationService"
             interface=".ITranslationService." />

<service serviceType="GlobalTranslationService"
           permission="Zope.Public"
           component=".GlobalTranslationService.translationService" />

<browser:icon name="zmi_icon" for=".ITranslationService."
              file="./i18n_service.gif" />

<!-- Setup Message Catalogs -->
<content class=".MessageCatalog.">
   <require permission="Zope.Security"
                     interface=".IMessageCatalog." 
                     />
   <require permission="Zope.ManageServices"
                     attributes="setMessage getMessageIds"
                     />
</content>


<factory component=".MessageCatalog." 
         id="Message Catalog"/>


<!-- Setup Export and Import Filters -->
<adapter factory=".GettextExportFilter."
         for=".ITranslationService.IWriteTranslationService."
         provides=".IMessageExportFilter."
         />

<adapter factory=".GettextImportFilter."
         for=".ITranslationService.IWriteTranslationService."
         provides=".IMessageImportFilter."
         />


<gts:registerTranslations directory="./locale" />
<gts:defaultLanguages languages="en" />

<include package=".Views" />


</zopeConfigure>