Thanks for "ZBabel". I've only just downloaded it and haven't played with it yet, but from just reading through, it looks like it will be a great approach! http://www.zope.org/Members/TheJester/ZBabel/ One thing I'm not clear on, which you might want to deal with in future releases, either by documenting what wasn't obvious to me, or by adding a separate layer, is how to deal with "Composite Strings". Often a "phrase" that will need translation is a concatenation of more than one text string with embedded dynamically generated parameters, such as a date, name, price etc. In different languages the actual ordering of the concatenated elements may differ and the structure of the destination language may even result in a different number of text strings to translate than for the source language. Often the original author of a dynamically generated web page will be tempted to use a repeated string for common parts of different UI strings, which cannot in fact be translated that way for other languages. Unless there is some provision for that in the management interface for translation, and the documentation, page authors are very likely to assume they have internationalized something when they haven't, because they may concatenate ZBabelized strings themselves. See for example: http://msdn.microsoft.com/library/default.asp?URL=/library/books/techlang/de vintl/D3/S24AA.HTM I would imagine that Zope is ideally suited to using some sort of class for each composite, with properties for the phrase identifier and the constituent dynamically generated parameters, and leaving it to the specific translation to determine the number and positioning of the elements required. Is that already taken into account somehow by allowing the embedding of DTML within the text phrase to be translated? Also worth thinking about for a future release, is the integration of this with layout considerations. Other languages often require 50% more space than english when translated and this results in layout problems after translation. Reasonably precise formulae are available for what to expect, depending on the length of the string and the source and destination languages. I would imagine that Zope would also be ideal for automatically generating the maximum of this for the acquired set of expected future translations and returning it as a parameter that could be used with dynamic layout. Finally, is there some way that the "magic" behind Zwicki structured text formatting could be used, to allow an author to just write the phrase in their own language and automatically generate related DTML tags for parameters etc? (Rather vague idea I know, but somehow make it easier for people just writing content, like Zwiki contributors, to know nothing about DTML at all, yet still make it easier for scripters to integrate their translatable content with DTML as well as integrating with HTML layout).