On Nov 26, 2008, at 8:07 PM, Sergiu Dumitriu wrote:
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.
+1 to the above without the product name except for platform.
I don't think that the component/application name
should be removed,
even though the localization is included in an application's space and
resources are used in one type of document, because we could get
conflicts when using several applications together (for example
management.title could be used both in the blog and calendar
applications).
Agreed. +1 to keep it.
Thanks
-Vincent