Vincent Massol wrote:
Hi there,
On Nov 26, 2008, at 2:21 PM, Guillaume Lerouge wrote:
Hi,
On Wed, Nov 26, 2008 at 1:52 PM, Thomas Eveilleau <thomas(a)xwiki.com>
wrote:
> Hello,
>
> I'd like to work on translations of default XE pages (pages that
> are not
> internationalized yet) like Photos.WebHome, Main.Tags, Panels etc.
> In order to do things correctly I'd like to now the syntax I should
> use
> for the $msg.get values.
>
> What we have in a page like XWiki.XWikiUserSheet is :
> "platform.core.profile.firstname" for the firstname
>
> 1 ) Should I use the same syntax ("platform.core.tags.title" for
> the
> title of Main.Tags - if i keep my example) ?
>
> 2 ) Or should we use more scalable values (tomorrow we will have a
> core
> and applications on it : should we consider the Panels as an
> application
> and have something like "application.panel.panelname.element" ?).
>
> 3 ) Maybe that we also can use things like the fullname of a page
> in the
> value (to quickly identify it) and having something like :
> "appplication.panel.Panels.Search.title"
>
> I'm waiting for your advices on this (1 / 2 / 3 or another
> proposal).
>
>
Proposal 3) looks good to me since it would be quite helpful to know
on what
part of the interface a message is located when translating it to
other
languages.
I'll let Sergiu answer first since he's the one who has thought
the
most about this.
However 3) doesn't sound so good to me:
* text not very reusable for other locations
* subject to document name change so high risk of being dis-
synchronized
* For applications resource bundles should go in wiki pages and thus
the namespace is already done by the application space
The main resource bundles should only be for templates/skins.
Everything application-related should go in Document Resource Bundles
IMO:
http://platform.xwiki.org/xwiki/bin/view/DevGuide/InternationalizingApplica…
How about:
<product>.<module>[.<topic>[.<subtopics...>]].[element]
Where product is either platform or the name of the product (xe, xws,
xeclipse), module is either the name of the platform component (core,
rendering, macros) or the name of the application (blog, calendar,
administration), topic is an optional component or application
submodule, and element is the text being translated.
Examples:
platform.core.action.objectRemove.noClassnameSpecified
platform.macros.code.unknownSyntax
platform.macros.velocity.unhandledException
xe.administration.groups.addNewUser
xe.blog.management.createBlog
xe.blog.blogPost.editing.hide
Given that applications might not be bundled with a product, and that
most applications are not specific to one product, but can be used in
several, we could remove the product name.