Yes i have seen $path before, but i have never used it for any constraint.
$path usage has been explained well at [1].
I will take a look at it again and try this form.
Thanks a lot
Cem

[1] -
http://www.openlaszlo.org/lps4.7/docs/developers/databinding.html#d0e96468

2010/2/15 jamesr <[email protected]>
>
> Sure! as PT mentioned, there may be overhead for using the $path method
>> i'll direct you toward, for very large applications. There are a few
>> manager/registry based ways around this overhead, no problem, but the
>> conversation is out of scope to your direct question to get into -- in this
>> email.
>>
>> Have you ever used the $path{} form of constraints? they take a
>> dataset:datapath pair and bind to a specific location in a dataset, which
>> will update when the dataset changes. From your code snippets i'm guessing
>> you haven't seen them.
>>
>> if you have a dataset thus,
>>
>> <dataset name="localized">
>>   <string name="submit" value="(submit in another language)"/>
>>   <string name="resest" value="(reset in another language)"/>
>> </dataset>
>>
>> then you can set up a path constraint by saying,
>>
>> <button text="$path{localized:/stri...@name='submit']/@value}"
>>
>> and this will *find* the string node with name "submit" (be sure to have
>> unique names or you'll get mulitple nodes back and the expression will be
>> invalid) and use its value attribute as the text for the button.
>>
>> more info is in the laszlo docs... i don't have a link to it handy, sorry
>>
>> -j
>>
>>
>>
>> cem sonmez wrote:
>>
>>> Thanks all for your replies.
>>> But i just can say that i am inexperienced about css. So all along i have
>>> thought to use dataset. The problem is to change the texts dynamically when
>>> i set the datapath's src attribute during runtime.
>>> But as you said ptw, itS more about skinning, css is more convenient to
>>> use. I will look at it as well.
>>> For the dataset usage. It may looks like :
>>>
>>> <dataset name="dset" src="words.xml" />
>>>    <datapointer id="dpointer" xpath="dset:/language">
>>>        <method name="getMessage" args="textId">
>>>            this.setAttribute('xpath', 'dset:/language');
>>>            this.selectChild();
>>>            do {
>>>                if (this.xpathQuery('@id') == textId) {
>>>                    var message = this.xpathQuery('value/text()');
>>>                    if ($debug)
>>>                        Debug.write("datapointer : " + message);
>>>                    return message;
>>>                }
>>>            } while (this.selectNext());
>>>        </method>
>>>    </datapointer>
>>>
>>> and i also can use it
>>> <button name="button1" text="${dpointer.getMessage(1)}" />
>>>
>>> I havenT just tried, but the problem is going to occur when i want to
>>> change the dataset src at runtime. jamesr, the way that u mentioned likes
>>> mine. Can you instruct a bit more please.
>>>
>>> thanks all again .
>>> Kind regards
>>> Cem
>>>
>>> 2010/2/15 P T Withington <[email protected] <mailto:[email protected]>>
>>>
>>>
>>>    Using a dataset is an equally valid approach, but I think it was
>>>    tried and found to require too much overhead.  Of course, if CSS
>>>    is made dynamic, perhaps it will have equivalent overhead.
>>>
>>>    Perhaps the reason some people think of CSS first is because it
>>>    seems i18n is like "skinning" or styling your app.
>>>
>>>    On 2010-02-15, at 12:09, jamesr wrote:
>>>
>>>    > Would it not be more expedient to write a class, called perhaps
>>>    localtext, that takes a single field to index inside of a dataset
>>>    wherein a given real-world language sentence is kept, so that by
>>>    changing datasets you change all displayed localized text?
>>>    >
>>>    > Why use CSS?
>>>    >
>>>    > P T Withington wrote:
>>>    >> There are two improvements targeted for 5.0 that will help this
>>>    situation:
>>>    >>
>>>    >> LPP-8556 Add default CSS style properties to <view>
>>>    >> LPP-7359 Make CSS attribute selectors dynamic
>>>    >>
>>>    >> There should also be one to make it so you can load a
>>>    stylesheet at runtime, but I can't seem to find that.  Maybe Max
>>>    and I only talked about it...
>>>    >>
>>>    >> With all three of those, it should be possible to have a single
>>>    app that will be localized when it is loaded.  For now, you are
>>>    correct, you need to compile your app for each language.
>>>    >>
>>>    >> ---
>>>    >>
>>>    >> With LPP-7184 Binary libraries don't work in swf9 resolved (and
>>>    integrated to 4.7), we believe that LZO's are now fully supported
>>>    in swf9 for 4.7.1 (soon to be released) and 5.0.x (in
>>>    development).  We'd welcome testing by anyone who needs this
>>>    feature.  Grab the latest 4.7.1 here:
>>>    >>
>>>    >> http://download.openlaszlo.org/nightly/4.7/
>>>    >>
>>>    >>
>>>    >>
>>>    >> On 2010-02-15, at 11:39, Raju Bitter wrote:
>>>    >>
>>>    >>
>>>    >>> All the internationalization based on CSS for Webtop (at least
>>>    with
>>>    >>> the version I've used) requires you to recompile the app for a
>>>    >>> different language. That's not too much of a problem, just
>>>    generate
>>>    >>> different versions of the app for different languages.
>>>    >>>
>>>    >>> It would be good to have dynamic CSS support at runtime, but a
>>>    >>> workaround could be to put all the strings into an LZO, with
>>>    different
>>>    >>> LZOs for different languages. That should work, shouldn't it? Of
>>>    >>> course you are limited to SWF8 and DHTML then, since there's
>>>    still no
>>>    >>> support for LZOs with AS3 based runtimes, as far as I know.
>>>    >>>
>>>    >>> 2010/2/15 P T Withington <[email protected] <mailto:[email protected]>>:
>>>
>>>    >>>
>>>    >>>> I believe some use CSS styles to achieve
>>>    internationalization, although currently LZX does not support
>>>    dynamically changing styles, so I'm not sure exactly how this is
>>>    handled.  Currently, styles need to be pre-processed by the
>>>    compiler.  Ideally, you would have your application server looking
>>>    at the browser request language preference and serve up different
>>>    style sheets based on that.  It may be that people are using a
>>>    .jsp to do this kind of dispatching.
>>>    >>>>
>>>    >>>> In theory, you would write something like:
>>>    >>>>
>>>    >>>> <!-- supply style sheet based on browser language -->
>>>    >>>> <stylesheet>
>>>    >>>> i18ntext [label="hi"] { text: "hello" }
>>>    >>>> </stylesheet>
>>>    >>>>
>>>    >>>> <class name="i18ntext" extends="text">
>>>    >>>> <attribute name="label" type="string" />
>>>    >>>> <attribute name="text" style="text" />
>>>    >>>> </class>
>>>    >>>>
>>>    >>>> <i18ntext label="hi" />
>>>    >>>>
>>>    >>
>>>    >> [...]
>>>    >>
>>>    >
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Cem SONMEZ
>>>
>>
>>
>
>
> --
> Cem SONMEZ
>



-- 
Cem SONMEZ

Reply via email to