ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    i18n_domain="zope"
    >
<interface
    interface=".i18nfile.II18nFile"
    type="zope.app.content.interfaces.IContentType"
    />
<interface
    interface=".interfaces.II18nImage"
    type="zope.app.content.interfaces.IContentType"
    />
<class
    class=".i18nfile.I18nFile"
    >
<factory
    id="zope.app.content.I18nFile"
    title="I18n File"
    description="An Internationalized File"
    />
<require
    permission="zope.View"
    interface="zope.app.file.interfaces.IFile"
    />
<require
    permission="zope.ManageContent"
    set_schema="zope.app.file.interfaces.IFile"
    />
<require
    permission="zope.View"
    attributes="getDefaultLanguage getAvailableLanguages getData getObject"
    />
<require
    permission="zope.ManageContent"
    attributes="setDefaultLanguage removeLanguage setData"
    />
</class>
<class
    class=".i18nimage.I18nImage"
    >
<factory
    id="zope.app.content.I18nImage"
    title="I18n Image"
    description="An Internationalized Image"
    />
<require
    permission="zope.View"
    attributes="getImageSize getObject"
    interface="zope.app.file.interfaces.IFile"
    />
<require
    permission="zope.ManageContent"
    set_schema="zope.app.file.interfaces.IFile"
    />
<require
    permission="zope.View"
    attributes="getDefaultLanguage getAvailableLanguages getData"
    />
<require
    permission="zope.ManageContent"
    attributes="setDefaultLanguage removeLanguage setData"
    />
</class>
<include
    package=".browser"
    />
</configure>