hello

i encountered with a problem.
i want to install persian language po file but i can't
this error message appear

# The translation import failed, because the file could not be read.
# The translation import of failed

im using php 5.2.2 with apache 2 on a linux server
i searched a lot. i found some topic that suggest to turn magic_quote_gpc off
i turned it off in my .htaccess file but it doesn't work

how can i fix it ?
is there any other method for uploading language file ? for example uploading by FTP ?

thanks in advance.

Comments

cog.rusty’s picture

Probably the file was not uploaded correctly.

- Check /admin/settings to see if Drupal has any complaints about the "files" directory and the "tmp" directory (do they exist and are they writable by apache?).

- Make sure that the upload module is enabled. Do your uploads work? For example can you attach a file to a node?

- Look out for anything else mentioned in the error messages. Check the logs in /admin/logs/watchdog

amir abbas’s picture

everthing is OK in admin panel
files directory is created. tmp folder is created inside files directory. premission are set to 777 but i can not upload anything. upload module is enable but it doesn't work at all

______
www.persia-cms.com
سئو ، طراحی وب ، موبایل ، نرم افزار

cog.rusty’s picture

What else could it be... Can you check phpinfo() to see if your server runs with php's "safe mode" on?

amir abbas’s picture

yes, safe mode is ON on my server

i don't need to use upload feature of drupal. i just want to install persian.po file. is there any other way for installing po files ?

______
www.persia-cms.com
سئو ، طراحی وب ، موبایل ، نرم افزار

cog.rusty’s picture

Safe mode is bad news, a failed attempt at PHP security which is going to be removed in PHP 6. There is a possible workaround:

When PHP runs with "safe mode" on, there is a problem with uploading if you let the script create the "files" and "tmp" directories itself. "Safe mode" does not let a process which is run from a script owned by you to write to a directory owned by apache.

So, if you have let Drupal create the "files" and "tmp" directories, delete them and create them again yourself with FTP so that you are the owner, and of course set them to 777. The same for any files subdirectories created by other modules in the future. Also, the color module which creates subdirectories with random names for theme color schemes will never work. This is not guaranteed to work but it has worked before in some cases.

I don't know of any other way to put the .po strings in the database without writing files. If you know php maybe you could hack the relevant queries out of locale.module and locale.inc and use them directly, or upload the po yourself to where it was supposed to be uploaded -- not sure where.

amir abbas’s picture

thank you cog.rusty

So, if you have let Drupal create the "files" and "tmp" directories, delete them and create them again yourself with FTP so that you are the owner, and of course set them to 777. The same for any files subdirectories created by other modules in the future. Also, the color module which creates subdirectories with random names for theme color schemes will never work. This is not guaranteed to work but it has worked before in some cases.

i tried this one. it doesn't work
thanks

______
www.persia-cms.com
سئو ، طراحی وب ، موبایل ، نرم افزار

amir abbas’s picture

i found this workaround

in includes/file.inc:
comment out lines 159-161

# rename($file->filepath, $file->filepath .'.txt');
# $file->filepath .= '.txt';
# $file->filename .= '.txt';

but the first line does not exist in drupal 5.1
this trick is for drupal 4.6

can i use it in drupal 5.1 ?

______
www.persia-cms.com
سئو ، طراحی وب ، موبایل ، نرم افزار

amir abbas’s picture

wallace_c2’s picture

The rigths of the file is 0644. So, do
chmod 0644 name_of_file.po