thank you so much jamesr. Maybe itS enough for me today:) bec. of not using this like mod., I have given my hours to it. I hope i will shorten such hours over time:) Thanks all of you.
Cem 2010/2/16 jamesr <[email protected]> > minor mod of this line: > > <button datapath="languages:/language/string" > text="$path{'@name=\'submit\'/@name'}"/> > > to this: > <button datapath="languages:/language/stri...@name='submit']" > text="$path{'@name'}"/> > cem sonmez wrote: > >> actually, here my goal is to seek to any node of dataset. >> Thinks about this please :S >> >> <canvas debug="true"> >> <dataset name="languages"> >> <language> >> <string id="1" name="submit"> >> <value>submit</value> >> </string> >> <string id="2" name="login"> >> <value>login</value> >> </string> >> </language> >> </dataset> >> <simplelayout /> >> <button datapath="languages:/language/string" >> text="$path{'@name=\'submit\'/@name'}"/> >> </canvas> >> >> when i use like that, button text is null(actually buttons). how can i get >> it work in this way ? Thanks >> Cem >> >> 2010/2/16 jamesr <[email protected] <mailto:[email protected]>> >> >> >> There seems to be an issue using path outside of a datapath >> context being established. try this (tested on SWF8 locally) and >> note that i changed the format of the xml to make the access more >> readable. >> >> <canvas debug="true"> >> <dataset name="strings"> >> <submit>submittosio</submit> >> <reset>resettosio</reset> >> </dataset> >> <button datapath="strings:/submit" text="$path{'text()'}"/> >> </canvas> >> >> >> P T Withington wrote: >> >>> The value of the expression in the $path{} statement needs to be a >>> string, so I think you would need to say: >>> >>> <button text="$path{'localized:/stri...@name=\'submit\']/@value'}" >>> >>> but I have not tested this. >>> >>> On 2010-02-15, at 18:38, cem sonmez wrote: >>> >>> >>> >>>> jamesr, I have used your same notation, but i m getting error >>>> *Syntax error: the token ":" was not expected at this position.* >>>> I have made lots of changes at the $path expression. Still nothing >>>> happens >>>> Another error that i m getting >>>> *Lexical error. The source location is for the element that contains >>>> the >>>> erroneous script. The error may come from an unterminated comment.* >>>> Do you have an idea why this happens? Did you used this code snippet >>>> before >>>> you post it? >>>> And also does anyone have an idea about this issue? >>>> >>>> Regards >>>> Cem >>>> >>>> 2010/2/15 cem sonmez <[email protected]> <mailto: >>>> [email protected]> >>>> >>>> >>>> >>>>> 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]> <mailto: >>>>>> [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]> >>>>>>>> <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]> >>>>>>>>>>> <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 >>>>> >>>>> >>>> -- >>>> Cem SONMEZ >>>> >>>> >>> >>> >> >> >> >> >> -- >> Cem SONMEZ >> > > -- Cem SONMEZ
