This project has been archived by its maintainers, and is no longer receiving any updates.
This package provides an implementation wich let’s you implement your own i18n aware content types.
Detailed Documentation
Langauge Switcher
Let’s show how z3c.language.switch works:
Imports and placeless setup:
>>> import zope.component >>> from zope.app.testing import placelesssetup >>> from z3c.language.switch import II18nLanguageSwitch >>> from z3c.language.switch.testing import IContentObject >>> from z3c.language.switch.testing import II18nContentObject >>> from z3c.language.switch.testing import I18nContentObject >>> from z3c.language.switch.testing import I18nContentObjectLanguageSwitch >>> from z3c.language.switch.testing import ContentObject >>> placelesssetup.setUp()
Setup test object:
>>> en_title = u'en_title' >>> obj = I18nContentObject(en_title) >>> obj.title u'en_title'
Add additional languages:
>>> de_title = u'de_title'
>>> fr_title = u'fr_title'
>>> deObj = obj.addLanguage('de', de_title)
>>> frObj = obj.addLanguage('fr', fr_title)
Switch default language:
>>> obj.title u'en_title'>>> obj.setDefaultLanguage('de') >>> obj.title u'de_title'
Remove the ‘en’ language object:
>>> obj._data.keys()
['de', 'en', 'fr']
>>> obj.removeLanguage('en')
>>> obj._data.keys()
['de', 'fr']
Remove default language object will end in a ValueError error:
>>> obj.removeLanguage('de')
Traceback (most recent call last):
...
ValueError: cannot remove default language (de)
Remove nonexistent language object will end in a ValueError error:
>>> obj.removeLanguage('undefined')
Traceback (most recent call last):
...
ValueError: cannot remove nonexistent language (undefined)
Set default language to a non existent language will end in a ValueError:
>>> obj.setDefaultLanguage('en')
Traceback (most recent call last):
...
ValueError: cannot set nonexistent language (en) as default
Access the language directly via the II18nLanguageSwitch adapter, first register the adapter for the I18nContentObject:
>>> zope.component.provideAdapter(I18nContentObjectLanguageSwitch, ... (II18nContentObject,), provides=II18nLanguageSwitch)
The adapter is set to the default language in the init method:
>>> adapted = II18nLanguageSwitch(obj) >>> adapted.title u'de_title'
Change the default language and access the title again, the title should not switch to another language:
>>> obj.setDefaultLanguage('fr')
>>> adapted.title
u'de_title'
Switch the language to ‘fr’ via the adapter:
>>> adapted.setLanguage('fr')
>>> adapted.title
u'fr_title'
Finally, clean up:
>>> placelesssetup.tearDown()
AvailableLanguagesVocabulary Vocabulary
Use this vocabulary for get the available languages from the object itself.
>>> from z3c.language.switch import vocabulary >>> vocab = vocabulary.AvailableLanguagesVocabulary(obj) >>> len(vocab._terms) 2>>> vocab._terms[0].value 'de' >>> vocab._terms[0].token 'de' >>> vocab._terms[0].title 'de' >>> vocab._terms[1].value 'fr' >>> vocab._terms[1].token 'fr' >>> vocab._terms[1].title 'fr'
CHANGES
1.1.0 (2009-11-29)
adjust dependencies, reflect changes in zope packages
1.0.2 (2008-05-21)
Bug: Fix typo + exception handling
1.0.1 (2008-01-24)
Bug: Corrected meta-data.
1.0.0 (2008-01-21)
Restructure: Moved zope.language.switch to it’s namespace package.
Metadata
Release files for z3c.language.switch 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| z3c.language.switch-1.1.0.zip | 26.0 kB | Without provenance | Details for z3c.language.switch-1.1.0.zip |
Release files / z3c.language.switch-1.1.0.zip
| Download URL | z3c.language.switch-1.1.0.zip |
|---|---|
| Size | 26.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bccd1b34a3b8a643d44ed2675c258e8e45215e4770fcf3178f4f016f60e9074c
|
|
BLAKE2b-256 checksum How to use checksums |
37c3da216293596f8b4e18267010347feae462f2c6db46b904c401b308468383
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for z3c.language.switch 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.