On 11/19/10 2:40 AM, Eric Lemoine wrote:
> On Thursday, November 18, 2010, Cédric MOULLET<[email protected]>
> wrote:
>> Thanks Tim for this proposal.
>> I like the way it's done.
>> I have two minor questions:
>> - Will it be possible to change the language without to have to reload the
>> page ?
>> - The GeoExt translation framework will have to coexist with the OpenLayers
>> or ExtJS translation framework. Do you see any issue with that ?
>
>
> Hi Cédric
>
> Fredj and I have taken a look at Tim's patch. And it seems to us that
> Tim's patch isn't that different from Fredj's. Both change the strings
> in the prototypes, and both allow custom internationalization, at
> instantiation time or at type creation time, and possibly with
> OpenLayers.i18n. Here are examples of custom internationalization that
> still work:
>
> new GeoExt.tree.BaseLayerContainer({
> text: OpenLayers.i18n("toto")
> });
>
> MyClass = Ext.extend(GeoExt.tree.BaseLayerContainer, {
> text: OpenLayers.i18n("titi")
> });
>
> And yes, Tim's patch is a step towards being able to change the
> language without reloading the page. But we'd still need our GeoExt
> components, and/or the application code to listen to "localize" and
> rerender the UI with new strings. But with Ext not supporting this
> doing it at the application level will be required. I've personally
> never been convinced by "change the language without reloading the
> page", mostly because of the extra complexity it requires on the
> client code.
>
Thanks for the answers Eric - right in line with my thinking.
With the "framework" patch, as Eric mentioned, we at least have the
option of changing the language at runtime. While this would allow the
switch-after-rendering case, this would have to be handled at the
application level as Eric mentions (listening for "localize" and either
re-rendering specific elements or destroying and re-initializing entire
components). I think the more common case that this also supports is to
allow the user to choose the language before components are initialized
(using one build of your app to support multiple languages) - the Ext JS
language files aren't particularly well suited for this.
In addition to playing well with OpenLayers/Ext JS localization
solutions, the GeoExt.Lang singleton could also be used to localize
non-GeoExt components.
E.g.
GeoExt.Lang.add("fr", {
"My.App.Widget.prototype": {
prop: "valeur"
}
});
Tim
> Cheers,
>
>
>
--
Tim Schaub
OpenGeo - http://opengeo.org
Expert service straight from the developers.
_______________________________________________
Dev mailing list
[email protected]
http://www.geoext.org/cgi-bin/mailman/listinfo/dev