[tw] Updating plugins in 2.6.2
It's been a while since I updated my tiddlywiki and I thought I would update my plugins as well. I can't seem to find the backstage option that used to show me which plugins have updates and which don't. Where has this gone? Has it become a plugin? -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: Error in macro <>
I see the very same error after upgrading from 2.6.1 to 2.6.2. I saved a copy of the file before upgrading, so I know that the error only shows up after the upgrade. The error appears under the right side tiddlers listing, under each of the tabs (Timeline, All, Tags, More). Also, when viewing "More" the error appears twice (a second copy of the error message occurs under the subtabs Missing/Orphaned/Shadowed). After experimenting, I learned that the problem occurs only when the following plugin is active: * http://tiddlywiki.bidix.info/#PasswordOptionPlugin Something strange is going on. That plugin has nothing to do with tabs, but somehow it must be incompatible with the latest software update. I wonder if it calls any function that was modified for version 2.6.2. If I had to guess, I would say the problem is related to the new SystemSettings / persistent options feature. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] tw and jquery mobile
Hi, do you thing it is feasible to use tiddlywiki together with jquery mobile? Saq's tw with jQtouch is quite old and jq mobile seems the way to go. Any experience? thanks -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: xFieldsPlugin
Some additions to the concept, as of today... * detailed definitions for field types * a specification for available parameters that can be specified for any xfield * a new and handy field type called "group" * specific examples for associating tiddlers with xfields Please keep on revising... http://xfieldsdev.tiddlyspace.com Cheers, Tobias. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: Documentation or Examples for Core Themes?
> But now I want to be able to write: > > include <> > !sect > The section text. > > To refer to a section in the same file (so it does not break when you > rename the tiddler). And of course the same for slices. http://www.TiddlyTools.com/#SectionLinksPlugin extends the core handling for section references in several ways, one of which is to allow an *implied* tiddler title, so the "##sectionnname" will automatically reference a section in the current tiddler. Note: you *can* write an equivalent section reference without the plugin, by using an 'evaluated parameter' to construct a fully- qualified "TiddlerName##sectionname", like this: <> Of course, this syntax is considerably more verbose and technical than the implied tiddler name syntax provided by the plugin. In addition, evaluated parameters are disabled by default when using TiddlySpace, so this method does not work for documents hosted there, unless you also set: config.evaluateMacroParameters="full"; in a tiddler tagged with 'systemConfig' Also note: SectionLinksPlugin only extends the handling for "##sectionname", but not for "::slicename". However, it should be very easy to add that to the existing code. I'll post a follow-up when an updated plugin is available. enjoy, -e -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: xFieldsPlugin
Thanks for the feedback, Vlak. I am aware of what JSON is, which is a serialization format for data, and as such a direct competitor to xml ...rather than a programming language. > Udo used this for html form templates. > You can easily build forms > and prototype tiddlers and use it as a simple db. Could you point to examples that make use of this in the sense of "a simple db"? Or do you refer to how FormTiddlerPlugin and DataTiddlerPlugin generally work? I wouldn't know if they do so on the basis of JSON... I just never have used them as I didn't like the idea of hidden "data" sections in a tiddler's body... as nowadays there are fields and slices and sections. However, I am very inclined to study both plugins as to their inner workings and the examples Udo provides along with them. > I meant data types as in programming languages. > In a wiki everything is parsed at view time. > Only at this moment data types are created from strings. In the context of xfields plugin, I am not sure if "data type" is the correct nomenclature as it is really more of a "field type"... giving directives as to how to edit or display a given set of field values. > Have a look at semantic mediawiki. > Basically you can attach a type to some text, > e.g. {Paris {capital-of-country France}}. > Once you have this you can reason with the data, > but you need (a lot) additional software." I see. I guess such semantic qualifiers, would probably go in addition to any of the available configuration parameters that will be available to extended fields as automated by xfields, see section "Available field parameters" at... http://bit.ly/e9uER3 Cheers, Tobias. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: xFieldsPlugin
Thanks for the feedbacl, Vlak. I am aware of what JSON is, which is a serialization format for data, and as such a direct competitor to xml ...rather than a programming language. > Udo used this for html form templates. > You can easily build forms > and prototype tiddlers and use it as a simple db. Could you point to examples that make use of this in the sense of "a simple db"? Or do you refer to how FormTiddlerPlugin and DataTiddlerPlugin generally work? I wouldn't know if they do so on the basis of JSON... I just never have used them as I didn't like the idea of hidden "data" sections in a tiddler's body... as nowadays there are fields and slices and sections. However, I am very inclined to study both plugins as to their inner workings and the examples Udo provides along with them. > I meant data types as in programming languages. > In a wiki everything is parsed at view time. > Only at this moment data types are created from strings. In the context of xfields plugin, I am not sure if "data type" is the correct nomenclature as it is really more of a "field type"... giving directives as to how to edit or display a given set of field values. > Have a look at semantic mediawiki. > Basically you can attach a type to some text, > e.g. {Paris {capital-of-country France}}. > Once you have this you can reason with the data, > but you need (a lot) additional software." I see. I guess such semantic qualifiers, would probably go in addition to any of the available configuration parameters that will be available to extended fields as automated by xfields, see section "Available field parameters" at... http://bit.ly/e9uER3 Cheers, Tobias. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: Documentation or Examples for Core Themes?
On Feb 17, 4:06 pm, Eric Shulman wrote: > > > Create a tiddler (e.g., MyTheme), containing this line: > > > |ViewTemplateReadOnly|ViewTemplateReadOnly| > > Also strikes me as a pity the Core system was not done with sections > > rather than slices. This way the entire theme could be packaged in a > > single tiddler making distribution and management a lot easier. > > The theme's slice table can refer to sections in the same tiddler: > Ah - of course. That's neat! But now I want to be able to write: include <> !sect The section text. To refer to a section in the same file (so it does not break when you rename the tiddler). And of course the same for slices. But thanks again, J. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: Documentation or Examples for Core Themes?
> > Create a tiddler (e.g., MyTheme), containing this line: > > |ViewTemplateReadOnly|ViewTemplateReadOnly| > Also strikes me as a pity the Core system was not done with sections > rather than slices. This way the entire theme could be packaged in a > single tiddler making distribution and management a lot easier. The theme's slice table can refer to sections in the same tiddler: [[MyTheme]]: -- |StyleSheet|MyTheme##StyleSheet| |ViewTemplate|MyTheme##ViewTemplate| |ViewTemplateReadOnly|MyTheme##ViewTemplateReadOnly| |EditTemplate|MyTheme##EditTemplate| |EditTemplateReadOnly|MyTheme##EditTemplateReadOnly| !StyleSheet ... CSS here ... !PageTemplate ... HTML here ... !ViewTemplate ... HTML here ... !ViewTemplateReadOnly ... HTML here ... !EditTemplate ... HTML here ... !EditTemplateReadOnly ... HTML here ... -- That's it. One tiddler. Of course, you still have to set config.options.txtTheme="MyTheme", but that is (and should remain) a separate configuration action (i.e., *using* a theme vs. *defining* a theme). enjoy, -e -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: including text in multiple tiddlers ?
Hi Tobias > What it boils down to is merely changing the string replace in the "g" > macro (g as for "glossary") ...which is not an utterly difficult job, > but I am unaware of all options of NestedSlidersPlugin and what needs > concatenation in which way and possibly what needs to be implemented > as another parameter (or document-wide config variable) in the code of > the g macro. > I think I just might try that: Sth like this might work?? (will test later...): "config.macros.g = { handler:function(place,macroName,params){ var dText = params[0].replace(/\'/,""); if (dText.substring(0,1) == "$") { var noHead = 1; dText = dText.substring(1); } var gText =@@position:relative;+++^SomeAutoWidthDefinitionIdon'tKnow^@*[xyz]..."<"+">===@@"; if (!noHead){gText = "^" + gText;} var gEntry="(("+dText+"("+gText; wikify(gEntry,place,null,null); return false; } } " > > However, I am pretty sure that you can assign any css class you want > to the element that triggers any sliders or popups to open. As for > now, I would want for Eric to skim through this and propose a solution > This css class question is probably the easiest part - because I could keep the css class seperate from the script, applying it to the macro output {{someClass{<>}}}... However it *would* be nice to have it all in one script :-) Thanks for answering my question! Cheers Måns Mårtensson -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
Re: GTD Tiddlywiki + Firefox 4 Betas
Try looking at the folder using an "ls -al" in the Terminal, there might be clues in invisible files. -- You received this message because you are subscribed to the Google Groups "GTD TiddlyWiki" group. To post to this group, send email to gtd-tiddlyw...@googlegroups.com. To unsubscribe from this group, send email to gtd-tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/gtd-tiddlywiki?hl=en.
[tw] Re: xFieldsPlugin
Hi Tobias, On Feb 16, 5:11 pm, Tobias Beer wrote: > 1) Do you know in what context or for what usecase Udo did add a JSON > data type? Did he use such data later on to generate js objects in an > editable fashion? In general, I'd think something special / > sophisticated like that really begs for being an addon to the plugin. Udo used this for html form templates. You can easily build forms and prototype tiddlers and use it as a simple db. > > Although working with indentation in TiddlyWiki's input-textarea is > not such a pleasure, I was wondering if it were good to have the > custom fields definition itself be based on a JSON format, rather than > simple text chunks split by some arbitrary, yet to be defined > separators. But then using an envaluated js object might be more > suitable as it has more lose requirements as for syntax requirements. JSON is a programming language format and allows you to specify e.g. string or number as type. For users it is interesting to specify e.g. in a tiddler about country the type capital city. > 2) "On the other hand I would think that adding data types is not > really wiki like." > > What do you mean with "not wiki like"? I would call "wiki like" > whatever can be used in the framework provided by a wiki. I mean, > TiddlyWiki in itself is not as "wiki like" as other wiki frameworks. > What I mean with that is that - due to it being a mostly single user, > javascript implementation - its focus to some extend is shifted > towards dynamic, scripted elements, as opposed to a focus on "mere" > content and content structure alone in an open or multiuser editing > process. However, TiddlySpace (or rather TiddlyWeb) is a big leap > forward in the direction of a multiuser "wiki" environment. I meant data types as in programming languages. In a wiki everything is parsed at view time. Only at this moment data types are created from strings. > > 3) "Maybe there is a concept of semantic types to use for it." > Please expand on this as I am not sure where you're headed. > Have a look at semantic mediawiki. Basically you can attach a type to some text, e.g. {Paris {capital-of-country France}}. Once you have this you can reason with the data, but you need (a lot) additional software. > Cheers, Tobias. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: simpler alias question - for applying styles
> > Until a future core release can fix this issue, a simple work around > is to just omit the hyphens from your custom CSS classnames (e.g., > instead of "some-name" use "somename" or "someName"). > Happy to use the simple work-around -- and yes, of course it works. (What a maddening thing to debug, I'm sure. I certainly wish I hadn't happened to choose a name with a hyphen.) All's working now, as it should! -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: Documentation or Examples for Core Themes?
On Feb 17, 12:22 pm, Eric Shulman wrote: > > Create a tiddler (e.g., MyTheme), containing this line: > |ViewTemplateReadOnly|ViewTemplateReadOnly| > Thanks again Eric, that is very useful. Strikes me it would be worth considering putting this into TaggedTemplateTweak so it works automatically when themes are not used. I.E. determine the tiddler name using all of the current methods, but then additionally, if in readOnly mode, check for name +"ReadOnly" before falling back on name. Probably do not want to do this for theme (slice) names though as it might duplicate the "ReadOnly" suffix. Also strikes me as a pity the Core system was not done with sections rather than slices. This way the entire theme could be packaged in a single tiddler making distribution and management a lot easier. If I ever get out of moderation on the dev group (I posted about the getTiddlerText bug we discussed, but my post has not appeared yet), I will suggest this option be supported in addition to the slice based "theme manifest" approach you kindly described. - John -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Name co-opting?
I was looking for a tiddler/ plugin to record sheet music in a tiddler and maybe play it back through midi stuff or whatever, when I stumbled upon this: http://www.kaboodle.com/reviews/tiddlywiki--a-reusable-non-linear-personal-web-notebook-7 from here: http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=tiddlywiki+music#hl=en&&sa=X&ei=HCBdTczEMcKB8gb93bCgCw&ved=0CF4QvwUoAQ&q=tiddlywiki+sheet+music&spell=1&bav=on.1,or.&fp=5e2b21bd614e0a97 Item number eight: TiddlyWiki - a reusable non-linear personal web notebook review at ... Kaboodle - TiddlyWiki - a reusable non-linear personal web notebook ... tommy hilfiger sandal , twinkle twinkle little star sheet music , barbie bride ... www.kaboodle.com/.../tiddlywiki--a-reusable-non-linear-personal-web-notebook-7 - Cached Looks like some bot is grabbing headlines or whatever they're called. Is there anyway to remove this? Not a huge deal, but does kind of lower the "signal-to-noise" ratio making it more difficult to get real information. Is there legal implication? Using "TiddlyWiki - a reusable non-linear personal web notebook" leading to a retail site, purporting (barely) to having a review? The link titled "TiddlyWiki - a reusable..." is to http://www.ziddlywiki.com/ and its dead. It is 0530 for me, so this might not make much sense or sound like a rant -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: including text in multiple tiddlers ?
Hi Måns, I don't think you're asking too much at all. However, I believe Eric can answer this question much faster and more comprehensively than I could. What it boils down to is merely changing the string replace in the "g" macro (g as for "glossary") ...which is not an utterly difficult job, but I am unaware of all options of NestedSlidersPlugin and what needs concatenation in which way and possibly what needs to be implemented as another parameter (or document-wide config variable) in the code of the g macro. However, I am pretty sure that you can assign any css class you want to the element that triggers any sliders or popups to open. As for now, I would want for Eric to skim through this and propose a solution as I - please excuse my ignorance - just haven't used NestedSlidersPlugin so far. Cheers, Tobias. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: Documentation or Examples for Core Themes?
> Can anyone point me to documentation and/or examples of how to create > a theme for the switchTheme mechanism built in to recent versions of > the TW core? > I'm actually at the moment just trying to have a different > ViewTemplate for readonly mode, automatically switched. From examining > the switchTheme code, this seems to be provided for by creating > ViewTemplateReadOnly, but I tried that and it was not automatically > switched. I surmise I actually have to create and apply a theme for > switchTheme to make this work, but I do not know how to do that. Create a tiddler (e.g., MyTheme), containing this line: |ViewTemplateReadOnly|ViewTemplateReadOnly| This defines a "ViewTemplateReadOnly" slice whose value is the name of the tiddler containing the read-only template definition. In this example, the tiddler title is the same as the slice name (i.e., ViewTemplateReadOnly), but that is not *required*: you could you any name you want for the alternative, read-only template definition. Note: in addition to the "ViewTemplateReadOnly" slice, there are other slice values you *could* define in the theme: "StyleSheet", "PageTemplate", "ViewTemplate", "EditTemplate", and "EditTemplateReadOnly". For your purposes, only the ViewTemplateReadOnly slice needs to be defined. The others will use the standard default values. To activate your theme, add the following to a tiddler, tagged with systemConfig: config.options.txtTheme="MyTheme"; after you save-and-reload, your theme should be in effect. enjoy, -e Eric Shulman TiddlyTools / ELS Design Studios -- Was this answer useful? If so, please help support TiddlyTools: TiddlyTools direct contributions: (paypal) http://www.TiddlyTools.com/#Donate UnaMesa tax-deductible contributions: http://about.unamesa.org/Participate (paypal) TiddlyWiki consulting: http://www.TiddlyTools.com/#ELSDesignStudios http://www.TiddlyTools.com/#Contact -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Documentation or Examples for Core Themes?
Hi! Can anyone point me to documentation and/or examples of how to create a theme for the switchTheme mechanism built in to recent versions of the TW core? I have done extensive googling but all the references and examples I can find simply overwrite the relevant shadow tiddlers. There are lots of hints on Eric's TiddlyTools mega-site, but it is not clear which bits are Core and which depend Eric's plugins and tweaks. I'm actually at the moment just trying to have a different ViewTemplate for readonly mode, automatically switched. From examining the switchTheme code, this seems to be provided for by creating ViewTemplateReadOnly, but I tried that and it was not automatically switched. I surmise I actually have to create and apply a theme for switchTheme to make this work, but I do not know how to do that. I do not actually want to have user switchable themes at this point, just the ability to have the ViewTemplate automatically switch with the readOnly mode, so Eric's SwitchThemePlugin seems like overkill if I can do this with Core. Another approach would be to extend Eric's TaggedTemplateTweak to look for the ReadOnly suffix in when in readonly mode, but I do not want to do this if the functionality is already in Core. - John -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: simpler alias question - for applying styles
> > braces (which should be rendered so that they're interpreted as a CSS > > style designation) are being interpreted to mean that there's an > > evaluated parameter, instead of just getting passed through as > > straight text. > > I suspect the same. I may be able to fix it. I'll post a follow-up > when/if I have an update... It turns out that the problem isn't related to either the definition or use of the aliases but is, in fact, a TW *core* bug! If you enter "{{some-name{text}}}" directly into a tiddler in an *empty* TW document and the same rendering error will still occur, even though there are *no plugins in the document*. Fortunately, after a bit more investigation, I have been able to isolate the problem: its due to the use of a hyphen ("-") in the CSS classname. According to CSS standards, the syntax for an identifier (such as a CSS classname) is permitted to contain letters, numbers, underscore, or hyphen characters. However, the TW core code that matches the {{classname{...}}} syntax uses a text pattern (i.e, "regular expression") that only matches classnames containing letters, numbers and underscores... but does *not* match hyphens. As a result, even though "some-name" is a valid CSS classname, "{{some-name{...}}}" is not recognized by TW as a valid CSS wrapper, and is improperly rendered as a result. For the technically minded... the error originates with this line in the TW core source: var lookaheadRegExp = /\{\{[\s]*([\w]+[\s\w]*)[\s]*\{(\n?)/mg; which might be changed to allow hyphens: var lookaheadRegExp = /\{\{[\s]*([\w-]+[\s\w-]*)[\s]*\{(\n?)/mg; Until a future core release can fix this issue, a simple work around is to just omit the hyphens from your custom CSS classnames (e.g., instead of "some-name" use "somename" or "someName"). -e -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.
[tw] Re: Some TiddlySpace Stats
On Feb 16, 10:55 pm, Måns wrote: > Thanks for explaining things in plain English - and taking your time to do > so. > It's very enlightening - and I think it's nice to get this kind of insight > in the inner workings of the current system, get some tips on how to do it > yourself and have a glipse of some of the possible directions where it can > go in the future. Thanks, my response got a bit off topic so I've put it in tiddlyspace instead of here: http://chris-dent.tiddlyspace.com/#BDFL -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.