Providing multi language fields and widgets
raptus.multilanguagefields provides Archetypes fields and catalog indexes which are able to store multiple languages.
Migration of already populated plone sites which where previously not running raptus.multilanguagefields is done by using the script migrate.py in the scripts folder of this package.
migrate -- migrate an existing single language site to a multilingual site using raptus.multilanguagefields Usage: bin/instance run path_to_this_script path_to_the_desired_plone_instance_in_zope [path_to_the_desired_plone_instance_in_zope] .. Options: -h/--help -- print usage message and exit
The script will iterate over all objects in your plone instance and replace the value of the default language, if non is available, by the one set before using raptus.multilanguagefields.
Say you have a plone instance with the ID “Plone” in your zope root folder which has it’s content already populated in english and you need another language, say german, which you would like to provide using raptus.multilanguagefields and the additional package raptus.multilanguageplone.
Now if you just install raptus.multilanguageplone your already populated english content will no longer be visible and that is when you have to run this script.
Shut down your zope and make sure you have a backup of your database and your third-party storages like blob or sql.
Now run the script as followed:
bin/instance run [path_to_this_script] Plone
This will copy the already populated english content into the default language set in the portal_languages tool, which in your case should be english. Now start up your zope and your plone content should be back in place.
- Use Plone 4+ translation files system. (Translations now work under Plone 4) [thomasdesvenain]
- Plone 4.1 compatibility. [thomasdesvenain]
- Final fix for the TinyMCE issue
- Fixed multilanguage blob fields (renaming now works, and several issues are resolved when using content language fallback)
- Fixed image and file caching patch to support language fallback
- Fixed TinyMCE issue where the wysiwyg editor was not displayed if no content was previously stored
- Adjusted image scale traversal patches to make caching language aware
- Added patches to make caching of images and files language aware
- fixed translator.js (selection of translatable content)
- fixed issue when translating text containing double quotes
- added support for CKEditor (collective.ckeditor)
- fixed tab selection issue after successful translation
- fixed kss validation without language fallback
- fixed CatalogBrain patch (now works for values other than strings, e.g. Subject)
- fixed traverse patches for ATImage and ATBlob which lead to a recursion when subclassing one of those types
- moved scripts folder into the package to make it available in the egg
- created migration script to migrate content of a previously monolingual site into the default language of the appropriate multilanguage fields
- added possibility to get the original language of a field by passing lang=’original’
- fixed AttributeError in getTranslator method
- added patches for plone.app.imaging and plone.app.blob
- fixed multilanguage blob file and image fields
- added patches for image and file content types (previously located in raptus.multilanguageplone)
- fixed required attribute handling if language fallback is enabled
- removed versatile caching of supported languages in indexes to prevent invalidity when changing the supported languages and not restarting zope
- UI improvements
- Added custom validation error if default language is missing in a required field
- Default language always comes first and is marked
- Removed .mo files from i18n folder
- Fixed CSS bug in language tabs for plone 4
- fixed catalog patch. After load the data with json we get a encoding problem. Noticeable by adding new portlet with non-ascii chars.
- fixed catalog patch. The catalog can’t store proxy-class, so we need to parse the multi value to a string. This problem was only on plone4.0
- fixed error by creating new contenttypes. this error was provided by the get method of ImageFields.
- fixed validation process to work with file and image fields
- added custom kssFieldValidation to work with multilanguage fields
- fixed field validation to respect content fallback and work with validators
- added catalog.xml to test profile to add multilanguage indexes
- implemented default language fallback #5
- reverted change @110991
- new doctests added without errors :
- multilanguage text field ‘title’ added in SampleType
- copy of schemas with multilanguage fields inside
- new doctests added with errors :
- standard plone rename forms do not work
- object serialization with multilanguage fields inside do not work (ExtensionClass error)
- fix the two previous errors :
- the set method in MultiLanguageFieldMixin set the value for the current language when value is not a dict (fix rename forms)
- the MultiLanguageFieldMixin class must inherit from ExtensionClass.Base
- the MultiLanguageWidgetMixin class must inherit from ExtensionClass.Base
- cleaned up and added patches necessary when using primary fields with archetypes schemaextender (patches/archetypes.py)
- removed unused variable (widgets.py)
- Added license information
- added “Uninstall” in uninstall profile registration for a better GenericSetup visibility in ZMI
- added minimal framework for tests
- added a minimal doctest (that was broken)
- fix zope2 initialization (minor refactoring) to make doctests working
- Added 2 Archetypes Schemata patches to avoid errors when reordering fields with an external schema extender (IOrderableSchemaExtender) applied to the schema with multilingual fields inside.
- Added validation_required, a simple validation for required multilingual fields.
- Some refactoring to make code more clear :
- put monkey patches in patches folder
- put different patches in different files
- added Log whith patches
- put MultiLanguageAware in a separate file (proxy.py)
- Added samples types and specific profile for tests
- Added doctests on multilingual fields and catalog search
- fix http://plone.org/products/raptus.multilanguagefields/issues/2 translate a rich widget without kupu
- The MultilanguageFieldMixin must inherit from Products.Archetypes.Field.ObjectField and MultilanguageWidgetMixin from Products.Archetypes.Widget.TypesWidget The Super Class of fields/widgets must be a field/widget to avoid problems with some low level methods.
0.6 - (2010-01-29)
- changed criterion indices registration to avoid warning messages on startup
0.5 - (2010-01-28)
- bugfix in multilanguage ZCTextIndex where index setter set the same value for indexes of all languages
0.4 - (2010-01-28)
- added support for multilanguage image fields
0.3 - (2010-01-26)
- added default atct indices to new criterion registrations as the old ones are overwritten
- added multilanguageindexes to atct criterion registry
- fixed UnicodeEncodeError in CatalogBrain monkey patch
0.2 - (2009-12-02)
- Added README.txt
- Metadata of catalog brains now contains value of current language rather than a MultilanguageAware object (fixes issues when converting to unicode)
- Added attribute access
0.1 - (2009-10-30)
- Initial release