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 details)

Uploaded Source

File details

Details for the file zope.app.i18nfile-3.4.1.tar.gz.

File metadata

File hashes

Hashes for zope.app.i18nfile-3.4.1.tar.gz
Algorithm Hash digest
SHA256 92b29c423f479614f149002c0b2aa19ea586242f9d0603175ef37d50dc363ea9
MD5 295553b12f664ff88fcb3ff87d840a5b
BLAKE2b-256 dcf62b8aa1bf333fd3823d112a91c1f55e956342baa9d6e6b05650e8f2d44e81

See more details on using hashes here.

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