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

Reply via email to