Hi Catalin, On Jul 25, 2007, at 9:45 AM, Catalin Hritcu wrote:
Hi Vincent,
Sorry for responding so late to this. There is however something that scares me about your proposal.
The use case is this: changing the translation of one single existing string (suppose the previous translation was not good enough).
It seems to me it will be hard to find out where the translation of this particular string is defined. The most severe seem to be use cases 2 and 3, where the call to msg explicitly specifies a place, but well that is just taken as a hint.
- It'll search first in that doc's PropertiesClass and if not found in XWiki's registered document bundles and if not there in XWiki's static resource bundle files
Assuming there are 3 document bundles registered with XWiki, there will be 5 different places (and a fixed order between them) where the user needs to look for his string.
So what is the reason for applying the fallback mechanism when the user has explicitly mentioned where the string should come from?
I wasn't sure about that myself and I think I agree with you that if the user specified the location from where to take the translation then we shouldn't bubble up. Thanks -Vincent
On 7/16/07, Vincent Massol <[email protected]> wrote:
Hi,
Here's my proposal for internationalizing XWiki apps. The idea is to propose several solutions for XWiki apps writers:
* Use case 1: I have lots of text on my page - solution: use XWiki's mechanism for translating page by creating several editions of the page in the different languages
* Use case 2: I want translation resources for my application only and I'd like to share resources between pages - solution: use: $msg("mykey", "MySpace.MyTranslationDocForThisApplication") - MySpace.MyTranslationDocForThisApplication is a standard document to which a XWiki.PropertiesClass object is attached - It'll search first in that doc's PropertiesClass and if not found in XWiki's registered document bundles and if not there in XWiki's static resource bundle files
* Use case 3: I want translation resources only for a given page - solution: use: $msg("mykey", $doc) - You'll need to have attached a PropertieClass object to the page where $msg is used - It'll search first in that object and if not found in XWiki's registered document bundles and if not there in XWiki's static resource bundle files
* Use case 4: I want to have a global translation resources for all my apps in the wiki - solution: use: $msg("mykey") - You'll need to have created ad registered resource bundle documents in the Wiki preferences - It'll search first in XWiki's registered document bundles and if not there in XWiki's static resource bundle files
Implementation details:
* Add XWikiMessageTool.get(String, String) API * Add XWiki.PropertiesClass class in XE in the Administration Application + a class sheet for presenting the properties nicely
WDYT?
Thanks -Vincent