Clear all

[Work In Progress] Arabic translation

3 Posts
1 Users
0 Reactions
Posts: 4
New Member
Topic starter

Hello everyone  πŸ˜€
I installed efiction today on my site and loved it!
I started translating it for my site, but i got tired after finishing the the en.php (now renamed to ar.php) that i didn't have the energy to do the ar_admin.php.
I might finish it if i get time, but i'm too scared that i'll forget and nobody will have at least the first file in a language they understand.

efiction ver. 3.5.3 (extract an put ar.php in folder Languages/ )

I hope works in progress are allowed (Β΄・ω・`)

السلام عليكم و رحمة الله و بركاته
هنا الملف العربي لواجهة الموقع (تعبت ولم استطع اكمال واجهة المشرف, قد اكملها لاحقاً او من يريد تعريبها فليفعل و يرفعها هنا مشكوراً)

قم بفك الضغط عن الملف ووضعه في مجلد languages/

الترجمه تمت في نسخة efiction3.5.3

I forgot to put the website it is installed on (in case someone wants to see it before installing)
please note that the website was just installed today, i will edit the theme to make it RTL later XD

Posted : 24/01/2012 3:39 pm
Posts: 4
New Member
Topic starter

um it's me again.
i found a problem with the arabic translation when actually applied to the site =s
i've edited the encoding language from the english ISO-8859-1 to the universal UTF-8 in the conversion from en.php to ar.php to support the characters

define ("_CHARSET", "UTF-8");

and encoded the language of the file itself to UTF-8 without BOM using Notepad++ (Since converting to UTF-8 on it's own seemed to give me an error: cannot modify header header's already sent by efiction/languages/ar.php:1 in the config file on line ### )

but now the default chapter names and system generated titles become unreadable (you can test the active script at

I'm guessing i need to edit the encoding of the php file responsible for generating these titles and chapter names, but i don't know which file it is or how to go about it D: (I use Notepad++ and it has a convert-to-UTF8 without BOM option which worked great on the ar.php file) i guess i'll try to find it and try it out.
i'm hoping i don't need to convert all the php files to UTF and create a whole different efiction branch just to support Arabic XD
i know i'm all on my own on this, but i'm just keeping this here in case someone comes looking for an answer for the same problem *_*
if i ever end up creating an arabic version of efiction i'll probably add it here later

Posted : 25/01/2012 7:15 am
Posts: 4
New Member
Topic starter

alright, it looks like the problem runs deeper than the charset or page encoding

after much hair pulling and testing, and unicoding all the files to UTF-8 which failed (they keep returning to ANSI  πŸ˜• )
the active script:
test user: test1
test password: test1234
most of the script isn't translating, i think you'll be able to find your way to the 'add new story' link, but here it is anyway
any modifications to the script:
1-  installed the Arabic language package to tiny MCE
2- installed challenges mod.
3- changed the charset in the language file (ar.php) to UTF-8

description of the problem
: in the new story page, look at the category box, it loads them in Arabic at first but when you chose one, it turns into unreadable characters, try to go back to the category root and it turns all the names into gibberish O_O
also in the character names  box, chapter name and story title: it is okay when you write in arabic the story title and chapter name (although the default is gibberith) and choose the characters. but when you click preview before posting, or post the story directly, it returns you to the story edit page with the title messed up and character/chapter names changed to the same unreadable characters.

after going through almost all files, i discovered this part in the corefunctions.php (line 74)

// Sanitizes user input to help prevent XSS attacks 
function descript($text) {
// Convert problematic ascii characters to their true values
$search = array("40","41","58","65","66","67","68","69","70",

$replace = array("(",")",":","a","b","c","d","e","f","g","h",

$entities = count($search);

for ($i=0;$i < $entities;$i++) $text = preg_replace("#(&#)(0*".$search[$i]."+);*#si", $replace[$i], $text);

I'm not a programmer so i don't know if this code is a safety measure and shouldn't be edited at all or if i can somehow replace the English alphabet to Arabic?
I pretty much reached a dead end here, i don't know where else to look to translate this script, especially that the files keep telling me that everything is encoded in ISO-8859-1
help me please ;w;

Posted : 27/01/2012 8:44 am