Skip to main content

i18ndude performs various tasks related to ZPT's, Python Scripts and i18n.

Project description



Call i18ndude with the –help argument to see what it can do for you.


3.2.2 (2010-12-11)

  • Encode key to utf-8 for the Merge-Warning message to avoid a UnicodeEncodeError. [mikerhodes]

3.2.1 (2010-10-31)

  • Fixed making POT file for DOUBLE BYTE strings on default. [terapyon]

3.2 (2010-09-04)

  • Replaced internal odict implementation by the ordereddict package. (implementation backported from Python 2.7) [vincentfretin]

3.1.3 (2010-09-04)

  • Avoid UnicodeDecodeError when printing warning message in add(). [rnix]

3.1.2 (2010-02-14)

  • elementtree is only required for Python < 2.5. [vincentfretin]
  • Fixed tests (patch provided by John Trammell). [vincentfretin]

3.1.1 (2009-11-22)

  • Strip “src” only once in the pathname for the comments. Example: before it generated the following comment “#: archetypes.referencebrowserwidget/” which was not so useful. Now it generates “archetypes.referencebrowserwidget/src/archetypes/referencebrowserwidget/…” [vincentfretin]

3.1 (2009-10-31)

  • Support for explicit msgids in GSReader. [vincentfretin]
  • Better handling of msgid references. Keep all the references in PTReader and PYReader. In POWriter, normalize and sort the references, write only MAX_OCCUR (default is 3) references. You can set MAX_OCCUR=None if you want all references to be written to the generated POT file. Only the first reference is written in case of several references to the same file but with different line number. [vincentfretin]
  • Depend now on zope.tal 3.5.2 to print a warning when msgid already exists in catalog with a different default message. Simplified PTReader code. Check for msgid with different default in GSReader, PYReader and in the merged catalog (ptctl, pyctl, gsctl). [vincentfretin]
  • Fix behaviour when dealing with broken xml files to be parsed. [afd]

3.0 (2008-11-13)

  • No changes. [hannosch]

3.0c1 (2008-10-04)

  • Fixed major bug introduced in the kupu changes. We didn’t include cpt pages anymore. [hannosch]
  • Updated the table output with some styling tips from limi. [hannosch]
  • Added a new -t option to the list command. This will output a simple HTML page with some colored progress bars instead of the simple text listing. [hannosch, limi]
  • Ripped out the long unmaintained chart and combinedchart commands. Added a new list command instead, which shows the translation status in a simple listing. [hannosch]

3.0b4 (2008-04-26)

  • Updated documentation. [hannosch]
  • Fixed parsing of projects without any i18n in page templates. It is sufficient to have i18n in Python files or in GS profiles. [naro]
  • Added special handling of some more entities to please kupu. [hannosch]
  • Applied kupu-i18nextract-sa-diff.patch from kupu to be able to rebuild the kupu pot files from xsl and html files. [hannosch]
  • Normalize path separators in references to / on all platforms. [hannosch]
  • Reverted undocumented c58402, which broke in presence of Unicode strings. [hannosch]
  • Strip the computer specific base folder from generated references. [hannosch]
  • On most errors, show the error and a very short help message, instead of the complete doc string of the file. [maurits]

3.0b3 (2007-09-01)

  • Stripped some more trailing whitespace. Fixed recursive algorithm for i18n domain extraction. [hannosch]
  • Fixed some bugs in the GenericSetup extraction handler. Messages defined on the root node will now be extracted as well. The message texts are stripped from beginning and trailing whitespace. [hannosch]

3.0b2 (2007-06-05)

  • No longer replace &hellip; and &mdash; with simple ASCII equivalents, but use proper Unicode characters, properly representing these HTML entities. [hannosch]
  • Fixed some minor bugs found while rebuilding the Plone pot files. [hannosch]
  • Added basic Unicode support to the MessageCatalog class. [hannosch]
  • Fixed comment handling in the merge command. [hannosch]
  • Made gdchart dependency for the combinedchart command optional. Instead you only get a textual listing right now. [hannosch]
  • Quote new lines in the default comment properly. [hannosch]
  • Added support for extracting i18n:attributes from GenericSetup profiles. [hannosch]
  • Added a new basic GenericSetup profile extractor, which automatically extracts messages marked with i18n:translate. [hannosch]
  • Added back support for specifying multiple folders to be searched in the rebuilt-pot command. [hannosch]
  • Added new –exclude argument to the rebuilt-pot command, which lets you specify a whitespace delimited list of files that should not be included in the message extraction. [hannosch]
  • Added automatic replace from ‘&#8230;’ to ‘…’. [hannosch]

3.0b1 (2007-03-01)

  • Fixed bug in mixing different catalogs into one. It wouldn’t respect the default value of messages extracted from Python code. Also don’t extract messages from translate and utranslate functions anymore, because they have a different call signature. [hannosch]
  • Whitespace fix for filename filter. [sunew]
  • Improved the regular expression used in find_untranslated, so that it also matches tags beginning with capital letters. [kclarks]
  • Removed custom TAL parser. Use the one from zope.tal.talgettext instead. [hannosch]
  • Integrate and from Got rid of our own version of TokenEater and the whole file. [hannosch]

2.1.1 (2006-10-28)

  • Use entry_points console_scripts from setuptools to install the main script. This should generate an executable file on Windows platforms. [hannosch]
  • Removed some unused test files. [hannosch]
  • Corrected the package information in the Figured out how to use find_packages() with the correct arguments. [hannosch]

2.1 (2006-09-22)

  • Refactored the package source code layout to comply to the usual best practices. [hannosch]
  • Added framework classifiers to the package metadata. [hannosch]
  • Some small refinements to i18ndude is now registered in the Cheese Shop and you can get the current development version just by typing ‘easy_install i18ndude’ :) [hannosch]
  • Egg enabled i18ndude. The next release will be available as an egg. If you are in a development environment you might want to reinstall i18ndude by using ‘python develop’ instead of ‘python install’ now, so you don’t have to do this whenever something changes in SVN :) [hannosch]
  • Sorted textual output of the combinedchart option by language code. [hannosch]
  • Clarified the ‘already exists with different text’ message by providing the location of the original text as well. [hannosch]
  • Removed the ‘Assuming rendered msgid’ warning messages. These only clutter the logs but don’t provide any real value. [hannosch]
  • Fixed tests, so they can be run with the normal Zope testrunner. [hannosch]
  • Disabled external namespace validation for find-untranslated so you can run it without network access and results in a major speed increase. Thx to Chuck Bearden for the patch. This closes [hannosch, encolpe]
  • Remove the ‘addPortalMessage’ again from the list of python functions whose argument should be translated. We do these with proper MessageID’s now. [hannosch]
  • Exclude folders named ‘tests’ from subfolder scanning. Page templates and Python code from tests shouldn’t be scanned for i18n tags. [hannosch]
  • Fix the broken admix option. [hannosch]
  • Update the usage info to reflect the removal of the silent option. [hannosch, frisi]
  • Fixed yet another issue regarding whitespace and provided test for it. [hannosch, Tuttle]
  • Change output of references’s containing ‘//’ to conform to the poEdit format. [hannosch]
  • Change output of msgstr’s containing newline codes (n) to conform to the gettext standard and specifically the poEdit format. [hannosch]
  • Don’t add fuzzy status to empty messages anymore. [hannosch]

2.0 (2005-10-09)

  • Removed two unsupported scripts, if you have used them please tell me [hannosch]
  • Refactored sync option into function of and wrote test for it. Fixing a bug along the way and did some code cleanup. [hannosch]
  • Added option to specify title of chart explicitly [hannosch]
  • Added combinedchart option, which is used to build the overview charts on for a comprehensive view on the status of translations. [hannosch]
  • Removed the extract literals feature. If anybody needs it, please speak up. [hannosch]
  • Updated to handle new internal catalog format. Provided basic test for it. [hannosch]
  • Added new feature to PTReader. For msgid’s which are already in the catalog, check if the msgstr matches or provide an error message. [hannosch]
  • Fixed another issue regarding missing whitespace and provided test for it [hannosch, Tuttle]
  • POWriter generates new default comments instead of the old original comments. POParser automatically converts existing original comments (# Original: “”) or Zope3-style default comments (# Default: “”) at the reading step to new default comments (#. Default: “”).
  • PTReader now doesn’t extracts any excerpts anymore. [hannosch]
  • Removed the silent option on rebuilt, merge and sync completly. The addition of the added- and removed-sections lead to an incorrect format. Use a normal diff tool if you are really interessted in this information. [hannosch]
  • PYReader now extracts the line numbers of messages and writes these at the end of the reference seperated with a ‘:’ [hannosch]
  • The catalog’s add method doesn’t adds duplicate references or automatic comments anymore. Test were updated to reflect new behaviour. [hannosch]
  • Fixed handling of normal comments in PT- and PYReader. [hannosch]
  • Always add a blank line as the last line on po’s, as poEdit does it [hannosch]
  • Adjusted Python parsing tests to cover the current behaviour. Added XXX comments where it is wrong [hannosch]
  • Fixed an issue with an unnecessary whitespace and provided test for it [hannosch, Tuttle]
  • Based all of on the new MessageEntry class. Rewrote POWriter to use new gettext standard conform output. [hannosch]

1.0 (2005-09-02)

  • This is the last release with old-stlye output formatting and command line options. The next release will be incompatible in many ways, so update with care. [hannosch]
  • Cleaned up docs and removed some stale files [hannosch]
  • fixed handling of new i18n:attributes with trailing semicolon as introduced by myself ;) thx to xaNz for pointing me to it [hannosch]
  • Added a new MessageEntry class to base the MessageCatalog on, added new default_comment constant, reformated the Changelog as HISTORY.txt [hannosch]
  • Fixed path handling in tests and wrote tests for PYParser [deo]
  • Adjusted tests to pass on new behaviour of ‘unneeded literal msgids’ now getting added and warning shown [hannosch]
  • Instead of only showing a warning about ‘unneeded literal msgids’ these get added now [tuttle]
  • move the from PloneTranslations here, Removed ## X more comments [hannosch]
  • Preserve special ## comments, added tests for special comments, started PageTemplate parsing tests [hannosch]
  • added test for po file writing and allowed filenames without excerpt (lines starting with #: without corresponding #. lines) [hannosch]
  • added test infrastructure and tests for po file parsing [hannosch]
  • Fix an issue in merge option when trying to merge two files [hannosch]

0.6 (2005-07-04)

  • tagged and released 0.6 [batlogg]
  • pystring: add ‘addPortalMessage’ to the list of python functions whose argument should be translated. This allows to catch the new-style portal- messages in Plone 2.1 to be automagically extracted [hannosch]

0.5 (2005-06-14)

  • tagged and released 0.5 [batlogg]
  • as html-entities in msgstr’s are bad, don’t provide them in the original comments. this has confused translators. [hannosch]
  • Added a new handler available through a command line switch, generally ignore text in script and style tags [hannosch]
  • Fixed whitespace error in generation of #, fuzzy comments [hannosch]
  • i18ndude now takes a second pot to merge in the merge and rebuild-pot commands, this is useful if you have both a manual.pot and a generated.pot [hannosch]
  • (MessageCatalog) added a new method addToSameFileName() which adds in a msgid but adds the excerpt to an existing filename occurrence This is used in of PloneTranslations to add in actions like “Edit” as msgids and adds all types these are definied to the same occurrence rather than generating a new one for each type [hannosch]
  • (POWriter.write) takes a new argument noMoreComments that supresses the “## xx More…” comments [hannosch]
  • Also fill in the Original comments when parsing i18n:attributes This allows for efficient handling of named i18n:attributes [hannosch]
  • Refactored the English Translation stuff and renamed it to Original [hannosch]
  • When syncing po-files the old and new original comments are compared and the msgid is set to fuzzy if these aren’t the same, meaning the msgid has changed and needs some verification [hannosch]
  • Added optional allcomments argument and get_original() method These are used in the latest PloneTranslations tests to compare the original value of a msgid with the msgstr [hannosch]
  • Set chart width to 1000px. Plone has too many translations ;) [hannosch]
  • Included a new option to scan python scripts for messages. Currently it looks for the _(), translate() and uranslate() functions. It is based on from Python and some ideas taken from Zope’s [hannosch]
  • (POWriter._print_entry): Added a second # to “English translation” lines so that those lines don’t get written out twice. Which happens because we try to preserve comments. [dn]

0.4 (2005-05-08)

Project details

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date (71.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page