Archive: RTL & Farsi language files


Hi

Sorry - My english is not good.

Now NSIS can support rtl language but there is some problem with this languages.

1.All label (statics) in installer must have WS_EX_RTLREADING flag .(all control can have this flag but it not need at all only labels MUST have this flag.)
so Install Option Plugin and make Nsis must changed (Im not a c programmer but I change two line of them.one in CDialogTemplate::ConvertToRTL (In Makensis) and other in createCfgDlg (In Install Option).all problems with label fixed but in start menu folder page (how I can fix it?).
-------------
In install options, RTL flag can use for dialogs only. if this flag can used for any item in dialog it be more beter.
-------------
some time in Right to left language (like Farsi - Arabic) the text box (Edit) must be left to right -for example Edit for Address .Address always must be from left to right .(page Directory have a adreess field.If for this Edit allways use left to right style it more beter. I think (Its only my idea) all Edit control beter to use Left to right readding style.
-------------

2.There is no way to change Header bitmap between to language. (one for right to left and one for left to right language)so we can not use some graphic like nsis.bmp (see Contrib\Graphics\Header) for multi language installer (with one right to left language) beacuse if this picture go to right seems ugly!

3.In classic UI we can use one license per language but in Modern UI there is no way to do this (Or I dont know !! How now it? please tell me. ThanX)

Note : Arabic is a RTL language but in Arabic.nlf it mark as LTR language.(Arabic not my language).

Thanx and sorry again for my bad english.

Farsi language file is attached

Thanks again


  1. I see no reason to give static labels that style. They have SS_RIGHT which does its job great and works on all systems, not just localized versions of Windows 9x and Windows 2000/XP.

    RTL per InstallOptions item could be a good idea, but won't work good with other languages in the installer. I think a NORTL flag would be a better idea. If a control has this flag, RTL styles won't apply to it.
  2. Yes, you are right. We'll try to do something about this for the next version. Maybe a special bitmap for RTL languages.
  3. You can do that in the MUI exactly like you do it in the classic installer, using LicenseLangString.

Arabic was already fixed, thanks.

Farsi uploaded, thanks.

Hi

so , i must explain my problem :
If i have a chain of word like this :
First RTL words - LTR Words - Second RTL words
(Example : " This will install $(^Name) in your compute ", if i translate "This will install " and "In your computer" in my language but name of my program be an english name) in ALL (((i said all version beacuse i test it in all version of windows from 98 to Xp. I have a Xp and 2K without any local change only i install all farsi code page with them. May be I can't understand meens of "localized versions"??? ))) version of windows its seems like this
Secund RTL word - LTR Word - First RTL Word.
you want an another example? see farsi branding text! in english it must be Nullsof Install System %s and %s replaced by version number! i have an CVS version and My version is 2.0b4 (CVS) . this in farsi look like this : (Nullsof Install System (CVS (Install an system translate to farsi word)so i translate it to this : Install System %s Nullsoft (In farsi Install system gose before Nullsoft its true, but version must go after all not before Nullsoft ! )

or in "Browse..." button. <...> is an english word. (Note : ". , ; :" and all other symbol sebt "?" is english symbol and windows for RTL language use english version of them.) if i translate browse in farsi it seems like this : "... FarsiBrowse" for this one , I use a trick and in farsi i replace ... and browse and translate it to "... FarsiBrowse" so it look like "FarsiBrowse..." but this trick can not used in other controls.

There is much more than one example. (I test arabic and arabic have this problem too) .
If WS_EX_RTLREADING not used in farsi(And arabic, i think) labels and control , all symbol go in wrong place and all english word change chain of RTL word to wrong place! But in NSIS there is no other control (May be in custom dialogs only) dont need to this flag.


You have no answer for My problem with Edit with Address content.:
some time in Right to left language (like Farsi - Arabic) the text box (Edit) must be left to right -for example Edit for Address .Address always must be from left to right .(page Directory have a adreess field.If for this Edit allways use left to right style it more beter. I think (Its only my idea) all Edit control beter to use Left to right readding style.

For NORTL I have no idea. This way is a good way and i think can fix my problem.

For other my problem : Thanks.
( ;<


Sorry
I want to edit my post but i see a error and some warning!!! I can't edit my post?Why?


OK, I see what you mean... But that doesn't change the fact that flag only exists on certain versions of Windows which is all so very lame... I'll see what I can do about this in the next version.

As for the edit box, you asked for per field RTL settings, I answered that.

As for editing, works for me... Try again.

[edit]Thread split to avoid clumsiness of language files thread[/edit]


Thanx. I wait for next version!!!


Hi
I forget this one.please add MB_RTLREADING (or MB_RIGHT but MB_RTLREADING is beter beacuse move icon to right) to MessageBox Command.

Thanks and sorry again.


Latest CVS version has RTLREADING on everything possible, including message boxes. I haven't had a chance to test this on Windows 95, but even if it ignores that, things will still be from right to left so it's partially OK.

Thanks for the tip.