Skip to main content

I18n File and Image -- Zope 3 Content Components

Project description

This package provides an extension to the File and Image content components for Zope 3, allowing the content to be localized.

Detailed Dcoumentation

I18nFile tests

First, let’s create an I18nFile instance:

>>> print http(r"""
... POST /@@contents.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """, form={"type_name": "BrowserAdd__zope.app.i18nfile.i18nfile.I18nFile",
...            "new_value": "i18nfile"})
HTTP/1.1 303 See Other
...

Then add some sample data for default (en) language:

>>> print http(r"""
... POST /i18nfile/edit.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """, form={"contentType": "text/plain",
...            "defaultLanguage": "en",
...            "language": "en",
...            "newLanguage": "",
...            "data": "English",
...            "edit": "Save"})
HTTP/1.1 303 See Other
...

Ok, now we can view the data in the edit form:

>>> print http(r"""
... GET /i18nfile/editForm.html?language=en HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """)
HTTP/1.1 200 OK
...
        <textarea ...>English</textarea>
...

and as file content:

>>> print http(r"""
... GET /i18nfile/index.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """)
HTTP/1.1 200 OK
...
English

Let’s add new (russian) language:

>>> print http(r"""
... POST /i18nfile/edit.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """, form={"contentType": "text/plain",
...            "defaultLanguage": "en",
...            "language": "en",
...            "addLanguage": "Add new language",
...            "newLanguage": "ru",
...            "data": "English"})
HTTP/1.1 303 See Other
...

and add some sample data for russian (ru) language:

>>> print http(r"""
... POST /i18nfile/edit.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """, form={"contentType": "text/plain",
...            "defaultLanguage": "en",
...            "language": "ru",
...            "newLanguage": "",
...            "data": "Russian",
...            "edit": "Save"})
HTTP/1.1 303 See Other
...

Then we can view sample data for russain language in the edit form:

>>> print http(r"""
... GET /i18nfile/editForm.html?language=ru HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """)
HTTP/1.1 200 OK
...
        <textarea ...>Russian</textarea>
...

and if our preferred language is russian as file content:

>>> print http(r"""
... GET /i18nfile/index.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... Accept-Language: ru,en
... """)
HTTP/1.1 200 OK
...
Russian

I18nImage tests

First, let’s create an I18nImage instance:

>>> print http(r"""
... POST /@@contents.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """, form={
...      "type_name": "BrowserAdd__zope.app.i18nfile.i18nimage.I18nImage",
...      "new_value": "i18nimage"})
HTTP/1.1 303 See Other
...

Then add some sample image data for default (en) language:

>>> print http(r"""
... POST /i18nimage/uploadAction.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """, form={"contentType": "image/gif",
...            "defaultLanguage": "en",
...            "language": "en",
...            "newLanguage": "",
...            "data": 'GIF89aENEN',
...            "edit": "Save"})
HTTP/1.1 303 See Other
...

Ok, now we can view the image size in the edit form:

>>> print http(r"""
... GET /i18nimage/upload.html?language=en HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """)
HTTP/1.1 200 OK
...
...>1 KB 20037x20037</...
...

and the image data as file content:

>>> print http(r"""
... GET /i18nimage/ HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """)
HTTP/1.1 200 OK
Content-Length: 10
Content-Type: image/gif
<BLANKLINE>
GIF89aENEN

Let’s add new (russian) language:

>>> print http(r"""
... POST /i18nimage/uploadAction.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """, form={"contentType": "image/gif",
...            "defaultLanguage": "en",
...            "language": "en",
...            "addLanguage": "Add new language",
...            "newLanguage": "ru",
...            "data": ""})
HTTP/1.1 303 See Other
...

and add some sample image data for russian (ru) language:

>>> print http(r"""
... POST /i18nimage/uploadAction.html HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """, form={"contentType": "image/gif",
...            "defaultLanguage": "en",
...            "language": "ru",
...            "newLanguage": "",
...            "data": "GIF89aRURU",
...            "edit": "Save"})
HTTP/1.1 303 See Other
...

Then we can view the size of sample image for russain language in the edit form:

>>> print http(r"""
... GET /i18nimage/upload.html?language=ru HTTP/1.1
... Authorization: Basic mgr:mgrpw
... """)
HTTP/1.1 200 OK
...
...>1 KB 21842x21842</...
...

and if our preferred language is russian we can view the image as file content:

>>> print http(r"""
... GET /i18nimage/ HTTP/1.1
... Authorization: Basic mgr:mgrpw
... Accept-Language: ru,en
... """)
HTTP/1.1 200 OK
Content-Length: 10
Content-Type: image/gif
<BLANKLINE>
GIF89aRURU

CHANGES

3.4.1 (2007-10-31)

  • Resolve ZopeSecurityPolicy deprecation warning.

3.4.0 (2007-10-24)

  • Initial release independent of the main Zope tree.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zope.app.i18nfile-3.4.1.tar.gz (11.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page