Skip to main content

A set of tools that simplify handling multilingual content in Plone

Project description

Project Description

Since this package makes use of plone.app.z3cform some other package versions are pinned in setup.py which are known to work:

  • ‘zope.i18n>=3.4.0,<=3.9.9’,

  • ‘z3c.form>=1.9.0,<=1.9.9’,

  • ‘zope.testing>=3.4.0,<=3.9.1’,

  • ‘zope.component>=3.4.0,<=3.9.9’,

  • ‘zope.securitypolicy>=3.4.0,<=3.9.9’,

  • ‘zope.app.zcmlfiles>=3.4.3,<=3.9.9’

Detailed Documentation

slc.linguatools offers a set of functions that are designed to make life easier when dealing with multilingual sites, especially those with several different languages.

Often you have the requirement that you want to do the same action for all translations of an object. In a site with ten, twenty or more languages, doing this manually is not an option any more.

Requirements and Installation

This package only works and makes sense if you have LinguaPlone installed.

Add “slc.linguatools” to the eggs and zcml sections of your buildout configuration. After running buildout and restarting your instance, go to the Site Setup -> Add-on Products, choose slc.linguatools and click “install”.

A tab named “Lingua Tools” will then appear on all translatable objects.

Functions

slc.linguatools offers assistance for the following use cases:

  • Set title or description:

    Set the title / description on all translations; either directly to the string you entered, or based on an i18n label and domain

  • Rename an object

    Rename all translations to the id (short name) you entered

  • Set portlets

    Propagate the portlet settings of the canonical object to all translations, either for all slots or the one you chose. Block / unblock portlet inheritance per slot.

  • Workflow

    Publish all translations

  • Catalog reindex

    Reindex all translations of an object

  • Deleter

    Delete all translations of an object

  • Cut and paste

    Cut all translations of an object and paste them to another folder

  • Property handling

    Set a property with id, type and value on all translations. Example: Set string property “layout” to “@@my-shiny-view”. Delete an existing property.

  • Subtyping (if p4a.subtyper is installed)

    Set a subtype on all translations; remove a subtype

  • Translate an object

    Create a translation of the current object for all available languages. The AT attributes that should be copied over can be selected. If the object is a Collection, then all criteria are copied as well. This function can also be used to copy values of AT attributes and collection criteria to already existing translations.

Versions

The first version of this tool featured a manually written BrowserView. During the Plone-Conference 2009 sprint, a second version that uses z3c form was written. This is the version visible by default via the “Lingua Tools” tab. The original version is still accessible under @@linguatools-old.

Change history

slc.linguatools Changelog

1.3.2 (2009-12-17)

  • Bugfix in linguatools.css: missing closing bracket. Thanks for the heads-up, do3cc! (thomasw)

1.3.1 (2009-12-11)

  • Be more relaxed with version pinning needed for plone.app.z3cform (thomasw)

1.3 (2009-11-29)

  • Major revamp at Plone Conference 2009 sprint: moved from static BrowserView to z3c form; brushed up test coverage; clearer interface; more user-friendly, less typing necessary; easier to plug in new functionality (cillian, jcbrand, pilz, thomasw, Andreas Schmid)

1.2.5 (unreleased)

  • make sure that lang is ascii when using it to create objectids. Otherwise we get an infinite recursion (pilz)

  • D’oh another bug in “block portlets”, this time in the status message (thomasw)

  • better status reporting for translateThis; collection criteria are now also copied when “translation exists” is ticked; more graceful handling for unknown fields (thomasw)

1.2.4 (2009-10-27)

  • Continuing my fix for ambiguous variable name (thomasw)

1.2.3 (2009-10-25)

  • 2 bugs fixed for “block portlets”: ambiguous variable name, wrong button name (thomasw)

1.2.2 (2009-10-08)

  • 2 bugfixes in cutAndPaste (don’t despair if object is not available) (thomasw)

  • Added a contenview tab for Lingua Tools on ITranslatable objects (jcbrand)

  • In lingatools.pt moved the legends into the fieldsets, added labels and reorganised a bit (jcbrand)

  • Added new option to remove subtypes (jcbrand)

  • Use the default plone status messages for messaging and added event.log logging (jcbrand)

slc.linguatools 1.2.1 (2009-08-13)

  • made compatible with current version of LinguaPlone (gerken/thomasw)

slc.linguatools 1.2 (2009-06-17)

  • built a proper framework for the already existing doctest linguatests.txt (thomasw)

slc.linguatools 1.1 (2009-05-12)

  • Packaged egg (pilz)

slc.linguatools 1.0 (2008-03-31)

  • Initial port

Contributors

  • Wolfgang Thomas (Syslab.com GmbH)

  • Alexander Pilz (Syslab.com GmbH)

  • Jan-Carel Brand (Syslab.com GmbH)

  • Cillian de Roiste (Syslab.com GmbH)

  • Andreas Schmid (TIS Innovation Park): jquery toggle

TODO

  • Find and use an object-picker widget for “Cut & Paste” - having to type the destination path is ugly.

  • Distinguish between global functions (e.g. Set title) and those that only make sense on a folder (e.g. Delete).

  • Add a function for setting a (marker) interface on all translations, such as INavigationRoot.

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

slc.linguatools-1.3.2.tar.gz (44.8 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