[Bf-translations-dev] Fwd: [blender-trans] Re: Complex Script is Now Supported? :D AWESOME!

Amin Babaiepanah leomoon at gmail.com
Sun Oct 16 00:38:19 CEST 2011


The link below is perfect:
http://www.pasteall.org/pic/show.php?id=19043

I'll fix all the problems you listed with "persian_to_ utf.py" and let you
know ASAP.

1) the farsi.txt you sent is using \u064a as the final letter of the word.
Shouldn't it be \u06CC?
According to the internet the \u064a is the arabic yeh, while \u06cc is the
arabic farsi yeh
I'll change them to: \ufbfc \ufbfd \ufefe \ufeff

2) there is a big problem with your persian_to_ utf.py
For the lookup function (the elif x[g] == ...) you can't use the "absolute"
form of the char.
For example the saddd. You are checking if the text has the isolated form of
the letter ("\ufeb9"). Instead you need to look for the "\u0635".
So should I use Isolated form or Final form? Saddd for example, instead of
FEB9 shouldn't I use FEBA? 0635 does not define any position as it is
isolated or Final form. I'm using Character Map in Windows which tells you
for example U+FEBA: Arabic Letter Sad Final Form and U+0635: Arabic Letter
Sad (which doesn't say Isolated or Final).

3) The Persian needs to be a list with every chars. Otherwise the position
calculation will not work for any char.
What the script is doing is:
"is my neighbour char (that is not a harakat) an "arabic/farsi" letter?"
Yes, Persian has 32 alphabets which 4 of them does not exist in Arabic.
Persian does not have any harekat.

This is to make sure you don't have a middle position (or a beginning/final)
char connected to a latin letter, symbol, comma .... Also notice that the
hamza is included in the list of arabic letters. That's why I need to
manually count it out when calculating the position of the chars. I'm not so
sure this is 100% right though (i.e. I'm considering hamza as a word break,
but it seems sometimes it shouldn't be?).
I don't know about Arabic but in Persian there is a Ye with a little hamza
on top of it. That one has 4 forms just like Ye but swap the two dots at
the bottom with a hamza on top. ["ﺉ","ﺋ","ﺌ","ﺊ"] But the hamze alone does
not connect to anything which is [ء]. One example is [انشاء].

And one final thing. Could you please tell me where to save "persian_to_
utf.py"? Is "BlenderSVN\branches\fapersian_to_ utf.py" the correct place to
save?

Best regards,
Amin Babaeipanah
---------------------------------------------
LeoMoon Studios
http://LeoMoon.com
---------------------------------------------
http://ArtisGeek.com
http://IMDB.to/AMINB
http://LoveIsComix.com
http://PersianRead.com
---------------------------------------------



On Sat, Oct 15, 2011 at 12:42 PM, Dalai Felinto <dfelinto at gmail.com> wrote:

> Can you confirm if this is correct:
> http://www.pasteall.org/pic/show.php?id=19043
>
> Note that the correct "Presentation Form" (what I was calling absolute
> forms) for the Farsi Yeh are:
> Isolated, Final, Beggining, Middle:
> \ufbfc \ufbfd \ufefe \ufeff
>
> In the persian_to_utf you were using the values for alef maksura instead.
>
> reference:
> http://en.wikipedia.org/wiki/Template:Unicode_chart_Arabic_Presentation_Forms-A
>
> -
> Dalai
>
> 2011/10/15 Dalai Felinto <dfelinto at gmail.com>
>
>> Hi Amin,
>> a few things:
>> 1) the farsi.txt you sent is using \u064a as the final letter of the word.
>> Shouldn't it be \u06CC?
>> According to the internet the \u064a is the arabic yeh, while \u06cc is
>> the arabic farsi yeh
>>
>> 2) there is a big problem with your persian_to_ utf.py
>> For the lookup function (the elif x[g] == ...) you can't use the
>> "absolute" form of the char.
>> For example the saddd. You are checking if the text has the isolated form
>> of the letter ("\ufeb9"). Instead you need to look for the "\u0635".
>>
>> Now the opposite: for the yeeee Isolated form you put the "relative" form
>> of it (\u06cc).
>>
>> 3) The Persian needs to be a list with every chars. Otherwise the position
>> calculation will not work for any char.
>> What the script is doing is:
>> "is my neighbour char (that is not a harakat) an "arabic/farsi" letter?"
>>
>> This is to make sure you don't have a middle position (or a
>> beginning/final) char connected to a latin letter, symbol, comma .... Also
>> notice that the hamza is included in the list of arabic letters. That's why
>> I need to manually count it out when calculating the position of the chars.
>> I'm not so sure this is 100% right though (i.e. I'm considering hamza as a
>> word break, but it seems sometimes it shouldn't be?).
>>
>> Regards,
>> Dalai
>>
>> 2011/10/12 Amin Babaiepanah <leomoon at gmail.com>
>>
>>> I modified the "arabic_to_utf.py" for Persian. I don't know how to
>>> compile Blender in Windows to test it. I've attached the "persian_to_utf.py"
>>> to this email with fa.po file at 2%. I'll continue with translation now.
>>>
>>> Best regards,
>>> Amin Babaeipanah
>>> ---------------------------------------------
>>> LeoMoon Studios
>>> http://LeoMoon.com
>>> ---------------------------------------------
>>> http://ArtisGeek.com
>>> http://IMDB.to/AMINB
>>> http://LoveIsComix.com
>>> http://PersianRead.com
>>> ---------------------------------------------
>>>
>>>
>>>
>>> On Wed, Oct 12, 2011 at 1:13 AM, Amin Babaiepanah <leomoon at gmail.com>wrote:
>>>
>>>> Awesome. I looked at the Arabic python script and it was kinda easy to
>>>> understand. I'll try to make a Persian one out of that. The best thing about
>>>> the script is that is using the characters themselves instead of hard coded
>>>> glyph numbers.
>>>>
>>>> "For the "Language Selection" interface I flipped both Arabic and
>>>> Persian names (so they show up correctly). I used the Arabic script for the
>>>> Persian. Let me know if they look ok:"
>>>> ‫(فارسی) Persian
>>>> ... is missing the last character "ی".
>>>>
>>>> Right now in that picture the text is like:
>>>> ‫فارس
>>>>
>>>> Here is the full word:
>>>> ‫(فارسی) Persian
>>>>
>>>> Or:
>>>> ‫Persian (فارسی)
>>>>
>>>> Selecting the text above is very hard so I've attached 2 text files so
>>>> you can just press Ctrl+A and Ctrl+C.
>>>>
>>>> "I was looking here. Is there any other resource you suggest?"
>>>>  I found the link below:
>>>> http://en.wikipedia.org/wiki/Persian_alphabet
>>>>
>>>> Best regards,
>>>> Amin Babaeipanah
>>>> ---------------------------------------------
>>>> LeoMoon Studios
>>>> http://LeoMoon.com
>>>> ---------------------------------------------
>>>> http://ArtisGeek.com
>>>> http://IMDB.to/AMINB
>>>> http://LoveIsComix.com
>>>> http://PersianRead.com
>>>> ---------------------------------------------
>>>>
>>>>
>>>>
>>>> On Tue, Oct 11, 2011 at 11:24 PM, Dalai Felinto <dfelinto at gmail.com>wrote:
>>>>
>>>>> CC here since this is the new list ...
>>>>>
>>>>>
>>>>> ---------- Forwarded message ----------
>>>>> From: Dalai Felinto <dfelinto at gmail.com>
>>>>> Date: 2011/10/11
>>>>> Subject: Re: [blender-trans] Re: Complex Script is Now Supported? :D
>>>>> AWESOME!
>>>>> To: blender-translation at googlegroups.com
>>>>>
>>>>>
>>>>> Hi Amin, I added Persian (...) there.
>>>>>
>>>>> For the "Language Selection" interface I flipped both Arabic and
>>>>> Persian names (so they show up correctly). I used the Arabic script for the
>>>>> Persian. Let me know if they look ok:
>>>>>
>>>>> http://www.pasteall.org/pic/show.php?id=18889
>>>>>
>>>>> "I've also made a map of all the characters in Farsi so we can make
>>>>> another python file (or add the extra characters to the existing one if
>>>>> possible) for Farsi to reverse the characters."
>>>>>
>>>>> Great. Given that there are changes (and not only added letters) I
>>>>> think it's better to keep farsi as a separate script for now.
>>>>>
>>>>> I was looking here. Is there any other resource you suggest?
>>>>> http://en.wikipedia.org/wiki/Persian_language
>>>>>
>>>>> The current version of the script is here:
>>>>> http://dl.dropbox.com/u/3292898/arabic/arabic_to_utf.py
>>>>>
>>>>> The script should be clear enough for a programmer/farsi speaker.
>>>>> It takes every letter, calculate their position (isolated, beginning,
>>>>> middle, end) and returns the absolute utf-8 representation of it.
>>>>>
>>>>> In the beginning of the file we have the unicode/utf-8 representation
>>>>> of the letters in their absolute position (range \ufe81 ~ \ufefc).
>>>>>
>>>>> The letters used in the long if/elif sequence are the non-absolute form
>>>>> of the letters (\u622 ~ \u644).
>>>>>
>>>>> Regards,
>>>>> Dalai
>>>>>
>>>>>
>>>>> 2011/10/10 Amin Babaiepanah <leomoon at gmail.com>
>>>>>
>>>>>> I've also made a map of all the characters in Farsi so we can make
>>>>>> another python file (or add the extra characters to the existing one if
>>>>>> possible) for Farsi to reverse the characters. Please see the attached text
>>>>>> file (It's UTF-8).
>>>>>>
>>>>>> Best regards,
>>>>>> Amin Babaeipanah
>>>>>> ---------------------------------------------
>>>>>> LeoMoon Studios
>>>>>> http://LeoMoon.com
>>>>>> ---------------------------------------------
>>>>>> http://ArtisGeek.com
>>>>>> http://IMDB.to/AMINB
>>>>>> http://LoveIsComix.com
>>>>>> http://PersianRead.com
>>>>>> ---------------------------------------------
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Oct 10, 2011 at 9:39 PM, Dalai Felinto <dfelinto at gmail.com>wrote:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> While googling to read more about Farsi I ran into that:
>>>>>>> http://no-more-farsi.50webs.com/
>>>>>>>
>>>>>>> I wonder if this is actually an issue. As in, should we call it
>>>>>>> Persian instead of Farsi?
>>>>>>> And is this the right name of the language in farsi/Persian? فارسی
>>>>>>> I was to add the needed files in blender code but need to figure
>>>>>>> those out first.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Dalai
>>>>>>>
>>>>>>> 2011/10/10 Dalai Felinto <dfelinto at gmail.com>
>>>>>>>
>>>>>>>> > Is the python file below the one that reverses letters?
>>>>>>>> > http://dl.dropbox.com/u/3292898/arabic/arabic_to_utf.py
>>>>>>>>
>>>>>>>> This is the one I'm using yes. It differs a bit in the result than
>>>>>>>> the .Net version maintained by the Arabic team. But the results are pretty
>>>>>>>> close.
>>>>>>>>
>>>>>>>>
>>>>>>>> 2011/10/8 LeoMoon <leomoon at gmail.com>
>>>>>>>>
>>>>>>>>> Yea reversing should work fine. Some characters are different in
>>>>>>>>> Farsi
>>>>>>>>> but the general system is the same. Tnx for the PO file. I'll start
>>>>>>>>> translating.
>>>>>>>>>
>>>>>>>>> Is the python file below the one that reverses letters?
>>>>>>>>> http://dl.dropbox.com/u/3292898/arabic/arabic_to_utf.py
>>>>>>>>>
>>>>>>>>> On Oct 8, 4:30 pm, Dalai Felinto <dfeli... at gmail.com> wrote:
>>>>>>>>> > Hi,
>>>>>>>>> >
>>>>>>>>> > Blender doesn't support left oriented languages directly. What we
>>>>>>>>> are doing
>>>>>>>>> > for arabic is to "reverse" the "letters" and converting to the
>>>>>>>>> char that has
>>>>>>>>> > the position "hardcoded" (so they write correctly). It's not 100%
>>>>>>>>> either.
>>>>>>>>> >
>>>>>>>>> > It seems that Farsi is a variation of Arabic, is that right? If
>>>>>>>>> so it should
>>>>>>>>> > be possible to do the same hack there. I can help with that (or
>>>>>>>>> what may be
>>>>>>>>> > better, you could ask Yousef Hurfoush to adapt the flip arabic to
>>>>>>>>> Parsi).
>>>>>>>>> >
>>>>>>>>> > If you want a fresh fa.po to start translating you can get it
>>>>>>>>> here:http://dl.dropbox.com/u/3292898/arabic/fa.po
>>>>>>>>> >
>>>>>>>>> > Once we have the flipping system working for Farsi as well we can
>>>>>>>>> make
>>>>>>>>> > Blender to support fa_IR.
>>>>>>>>> >
>>>>>>>>> > --
>>>>>>>>> > Dalai
>>>>>>>>> >
>>>>>>>>> > 2011/10/8 Ethan Luo <congcong... at gmail.com>
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> >
>>>>>>>>> > > Hi Amin,
>>>>>>>>> >
>>>>>>>>> > > I think you can just create a new folder there in branch and
>>>>>>>>> start the
>>>>>>>>> > > translation work first. Need to discuss with Dailai how we can
>>>>>>>>> process to
>>>>>>>>> > > add a new language in Blender via script.
>>>>>>>>> >
>>>>>>>>> > > FYI
>>>>>>>>> >
>>>>>>>>> > > (1) run update_msg.py (it needs compiled Blender)
>>>>>>>>> > > (2) run update_pot.py - gather the latest strings from Blender
>>>>>>>>> > > (3) run update_po.py - sync in the new changes from trunk
>>>>>>>>> > > (4) run clean_po.py - remove the no longer needed msgstr/msgid
>>>>>>>>> > > (5) run merge_po.py to bring the new .po file into trunk's .po
>>>>>>>>> >
>>>>>>>>> > > Regards,
>>>>>>>>> > > *罗聪翼/Ethan Luo* <congcong... at gmail.com>
>>>>>>>>> > > *M: (86)158-5051-1795(GMT+8)*
>>>>>>>>> > > ***@congcong009 #twitter/facebook/**新浪围脖*
>>>>>>>>> > > ***BlenderCN**中文社区**(**www.blendercn.org**)*
>>>>>>>>> >
>>>>>>>>> > > On Sat, Oct 8, 2011 at 2:46 PM, LeoMoon <leom... at gmail.com>
>>>>>>>>> wrote:
>>>>>>>>> >
>>>>>>>>> > >> Hello,
>>>>>>>>> >
>>>>>>>>> > >> Now that complex script is now supported with right-to-left (I
>>>>>>>>> saw the
>>>>>>>>> > >> Arabic example) I want to start the translation for Farsi.
>>>>>>>>> Code for
>>>>>>>>> > >> Farsi is "Fa".
>>>>>>>>> >
>>>>>>>>> > >> Can somebody point me to the right direction on how to start?
>>>>>>>>> >
>>>>>>>>> > >> Thank you for your hard work.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Bf-translations-dev mailing list
>>>>> Bf-translations-dev at blender.org
>>>>> http://lists.blender.org/mailman/listinfo/bf-translations-dev
>>>>>
>>>>>
>>>>
>>>
>>
>
> _______________________________________________
> Bf-translations-dev mailing list
> Bf-translations-dev at blender.org
> http://lists.blender.org/mailman/listinfo/bf-translations-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-translations-dev/attachments/20111015/138dee6e/attachment.htm 


More information about the Bf-translations-dev mailing list