Upload langs

Перевод языковых связанных с загрузкой файлов.
This commit is contained in:
Exile 2014-08-31 21:11:24 +04:00
commit 72b4307268
6 changed files with 91 additions and 44 deletions

View file

@ -10,68 +10,64 @@ class upload_common
'upload_path' => '',
);
var $file = array(
'name' => '',
'type' => '',
'size' => 0,
'tmp_name' => '',
'error' => UPLOAD_ERR_NO_FILE,
'name' => '',
'type' => '',
'size' => 0,
'tmp_name' => '',
'error' => UPLOAD_ERR_NO_FILE,
);
var $orig_name = '';
var $file_path = ''; // Stored file path
var $file_ext = '';
var $file_ext_id = '';
var $file_size = '';
var $ext_ids = array(); // array_flip($bb_cfg['file_id_ext'])
var $errors = array();
var $img_types = array(
1 => 'gif',
2 => 'jpg',
3 => 'png',
6 => 'bmp',
7 => 'tiff',
8 => 'tiff',
);
var $orig_name = '';
var $file_path = ''; // Stored file path
var $file_ext = '';
var $file_ext_id = '';
var $file_size = '';
var $ext_ids = array(); // array_flip($bb_cfg['file_id_ext'])
var $errors = array();
var $img_types = array(1=>'gif', 2=>'jpg', 3=>'png', 6=>'bmp', 7=>'tiff', 8=>'tiff');
function init ($cfg = array(), $post_params = array(), $uploaded_only = true)
{
global $bb_cfg, $lang;
$lang['upload_error_common'] = 'Ошибка загрузки файла';
$lang['upload_errors'] = array(
UPLOAD_ERR_INI_SIZE => 'превышен максимальный размер файлов для сервера',
UPLOAD_ERR_FORM_SIZE => 'превышен максимальный размер загружаемого файла',
UPLOAD_ERR_PARTIAL => 'файл был загружен частично',
UPLOAD_ERR_NO_FILE => 'файл не был загружен',
UPLOAD_ERR_NO_TMP_DIR => 'временная директория не найдена',
UPLOAD_ERR_CANT_WRITE => 'ошибка записи',
UPLOAD_ERR_EXTENSION => 'загрузка остановлена из-за расширения',
);
$this->cfg = array_merge($this->cfg, $cfg);
$this->file = $post_params;
// upload errors from $_FILES
if ($this->file['error'])
{
$msg = $lang['upload_error_common'];
$msg .= ($err_desc =& $lang['upload_errors'][$this->file['error']]) ? " ($err_desc)" : '';
$msg = $lang['UPLOAD_ERROR_COMMON'];
$msg .= ($err_desc =& $lang['UPLOAD_ERRORS'][$this->file['error']]) ? " ($err_desc)" : '';
$this->errors[] = $msg;
return false;
}
// file_exists
if (!file_exists($this->file['tmp_name']))
{
$this->errors[] = "uploaded file not exists: {$this->file['tmp_name']}";
$this->errors[] = "Uploaded file not exists: {$this->file['tmp_name']}";
return false;
}
// size
if (!$this->file_size = filesize($this->file['tmp_name']))
{
$this->errors[] = "uploaded file is empty: {$this->file['tmp_name']}";
$this->errors[] = "Uploaded file is empty: {$this->file['tmp_name']}";
return false;
}
if ($this->cfg['max_size'] && $this->file_size > $this->cfg['max_size'])
{
$this->errors[] = 'Загруженный файл превышает максимальный размер '. humn_size($this->cfg['max_size']);
$this->errors[] = sprintf($lang['UPLOAD_ERROR_SIZE'], humn_size($this->cfg['max_size']));
return false;
}
// is_uploaded_file
if ($uploaded_only && !is_uploaded_file($this->file['tmp_name']))
{
$this->errors[] = "not uploaded file: {$this->file['tmp_name']}";
$this->errors[] = "Not uploaded file: {$this->file['tmp_name']}";
return false;
}
// get ext
@ -89,7 +85,7 @@ class upload_common
// redefine ext
if (!$width || !$height || !$type || !isset($this->img_types[$type]))
{
$this->errors[] = 'Недопустимый тип файла изображения';
$this->errors[] = $lang['UPLOAD_ERROR_FORMAT'];
return false;
}
$this->file_ext = $this->img_types[$type];
@ -97,20 +93,20 @@ class upload_common
// width & height
if (($this->cfg['max_width'] && $width > $this->cfg['max_width']) || ($this->cfg['max_height'] && $height > $this->cfg['max_height']))
{
$this->errors[] = "Размеры изображения превышают максимально допустимые {$this->cfg['max_width']}x{$this->cfg['max_height']} px";
$this->errors[] = sprintf($lang['UPLOAD_ERROR_DIMENSIONS'], $this->cfg['max_width'], $this->cfg['max_height']);
return false;
}
}
else
{
$this->errors[] = 'Загруженный файл не является изображением';
$this->errors[] = $lang['UPLOAD_ERROR_NOT_IMAGE'];
return false;
}
}
// check ext
if (!isset($this->ext_ids[$this->file_ext]) || !in_array($this->file_ext, $this->cfg['allowed_ext'], true))
{
$this->errors[] = 'Расширение '. htmlCHR($this->file_ext) .' для загружаемых файлов не разрешено';
$this->errors[] = sprintf($lang['UPLOAD_ERROR_NOT_ALLOWED'], htmlCHR($this->file_ext));
return false;
}
$this->file_ext_id = $this->ext_ids[$this->file_ext];
@ -135,7 +131,7 @@ class upload_common
}
else
{
trigger_error("invalid upload mode: $mode", E_USER_ERROR);
trigger_error("Invalid upload mode: $mode", E_USER_ERROR);
}
}

View file

@ -585,7 +585,8 @@ $lang['RESET_AUTOLOGIN_EXPL'] = 'including all the places you\'ve visited the fo
$lang['AVATAR'] = 'Avatar';
$lang['AVATAR_EXPLAIN'] = 'Displays a small graphic image below your details in posts. Only one image can be displayed at a time, its width can be no greater than %d pixels, the height no greater than %d pixels, and the file size no more than %d KB.';
$lang['UPLOAD_AVATAR_FILE'] = 'Upload Avatar';
$lang['AVATAR_DELETE'] = 'Delete avatar';
$lang['UPLOAD_AVATAR_FILE'] = 'Upload avatar';
$lang['SELECT_AVATAR'] = 'Select avatar';
$lang['RETURN_PROFILE'] = 'Return to profile';
@ -2915,4 +2916,20 @@ $lang['NEW_POLL_M_VOTES'] = 'Options';
$lang['NEW_POLL_M_EXPLAIN'] = 'Each row corresponds to one answer (max';
$lang['OLD_BROWSER'] = 'You are using an outdated browser. The website will not display correctly.';
$lang['GO_BACK'] = 'Go back';
$lang['GO_BACK'] = 'Go back';
$lang['UPLOAD_ERROR_COMMON'] = 'File upload error';
$lang['UPLOAD_ERROR_SIZE'] = 'The uploaded file exceeds the maximum size of %s';
$lang['UPLOAD_ERROR_FORMAT'] = 'Invalid file type of image';
$lang['UPLOAD_ERROR_DIMENSIONS'] = 'Image dimensions exceed the maximum allowable %sx%s px';
$lang['UPLOAD_ERROR_NOT_IMAGE'] = 'The uploaded file is not an image';
$lang['UPLOAD_ERROR_NOT_ALLOWED'] = 'Extension %s for downloads is not allowed';
$lang['UPLOAD_ERRORS'] = array(
UPLOAD_ERR_INI_SIZE => 'you have exceeded the maximum file size for the server',
UPLOAD_ERR_FORM_SIZE => 'you have exceeded the maximum file upload size',
UPLOAD_ERR_PARTIAL => 'the file was partially downloaded',
UPLOAD_ERR_NO_FILE => 'file was not uploaded',
UPLOAD_ERR_NO_TMP_DIR => 'temporary directory not found',
UPLOAD_ERR_CANT_WRITE => 'write error',
UPLOAD_ERR_EXTENSION => 'upload stopped by extension',
);

View file

@ -573,7 +573,7 @@ $lang['PUBLIC_VIEW_EMAIL'] = 'Показывать мой адрес e-mail в
$lang['EMAIL_EXPLAIN'] = 'На этот адрес вам будет отправлено письмо для завершения регистрации';
$lang['CURRENT_PASSWORD'] = 'Текущий пароль';
$lang['NEW_PASSWORD'] = "Новый пароль";
$lang['NEW_PASSWORD'] = 'Новый пароль';
$lang['CONFIRM_PASSWORD'] = 'Подтвердите пароль';
$lang['CONFIRM_PASSWORD_EXPLAIN'] = 'Вы должны указать ваш текущий пароль, если хотите изменить его или поменять свой email.';
$lang['PASSWORD_IF_CHANGED'] = 'Указывайте пароль только если вы хотите его поменять';
@ -585,6 +585,7 @@ $lang['RESET_AUTOLOGIN_EXPL'] = 'включая все места, где вы
$lang['AVATAR'] = 'Аватара';
$lang['AVATAR_EXPLAIN'] = 'Показывает небольшое изображение под информацией о вас в сообщениях. Может быть показано только одно изображение, шириной не более %d пикселов, высотой не более %d пикселов и объемом не более %d кб.';
$lang['AVATAR_DELETE'] = 'Удалить аватар';
$lang['UPLOAD_AVATAR_FILE'] = 'Загрузить аватару';
$lang['SELECT_AVATAR'] = 'Выберите аватару';
@ -2915,4 +2916,20 @@ $lang['NEW_POLL_M_VOTES'] = 'Варианты ответа';
$lang['NEW_POLL_M_EXPLAIN'] = 'Каждая строка соответствует одному варианту ответа (максимум';
$lang['OLD_BROWSER'] = 'Вы используете устаревший браузер. Сайт может отображаться некорректно.';
$lang['GO_BACK'] = 'Вернуться обратно';
$lang['GO_BACK'] = 'Вернуться обратно';
$lang['UPLOAD_ERROR_COMMON'] = 'Ошибка загрузки файла';
$lang['UPLOAD_ERROR_SIZE'] = 'Загруженный файл превышает максимальный размер %s';
$lang['UPLOAD_ERROR_FORMAT'] = 'Недопустимый тип файла изображения';
$lang['UPLOAD_ERROR_DIMENSIONS'] = 'Размеры изображения превышают максимально допустимые %sx%s px';
$lang['UPLOAD_ERROR_NOT_IMAGE'] = 'Загруженный файл не является изображением';
$lang['UPLOAD_ERROR_NOT_ALLOWED'] = 'Расширение %s для загружаемых файлов не разрешено';
$lang['UPLOAD_ERRORS'] = array(
UPLOAD_ERR_INI_SIZE => 'превышен максимальный размер файлов для сервера',
UPLOAD_ERR_FORM_SIZE => 'превышен максимальный размер загружаемого файла',
UPLOAD_ERR_PARTIAL => 'файл был загружен частично',
UPLOAD_ERR_NO_FILE => 'файл не был загружен',
UPLOAD_ERR_NO_TMP_DIR => 'временная директория не найдена',
UPLOAD_ERR_CANT_WRITE => 'ошибка записи',
UPLOAD_ERR_EXTENSION => 'загрузка остановлена из-за расширения',
);

View file

@ -573,7 +573,7 @@ $lang['PUBLIC_VIEW_EMAIL'] = 'Показувати мою адресу e-mail в
$lang['EMAIL_EXPLAIN'] = 'На цю адресу вам буде відіслано лист для завершення реєстрації';
$lang['CURRENT_PASSWORD'] = 'Поточний пароль';
$lang['NEW_PASSWORD'] = "Новий пароль";
$lang['NEW_PASSWORD'] = 'Новий пароль';
$lang['CONFIRM_PASSWORD'] = 'Підтвердіть пароль';
$lang['CONFIRM_PASSWORD_EXPLAIN'] = 'Ви повинні вказати ваш поточний пароль, якщо хочете змінити його або змінити свій email.';
$lang['PASSWORD_IF_CHANGED'] = 'Вказуйте свій пароль, якщо ви хочете його змінити';
@ -585,7 +585,8 @@ $lang['RESET_AUTOLOGIN_EXPL'] = 'включаючи всі місця, де ви
$lang['AVATAR'] = 'Аватар';
$lang['AVATAR_EXPLAIN'] = "Показує невелике зображення під інформацією про вас в повідомленнях. Може бути показано тільки одне зображення, шириною не більше %d пікселів, висотою не більше %d пікселів і об'ємом не більше %d кб.";
$lang['UPLOAD_AVATAR_FILE'] = "Завантажити аватару";
$lang['AVATAR_DELETE'] = 'Видалити аватар';
$lang['UPLOAD_AVATAR_FILE'] = 'Завантажити аватару';
$lang['SELECT_AVATAR'] = 'Виберіть аватару';
$lang['RETURN_PROFILE'] = 'Повернутися до профілю';
@ -2915,4 +2916,20 @@ $lang['NEW_POLL_M_VOTES'] = 'Варіанти відповіді';
$lang['NEW_POLL_M_EXPLAIN'] = 'Кожен рядок відповідає одному варіанту відповіді (максимум';
$lang['OLD_BROWSER'] = 'Ви використовуєте застарілий браузер. Сайт може відображатися некоректно.';
$lang['GO_BACK'] = 'Повернутися назад';
$lang['GO_BACK'] = 'Повернутися назад';
$lang['UPLOAD_ERROR_COMMON'] = 'Помилка завантаження файлу';
$lang['UPLOAD_ERROR_SIZE'] = 'Завантажений файл перевищує максимальний розмір %s';
$lang['UPLOAD_ERROR_FORMAT'] = 'Некоректний тип файлу зображення';
$lang['UPLOAD_ERROR_DIMENSIONS'] = 'Розміри зображення перевищують максимально допустимі %sx%s px';
$lang['UPLOAD_ERROR_NOT_IMAGE'] = 'Завантажений файл не є зображенням';
$lang['UPLOAD_ERROR_NOT_ALLOWED'] = 'Розширення %s для файлів, що завантажуються не дозволено';
$lang['UPLOAD_ERRORS'] = array(
UPLOAD_ERR_INI_SIZE => 'перевищено максимальний розмір файлів для сервера',
UPLOAD_ERR_FORM_SIZE => 'перевищено максимальний розмір завантажуваного файлу',
UPLOAD_ERR_PARTIAL => 'файл був завантажений частково',
UPLOAD_ERR_NO_FILE => 'файл не був завантажений',
UPLOAD_ERR_NO_TMP_DIR => 'тимчасова директорія не знайдено',
UPLOAD_ERR_CANT_WRITE => 'помилка запису',
UPLOAD_ERR_EXTENSION => 'завантаження зупинено через розширення',
);

View file

@ -281,7 +281,7 @@ ajax.callback.posts = function(data){
<td>
Изображение под вашим именем в сообщениях<br />
Максимальные ШИРИНАхВЫСОТА {$bb_cfg['avatars']['max_width']}x{$bb_cfg['avatars']['max_height']} пикселов<br />
Максимальный объём {AVATARS_MAX_SIZE}<br />
Максимальный объем {AVATARS_MAX_SIZE}<br />
<!-- IF $bb_cfg['avatars']['up_allowed'] -->
<div class="spacer_4"></div>

View file

@ -207,7 +207,7 @@ ajax.callback.gen_passkey = function(data){
<div id="avatar-img" class="mrg_4 med">
{AVATAR_IMG}
<!-- IF IS_ADMIN || PROFILE_USER -->
<p id="avatar-adm" class="med mrg_4">[ <a href="#" onclick="if (window.confirm('Удалить аватар?')){ ajax.avatar('delete', {PROFILE_USER_ID}); } return false;" class="adm">Удалить аватар</a> ]</p>
<p id="avatar-adm" class="med mrg_4">[ <a href="#" onclick="if (window.confirm('{L_AVATAR_DELETE}?')){ ajax.avatar('delete', {PROFILE_USER_ID}); } return false;" class="adm">{L_AVATAR_DELETE}</a> ]</p>
<!-- ENDIF -->
</div>
<p class="small mrg_4">