Re: I18N text domains for zopeproducts

"Fred L. Drake, Jr." <[email protected]>
Newsgroups gmane.comp.web.zope.internationalization
Message-ID <[email protected]>
Stephan Richter writes:
 > Note that this domain was added there, so it can reuse Zope 3's
 > translations, which is very sensible in my opinion.

Yes, I understand this goal, and agree that it's very reasonable.

 > No, not all. But the Bug Tracker (where this check in is coming from) will 
 > always depend heavily on zope.app. And that will never change.

It's not clear to me that depending heavily on zope.app should be a
reason to share the text domain with zope.app.  I can't think of a
Zope 3 product that doesn't depend on zope.app to provide
infrastructure, whether it access that by importing a lot from
zope.app or picking things up mostly from context.

 > Mmh, I disagree. This really encourages a lot of duplication in
 > translations. On the other hand, one could argue that there should
 > be tools that detect equal translations and fill them in
 > automatically before someone even starts to translate. Note that
 > this is the type of functionality our Web-based translation manager
 > should handle (if you do not know what I am talking about, ask
 > Barry).

There's certainly a lot of precedent for this, and there are at least
some tools and relevant specifications regarding translation memory.

Jim Fulton writes:
 > That's right except in those cases where a product is intentionally
 > reusing a message id from the zope domain, which is what's happening
 > here.  We might want to give some more thought about how this should
 > happen.  For example, it should be an error for an add on product to
 > use a message id that isn't defined by the domain.

Re-using a message id and using someone else's text domain "whole
hog", with new message ids and everything, are two different things.


I'll make an observation and a micro-proto-proposal here:

The set of message ids defined for a text domain is similar to the set
of functions, classes, and methods defined in a software package.
Some are internal, and some are for external consumption.  What
message ids are available for external use should be explicitly named
and documented; anything else is internal.  An "exposed" message id
should always be assign an explicit message id that's the public
interface.  3rd-party software that wants to use the message id must
name it with both domain and message id, but should not create new
message ids in the domain; a separate domain should be created for
private messages ids.

So I'd expect bugtracker templates to have markup like this:

<html i18n:domain="bugtracker">
   ...
   <span i18n:domain="zope" i18n:translate="public-id-from-zope">
     something
   </span>
</html>


  -Fred

-- 
Fred L. Drake, Jr.  <fred at zope.com>
PythonLabs at Zope Corporation
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.