I'm pursuing the js solution since it buys a performance boost in the
short term. It uses l10n-values and l10n-content which are almost
identical to jsvalues and jscontent except that it does not allow
arbitrary expressions.

I expect to send out a finished CL today.

2009/7/9 Rafael Weinstein <[email protected]>:
> [now, from property email address]
> +1 on creating a i18n mechanism that is distinct from JSTemplate.
> -1 on using the same syntax (or at least the same directives) as JSTemplate.
>
> First, I personally like JSTemplate and think it is well suited for doing
> dynamic HTML composition (rather than building HTML fragments programaticaly
> with the DOM api). It is used for composing the chrome://extensions/ page
> and I support wider usage.
> JSTemplate has a particularly nice property that a template is itself a
> valid HTML fragment which means your template can remain valid HTML which
> makes editing, maintaining and previewing it easy for both engineers and
> designers. Most templates in other systems quickly end of a mess of <%% %%>,
> {} or <! @@ @@ !>. Additionally, because a template is valid html, it is
> easy to prototype a template without having to evaluate it against "live"
> data and have the template exist with reasonable "sample" data. [I realize
> this is probably somewhat vague -- anyone who wants a more
> detailed explanation, feel free to ping me].
> However, because some of our existing pages use JSTemplate both for
> injecting strings and for doing dynamic composition, the jst directives can
> colide. Consider the following:
> <div jsselect="items">
>    <span jscontent="i18n_download">Download: </span> <span
> jscontent="url"> http://www.some.com/...</span>
> </div>
> In the above the "i18n_download" span is intended to be a localized string,
> and the "url" is a part of dynamic composition of the based on run-time
> state.
> The problem with this is that it contains a i18n string replacement *and* a
> page composition value within a select directive. The jst replacements that
> take place during i18n injection and dynamic composition are going to
> collide. The above code will most likely result in the "Download" text being
> replaced by either "" or null.
> It sounds like a C++ solution is being considered, but here are a few humble
> suggestions for whatever gets implemented:
> -Avoid having the HTML produced after the i18n string injection have any
> artifacts of the i18n template directives.
> -Attempt to retain JSTemplate's property of a template being a valid HTML
> fragment
> I'm unfamiliar with the hardships of localization mechanisms, but an obvious
> suggestion is just to add another "virtual" JST directive called ("i18n" for
> example), that behaves exactly like jscontent, but additionally removes the
> element attribute after it's evaluation. So the above example would be
> <div jsselect="items">
>    <span i18n="download">Download: </span> <span
> jscontent="url"> http://www.some.com/...</span>
> </div>
> after injecting Spanish strings, it would be
> <div jsselect="items">
>    <span>Descarga: </span> <span
> jscontent="url"> http://www.some.com/...</span>
> </div>
> 2009/7/8 Erik Arvidsson <[email protected]>
>>
>> I uploaded a CL of what I initially had in mind.
>>
>> http://codereview.chromium.org/155245
>>
>> I realized now that JST is used for non l10n templating so the name
>> needs to change. Still, I think this is such a small change with such
>> a big win that I want to continue down this path until we have some
>> solution for doing the templating on the front end.
>>
>> 2009/7/8 Jungshik Shin (신정식, 申政湜) <[email protected]>:
>> >
>> >
>> > 2009/7/8 Erik Arvidsson <[email protected]>
>> >>
>> >> It seems like we want to do the string replacing in the front-end.
>> >> Does anyone have any experience with C++ l10n/template libraries that
>> >> we might want to use?
>> >
>> > I don't have, but I just came across a few:
>> > http://www.clearsilver.net/   (Apache license, C library, i18n support
>> > is
>> > explicitly mentioned)
>> >  http://teng.sourceforge.net/  (C++ library, LGPL)
>> > http://www.lazarusid.com/libtemplate.shtml   (claimed to be much simpler
>> > than the two above. license unclear)
>> > I'll also ask around.
>> > Jungshik
>> >>
>> >>
>> >> On Wed, Jul 8, 2009 at 12:00, Aaron Boodman<[email protected]> wrote:
>> >> > On Wed, Jul 8, 2009 at 12:00 PM, Aaron Boodman<[email protected]>
>> >> > wrote:
>> >> >> Agree with Erik that it seems like we should share this code between
>> >> >> DOMUI and the extensions system.
>> >> >
>> >> > (Erik Kay)
>> >> >
>> >>
>> >> --
>> >> erik
>> >>
>> >> >>
>> >
>> >
>>
>>
>>
>> --
>> erik
>>
>>
>
>
> >
>



-- 
erik

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to