On Wed, 20 Oct 2010 09:47:37 +0200 Tom Hacohen <tom.haco...@partner.samsung.com> said:
ok. the below just covers per app prefs. but as such a native arabic speaker or hebrew speaker for whom english and other LTR langs are highly foreign/unknown, wouldn't they want everything RTL? sure - we can be exceptions- nitpickers who speak several languages and want some mixed up locale setup. sure. but in a proper RTL setting wouldn't one expect everything to be RTL? (except when displaying LTR text - eg in an email or document etc.). we can always set LC_* per app being run (e17 actually can't/doesn't at the moment - but it's something i'd like to have some day - right click on an app icon and select "run this in lang X instead of the default" - but thats a separate matter to RTL/LTR support in edje, evas and elementary). > Almost forgot, wanted to emphasize why it's important to have the > direction in the translation file: Not only that only parts of a > specific application can be different, but having complete applications > different is very common. For example, many people would hate running > e17 itself in rtl mode (including myself), but would like running the > image editing applications in rtl mode. He also would like running the > word processor in rtl mode, but because there's no Hebrew translation > available, or the current one is very poor (hence you won't get the > special translated string translated, either by lack of translation or a > decision by the translator that the interface is not translated enough > to mirror) it should not mirror, because an rtl interface in English is > just weird. :) > > I hope this clarifies the use cases a bit more. > > -- > Tom. > > On Wed, 2010-10-20 at 09:41 +0200, Tom Hacohen wrote: > > On Wed, 2010-10-20 at 10:12 +0900, Carsten Haitzler wrote: > > > > I also considered this, but Tasn enlightened me that this is context > > > > specific and just parts of the interface should be like that. Thus no > > > > canvas/global event. > > > > > > eh? hrrrmfmw he? hummm fmmm? eh? do enlighten me... (i am assuming for > > > now that ui mirroring doesn't just dumbly go change x coords of all edje > > > parts to be "w > > > - x" as opposed to "x"). ie that parts have left and right modes and the > > > designer has to handle it properly etc. (so some parts go left, some go > > > right and so on). > > > > Let me explain, generally it is a per application decision (actually > > taken from the translation file, by translating a special string), but, > > even so, parts of the interface can be manually set to rtl/ltr (hence > > the need for per object control). The most basic example is images. Some > > of the images need to mirror, for example image used for elm_menu's > > arrow (remember, it will be moved automatically to the left, and a right > > facing arrow there will look weird), while others should not mirror, for > > example the image in an elm_icon object. Therefore, I came up with the > > following scheme: Each object has two flags, one that signifies the > > current state (whether it's CURRENTLY rtl/ltr), and one that signifies > > the behavior (AUTO/MANUAL) in MANUAL mode, the object's direction is > > exactly what set by the programmer/designer, either by a direct call to > > evas, or just by marking the flag in the edc. This will be use > > automatically for images, ui-designers will have to explicitly set (in > > the edje/code) that a specific image (like the one in elm_menu) is not > > really a normal image, but it's use used for indication and should be > > mirrored*. So generally you'll have a full interface in one direction, > > and some objects in another direction. > > > > So yeah, mostly what you said raster, you just flip (inside each evas > > object, for example inside an edje layout) the UI i.e x1 becomes w - x2 > > x2 = w - x1 (because you want to also keep x1 to be the upper left > > corner) and in some cases like described above you also mirror images, > > and yes, the designer can control whether one item should mirror or not, > > but he does not need to write the layout twice, everything just works, > > like magic :P (and since the feature is already implemented here, and > > just the toggling is not yet implemented, I can testify from experience, > > it's awesome.) > > > > > > * - in the future I intend on supporting replacement layouts and > > replacement images in edje just if someone wants to more fine-tune the > > change, although, looking at how GTK+ are doing UI-mirroring, it's not > > really needed. > > > > > > Regarding: > > "imho all you need is the same as scale. you want a single global RTL or > > LTR (default is LTR) and then per object an api call to set this > > explicitly. the rest would be the job of something like elementary to > > just set it on everything (like it does with scale etc.)." > > > > What if I want to change an object and all of it's children? The idea > > was: each children with AUTO mode registers to his father's rtl changes > > so this way when you change this property, it goes down the chain, you > > don't think that's a good idea? > > > > Thanks again, > > Tom. > > > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel