mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-29 14:48:53 +00:00
Merge remote-tracking branch 'nickvergessen/ticket/develop/10345' into develop
* nickvergessen/ticket/develop/10345: (21 commits) [ticket/10345] Check directly whether the key to use exists [ticket/10345] Return the language key when the key has an empty array [ticket/10345] Document behaviour for floating numbers on phpbb_get_plural_form [ticket/10345] Remove doubled check for valid plural rule [ticket/10345] Add documentation and phpbb_ prefix to the new avatar functions [ticket/10345] Add cases for 1 pixel height on MAX_FLASH and MAX_IMG sizes [ticket/10345] Fix parsing error in language/en/viewtopic.php [ticket/10345] Move rule determination code into a new function [ticket/10345] Fix little type in unit test [ticket/10345] Remove more useless 0-cases [ticket/10345] Make the use of the 0-case optional [ticket/10345] Remove some unused 0 cases [ticket/10345] Fix some last use cases of sprintf() to use $user->lang() [ticket/10345] Add tests for array() as first parameter on call to $user->lang() [ticket/10345] Fix some documentation issues. [ticket/10345] Allow float as array key and add some tests [ticket/10345] Use the plural function in some more places. [ticket/10345] Make use of the plural function in some basic places [ticket/10345] Remove '1 hour ago' string which conflicted with plural rules [ticket/10345] Fix documentation on the new function and the switch ...
This commit is contained in:
commit
6027541dc7
51 changed files with 736 additions and 404 deletions
|
@ -1106,8 +1106,8 @@ class phpbb_feed_forums extends phpbb_feed_base
|
|||
{
|
||||
global $user;
|
||||
|
||||
$item_row['statistics'] = sprintf($user->lang['TOTAL_TOPICS_OTHER'], $row['forum_topics'])
|
||||
. ' ' . $this->separator_stats . ' ' . sprintf($user->lang['TOTAL_POSTS_OTHER'], $row['forum_posts']);
|
||||
$item_row['statistics'] = $user->lang('TOTAL_TOPICS', (int) $row['forum_topics'])
|
||||
. ' ' . $this->separator_stats . ' ' . $user->lang('TOTAL_POSTS_OTHER', (int) $row['forum_posts']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1159,7 +1159,7 @@ class acp_attachments
|
|||
// Issue warning message if files stats are inaccurate
|
||||
if (($num_files != $num_files_real) || ($total_size != $total_size_real))
|
||||
{
|
||||
$error[] = sprintf($user->lang['FILES_STATS_WRONG'], $num_files_real, get_formatted_filesize($total_size_real));
|
||||
$error[] = $user->lang('FILES_STATS_WRONG', (int) $num_files_real, get_formatted_filesize($total_size_real));
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_ACTION_OPTIONS' => ($auth->acl_get('a_board')) ? true : false,
|
||||
|
@ -1244,8 +1244,7 @@ class acp_attachments
|
|||
$row['extension'] = strtolower(trim((string) $row['extension']));
|
||||
$comment = ($row['attach_comment'] && !$row['in_message']) ? str_replace(array("\n", "\r"), array('<br />', "\n"), $row['attach_comment']) : '';
|
||||
$display_cat = $extensions[$row['extension']]['display_cat'];
|
||||
$l_downloaded_viewed = ($display_cat == ATTACHMENT_CATEGORY_NONE) ? 'DOWNLOAD_COUNT' : 'VIEWED_COUNT';
|
||||
$l_download_count = (!isset($row['download_count']) || (int) $row['download_count'] == 0) ? $user->lang[$l_downloaded_viewed . '_NONE'] : (((int) $row['download_count'] == 1) ? sprintf($user->lang[$l_downloaded_viewed], $row['download_count']) : sprintf($user->lang[$l_downloaded_viewed . 'S'], $row['download_count']));
|
||||
$l_downloaded_viewed = ($display_cat == ATTACHMENT_CATEGORY_NONE) ? 'DOWNLOAD_COUNTS' : 'VIEWED_COUNTS';
|
||||
|
||||
$template->assign_block_vars('attachments', array(
|
||||
'ATTACHMENT_POSTER' => get_username_string('full', (int) $row['poster_id'], (string) $row['username'], (string) $row['user_colour'], (string) $row['username']),
|
||||
|
@ -1261,7 +1260,7 @@ class acp_attachments
|
|||
'TOPIC_ID' => (int) $row['topic_id'],
|
||||
'POST_IDS' => (!empty($post_ids[$row['attach_id']])) ? (int) $post_ids[$row['attach_id']] : '',
|
||||
|
||||
'L_DOWNLOAD_COUNT' => $l_download_count,
|
||||
'L_DOWNLOAD_COUNT' => $user->lang($l_downloaded_viewed, (int) $row['download_count']),
|
||||
|
||||
'S_IN_MESSAGE' => (bool) $row['in_message'],
|
||||
|
||||
|
|
|
@ -371,7 +371,7 @@ class acp_groups
|
|||
{
|
||||
if ($data['width'] > $config['avatar_max_width'] || $data['height'] > $config['avatar_max_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']);
|
||||
$error[] = phpbb_avatar_error_wrong_size($data['width'], $data['height']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -381,7 +381,7 @@ class acp_groups
|
|||
{
|
||||
if ($data['width'] < $config['avatar_min_width'] || $data['height'] < $config['avatar_min_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']);
|
||||
$error[] = phpbb_avatar_error_wrong_size($data['width'], $data['height']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -627,7 +627,7 @@ class acp_groups
|
|||
'U_BACK' => $u_back,
|
||||
'U_SWATCH' => append_sid("{$phpbb_admin_path}swatch.$phpEx", 'form=settings&name=group_colour'),
|
||||
'U_ACTION' => "{$this->u_action}&action=$action&g=$group_id",
|
||||
'L_AVATAR_EXPLAIN' => sprintf($user->lang['AVATAR_EXPLAIN'], $config['avatar_max_width'], $config['avatar_max_height'], round($config['avatar_filesize'] / 1024)),
|
||||
'L_AVATAR_EXPLAIN' => phpbb_avatar_explanation_string(),
|
||||
));
|
||||
|
||||
return;
|
||||
|
|
|
@ -379,7 +379,7 @@ class acp_icons
|
|||
|
||||
if ($smiley_count + $addable_smileys_count > SMILEY_LIMIT)
|
||||
{
|
||||
trigger_error(sprintf($user->lang['TOO_MANY_SMILIES'], SMILEY_LIMIT) . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
trigger_error($user->lang('TOO_MANY_SMILIES', SMILEY_LIMIT) . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -487,21 +487,7 @@ class acp_icons
|
|||
$cache->destroy('_icons');
|
||||
$cache->destroy('sql', $table);
|
||||
|
||||
$level = E_USER_NOTICE;
|
||||
switch ($icons_updated)
|
||||
{
|
||||
case 0:
|
||||
$suc_lang = "{$lang}_NONE";
|
||||
$level = E_USER_WARNING;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
$suc_lang = "{$lang}_ONE";
|
||||
break;
|
||||
|
||||
default:
|
||||
$suc_lang = $lang;
|
||||
}
|
||||
$level = ($icons_updated) ? E_USER_NOTICE : E_USER_WARNING;
|
||||
$errormsgs = '';
|
||||
foreach ($errors as $img => $error)
|
||||
{
|
||||
|
@ -509,11 +495,11 @@ class acp_icons
|
|||
}
|
||||
if ($action == 'modify')
|
||||
{
|
||||
trigger_error($user->lang[$suc_lang . '_EDITED'] . $errormsgs . adm_back_link($this->u_action), $level);
|
||||
trigger_error($user->lang($lang . '_EDITED', $icons_updated) . $errormsgs . adm_back_link($this->u_action), $level);
|
||||
}
|
||||
else
|
||||
{
|
||||
trigger_error($user->lang[$suc_lang . '_ADDED'] . $errormsgs . adm_back_link($this->u_action), $level);
|
||||
trigger_error($user->lang($lang . '_ADDED', $icons_updated) . $errormsgs . adm_back_link($this->u_action), $level);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -599,7 +585,7 @@ class acp_icons
|
|||
$smiley_count = $this->item_count($table);
|
||||
if ($smiley_count + sizeof($pak_ary) > SMILEY_LIMIT)
|
||||
{
|
||||
trigger_error(sprintf($user->lang['TOO_MANY_SMILIES'], SMILEY_LIMIT) . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
trigger_error($user->lang('TOO_MANY_SMILIES', SMILEY_LIMIT) . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -338,7 +338,7 @@ class acp_search
|
|||
$totaltime = $mtime[0] + $mtime[1] - $starttime;
|
||||
$rows_per_second = $row_count / $totaltime;
|
||||
meta_refresh(1, append_sid($this->u_action . '&action=delete&skip_rows=' . $post_counter));
|
||||
trigger_error(sprintf($user->lang['SEARCH_INDEX_DELETE_REDIRECT'], $post_counter, $row_count, $rows_per_second));
|
||||
trigger_error($user->lang('SEARCH_INDEX_DELETE_REDIRECT', (int) $row_count, $post_counter, $rows_per_second));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -428,7 +428,7 @@ class acp_search
|
|||
$totaltime = $mtime[0] + $mtime[1] - $starttime;
|
||||
$rows_per_second = $row_count / $totaltime;
|
||||
meta_refresh(1, append_sid($this->u_action . '&action=create&skip_rows=' . $post_counter));
|
||||
trigger_error(sprintf($user->lang['SEARCH_INDEX_CREATE_REDIRECT'], $post_counter, $row_count, $rows_per_second));
|
||||
trigger_error($user->lang('SEARCH_INDEX_CREATE_REDIRECT', (int) $row_count, $post_counter) . $user->lang('SEARCH_INDEX_CREATE_REDIRECT_RATE', $rows_per_second));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1010,8 +1010,8 @@ class acp_users
|
|||
$db->sql_freeresult($result);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'L_NAME_CHARS_EXPLAIN' => sprintf($user->lang[$config['allow_name_chars'] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
|
||||
'L_CHANGE_PASSWORD_EXPLAIN' => sprintf($user->lang[$config['pass_complex'] . '_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
|
||||
'L_NAME_CHARS_EXPLAIN' => $user->lang($config['allow_name_chars'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_name_chars']), $user->lang('CHARACTERS', (int) $config['max_name_chars'])),
|
||||
'L_CHANGE_PASSWORD_EXPLAIN' => $user->lang($config['pass_complex'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_pass_chars']), $user->lang('CHARACTERS', (int) $config['max_pass_chars'])),
|
||||
'L_POSTS_IN_QUEUE' => $user->lang('NUM_POSTS_IN_QUEUE', $user_row['posts_in_queue']),
|
||||
'S_FOUNDER' => ($user->data['user_type'] == USER_FOUNDER) ? true : false,
|
||||
|
||||
|
@ -1748,8 +1748,8 @@ class acp_users
|
|||
'USER_AVATAR_WIDTH' => $user_row['user_avatar_width'],
|
||||
'USER_AVATAR_HEIGHT' => $user_row['user_avatar_height'],
|
||||
|
||||
'L_AVATAR_EXPLAIN' => sprintf($user->lang['AVATAR_EXPLAIN'], $config['avatar_max_width'], $config['avatar_max_height'], round($config['avatar_filesize'] / 1024)))
|
||||
);
|
||||
'L_AVATAR_EXPLAIN' => phpbb_avatar_explanation_string(),
|
||||
));
|
||||
|
||||
break;
|
||||
|
||||
|
@ -1881,7 +1881,7 @@ class acp_users
|
|||
'FLASH_STATUS' => ($config['allow_sig_flash']) ? $user->lang['FLASH_IS_ON'] : $user->lang['FLASH_IS_OFF'],
|
||||
'URL_STATUS' => ($config['allow_sig_links']) ? $user->lang['URL_IS_ON'] : $user->lang['URL_IS_OFF'],
|
||||
|
||||
'L_SIGNATURE_EXPLAIN' => sprintf($user->lang['SIGNATURE_EXPLAIN'], $config['max_sig_chars']),
|
||||
'L_SIGNATURE_EXPLAIN' => $user->lang('SIGNATURE_EXPLAIN', (int) $config['max_sig_chars']),
|
||||
|
||||
'S_BBCODE_ALLOWED' => $config['allow_sig_bbcode'],
|
||||
'S_SMILIES_ALLOWED' => $config['allow_sig_smilies'],
|
||||
|
|
|
@ -4120,58 +4120,25 @@ function obtain_users_online_string($online_users, $item_id = 0, $item = 'forum'
|
|||
}
|
||||
else if ($config['load_online_guests'])
|
||||
{
|
||||
$l_online = ($online_users['guests_online'] === 1) ? $user->lang['BROWSING_' . $item_caps . '_GUEST'] : $user->lang['BROWSING_' . $item_caps . '_GUESTS'];
|
||||
$online_userlist = sprintf($l_online, $online_userlist, $online_users['guests_online']);
|
||||
$online_userlist = $user->lang('BROWSING_' . $item_caps . '_GUESTS', $online_users['guests_online'], $online_userlist);
|
||||
}
|
||||
else
|
||||
{
|
||||
$online_userlist = sprintf($user->lang['BROWSING_' . $item_caps], $online_userlist);
|
||||
}
|
||||
// Build online listing
|
||||
$vars_online = array(
|
||||
'ONLINE' => array('total_online', 'l_t_user_s', 0),
|
||||
'REG' => array('visible_online', 'l_r_user_s', !$config['load_online_guests']),
|
||||
'HIDDEN' => array('hidden_online', 'l_h_user_s', $config['load_online_guests']),
|
||||
'GUEST' => array('guests_online', 'l_g_user_s', 0)
|
||||
);
|
||||
|
||||
foreach ($vars_online as $l_prefix => $var_ary)
|
||||
{
|
||||
if ($var_ary[2])
|
||||
{
|
||||
$l_suffix = '_AND';
|
||||
}
|
||||
else
|
||||
{
|
||||
$l_suffix = '';
|
||||
}
|
||||
switch ($online_users[$var_ary[0]])
|
||||
{
|
||||
case 0:
|
||||
${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_ZERO_TOTAL' . $l_suffix];
|
||||
break;
|
||||
|
||||
case 1:
|
||||
${$var_ary[1]} = $user->lang[$l_prefix . '_USER_TOTAL' . $l_suffix];
|
||||
break;
|
||||
|
||||
default:
|
||||
${$var_ary[1]} = $user->lang[$l_prefix . '_USERS_TOTAL' . $l_suffix];
|
||||
break;
|
||||
}
|
||||
}
|
||||
unset($vars_online);
|
||||
|
||||
$l_online_users = sprintf($l_t_user_s, $online_users['total_online']);
|
||||
$l_online_users .= sprintf($l_r_user_s, $online_users['visible_online']);
|
||||
$l_online_users .= sprintf($l_h_user_s, $online_users['hidden_online']);
|
||||
$visible_online = $user->lang('REG_USERS_TOTAL', (int) $online_users['visible_online']);
|
||||
$hidden_online = $user->lang('HIDDEN_USERS_TOTAL', (int) $online_users['hidden_online']);
|
||||
|
||||
if ($config['load_online_guests'])
|
||||
{
|
||||
$l_online_users .= sprintf($l_g_user_s, $online_users['guests_online']);
|
||||
$guests_online = $user->lang('GUEST_USERS_TOTAL', (int) $online_users['guests_online']);
|
||||
$l_online_users = $user->lang('ONLINE_USERS_TOTAL_GUESTS', (int) $online_users['total_online'], $visible_online, $hidden_online, $guests_online);
|
||||
}
|
||||
else
|
||||
{
|
||||
$l_online_users = $user->lang('ONLINE_USERS_TOTAL', (int) $online_users['total_online'], $visible_online, $hidden_online);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return array(
|
||||
'online_userlist' => $online_userlist,
|
||||
|
@ -4214,6 +4181,178 @@ function phpbb_optionset($bit, $set, $data)
|
|||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine which plural form we should use.
|
||||
* For some languages this is not as simple as for English.
|
||||
*
|
||||
* @param $rule int ID of the plural rule we want to use, see http://wiki.phpbb.com/Plural_Rules#Plural_Rules
|
||||
* @param $number int|float The number we want to get the plural case for. Float numbers are floored.
|
||||
* @return int The plural-case we need to use for the number plural-rule combination
|
||||
*/
|
||||
function phpbb_get_plural_form($rule, $number)
|
||||
{
|
||||
$number = (int) $number;
|
||||
|
||||
if ($rule > 15 || $rule < 0)
|
||||
{
|
||||
trigger_error('INVALID_PLURAL_RULE');
|
||||
}
|
||||
|
||||
/**
|
||||
* The following plural rules are based on a list published by the Mozilla Developer Network
|
||||
* https://developer.mozilla.org/en/Localization_and_Plurals
|
||||
*/
|
||||
switch ($rule)
|
||||
{
|
||||
case 0:
|
||||
/**
|
||||
* Families: Asian (Chinese, Japanese, Korean, Vietnamese), Persian, Turkic/Altaic (Turkish), Thai, Lao
|
||||
* 1 - everything: 0, 1, 2, ...
|
||||
*/
|
||||
return 1;
|
||||
|
||||
case 1:
|
||||
/**
|
||||
* Families: Germanic (Danish, Dutch, English, Faroese, Frisian, German, Norwegian, Swedish), Finno-Ugric (Estonian, Finnish, Hungarian), Language isolate (Basque), Latin/Greek (Greek), Semitic (Hebrew), Romanic (Italian, Portuguese, Spanish, Catalan)
|
||||
* 1 - 1
|
||||
* 2 - everything else: 0, 2, 3, ...
|
||||
*/
|
||||
return ($number == 1) ? 1 : 2;
|
||||
|
||||
case 2:
|
||||
/**
|
||||
* Families: Romanic (French, Brazilian Portuguese)
|
||||
* 1 - 0, 1
|
||||
* 2 - everything else: 2, 3, ...
|
||||
*/
|
||||
return (($number == 0) || ($number == 1)) ? 1 : 2;
|
||||
|
||||
case 3:
|
||||
/**
|
||||
* Families: Baltic (Latvian)
|
||||
* 1 - 0
|
||||
* 2 - ends in 1, not 11: 1, 21, ... 101, 121, ...
|
||||
* 3 - everything else: 2, 3, ... 10, 11, 12, ... 20, 22, ...
|
||||
*/
|
||||
return ($number == 0) ? 1 : ((($number % 10 == 1) && ($number % 100 != 11)) ? 2 : 3);
|
||||
|
||||
case 4:
|
||||
/**
|
||||
* Families: Celtic (Scottish Gaelic)
|
||||
* 1 - is 1 or 11: 1, 11
|
||||
* 2 - is 2 or 12: 2, 12
|
||||
* 3 - others between 3 and 19: 3, 4, ... 10, 13, ... 18, 19
|
||||
* 4 - everything else: 0, 20, 21, ...
|
||||
*/
|
||||
return ($number == 1 || $number == 11) ? 1 : (($number == 2 || $number == 12) ? 2 : (($number >= 3 && $number <= 19) ? 3 : 4));
|
||||
|
||||
case 5:
|
||||
/**
|
||||
* Families: Romanic (Romanian)
|
||||
* 1 - 1
|
||||
* 2 - is 0 or ends in 01-19: 0, 2, 3, ... 19, 101, 102, ... 119, 201, ...
|
||||
* 3 - everything else: 20, 21, ...
|
||||
*/
|
||||
return ($number == 1) ? 1 : ((($number == 0) || (($number % 100 > 0) && ($number % 100 < 20))) ? 2 : 3);
|
||||
|
||||
case 6:
|
||||
/**
|
||||
* Families: Baltic (Lithuanian)
|
||||
* 1 - ends in 1, not 11: 1, 21, 31, ... 101, 121, ...
|
||||
* 2 - ends in 0 or ends in 10-20: 0, 10, 11, 12, ... 19, 20, 30, 40, ...
|
||||
* 3 - everything else: 2, 3, ... 8, 9, 22, 23, ... 29, 32, 33, ...
|
||||
*/
|
||||
return (($number % 10 == 1) && ($number % 100 != 11)) ? 1 : ((($number % 10 < 2) || (($number % 100 >= 10) && ($number % 100 < 20))) ? 2 : 3);
|
||||
|
||||
case 7:
|
||||
/**
|
||||
* Families: Slavic (Croatian, Serbian, Russian, Ukrainian)
|
||||
* 1 - ends in 1, not 11: 1, 21, 31, ... 101, 121, ...
|
||||
* 2 - ends in 2-4, not 12-14: 2, 3, 4, 22, 23, 24, 32, ...
|
||||
* 3 - everything else: 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 26, ...
|
||||
*/
|
||||
return (($number % 10 == 1) && ($number % 100 != 11)) ? 1 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 2 : 3);
|
||||
|
||||
case 8:
|
||||
/**
|
||||
* Families: Slavic (Slovak, Czech)
|
||||
* 1 - 1
|
||||
* 2 - 2, 3, 4
|
||||
* 3 - everything else: 0, 5, 6, 7, ...
|
||||
*/
|
||||
return ($number == 1) ? 1 : ((($number >= 2) && ($number <= 4)) ? 2 : 3);
|
||||
|
||||
case 9:
|
||||
/**
|
||||
* Families: Slavic (Polish)
|
||||
* 1 - 1
|
||||
* 2 - ends in 2-4, not 12-14: 2, 3, 4, 22, 23, 24, 32, ... 104, 122, ...
|
||||
* 3 - everything else: 0, 5, 6, ... 11, 12, 13, 14, 15, ... 20, 21, 25, ...
|
||||
*/
|
||||
return ($number == 1) ? 1 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 2 : 3);
|
||||
|
||||
case 10:
|
||||
/**
|
||||
* Families: Slavic (Slovenian, Sorbian)
|
||||
* 1 - ends in 01: 1, 101, 201, ...
|
||||
* 2 - ends in 02: 2, 102, 202, ...
|
||||
* 3 - ends in 03-04: 3, 4, 103, 104, 203, 204, ...
|
||||
* 4 - everything else: 0, 5, 6, 7, 8, 9, 10, 11, ...
|
||||
*/
|
||||
return ($number % 100 == 1) ? 1 : (($number % 100 == 2) ? 2 : ((($number % 100 == 3) || ($number % 100 == 4)) ? 3 : 4));
|
||||
|
||||
case 11:
|
||||
/**
|
||||
* Families: Celtic (Irish Gaeilge)
|
||||
* 1 - 1
|
||||
* 2 - 2
|
||||
* 3 - is 3-6: 3, 4, 5, 6
|
||||
* 4 - is 7-10: 7, 8, 9, 10
|
||||
* 5 - everything else: 0, 11, 12, ...
|
||||
*/
|
||||
return ($number == 1) ? 1 : (($number == 2) ? 2 : (($number >= 3 && $number <= 6) ? 3 : (($number >= 7 && $number <= 10) ? 4 : 5)));
|
||||
|
||||
case 12:
|
||||
/**
|
||||
* Families: Semitic (Arabic)
|
||||
* 1 - 1
|
||||
* 2 - 2
|
||||
* 3 - ends in 03-10: 3, 4, ... 10, 103, 104, ... 110, 203, 204, ...
|
||||
* 4 - ends in 11-99: 11, ... 99, 111, 112, ...
|
||||
* 5 - everything else: 100, 101, 102, 200, 201, 202, ...
|
||||
* 6 - 0
|
||||
*/
|
||||
return ($number == 1) ? 1 : (($number == 2) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : (($number != 0) ? 5 : 6))));
|
||||
|
||||
case 13:
|
||||
/**
|
||||
* Families: Semitic (Maltese)
|
||||
* 1 - 1
|
||||
* 2 - is 0 or ends in 01-10: 0, 2, 3, ... 9, 10, 101, 102, ...
|
||||
* 3 - ends in 11-19: 11, 12, ... 18, 19, 111, 112, ...
|
||||
* 4 - everything else: 20, 21, ...
|
||||
*/
|
||||
return ($number == 1) ? 1 : ((($number == 0) || (($number % 100 > 1) && ($number % 100 < 11))) ? 2 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 3 : 4));
|
||||
|
||||
case 14:
|
||||
/**
|
||||
* Families: Slavic (Macedonian)
|
||||
* 1 - ends in 1: 1, 11, 21, ...
|
||||
* 2 - ends in 2: 2, 12, 22, ...
|
||||
* 3 - everything else: 0, 3, 4, ... 10, 13, 14, ... 20, 23, ...
|
||||
*/
|
||||
return ($number % 10 == 1) ? 1 : (($number % 10 == 2) ? 2 : 3);
|
||||
|
||||
case 15:
|
||||
/**
|
||||
* Families: Icelandic
|
||||
* 1 - ends in 1, not 11: 1, 21, 31, ... 101, 121, 131, ...
|
||||
* 2 - everything else: 0, 2, 3, ... 10, 11, 12, ... 20, 22, ...
|
||||
*/
|
||||
return (($number % 10 == 1) && ($number % 100 != 11)) ? 1 : 2;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Login using http authenticate.
|
||||
*
|
||||
|
@ -4393,10 +4532,9 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
|
|||
set_config('record_online_date', time(), true);
|
||||
}
|
||||
|
||||
$l_online_record = sprintf($user->lang['RECORD_ONLINE_USERS'], $config['record_online_users'], $user->format_date($config['record_online_date'], false, true));
|
||||
$l_online_record = $user->lang('RECORD_ONLINE_USERS', (int) $config['record_online_users'], $user->format_date($config['record_online_date'], false, true));
|
||||
|
||||
$l_online_time = ($config['load_online_time'] == 1) ? 'VIEW_ONLINE_TIME' : 'VIEW_ONLINE_TIMES';
|
||||
$l_online_time = sprintf($user->lang[$l_online_time], $config['load_online_time']);
|
||||
$l_online_time = $user->lang('VIEW_ONLINE_TIMES', (int) $config['load_online_time']);
|
||||
}
|
||||
|
||||
$l_privmsgs_text = $l_privmsgs_text_unread = '';
|
||||
|
@ -4407,8 +4545,7 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
|
|||
{
|
||||
if ($user->data['user_new_privmsg'])
|
||||
{
|
||||
$l_message_new = ($user->data['user_new_privmsg'] == 1) ? $user->lang['NEW_PM'] : $user->lang['NEW_PMS'];
|
||||
$l_privmsgs_text = sprintf($l_message_new, $user->data['user_new_privmsg']);
|
||||
$l_privmsgs_text = $user->lang('NEW_PMS', (int) $user->data['user_new_privmsg']);
|
||||
|
||||
if (!$user->data['user_last_privmsg'] || $user->data['user_last_privmsg'] > $user->data['session_last_visit'])
|
||||
{
|
||||
|
@ -4426,7 +4563,7 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
|
|||
}
|
||||
else
|
||||
{
|
||||
$l_privmsgs_text = $user->lang['NO_NEW_PM'];
|
||||
$l_privmsgs_text = $user->lang('NEW_PMS', 0);
|
||||
$s_privmsg_new = false;
|
||||
}
|
||||
|
||||
|
@ -4434,8 +4571,7 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0
|
|||
|
||||
if ($user->data['user_unread_privmsg'] && $user->data['user_unread_privmsg'] != $user->data['user_new_privmsg'])
|
||||
{
|
||||
$l_message_unread = ($user->data['user_unread_privmsg'] == 1) ? $user->lang['UNREAD_PM'] : $user->lang['UNREAD_PMS'];
|
||||
$l_privmsgs_text_unread = sprintf($l_message_unread, $user->data['user_unread_privmsg']);
|
||||
$l_privmsgs_text_unread = $user->lang('UNREAD_PMS', (int) $user->data['user_unread_privmsg']);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -938,12 +938,12 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
|
|||
}
|
||||
|
||||
$download_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id']);
|
||||
$l_downloaded_viewed = 'VIEWED_COUNTS';
|
||||
|
||||
switch ($display_cat)
|
||||
{
|
||||
// Images
|
||||
case ATTACHMENT_CATEGORY_IMAGE:
|
||||
$l_downloaded_viewed = 'VIEWED_COUNT';
|
||||
$inline_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id']);
|
||||
$download_link .= '&mode=view';
|
||||
|
||||
|
@ -957,7 +957,6 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
|
|||
|
||||
// Images, but display Thumbnail
|
||||
case ATTACHMENT_CATEGORY_THUMB:
|
||||
$l_downloaded_viewed = 'VIEWED_COUNT';
|
||||
$thumbnail_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id'] . '&t=1');
|
||||
$download_link .= '&mode=view';
|
||||
|
||||
|
@ -971,7 +970,6 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
|
|||
|
||||
// Windows Media Streams
|
||||
case ATTACHMENT_CATEGORY_WM:
|
||||
$l_downloaded_viewed = 'VIEWED_COUNT';
|
||||
|
||||
// Giving the filename directly because within the wm object all variables are in local context making it impossible
|
||||
// to validate against a valid session (all params can differ)
|
||||
|
@ -990,7 +988,6 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
|
|||
// Real Media Streams
|
||||
case ATTACHMENT_CATEGORY_RM:
|
||||
case ATTACHMENT_CATEGORY_QUICKTIME:
|
||||
$l_downloaded_viewed = 'VIEWED_COUNT';
|
||||
|
||||
$block_array += array(
|
||||
'S_RM_FILE' => ($display_cat == ATTACHMENT_CATEGORY_RM) ? true : false,
|
||||
|
@ -1007,8 +1004,6 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
|
|||
case ATTACHMENT_CATEGORY_FLASH:
|
||||
list($width, $height) = @getimagesize($filename);
|
||||
|
||||
$l_downloaded_viewed = 'VIEWED_COUNT';
|
||||
|
||||
$block_array += array(
|
||||
'S_FLASH_FILE' => true,
|
||||
'WIDTH' => $width,
|
||||
|
@ -1021,7 +1016,7 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
|
|||
break;
|
||||
|
||||
default:
|
||||
$l_downloaded_viewed = 'DOWNLOAD_COUNT';
|
||||
$l_downloaded_viewed = 'DOWNLOAD_COUNTS';
|
||||
|
||||
$block_array += array(
|
||||
'S_FILE' => true,
|
||||
|
@ -1029,11 +1024,14 @@ function parse_attachments($forum_id, &$message, &$attachments, &$update_count,
|
|||
break;
|
||||
}
|
||||
|
||||
$l_download_count = (!isset($attachment['download_count']) || $attachment['download_count'] == 0) ? $user->lang[$l_downloaded_viewed . '_NONE'] : (($attachment['download_count'] == 1) ? sprintf($user->lang[$l_downloaded_viewed], $attachment['download_count']) : sprintf($user->lang[$l_downloaded_viewed . 'S'], $attachment['download_count']));
|
||||
if (!isset($attachment['download_count']))
|
||||
{
|
||||
$attachment['download_count'] = 0;
|
||||
}
|
||||
|
||||
$block_array += array(
|
||||
'U_DOWNLOAD_LINK' => $download_link,
|
||||
'L_DOWNLOAD_COUNT' => $l_download_count
|
||||
'L_DOWNLOAD_COUNT' => $user->lang($l_downloaded_viewed, (int) $attachment['download_count']),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -1043,10 +1043,10 @@ function display_user_activity(&$userdata)
|
|||
|
||||
$template->assign_vars(array(
|
||||
'ACTIVE_FORUM' => $active_f_name,
|
||||
'ACTIVE_FORUM_POSTS' => ($active_f_count == 1) ? sprintf($user->lang['USER_POST'], 1) : sprintf($user->lang['USER_POSTS'], $active_f_count),
|
||||
'ACTIVE_FORUM_POSTS' => $user->lang('USER_POSTS', (int) $active_f_count),
|
||||
'ACTIVE_FORUM_PCT' => sprintf($l_active_pct, $active_f_pct),
|
||||
'ACTIVE_TOPIC' => censor_text($active_t_name),
|
||||
'ACTIVE_TOPIC_POSTS' => ($active_t_count == 1) ? sprintf($user->lang['USER_POST'], 1) : sprintf($user->lang['USER_POSTS'], $active_t_count),
|
||||
'ACTIVE_TOPIC_POSTS' => $user->lang('USER_POSTS', (int) $active_t_count),
|
||||
'ACTIVE_TOPIC_PCT' => sprintf($l_active_pct, $active_t_pct),
|
||||
'U_ACTIVE_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $active_f_id),
|
||||
'U_ACTIVE_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't=' . $active_t_id),
|
||||
|
|
|
@ -1330,7 +1330,7 @@ function get_folder_status($folder_id, $folder)
|
|||
'percent' => ($user->data['message_limit']) ? (($user->data['message_limit'] > 0) ? round(($folder['num_messages'] / $user->data['message_limit']) * 100) : 100) : 0,
|
||||
);
|
||||
|
||||
$return['message'] = sprintf($user->lang['FOLDER_STATUS_MSG'], $return['percent'], $return['cur'], $return['max']);
|
||||
$return['message'] = $user->lang('FOLDER_STATUS_MSG', (int) $return['max'], $return['cur'], $return['percent']);
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
|
|
@ -315,32 +315,32 @@ class custom_profile
|
|||
case 'FIELD_INVALID_DATE':
|
||||
case 'FIELD_INVALID_VALUE':
|
||||
case 'FIELD_REQUIRED':
|
||||
$error = sprintf($user->lang[$cp_result], $row['lang_name']);
|
||||
$error = $user->lang($cp_result, $row['lang_name']);
|
||||
break;
|
||||
|
||||
case 'FIELD_TOO_SHORT':
|
||||
case 'FIELD_TOO_SMALL':
|
||||
$error = sprintf($user->lang[$cp_result], $row['lang_name'], $row['field_minlen']);
|
||||
$error = $user->lang($cp_result, (int) $row['field_minlen'], $row['lang_name']);
|
||||
break;
|
||||
|
||||
case 'FIELD_TOO_LONG':
|
||||
case 'FIELD_TOO_LARGE':
|
||||
$error = sprintf($user->lang[$cp_result], $row['lang_name'], $row['field_maxlen']);
|
||||
$error = $user->lang($cp_result, (int) $row['field_maxlen'], $row['lang_name']);
|
||||
break;
|
||||
|
||||
case 'FIELD_INVALID_CHARS':
|
||||
switch ($row['field_validation'])
|
||||
{
|
||||
case '[0-9]+':
|
||||
$error = sprintf($user->lang[$cp_result . '_NUMBERS_ONLY'], $row['lang_name']);
|
||||
$error = $user->lang($cp_result . '_NUMBERS_ONLY', $row['lang_name']);
|
||||
break;
|
||||
|
||||
case '[\w]+':
|
||||
$error = sprintf($user->lang[$cp_result . '_ALPHA_ONLY'], $row['lang_name']);
|
||||
$error = $user->lang($cp_result . '_ALPHA_ONLY', $row['lang_name']);
|
||||
break;
|
||||
|
||||
case '[\w_\+\. \-\[\]]+':
|
||||
$error = sprintf($user->lang[$cp_result . '_SPACERS_ONLY'], $row['lang_name']);
|
||||
$error = $user->lang($cp_result . '_SPACERS_ONLY', $row['lang_name']);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -427,7 +427,13 @@ class filespec
|
|||
|
||||
if (!$this->upload->valid_dimensions($this))
|
||||
{
|
||||
$this->error[] = sprintf($user->lang[$this->upload->error_prefix . 'WRONG_SIZE'], $this->upload->min_width, $this->upload->min_height, $this->upload->max_width, $this->upload->max_height, $this->width, $this->height);
|
||||
$this->error[] = $user->lang($this->upload->error_prefix . 'WRONG_SIZE',
|
||||
$user->lang('PIXELS', (int) $this->upload->min_width),
|
||||
$user->lang('PIXELS', (int) $this->upload->min_height),
|
||||
$user->lang('PIXELS', (int) $this->upload->max_width),
|
||||
$user->lang('PIXELS', (int) $this->upload->max_height),
|
||||
$user->lang('PIXELS', (int) $this->width),
|
||||
$user->lang('PIXELS', (int) $this->height));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -2039,7 +2039,7 @@ function avatar_remote($data, &$error)
|
|||
{
|
||||
if ($width > $config['avatar_max_width'] || $height > $config['avatar_max_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $width, $height);
|
||||
$error[] = phpbb_avatar_error_wrong_size($width, $height);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -2048,7 +2048,7 @@ function avatar_remote($data, &$error)
|
|||
{
|
||||
if ($width < $config['avatar_min_width'] || $height < $config['avatar_min_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $width, $height);
|
||||
$error[] = phpbb_avatar_error_wrong_size($width, $height);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -2388,7 +2388,7 @@ function avatar_process_user(&$error, $custom_userdata = false, $can_upload = nu
|
|||
{
|
||||
if ($data['width'] > $config['avatar_max_width'] || $data['height'] > $config['avatar_max_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']);
|
||||
$error[] = phpbb_avatar_error_wrong_size($data['width'], $data['height']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2398,7 +2398,7 @@ function avatar_process_user(&$error, $custom_userdata = false, $can_upload = nu
|
|||
{
|
||||
if ($data['width'] < $config['avatar_min_width'] || $data['height'] < $config['avatar_min_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']);
|
||||
$error[] = phpbb_avatar_error_wrong_size($data['width'], $data['height']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2444,6 +2444,41 @@ function avatar_process_user(&$error, $custom_userdata = false, $can_upload = nu
|
|||
return (sizeof($error)) ? false : true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a language string with the avatar size of the new avatar and the allowed maximum and minimum
|
||||
*
|
||||
* @param $width int The width of the new uploaded/selected avatar
|
||||
* @param $height int The height of the new uploaded/selected avatar
|
||||
* @return string
|
||||
*/
|
||||
function phpbb_avatar_error_wrong_size($width, $height)
|
||||
{
|
||||
global $config, $user;
|
||||
|
||||
return $user->lang('AVATAR_WRONG_SIZE',
|
||||
$user->lang('PIXELS', (int) $config['avatar_min_width']),
|
||||
$user->lang('PIXELS', (int) $config['avatar_min_height']),
|
||||
$user->lang('PIXELS', (int) $config['avatar_max_width']),
|
||||
$user->lang('PIXELS', (int) $config['avatar_max_height']),
|
||||
$user->lang('PIXELS', (int) $width),
|
||||
$user->lang('PIXELS', (int) $height));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an explanation string with maximum avatar settings
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function phpbb_avatar_explanation_string()
|
||||
{
|
||||
global $config, $user;
|
||||
|
||||
return $user->lang('AVATAR_EXPLAIN',
|
||||
$user->lang('PIXELS', (int) $config['avatar_max_width']),
|
||||
$user->lang('PIXELS', (int) $config['avatar_max_height']),
|
||||
round($config['avatar_filesize'] / 1024));
|
||||
}
|
||||
|
||||
//
|
||||
// Usergroup functions
|
||||
//
|
||||
|
|
|
@ -132,7 +132,7 @@ function mcp_forum_view($id, $mode, $action, $forum_info)
|
|||
|
||||
'PAGINATION' => generate_pagination($url . "&i=$id&action=$action&mode=$mode&sd=$sort_dir&sk=$sort_key&st=$sort_days" . (($merge_select) ? $selected_ids : ''), $forum_topics, $topics_per_page, $start),
|
||||
'PAGE_NUMBER' => on_page($forum_topics, $topics_per_page, $start),
|
||||
'TOTAL_TOPICS' => ($forum_topics == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $forum_topics),
|
||||
'TOTAL_TOPICS' => $user->lang('VIEW_FORUM_TOPICS', (int) $forum_topics),
|
||||
));
|
||||
|
||||
// Grab icons
|
||||
|
|
|
@ -119,22 +119,9 @@ function mcp_front_view($id, $mode, $action)
|
|||
$template->assign_vars(array(
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
'S_MCP_QUEUE_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=queue"),
|
||||
'L_UNAPPROVED_TOTAL' => $user->lang('UNAPPROVED_POSTS_TOTAL', (int) $total),
|
||||
'S_HAS_UNAPPROVED_POSTS'=> ($total != 0),
|
||||
));
|
||||
|
||||
if ($total == 0)
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'L_UNAPPROVED_TOTAL' => $user->lang['UNAPPROVED_POSTS_ZERO_TOTAL'],
|
||||
'S_HAS_UNAPPROVED_POSTS' => false)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'L_UNAPPROVED_TOTAL' => ($total == 1) ? $user->lang['UNAPPROVED_POST_TOTAL'] : sprintf($user->lang['UNAPPROVED_POSTS_TOTAL'], $total),
|
||||
'S_HAS_UNAPPROVED_POSTS' => true)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -220,20 +207,10 @@ function mcp_front_view($id, $mode, $action)
|
|||
}
|
||||
}
|
||||
|
||||
if ($total == 0)
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'L_REPORTS_TOTAL' => $user->lang['REPORTS_ZERO_TOTAL'],
|
||||
'S_HAS_REPORTS' => false)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'L_REPORTS_TOTAL' => ($total == 1) ? $user->lang['REPORT_TOTAL'] : sprintf($user->lang['REPORTS_TOTAL'], $total),
|
||||
'S_HAS_REPORTS' => true)
|
||||
);
|
||||
}
|
||||
$template->assign_vars(array(
|
||||
'L_REPORTS_TOTAL' => $user->lang('REPORTS_TOTAL', (int) $total),
|
||||
'S_HAS_REPORTS' => ($total != 0),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -313,20 +290,10 @@ function mcp_front_view($id, $mode, $action)
|
|||
}
|
||||
}
|
||||
|
||||
if ($total == 0)
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'L_PM_REPORTS_TOTAL' => $user->lang['PM_REPORTS_ZERO_TOTAL'],
|
||||
'S_HAS_PM_REPORTS' => false)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'L_PM_REPORTS_TOTAL' => ($total == 1) ? $user->lang['PM_REPORT_TOTAL'] : sprintf($user->lang['PM_REPORTS_TOTAL'], $total),
|
||||
'S_HAS_PM_REPORTS' => true)
|
||||
);
|
||||
}
|
||||
$template->assign_vars(array(
|
||||
'L_PM_REPORTS_TOTAL' => $user->lang('PM_REPORTS_TOTAL', (int) $total),
|
||||
'S_HAS_PM_REPORTS' => ($total != 0),
|
||||
));
|
||||
}
|
||||
|
||||
// Latest 5 logs
|
||||
|
|
|
@ -174,7 +174,7 @@ class mcp_logs
|
|||
|
||||
$template->assign_vars(array(
|
||||
'PAGE_NUMBER' => on_page($log_count, $config['topics_per_page'], $start),
|
||||
'TOTAL' => ($log_count == 1) ? $user->lang['TOTAL_LOG'] : sprintf($user->lang['TOTAL_LOGS'], $log_count),
|
||||
'TOTAL' => $user->lang('TOTAL_LOGS', (int) $log_count),
|
||||
'PAGINATION' => generate_pagination($this->u_action . "&$u_sort_param$keywords_param", $log_count, $config['topics_per_page'], $start),
|
||||
|
||||
'L_TITLE' => $user->lang['MCP_LOGS'],
|
||||
|
|
|
@ -228,7 +228,7 @@ class mcp_notes
|
|||
|
||||
'PAGE_NUMBER' => on_page($log_count, $config['topics_per_page'], $start),
|
||||
'PAGINATION' => generate_pagination($this->u_action . "&$u_sort_param$keywords_param", $log_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_REPORTS' => ($log_count == 1) ? $user->lang['LIST_REPORT'] : sprintf($user->lang['LIST_REPORTS'], $log_count),
|
||||
'TOTAL_REPORTS' => $user->lang('LIST_REPORTS', (int) $log_count),
|
||||
|
||||
'RANK_TITLE' => $rank_title,
|
||||
'JOINED' => $user->format_date($userrow['user_regdate']),
|
||||
|
|
|
@ -311,7 +311,7 @@ class mcp_pm_reports
|
|||
'PAGINATION' => generate_pagination($this->u_action . "&st=$sort_days&sk=$sort_key&sd=$sort_dir", $total, $config['topics_per_page'], $start),
|
||||
'PAGE_NUMBER' => on_page($total, $config['topics_per_page'], $start),
|
||||
'TOTAL' => $total,
|
||||
'TOTAL_REPORTS' => ($total == 1) ? $user->lang['LIST_REPORT'] : sprintf($user->lang['LIST_REPORTS'], $total),
|
||||
'TOTAL_REPORTS' => $user->lang('LIST_REPORTS', (int) $total),
|
||||
)
|
||||
);
|
||||
|
||||
|
|
|
@ -436,7 +436,7 @@ class mcp_queue
|
|||
'PAGINATION' => generate_pagination($this->u_action . "&f=$forum_id&st=$sort_days&sk=$sort_key&sd=$sort_dir", $total, $config['topics_per_page'], $start),
|
||||
'PAGE_NUMBER' => on_page($total, $config['topics_per_page'], $start),
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'TOTAL' => ($total == 1) ? (($mode == 'unapproved_posts') ? $user->lang['VIEW_TOPIC_POST'] : $user->lang['VIEW_FORUM_TOPIC']) : sprintf((($mode == 'unapproved_posts') ? $user->lang['VIEW_TOPIC_POSTS'] : $user->lang['VIEW_FORUM_TOPICS']), $total),
|
||||
'TOTAL' => $user->lang((($mode == 'unapproved_posts') ? 'VIEW_TOPIC_POSTS' : 'VIEW_FORUM_TOPICS'), (int) $total),
|
||||
));
|
||||
|
||||
$this->tpl_name = 'mcp_queue';
|
||||
|
|
|
@ -425,7 +425,7 @@ class mcp_reports
|
|||
'PAGE_NUMBER' => on_page($total, $config['topics_per_page'], $start),
|
||||
'TOPIC_ID' => $topic_id,
|
||||
'TOTAL' => $total,
|
||||
'TOTAL_REPORTS' => ($total == 1) ? $user->lang['LIST_REPORT'] : sprintf($user->lang['LIST_REPORTS'], $total),
|
||||
'TOTAL_REPORTS' => $user->lang('LIST_REPORTS', (int) $total),
|
||||
)
|
||||
);
|
||||
|
||||
|
|
|
@ -336,7 +336,7 @@ function mcp_topic_view($id, $mode, $action)
|
|||
|
||||
'PAGE_NUMBER' => on_page($total, $posts_per_page, $start),
|
||||
'PAGINATION' => (!$posts_per_page) ? '' : generate_pagination(append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&t={$topic_info['topic_id']}&mode=$mode&action=$action&to_topic_id=$to_topic_id&posts_per_page=$posts_per_page&st=$sort_days&sk=$sort_key&sd=$sort_dir"), $total, $posts_per_page, $start),
|
||||
'TOTAL_POSTS' => ($total == 1) ? $user->lang['VIEW_TOPIC_POST'] : sprintf($user->lang['VIEW_TOPIC_POSTS'], $total),
|
||||
'TOTAL_POSTS' => $user->lang('VIEW_TOPIC_POSTS', (int) $total),
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -185,7 +185,7 @@ class mcp_warn
|
|||
|
||||
'PAGE_NUMBER' => on_page($user_count, $config['topics_per_page'], $start),
|
||||
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}mcp.$phpEx", "i=warn&mode=list&st=$st&sk=$sk&sd=$sd"), $user_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_USERS' => ($user_count == 1) ? $user->lang['LIST_USER'] : sprintf($user->lang['LIST_USERS'], $user_count),
|
||||
'TOTAL_USERS' => $user->lang('LIST_USERS', (int) $user_count),
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -210,7 +210,7 @@ class bbcode_firstpass extends bbcode
|
|||
|
||||
if ($config['max_' . $this->mode . '_font_size'] && $config['max_' . $this->mode . '_font_size'] < $stx)
|
||||
{
|
||||
$this->warn_msg[] = sprintf($user->lang['MAX_FONT_SIZE_EXCEEDED'], $config['max_' . $this->mode . '_font_size']);
|
||||
$this->warn_msg[] = $user->lang('MAX_FONT_SIZE_EXCEEDED', (int) $config['max_' . $this->mode . '_font_size']);
|
||||
|
||||
return '[size=' . $stx . ']' . $in . '[/size]';
|
||||
}
|
||||
|
@ -319,13 +319,13 @@ class bbcode_firstpass extends bbcode
|
|||
if ($config['max_' . $this->mode . '_img_height'] && $config['max_' . $this->mode . '_img_height'] < $stats[1])
|
||||
{
|
||||
$error = true;
|
||||
$this->warn_msg[] = sprintf($user->lang['MAX_IMG_HEIGHT_EXCEEDED'], $config['max_' . $this->mode . '_img_height']);
|
||||
$this->warn_msg[] = $user->lang('MAX_IMG_HEIGHT_EXCEEDED', (int) $config['max_' . $this->mode . '_img_height']);
|
||||
}
|
||||
|
||||
if ($config['max_' . $this->mode . '_img_width'] && $config['max_' . $this->mode . '_img_width'] < $stats[0])
|
||||
{
|
||||
$error = true;
|
||||
$this->warn_msg[] = sprintf($user->lang['MAX_IMG_WIDTH_EXCEEDED'], $config['max_' . $this->mode . '_img_width']);
|
||||
$this->warn_msg[] = $user->lang('MAX_IMG_WIDTH_EXCEEDED', (int) $config['max_' . $this->mode . '_img_width']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -374,13 +374,13 @@ class bbcode_firstpass extends bbcode
|
|||
if ($config['max_' . $this->mode . '_img_height'] && $config['max_' . $this->mode . '_img_height'] < $height)
|
||||
{
|
||||
$error = true;
|
||||
$this->warn_msg[] = sprintf($user->lang['MAX_FLASH_HEIGHT_EXCEEDED'], $config['max_' . $this->mode . '_img_height']);
|
||||
$this->warn_msg[] = $user->lang('MAX_FLASH_HEIGHT_EXCEEDED', (int) $config['max_' . $this->mode . '_img_height']);
|
||||
}
|
||||
|
||||
if ($config['max_' . $this->mode . '_img_width'] && $config['max_' . $this->mode . '_img_width'] < $width)
|
||||
{
|
||||
$error = true;
|
||||
$this->warn_msg[] = sprintf($user->lang['MAX_FLASH_WIDTH_EXCEEDED'], $config['max_' . $this->mode . '_img_width']);
|
||||
$this->warn_msg[] = $user->lang('MAX_FLASH_WIDTH_EXCEEDED', (int) $config['max_' . $this->mode . '_img_width']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -772,7 +772,7 @@ class bbcode_firstpass extends bbcode
|
|||
if ($config['max_quote_depth'] && sizeof($close_tags) >= $config['max_quote_depth'])
|
||||
{
|
||||
// there are too many nested quotes
|
||||
$error_ary['quote_depth'] = sprintf($user->lang['QUOTE_DEPTH_EXCEEDED'], $config['max_quote_depth']);
|
||||
$error_ary['quote_depth'] = $user->lang('QUOTE_DEPTH_EXCEEDED', (int) $config['max_quote_depth']);
|
||||
|
||||
$out .= $buffer . $tok;
|
||||
$tok = '[]';
|
||||
|
@ -1117,7 +1117,7 @@ class parse_message extends bbcode_firstpass
|
|||
// Maximum message length check. 0 disables this check completely.
|
||||
if ((int) $config['max_' . $mode . '_chars'] > 0 && $message_length > (int) $config['max_' . $mode . '_chars'])
|
||||
{
|
||||
$this->warn_msg[] = sprintf($user->lang['TOO_MANY_CHARS_' . strtoupper($mode)], $message_length, (int) $config['max_' . $mode . '_chars']);
|
||||
$this->warn_msg[] = $user->lang('TOO_MANY_CHARS_' . strtoupper($mode), $message_length, (int) $config['max_' . $mode . '_chars']);
|
||||
return (!$update_this_message) ? $return_message : $this->warn_msg;
|
||||
}
|
||||
|
||||
|
@ -1126,7 +1126,7 @@ class parse_message extends bbcode_firstpass
|
|||
{
|
||||
if (!$message_length || $message_length < (int) $config['min_post_chars'])
|
||||
{
|
||||
$this->warn_msg[] = (!$message_length) ? $user->lang['TOO_FEW_CHARS'] : sprintf($user->lang['TOO_FEW_CHARS_LIMIT'], $message_length, (int) $config['min_post_chars']);
|
||||
$this->warn_msg[] = (!$message_length) ? $user->lang['TOO_FEW_CHARS'] : $user->lang('TOO_FEW_CHARS_LIMIT', $message_length, (int) $config['min_post_chars']);
|
||||
return (!$update_this_message) ? $return_message : $this->warn_msg;
|
||||
}
|
||||
}
|
||||
|
@ -1445,7 +1445,7 @@ class parse_message extends bbcode_firstpass
|
|||
}
|
||||
else
|
||||
{
|
||||
$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
|
||||
$error[] = $user->lang('TOO_MANY_ATTACHMENTS', (int) $cfg['max_attachments']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1536,7 +1536,7 @@ class parse_message extends bbcode_firstpass
|
|||
}
|
||||
else
|
||||
{
|
||||
$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
|
||||
$error[] = $user->lang('TOO_MANY_ATTACHMENTS', (int) $cfg['max_attachments']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1821,6 +1821,9 @@ class user extends session
|
|||
* This function/functionality is inspired by SHS` and Ashe.
|
||||
*
|
||||
* Example call: <samp>$user->lang('NUM_POSTS_IN_QUEUE', 1);</samp>
|
||||
*
|
||||
* If the first parameter is an array, the elements are used as keys and subkeys to get the language entry:
|
||||
* Example: <samp>$user->lang(array('datetime', 'AGO'), 1)</samp> uses $user->lang['datetime']['AGO'] as language entry.
|
||||
*/
|
||||
function lang()
|
||||
{
|
||||
|
@ -1859,6 +1862,11 @@ class user extends session
|
|||
$args[0] = $lang;
|
||||
return call_user_func_array('sprintf', $args);
|
||||
}
|
||||
else if (sizeof($lang) == 0)
|
||||
{
|
||||
// If the language entry is an empty array, we just return the language key
|
||||
return $args[0];
|
||||
}
|
||||
|
||||
// It is an array... now handle different nullar/singular/plural forms
|
||||
$key_found = false;
|
||||
|
@ -1866,20 +1874,40 @@ class user extends session
|
|||
// We now get the first number passed and will select the key based upon this number
|
||||
for ($i = 1, $num_args = sizeof($args); $i < $num_args; $i++)
|
||||
{
|
||||
if (is_int($args[$i]))
|
||||
if (is_int($args[$i]) || is_float($args[$i]))
|
||||
{
|
||||
$numbers = array_keys($lang);
|
||||
|
||||
foreach ($numbers as $num)
|
||||
if ($args[$i] == 0 && isset($lang[0]))
|
||||
{
|
||||
if ($num > $args[$i])
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
$key_found = $num;
|
||||
// We allow each translation using plural forms to specify a version for the case of 0 things,
|
||||
// so that "0 users" may be displayed as "No users".
|
||||
$key_found = 0;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
$use_plural_form = $this->get_plural_form($args[$i]);
|
||||
if (isset($lang[$use_plural_form]))
|
||||
{
|
||||
// The key we should use exists, so we use it.
|
||||
$key_found = $use_plural_form;
|
||||
}
|
||||
else
|
||||
{
|
||||
// If the key we need to use does not exist, we fall back to the previous one.
|
||||
$numbers = array_keys($lang);
|
||||
|
||||
foreach ($numbers as $num)
|
||||
{
|
||||
if ($num > $use_plural_form)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
$key_found = $num;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1895,6 +1923,25 @@ class user extends session
|
|||
return call_user_func_array('sprintf', $args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine which plural form we should use.
|
||||
* For some languages this is not as simple as for English.
|
||||
*
|
||||
* @param $number int|float The number we want to get the plural case for. Float numbers are floored.
|
||||
* @param $force_rule mixed False to use the plural rule of the language package
|
||||
* or an integer to force a certain plural rule
|
||||
* @return int The plural-case we need to use for the number plural-rule combination
|
||||
*/
|
||||
function get_plural_form($number, $force_rule = false)
|
||||
{
|
||||
$number = (int) $number;
|
||||
|
||||
// Default to English system
|
||||
$plural_rule = ($force_rule !== false) ? $force_rule : ((isset($this->lang['PLURAL_RULE'])) ? $this->lang['PLURAL_RULE'] : 1);
|
||||
|
||||
return phpbb_get_plural_form($plural_rule, $number);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add Language Items - use_db and use_help are assigned where needed (only use them to force inclusion)
|
||||
*
|
||||
|
@ -2099,9 +2146,9 @@ class user extends session
|
|||
// Zone offset
|
||||
$zone_offset = $this->timezone + $this->dst;
|
||||
|
||||
// Show date <= 1 hour ago as 'xx min ago' but not greater than 60 seconds in the future
|
||||
// Show date < 1 hour ago as 'xx min ago' but not greater than 60 seconds in the future
|
||||
// A small tolerence is given for times in the future but in the same minute are displayed as '< than a minute ago'
|
||||
if ($delta <= 3600 && $delta > -60 && ($delta >= -5 || (($now / 60) % 60) == (($gmepoch / 60) % 60)) && $date_cache[$format]['is_short'] !== false && !$forcedate && isset($this->lang['datetime']['AGO']))
|
||||
if ($delta < 3600 && $delta > -60 && ($delta >= -5 || (($now / 60) % 60) == (($gmepoch / 60) % 60)) && $date_cache[$format]['is_short'] !== false && !$forcedate && isset($this->lang['datetime']['AGO']))
|
||||
{
|
||||
return $this->lang(array('datetime', 'AGO'), max(0, (int) floor($delta / 60)));
|
||||
}
|
||||
|
|
|
@ -561,7 +561,7 @@ class ucp_groups
|
|||
{
|
||||
if ($data['width'] > $config['avatar_max_width'] || $data['height'] > $config['avatar_max_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']);
|
||||
$error[] = phpbb_avatar_error_wrong_size($data['width'], $data['height']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -571,7 +571,7 @@ class ucp_groups
|
|||
{
|
||||
if ($data['width'] < $config['avatar_min_width'] || $data['height'] < $config['avatar_min_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']);
|
||||
$error[] = phpbb_avatar_error_wrong_size($data['width'], $data['height']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -732,7 +732,7 @@ class ucp_groups
|
|||
|
||||
'U_SWATCH' => append_sid("{$phpbb_root_path}adm/swatch.$phpEx", 'form=ucp&name=group_colour'),
|
||||
'S_UCP_ACTION' => $this->u_action . "&action=$action&g=$group_id",
|
||||
'L_AVATAR_EXPLAIN' => sprintf($user->lang['AVATAR_EXPLAIN'], $config['avatar_max_width'], $config['avatar_max_height'], $config['avatar_filesize'] / 1024),
|
||||
'L_AVATAR_EXPLAIN' => phpbb_avatar_explanation_string(),
|
||||
));
|
||||
|
||||
break;
|
||||
|
@ -1068,7 +1068,7 @@ class ucp_groups
|
|||
'mode' => $mode,
|
||||
'action' => $action
|
||||
);
|
||||
confirm_box(false, sprintf($user->lang['GROUP_CONFIRM_ADD_USER' . ((sizeof($name_ary) == 1) ? '' : 'S')], implode(', ', $name_ary)), build_hidden_fields($s_hidden_fields));
|
||||
confirm_box(false, $user->lang('GROUP_CONFIRM_ADD_USERS', sizeof($name_ary), implode(', ', $name_ary)), build_hidden_fields($s_hidden_fields));
|
||||
}
|
||||
|
||||
trigger_error($user->lang['NO_USERS_ADDED'] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $this->u_action . '&action=list&g=' . $group_id . '">', '</a>'));
|
||||
|
|
|
@ -194,8 +194,8 @@ class ucp_main
|
|||
'VISITED' => (empty($last_visit)) ? ' - ' : $user->format_date($last_visit),
|
||||
'WARNINGS' => ($user->data['user_warnings']) ? $user->data['user_warnings'] : 0,
|
||||
'POSTS' => ($user->data['user_posts']) ? $user->data['user_posts'] : 0,
|
||||
'POSTS_DAY' => sprintf($user->lang['POST_DAY'], $posts_per_day),
|
||||
'POSTS_PCT' => sprintf($user->lang['POST_PCT'], $percentage),
|
||||
'POSTS_DAY' => $user->lang('POST_DAY', $posts_per_day),
|
||||
'POSTS_PCT' => $user->lang('POST_PCT', $percentage),
|
||||
|
||||
'OCCUPATION' => (!empty($row['user_occ'])) ? $row['user_occ'] : '',
|
||||
'INTERESTS' => (!empty($row['user_interests'])) ? $row['user_interests'] : '',
|
||||
|
@ -674,8 +674,8 @@ class ucp_main
|
|||
$template->assign_vars(array(
|
||||
'PAGINATION' => generate_pagination($this->u_action, $topics_count, $config['topics_per_page'], $start),
|
||||
'PAGE_NUMBER' => on_page($topics_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_TOPICS' => ($topics_count == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $topics_count))
|
||||
);
|
||||
'TOTAL_TOPICS' => $user->lang('VIEW_FORUM_TOPICS', (int) $topics_count),
|
||||
));
|
||||
}
|
||||
|
||||
if ($mode == 'subscribed')
|
||||
|
|
|
@ -345,8 +345,8 @@ class ucp_pm
|
|||
'NUM_NOT_MOVED' => $num_not_moved,
|
||||
'NUM_REMOVED' => $num_removed,
|
||||
'RELEASE_MESSAGE_INFO' => sprintf($user->lang['RELEASE_MESSAGES'], '<a href="' . $this->u_action . '&folder=' . $folder_id . '&release=1">', '</a>'),
|
||||
'NOT_MOVED_MESSAGES' => ($num_not_moved == 1) ? $user->lang['NOT_MOVED_MESSAGE'] : sprintf($user->lang['NOT_MOVED_MESSAGES'], $num_not_moved),
|
||||
'RULE_REMOVED_MESSAGES' => ($num_removed == 1) ? $user->lang['RULE_REMOVED_MESSAGE'] : sprintf($user->lang['RULE_REMOVED_MESSAGES'], $num_removed),
|
||||
'NOT_MOVED_MESSAGES' => $user->lang('NOT_MOVED_MESSAGES', (int) $num_not_moved),
|
||||
'RULE_REMOVED_MESSAGES' => $user->lang('RULE_REMOVED_MESSAGES', (int) $num_removed),
|
||||
|
||||
'S_FOLDER_OPTIONS' => $s_folder_options,
|
||||
'S_TO_FOLDER_OPTIONS' => $s_to_folder_options,
|
||||
|
|
|
@ -1053,7 +1053,7 @@ function compose_pm($id, $mode, $action, $user_folders = array())
|
|||
$template->assign_vars(array(
|
||||
'L_POST_A' => $page_title,
|
||||
'L_ICON' => $user->lang['PM_ICON'],
|
||||
'L_MESSAGE_BODY_EXPLAIN' => (intval($config['max_post_chars'])) ? sprintf($user->lang['MESSAGE_BODY_EXPLAIN'], intval($config['max_post_chars'])) : '',
|
||||
'L_MESSAGE_BODY_EXPLAIN' => $user->lang('MESSAGE_BODY_EXPLAIN', (int) $config['max_post_chars']),
|
||||
|
||||
'SUBJECT' => (isset($message_subject)) ? $message_subject : '',
|
||||
'MESSAGE' => $message_text,
|
||||
|
|
|
@ -231,7 +231,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
|||
// Something went wrong, only partially moved?
|
||||
if ($num_moved != $folder_row['pm_count'])
|
||||
{
|
||||
trigger_error(sprintf($user->lang['MOVE_PM_ERROR'], $num_moved, $folder_row['pm_count']));
|
||||
trigger_error($user->lang('MOVE_PM_ERROR', (int) $folder_row['pm_count'], $num_moved));
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -409,7 +409,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
|||
|
||||
$folder[PRIVMSGS_INBOX] = array(
|
||||
'folder_name' => $user->lang['PM_INBOX'],
|
||||
'message_status' => sprintf($user->lang['FOLDER_MESSAGE_STATUS'], $num_messages, $user->data['message_limit'])
|
||||
'message_status' => $user->lang('FOLDER_MESSAGE_STATUS', (int) $user->data['message_limit'], $num_messages),
|
||||
);
|
||||
|
||||
$sql = 'SELECT folder_id, folder_name, pm_count
|
||||
|
@ -423,7 +423,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
|
|||
$num_user_folder++;
|
||||
$folder[$row['folder_id']] = array(
|
||||
'folder_name' => $row['folder_name'],
|
||||
'message_status' => sprintf($user->lang['FOLDER_MESSAGE_STATUS'], $row['pm_count'], $user->data['message_limit'])
|
||||
'message_status' => $user->lang('FOLDER_MESSAGE_STATUS', (int) $user->data['message_limit'], $row['pm_count']),
|
||||
);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
|
|
@ -455,7 +455,7 @@ function get_pm_from($folder_id, $folder, $user_id)
|
|||
$template->assign_vars(array(
|
||||
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}ucp.$phpEx", "i=pm&mode=view&action=view_folder&f=$folder_id&$u_sort_param"), $pm_count, $config['topics_per_page'], $start),
|
||||
'PAGE_NUMBER' => on_page($pm_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_MESSAGES' => (($pm_count == 1) ? $user->lang['VIEW_PM_MESSAGE'] : sprintf($user->lang['VIEW_PM_MESSAGES'], $pm_count)),
|
||||
'TOTAL_MESSAGES' => $user->lang('VIEW_PM_MESSAGES', (int) $pm_count),
|
||||
|
||||
'POST_IMG' => (!$auth->acl_get('u_sendpm')) ? $user->img('button_topic_locked', 'POST_PM_LOCKED') : $user->img('button_pm_new', 'POST_NEW_PM'),
|
||||
|
||||
|
|
|
@ -248,8 +248,8 @@ class ucp_profile
|
|||
'NEW_PASSWORD' => $data['new_password'],
|
||||
'CUR_PASSWORD' => '',
|
||||
|
||||
'L_USERNAME_EXPLAIN' => sprintf($user->lang[$config['allow_name_chars'] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
|
||||
'L_CHANGE_PASSWORD_EXPLAIN' => sprintf($user->lang[$config['pass_complex'] . '_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
|
||||
'L_USERNAME_EXPLAIN' => $user->lang($config['allow_name_chars'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_name_chars']), $user->lang('CHARACTERS', (int) $config['max_name_chars'])),
|
||||
'L_CHANGE_PASSWORD_EXPLAIN' => $user->lang($config['pass_complex'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_pass_chars']), $user->lang('CHARACTERS', (int) $config['max_pass_chars'])),
|
||||
|
||||
'S_FORCE_PASSWORD' => ($auth->acl_get('u_chgpasswd') && $config['chg_passforce'] && $user->data['user_passchg'] < time() - ($config['chg_passforce'] * 86400)) ? true : false,
|
||||
'S_CHANGE_USERNAME' => ($config['allow_namechange'] && $auth->acl_get('u_chgname')) ? true : false,
|
||||
|
@ -537,7 +537,7 @@ class ucp_profile
|
|||
'URL_STATUS' => ($config['allow_sig_links']) ? $user->lang['URL_IS_ON'] : $user->lang['URL_IS_OFF'],
|
||||
'MAX_FONT_SIZE' => (int) $config['max_sig_font_size'],
|
||||
|
||||
'L_SIGNATURE_EXPLAIN' => sprintf($user->lang['SIGNATURE_EXPLAIN'], $config['max_sig_chars']),
|
||||
'L_SIGNATURE_EXPLAIN' => $user->lang('SIGNATURE_EXPLAIN', (int) $config['max_sig_chars']),
|
||||
|
||||
'S_BBCODE_ALLOWED' => $config['allow_sig_bbcode'],
|
||||
'S_SMILIES_ALLOWED' => $config['allow_sig_smilies'],
|
||||
|
@ -602,7 +602,7 @@ class ucp_profile
|
|||
|
||||
'S_FORM_ENCTYPE' => ($can_upload && ($config['allow_avatar_upload'] || $config['allow_avatar_remote_upload'])) ? ' enctype="multipart/form-data"' : '',
|
||||
|
||||
'L_AVATAR_EXPLAIN' => sprintf($user->lang['AVATAR_EXPLAIN'], $config['avatar_max_width'], $config['avatar_max_height'], $config['avatar_filesize'] / 1024),
|
||||
'L_AVATAR_EXPLAIN' => phpbb_avatar_explanation_string(),
|
||||
));
|
||||
|
||||
if ($config['allow_avatar'] && $display_gallery && $auth->acl_get('u_chgavatar') && $config['allow_avatar_local'])
|
||||
|
|
|
@ -475,8 +475,8 @@ class ucp_register
|
|||
'EMAIL_CONFIRM' => $data['email_confirm'],
|
||||
|
||||
'L_REG_COND' => $l_reg_cond,
|
||||
'L_USERNAME_EXPLAIN' => sprintf($user->lang[$config['allow_name_chars'] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
|
||||
'L_PASSWORD_EXPLAIN' => sprintf($user->lang[$config['pass_complex'] . '_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
|
||||
'L_USERNAME_EXPLAIN' => $user->lang($config['allow_name_chars'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_name_chars']), $user->lang('CHARACTERS', (int) $config['max_name_chars'])),
|
||||
'L_PASSWORD_EXPLAIN' => $user->lang($config['pass_complex'] . '_EXPLAIN', $user->lang('CHARACTERS', (int) $config['min_pass_chars']), $user->lang('CHARACTERS', (int) $config['max_pass_chars'])),
|
||||
|
||||
'S_LANG_OPTIONS' => language_select($data['lang']),
|
||||
'S_TZ_OPTIONS' => tz_select($data['tz']),
|
||||
|
|
|
@ -27,15 +27,6 @@ $user->setup('viewforum');
|
|||
|
||||
display_forums('', $config['load_moderators']);
|
||||
|
||||
// Set some stats, get posts count from forums data if we... hum... retrieve all forums data
|
||||
$total_posts = $config['num_posts'];
|
||||
$total_topics = $config['num_topics'];
|
||||
$total_users = $config['num_users'];
|
||||
|
||||
$l_total_user_s = ($total_users == 0) ? 'TOTAL_USERS_ZERO' : 'TOTAL_USERS_OTHER';
|
||||
$l_total_post_s = ($total_posts == 0) ? 'TOTAL_POSTS_ZERO' : 'TOTAL_POSTS_OTHER';
|
||||
$l_total_topic_s = ($total_topics == 0) ? 'TOTAL_TOPICS_ZERO' : 'TOTAL_TOPICS_OTHER';
|
||||
|
||||
$order_legend = ($config['legend_sort_groupname']) ? 'group_name' : 'group_legend';
|
||||
// Grab group details for legend display
|
||||
if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))
|
||||
|
@ -124,10 +115,10 @@ if ($config['load_birthdays'] && $config['allow_birthdays'] && $auth->acl_gets('
|
|||
|
||||
// Assign index specific vars
|
||||
$template->assign_vars(array(
|
||||
'TOTAL_POSTS' => sprintf($user->lang[$l_total_post_s], $total_posts),
|
||||
'TOTAL_TOPICS' => sprintf($user->lang[$l_total_topic_s], $total_topics),
|
||||
'TOTAL_USERS' => sprintf($user->lang[$l_total_user_s], $total_users),
|
||||
'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], get_username_string('full', $config['newest_user_id'], $config['newest_username'], $config['newest_user_colour'])),
|
||||
'TOTAL_POSTS' => $user->lang('TOTAL_POSTS', (int) $config['num_posts']),
|
||||
'TOTAL_TOPICS' => $user->lang('TOTAL_TOPICS', (int) $config['num_topics']),
|
||||
'TOTAL_USERS' => $user->lang('TOTAL_USERS', (int) $config['num_users']),
|
||||
'NEWEST_USER' => $user->lang('NEWEST_USER', get_username_string('full', $config['newest_user_id'], $config['newest_username'], $config['newest_user_colour'])),
|
||||
|
||||
'LEGEND' => $legend,
|
||||
'BIRTHDAY_LIST' => (empty($birthday_list)) ? '' : implode(', ', $birthday_list),
|
||||
|
|
|
@ -54,8 +54,10 @@ $lang = array_merge($lang, array(
|
|||
'GROUP_CLOSED' => 'Closed',
|
||||
'GROUP_COLOR' => 'Group colour',
|
||||
'GROUP_COLOR_EXPLAIN' => 'Defines the colour members’ usernames will appear in, leave blank for user default.',
|
||||
'GROUP_CONFIRM_ADD_USER' => 'Are you sure that you want to add the user %1$s to the group?',
|
||||
'GROUP_CONFIRM_ADD_USERS' => 'Are you sure that you want to add the users %1$s to the group?',
|
||||
'GROUP_CONFIRM_ADD_USERS' => array(
|
||||
1 => 'Are you sure that you want to add the user %2$s to the group?',
|
||||
2 => 'Are you sure that you want to add the users %2$s to the group?',
|
||||
),
|
||||
'GROUP_CREATED' => 'Group has been created successfully.',
|
||||
'GROUP_DEFAULT' => 'Make group default for member',
|
||||
'GROUP_DEFS_UPDATED' => 'Default group set for all selected members.',
|
||||
|
|
|
@ -121,15 +121,19 @@ $lang = array_merge($lang, array(
|
|||
'FIRST' => 'First',
|
||||
|
||||
'ICONS_ADD' => 'Add a new icon',
|
||||
'ICONS_NONE_ADDED' => 'No icons were added.',
|
||||
'ICONS_ONE_ADDED' => 'The icon has been added successfully.',
|
||||
'ICONS_ADDED' => 'The icons have been added successfully.',
|
||||
'ICONS_ADDED' => array(
|
||||
0 => 'No icons were added.',
|
||||
1 => 'The icon has been added successfully.',
|
||||
2 => 'The icons have been added successfully.',
|
||||
),
|
||||
'ICONS_CONFIG' => 'Icon configuration',
|
||||
'ICONS_DELETED' => 'The icon has been removed successfully.',
|
||||
'ICONS_EDIT' => 'Edit icon',
|
||||
'ICONS_ONE_EDITED' => 'The icon has been updated successfully.',
|
||||
'ICONS_NONE_EDITED' => 'No icons were updated.',
|
||||
'ICONS_EDITED' => 'The icons have been updated successfully.',
|
||||
'ICONS_EDITED' => array(
|
||||
0 => 'No icons were updated.',
|
||||
1 => 'The icon has been updated successfully.',
|
||||
2 => 'The icons have been updated successfully.',
|
||||
),
|
||||
'ICONS_HEIGHT' => 'Icon height',
|
||||
'ICONS_IMAGE' => 'Icon image',
|
||||
'ICONS_IMPORTED' => 'The icons pack has been installed successfully.',
|
||||
|
@ -161,9 +165,11 @@ $lang = array_merge($lang, array(
|
|||
|
||||
'SELECT_PACKAGE' => 'Select a package file',
|
||||
'SMILIES_ADD' => 'Add a new smiley',
|
||||
'SMILIES_NONE_ADDED' => 'No smilies were added.',
|
||||
'SMILIES_ONE_ADDED' => 'The smiley has been added successfully.',
|
||||
'SMILIES_ADDED' => 'The smilies have been added successfully.',
|
||||
'SMILIES_ADDED' => array(
|
||||
0 => 'No smilies were added.',
|
||||
1 => 'The smiley has been added successfully.',
|
||||
2 => 'The smilies have been added successfully.',
|
||||
),
|
||||
'SMILIES_CODE' => 'Smiley code',
|
||||
'SMILIES_CONFIG' => 'Smiley configuration',
|
||||
'SMILIES_DELETED' => 'The smiley has been removed successfully.',
|
||||
|
@ -171,9 +177,11 @@ $lang = array_merge($lang, array(
|
|||
'SMILIE_NO_CODE' => 'The smiley “%s” was ignored, as there was no code entered.',
|
||||
'SMILIE_NO_EMOTION' => 'The smiley “%s” was ignored, as there was no emotion entered.',
|
||||
'SMILIE_NO_FILE' => 'The smiley “%s” was ignored, as the file is missing.',
|
||||
'SMILIES_NONE_EDITED' => 'No smilies were updated.',
|
||||
'SMILIES_ONE_EDITED' => 'The smiley has been updated successfully.',
|
||||
'SMILIES_EDITED' => 'The smilies have been updated successfully.',
|
||||
'SMILIES_EDITED' => array(
|
||||
0 => 'No smilies were updated.',
|
||||
1 => 'The smiley has been updated successfully.',
|
||||
2 => 'The smilies have been updated successfully.',
|
||||
),
|
||||
'SMILIES_EMOTION' => 'Emotion',
|
||||
'SMILIES_HEIGHT' => 'Smiley height',
|
||||
'SMILIES_IMAGE' => 'Smiley image',
|
||||
|
@ -185,7 +193,10 @@ $lang = array_merge($lang, array(
|
|||
'SMILIES_URL' => 'Smiley image file',
|
||||
'SMILIES_WIDTH' => 'Smiley width',
|
||||
|
||||
'TOO_MANY_SMILIES' => 'Limit of %d smilies reached.',
|
||||
'TOO_MANY_SMILIES' => array(
|
||||
1 => 'Limit of %d smiley reached.',
|
||||
2 => 'Limit of %d smilies reached.',
|
||||
),
|
||||
|
||||
'WRONG_PAK_TYPE' => 'The specified package does not contain the appropriate data.',
|
||||
));
|
||||
|
|
|
@ -85,8 +85,15 @@ $lang = array_merge($lang, array(
|
|||
|
||||
'SEARCH_GUEST_INTERVAL' => 'Guest search flood interval',
|
||||
'SEARCH_GUEST_INTERVAL_EXPLAIN' => 'Number of seconds guests must wait between searches. If one guest searches all others have to wait until the time interval passed.',
|
||||
'SEARCH_INDEX_CREATE_REDIRECT' => 'All posts up to post id %1$d have now been indexed, of which %2$d posts were within this step.<br />The current rate of indexing is approximately %3$.1f posts per second.<br />Indexing in progress…',
|
||||
'SEARCH_INDEX_DELETE_REDIRECT' => 'All posts up to post id %1$d have been removed from the search index.<br />Deleting in progress…',
|
||||
'SEARCH_INDEX_CREATE_REDIRECT' => array(
|
||||
2 => 'All posts up to post id %2$d have now been indexed, of which %1$d posts were within this step.<br />',
|
||||
),
|
||||
'SEARCH_INDEX_CREATE_REDIRECT_RATE' => array(
|
||||
2 => 'The current rate of indexing is approximately %1$.1f posts per second.<br />Indexing in progress…',
|
||||
),
|
||||
'SEARCH_INDEX_DELETE_REDIRECT' => array(
|
||||
2 => 'All posts up to post id %2$d have been removed from the search index.<br />Deleting in progress…',
|
||||
),
|
||||
'SEARCH_INDEX_CREATED' => 'Successfully indexed all posts in the board database.',
|
||||
'SEARCH_INDEX_REMOVED' => 'Successfully deleted the search index for this backend.',
|
||||
'SEARCH_INTERVAL' => 'User search flood interval',
|
||||
|
|
|
@ -45,6 +45,11 @@ $lang = array_merge($lang, array(
|
|||
'DATE_FORMAT' => '|d M Y|', // 01 Jan 2007 (with Relative days enabled)
|
||||
'USER_LANG' => 'en-gb',
|
||||
|
||||
// You can define different rules for the determination of plural forms here.
|
||||
// See http://wiki.phpbb.com/Plural_Rules for more information
|
||||
// or ask the translation manager for help.
|
||||
'PLURAL_RULE' => 1,
|
||||
|
||||
'1_DAY' => '1 day',
|
||||
'1_MONTH' => '1 month',
|
||||
'1_YEAR' => '1 year',
|
||||
|
@ -91,7 +96,7 @@ $lang = array_merge($lang, array(
|
|||
'AVATAR_URL_INVALID' => 'The URL you specified is invalid.',
|
||||
'AVATAR_URL_NOT_FOUND' => 'The file specified could not be found.',
|
||||
'AVATAR_WRONG_FILESIZE' => 'The avatar’s filesize must be between 0 and %1d %2s.',
|
||||
'AVATAR_WRONG_SIZE' => 'The submitted avatar is %5$d pixels wide and %6$d pixels high. Avatars must be at least %1$d pixels wide and %2$d pixels high, but no larger than %3$d pixels wide and %4$d pixels high.',
|
||||
'AVATAR_WRONG_SIZE' => 'The submitted avatar is %5$s wide and %6$s high. Avatars must be at least %1$s wide and %2$s high, but no larger than %3$s wide and %4$s high.',
|
||||
|
||||
'BACK_TO_TOP' => 'Top',
|
||||
'BACK_TO_PREV' => 'Back to previous page',
|
||||
|
@ -108,8 +113,10 @@ $lang = array_merge($lang, array(
|
|||
'BOARD_DISABLED' => 'This board is currently disabled.',
|
||||
'BOARD_UNAVAILABLE' => 'Sorry but the board is temporarily unavailable, please try again in a few minutes.',
|
||||
'BROWSING_FORUM' => 'Users browsing this forum: %1$s',
|
||||
'BROWSING_FORUM_GUEST' => 'Users browsing this forum: %1$s and %2$d guest',
|
||||
'BROWSING_FORUM_GUESTS' => 'Users browsing this forum: %1$s and %2$d guests',
|
||||
'BROWSING_FORUM_GUESTS' => array(
|
||||
1 => 'Users browsing this forum: %2$s and %1$d guest',
|
||||
2 => 'Users browsing this forum: %2$s and %1$d guests',
|
||||
),
|
||||
'BYTES' => 'Bytes',
|
||||
|
||||
'CANCEL' => 'Cancel',
|
||||
|
@ -117,6 +124,10 @@ $lang = array_merge($lang, array(
|
|||
'CHANGE_FONT_SIZE' => 'Change font size',
|
||||
'CHANGING_PREFERENCES' => 'Changing board preferences',
|
||||
'CHANGING_PROFILE' => 'Changing profile settings',
|
||||
'CHARACTERS' => array(
|
||||
1 => '%d character',
|
||||
2 => '%d characters',
|
||||
),
|
||||
'CLICK_VIEW_PRIVMSG' => '%sGo to your inbox%s',
|
||||
'COLLAPSE_VIEW' => 'Collapse view',
|
||||
'CLOSE_WINDOW' => 'Close window',
|
||||
|
@ -150,12 +161,11 @@ $lang = array_merge($lang, array(
|
|||
'DISPLAY_TOPICS' => 'Display topics from previous',
|
||||
'DOWNLOADED' => 'Downloaded',
|
||||
'DOWNLOADING_FILE' => 'Downloading file',
|
||||
'DOWNLOAD_COUNT' => 'Downloaded %d time',
|
||||
'DOWNLOAD_COUNTS' => 'Downloaded %d times',
|
||||
'DOWNLOAD_COUNT_NONE' => 'Not downloaded yet',
|
||||
'VIEWED_COUNT' => 'Viewed %d time',
|
||||
'VIEWED_COUNTS' => 'Viewed %d times',
|
||||
'VIEWED_COUNT_NONE' => 'Not viewed yet',
|
||||
'DOWNLOAD_COUNTS' => array(
|
||||
0 => 'Not downloaded yet',
|
||||
1 => 'Downloaded %d time',
|
||||
2 => 'Downloaded %d times',
|
||||
),
|
||||
|
||||
'EDIT_POST' => 'Edit post',
|
||||
'EMAIL' => 'E-mail', // Short form for EMAIL_ADDRESS
|
||||
|
@ -240,12 +250,14 @@ $lang = array_merge($lang, array(
|
|||
'GROUP_ERR_USERNAME' => 'No group name specified.',
|
||||
'GROUP_ERR_USER_LONG' => 'Group names cannot exceed 60 characters. The specified group name is too long.',
|
||||
'GUEST' => 'Guest',
|
||||
'GUEST_USERS_ONLINE' => 'There are %d guest users online',
|
||||
'GUEST_USERS_TOTAL' => '%d guests',
|
||||
'GUEST_USERS_ZERO_ONLINE' => 'There are 0 guest users online',
|
||||
'GUEST_USERS_ZERO_TOTAL' => '0 guests',
|
||||
'GUEST_USER_ONLINE' => 'There is %d guest user online',
|
||||
'GUEST_USER_TOTAL' => '%d guest',
|
||||
'GUEST_USERS_ONLINE' => array(
|
||||
1 => 'There is %d guest user online',
|
||||
2 => 'There are %d guest users online',
|
||||
),
|
||||
'GUEST_USERS_TOTAL' => array(
|
||||
1 => '%d guest',
|
||||
2 => '%d guests',
|
||||
),
|
||||
'G_ADMINISTRATORS' => 'Administrators',
|
||||
'G_BOTS' => 'Bots',
|
||||
'G_GUESTS' => 'Guests',
|
||||
|
@ -254,15 +266,14 @@ $lang = array_merge($lang, array(
|
|||
'G_GLOBAL_MODERATORS' => 'Global moderators',
|
||||
'G_NEWLY_REGISTERED' => 'Newly registered users',
|
||||
|
||||
'HIDDEN_USERS_ONLINE' => '%d hidden users online',
|
||||
'HIDDEN_USERS_TOTAL' => '%d hidden',
|
||||
'HIDDEN_USERS_TOTAL_AND' => '%d hidden and ',
|
||||
'HIDDEN_USERS_ZERO_ONLINE' => '0 hidden users online',
|
||||
'HIDDEN_USERS_ZERO_TOTAL' => '0 hidden',
|
||||
'HIDDEN_USERS_ZERO_TOTAL_AND' => '0 hidden and ',
|
||||
'HIDDEN_USER_ONLINE' => '%d hidden user online',
|
||||
'HIDDEN_USER_TOTAL' => '%d hidden',
|
||||
'HIDDEN_USER_TOTAL_AND' => '%d hidden and ',
|
||||
'HIDDEN_USERS_ONLINE' => array(
|
||||
1 => '%d hidden user',
|
||||
2 => '%d hidden users',
|
||||
),
|
||||
'HIDDEN_USERS_TOTAL' => array(
|
||||
1 => '%d hidden',
|
||||
2 => '%d hidden',
|
||||
),
|
||||
'HIDE_GUESTS' => 'Hide guests',
|
||||
'HIDE_ME' => 'Hide my online status this session',
|
||||
'HOURS' => 'Hours',
|
||||
|
@ -280,6 +291,7 @@ $lang = array_merge($lang, array(
|
|||
'INTERESTS' => 'Interests',
|
||||
'INVALID_DIGEST_CHALLENGE' => 'Invalid digest challenge.',
|
||||
'INVALID_EMAIL_LOG' => '<strong>%s</strong> possibly an invalid e-mail address?',
|
||||
'INVALID_PLURAL_RULE' => 'The chosen plural rule is invalid. Valid values are integers between 0 and 15.',
|
||||
'IP' => 'IP',
|
||||
'IP_BLACKLISTED' => 'Your IP %1$s has been blocked because it is blacklisted. For details please see <a href="%2$s">%2$s</a>.',
|
||||
|
||||
|
@ -348,8 +360,10 @@ $lang = array_merge($lang, array(
|
|||
'NEWEST_USER' => 'Our newest member <strong>%s</strong>',
|
||||
'NEW_MESSAGE' => 'New message',
|
||||
'NEW_MESSAGES' => 'New messages',
|
||||
'NEW_PM' => '<strong>%d</strong> new message',
|
||||
'NEW_PMS' => '<strong>%d</strong> new messages',
|
||||
'NEW_PMS' => array(
|
||||
1 => '<strong>%d</strong> new message',
|
||||
2 => '<strong>%d</strong> new messages',
|
||||
),
|
||||
'NEW_POST' => 'New post', // Not used anymore
|
||||
'NEW_POSTS' => 'New posts', // Not used anymore
|
||||
'NEXT' => 'Next', // Used in pagination
|
||||
|
@ -383,7 +397,6 @@ $lang = array_merge($lang, array(
|
|||
'NO_MODE' => 'No mode specified.',
|
||||
'NO_MODERATORS' => 'There are no moderators.',
|
||||
'NO_NEW_MESSAGES' => 'No new messages',
|
||||
'NO_NEW_PM' => '<strong>0</strong> new messages',
|
||||
'NO_NEW_POSTS' => 'No new posts', // Not used anymore
|
||||
'NO_ONLINE_USERS' => 'No registered users',
|
||||
'NO_POSTS' => 'No posts',
|
||||
|
@ -397,7 +410,6 @@ $lang = array_merge($lang, array(
|
|||
'NO_TOPIC_FORUM' => 'The topic or forum no longer exists.',
|
||||
'NO_TOPICS' => 'There are no topics or posts in this forum.',
|
||||
'NO_TOPICS_TIME_FRAME' => 'No topics exist inside this forum for the selected time frame.',
|
||||
'NO_UNREAD_PM' => '<strong>0</strong> unread messages',
|
||||
'NO_UNREAD_POSTS' => 'No unread posts',
|
||||
'NO_UPLOAD_FORM_FOUND' => 'Upload initiated but no valid file upload form found.',
|
||||
'NO_USER' => 'The requested user does not exist.',
|
||||
|
@ -415,15 +427,26 @@ $lang = array_merge($lang, array(
|
|||
'OFFLINE' => 'Offline',
|
||||
'ONLINE' => 'Online',
|
||||
'ONLINE_BUDDIES' => 'Online friends',
|
||||
'ONLINE_USERS_TOTAL' => 'In total there are <strong>%d</strong> users online :: ',
|
||||
'ONLINE_USERS_ZERO_TOTAL' => 'In total there are <strong>0</strong> users online :: ',
|
||||
'ONLINE_USER_TOTAL' => 'In total there is <strong>%d</strong> user online :: ',
|
||||
// "... :: x registered and y hidden"
|
||||
'ONLINE_USERS_TOTAL' => array(
|
||||
1 => 'In total there is <strong>%1$d</strong> user online :: %2$s and %3$s',
|
||||
2 => 'In total there are <strong>%1$d</strong> users online :: %2$s and %3$s',
|
||||
),
|
||||
// "... :: x registered, y hidden and z guests"
|
||||
'ONLINE_USERS_TOTAL_GUESTS' => array(
|
||||
1 => 'In total there is <strong>%1$d</strong> user online :: %2$s, %3$s and %4$s',
|
||||
2 => 'In total there are <strong>%1$d</strong> users online :: %2$s, %3$s and %4$s',
|
||||
),
|
||||
'OPTIONS' => 'Options',
|
||||
|
||||
'PAGE_OF' => 'Page <strong>%1$d</strong> of <strong>%2$d</strong>',
|
||||
'PAGE_TITLE_NUMBER' => 'Page %s',
|
||||
'PASSWORD' => 'Password',
|
||||
'PIXEL' => 'px',
|
||||
'PIXELS' => array(
|
||||
1 => '%d pixel',
|
||||
2 => '%d pixels',
|
||||
),
|
||||
'PLAY_QUICKTIME_FILE' => 'Play Quicktime file',
|
||||
'PM' => 'PM',
|
||||
'PM_REPORTED' => 'Click to view report',
|
||||
|
@ -471,15 +494,15 @@ $lang = array_merge($lang, array(
|
|||
'REDIRECTS' => 'Total redirects',
|
||||
'REGISTER' => 'Register',
|
||||
'REGISTERED_USERS' => 'Registered users:',
|
||||
'REG_USERS_ONLINE' => 'There are %d registered users and ',
|
||||
'REG_USERS_TOTAL' => '%d registered, ',
|
||||
'REG_USERS_TOTAL_AND' => '%d registered and ',
|
||||
'REG_USERS_ZERO_ONLINE' => 'There are 0 registered users and ',
|
||||
'REG_USERS_ZERO_TOTAL' => '0 registered, ',
|
||||
'REG_USERS_ZERO_TOTAL_AND' => '0 registered and ',
|
||||
'REG_USER_ONLINE' => 'There is %d registered user and ',
|
||||
'REG_USER_TOTAL' => '%d registered, ',
|
||||
'REG_USER_TOTAL_AND' => '%d registered and ',
|
||||
// "... and 2 hidden users online"
|
||||
'REG_USERS_ONLINE' => array(
|
||||
1 => 'There is %1$d registered user and %2$s online',
|
||||
2 => 'There are %1$d registered users and %2$s online',
|
||||
),
|
||||
'REG_USERS_TOTAL' => array(
|
||||
1 => '%d registered',
|
||||
2 => '%d registered',
|
||||
),
|
||||
'REMOVE' => 'Remove',
|
||||
'REMOVE_INSTALL' => 'Please delete, move or rename the install directory before you use your board. If this directory is still present, only the Administration Control Panel (ACP) will be accessible.',
|
||||
'REPLIES' => 'Replies',
|
||||
|
@ -631,19 +654,25 @@ $lang = array_merge($lang, array(
|
|||
'TOPIC_TITLE' => 'Topic title',
|
||||
'TOPIC_UNAPPROVED' => 'This topic has not been approved',
|
||||
'TOTAL_ATTACHMENTS' => 'Attachment(s)',
|
||||
'TOTAL_LOG' => '1 log',
|
||||
'TOTAL_LOGS' => '%d logs',
|
||||
'TOTAL_NO_PM' => '0 private messages in total',
|
||||
'TOTAL_PM' => '1 private message in total',
|
||||
'TOTAL_PMS' => '%d private messages in total',
|
||||
'TOTAL_LOGS' => array(
|
||||
1 => '%d log',
|
||||
2 => '%d logs',
|
||||
),
|
||||
'TOTAL_PMS' => array(
|
||||
1 => '%d private message in total',
|
||||
2 => '%d private messages in total',
|
||||
),
|
||||
'TOTAL_POSTS' => 'Total posts',
|
||||
'TOTAL_POSTS_OTHER' => 'Total posts <strong>%d</strong>',
|
||||
'TOTAL_POSTS_ZERO' => 'Total posts <strong>0</strong>',
|
||||
'TOTAL_POSTS_COUNT' => array(
|
||||
2 => 'Total posts <strong>%d</strong>',
|
||||
),
|
||||
'TOPIC_REPORTED' => 'This topic has been reported',
|
||||
'TOTAL_TOPICS_OTHER'=> 'Total topics <strong>%d</strong>',
|
||||
'TOTAL_TOPICS_ZERO' => 'Total topics <strong>0</strong>',
|
||||
'TOTAL_USERS_OTHER' => 'Total members <strong>%d</strong>',
|
||||
'TOTAL_USERS_ZERO' => 'Total members <strong>0</strong>',
|
||||
'TOTAL_TOPICS' => array(
|
||||
2 => 'Total topics <strong>%d</strong>',
|
||||
),
|
||||
'TOTAL_USERS' => array(
|
||||
2 => 'Total members <strong>%d</strong>',
|
||||
),
|
||||
'TRACKED_PHP_ERROR' => 'Tracked PHP errors: %s',
|
||||
|
||||
'UNABLE_GET_IMAGE_SIZE' => 'It was not possible to determine the dimensions of the image.',
|
||||
|
@ -651,8 +680,10 @@ $lang = array_merge($lang, array(
|
|||
'UNKNOWN_BROWSER' => 'Unknown browser',
|
||||
'UNMARK_ALL' => 'Unmark all',
|
||||
'UNREAD_MESSAGES' => 'Unread messages',
|
||||
'UNREAD_PM' => '<strong>%d</strong> unread message',
|
||||
'UNREAD_PMS' => '<strong>%d</strong> unread messages',
|
||||
'UNREAD_PMS' => array(
|
||||
1 => '<strong>%d</strong> unread message',
|
||||
2 => '<strong>%d</strong> unread messages',
|
||||
),
|
||||
'UNREAD_POST' => 'Unread post',
|
||||
'UNREAD_POSTS' => 'Unread posts',
|
||||
'UNWATCH_FORUM_CONFIRM' => 'Are you sure you wish to unsubscribe from this forum?',
|
||||
|
@ -670,8 +701,10 @@ $lang = array_merge($lang, array(
|
|||
'USERNAMES' => 'Usernames',
|
||||
'USER_AVATAR' => 'User avatar',
|
||||
'USER_CANNOT_READ' => 'You cannot read posts in this forum.',
|
||||
'USER_POST' => '%d Post',
|
||||
'USER_POSTS' => '%d Posts',
|
||||
'USER_POSTS' => array(
|
||||
1 => '%d Post',
|
||||
2 => '%d Posts',
|
||||
),
|
||||
'USERS' => 'Users',
|
||||
'USE_PERMISSIONS' => 'Test out user’s permissions',
|
||||
|
||||
|
@ -679,6 +712,11 @@ $lang = array_merge($lang, array(
|
|||
|
||||
'VARIANT_DATE_SEPARATOR' => ' / ', // Used in date format dropdown, eg: "Today, 13:37 / 01 Jan 2007, 13:37" ... to join a relative date with calendar date
|
||||
'VIEWED' => 'Viewed',
|
||||
'VIEWED_COUNTS' => array(
|
||||
0 => 'Not viewed yet',
|
||||
1 => 'Viewed %d time',
|
||||
2 => 'Viewed %d times',
|
||||
),
|
||||
'VIEWING_FAQ' => 'Viewing FAQ',
|
||||
'VIEWING_MEMBERS' => 'Viewing member details',
|
||||
'VIEWING_ONLINE' => 'Viewing who is online',
|
||||
|
@ -693,8 +731,10 @@ $lang = array_merge($lang, array(
|
|||
'VIEW_LATEST_POST' => 'View the latest post',
|
||||
'VIEW_NEWEST_POST' => 'View first unread post',
|
||||
'VIEW_NOTES' => 'View user notes',
|
||||
'VIEW_ONLINE_TIME' => 'based on users active over the past %d minute',
|
||||
'VIEW_ONLINE_TIMES' => 'based on users active over the past %d minutes',
|
||||
'VIEW_ONLINE_TIMES' => array(
|
||||
1 => 'based on users active over the past %d minute',
|
||||
2 => 'based on users active over the past %d minutes',
|
||||
),
|
||||
'VIEW_TOPIC' => 'View topic',
|
||||
'VIEW_TOPIC_ANNOUNCEMENT' => 'Announcement: ',
|
||||
'VIEW_TOPIC_GLOBAL' => 'Global Announcement: ',
|
||||
|
@ -740,7 +780,6 @@ $lang = array_merge($lang, array(
|
|||
0 => 'less than a minute ago',
|
||||
1 => '%d minute ago',
|
||||
2 => '%d minutes ago',
|
||||
60 => '1 hour ago',
|
||||
),
|
||||
|
||||
'Sunday' => 'Sunday',
|
||||
|
|
|
@ -120,8 +120,10 @@ $lang = array_merge($lang, array(
|
|||
'LATEST_WARNING_TIME' => 'Latest warning issued',
|
||||
'LATEST_WARNINGS' => 'Latest 5 warnings',
|
||||
'LEAVE_SHADOW' => 'Leave shadow topic in place',
|
||||
'LIST_REPORT' => '1 report',
|
||||
'LIST_REPORTS' => '%d reports',
|
||||
'LIST_REPORTS' => array(
|
||||
1 => '%d report',
|
||||
2 => '%d reports',
|
||||
),
|
||||
'LOCK' => 'Lock',
|
||||
'LOCK_POST_POST' => 'Lock post',
|
||||
'LOCK_POST_POST_CONFIRM' => 'Are you sure you want to prevent editing this post?',
|
||||
|
@ -251,11 +253,13 @@ $lang = array_merge($lang, array(
|
|||
'PM_REPORT_CLOSED_SUCCESS' => 'The selected PM report has been closed successfully.',
|
||||
'PM_REPORT_DELETED_SUCCESS' => 'The selected PM report has been deleted successfully.',
|
||||
'PM_REPORTED_SUCCESS' => 'This private message has been successfully reported.',
|
||||
'PM_REPORT_TOTAL' => 'In total there is <strong>1</strong> PM report to review.',
|
||||
'PM_REPORTS_CLOSED_SUCCESS' => 'The selected PM reports have been closed successfully.',
|
||||
'PM_REPORTS_DELETED_SUCCESS'=> 'The selected PM reports have been deleted successfully.',
|
||||
'PM_REPORTS_TOTAL' => 'In total there are <strong>%d</strong> PM reports to review.',
|
||||
'PM_REPORTS_ZERO_TOTAL' => 'There are no PM reports to review.',
|
||||
'PM_REPORTS_TOTAL' => array(
|
||||
0 => 'There are no PM reports to review.',
|
||||
1 => 'In total there is <strong>1</strong> PM report to review.',
|
||||
2 => 'In total there are <strong>%d</strong> PM reports to review.',
|
||||
),
|
||||
'PM_REPORT_DETAILS' => 'Private message report details',
|
||||
'POSTER' => 'Poster',
|
||||
'POSTS_APPROVED_SUCCESS' => 'The selected posts have been approved.',
|
||||
|
@ -282,8 +286,11 @@ $lang = array_merge($lang, array(
|
|||
'REPORTED_ON_DATE' => 'on',
|
||||
'REPORTS_CLOSED_SUCCESS' => 'The selected reports have been closed successfully.',
|
||||
'REPORTS_DELETED_SUCCESS' => 'The selected reports have been deleted successfully.',
|
||||
'REPORTS_TOTAL' => 'In total there are <strong>%d</strong> reports to review.',
|
||||
'REPORTS_ZERO_TOTAL' => 'There are no reports to review.',
|
||||
'REPORTS_TOTAL' => array(
|
||||
0 => 'There are no reports to review.',
|
||||
1 => 'In total there is <strong>1</strong> report to review.',
|
||||
2 => 'In total there are <strong>%d</strong> reports to review.',
|
||||
),
|
||||
'REPORT_CLOSED' => 'This report has already been closed.',
|
||||
'REPORT_CLOSED_SUCCESS' => 'The selected report has been closed successfully.',
|
||||
'REPORT_DELETED_SUCCESS' => 'The selected report has been deleted successfully.',
|
||||
|
@ -295,7 +302,6 @@ $lang = array_merge($lang, array(
|
|||
'REPORT_POST_EXPLAIN' => 'Use this form to report the selected post to the forum moderators and board administrators. Reporting should generally be used only if the post breaks forum rules.',
|
||||
'REPORT_REASON' => 'Report reason',
|
||||
'REPORT_TIME' => 'Report time',
|
||||
'REPORT_TOTAL' => 'In total there is <strong>1</strong> report to review.',
|
||||
'RESYNC' => 'Resync',
|
||||
'RETURN_MESSAGE' => '%sReturn to the message%s',
|
||||
'RETURN_NEW_FORUM' => '%sGo to the new forum%s',
|
||||
|
@ -353,9 +359,11 @@ $lang = array_merge($lang, array(
|
|||
'TOPIC_UNLOCKED_SUCCESS' => 'The selected topic has been unlocked.',
|
||||
'TOTAL_WARNINGS' => 'Total Warnings',
|
||||
|
||||
'UNAPPROVED_POSTS_TOTAL' => 'In total there are <strong>%d</strong> posts waiting for approval.',
|
||||
'UNAPPROVED_POSTS_ZERO_TOTAL' => 'There are no posts waiting for approval.',
|
||||
'UNAPPROVED_POST_TOTAL' => 'In total there is <strong>1</strong> post waiting for approval.',
|
||||
'UNAPPROVED_POSTS_TOTAL' => array(
|
||||
0 => 'There are no posts waiting for approval.',
|
||||
1 => 'In total there is <strong>1</strong> post waiting for approval.',
|
||||
2 => 'In total there are <strong>%d</strong> posts waiting for approval.',
|
||||
),
|
||||
'UNLOCK' => 'Unlock',
|
||||
'UNLOCK_POST' => 'Unlock post',
|
||||
'UNLOCK_POST_EXPLAIN' => 'Allow editing',
|
||||
|
|
|
@ -93,8 +93,10 @@ $lang = array_merge($lang, array(
|
|||
|
||||
'LAST_ACTIVE' => 'Last active',
|
||||
'LESS_THAN' => 'Less than',
|
||||
'LIST_USER' => '1 user',
|
||||
'LIST_USERS' => '%d users',
|
||||
'LIST_USERS' => array(
|
||||
1 => '%d user',
|
||||
2 => '%d users',
|
||||
),
|
||||
'LOGIN_EXPLAIN_LEADERS' => 'The board requires you to be registered and logged in to view the team listing.',
|
||||
'LOGIN_EXPLAIN_MEMBERLIST' => 'The board requires you to be registered and logged in to access the memberlist.',
|
||||
'LOGIN_EXPLAIN_SEARCHUSER' => 'The board requires you to be registered and logged in to search users.',
|
||||
|
@ -136,6 +138,7 @@ $lang = array_merge($lang, array(
|
|||
'USER_LAST_REMINDED' => array(
|
||||
0 => 'No reminder sent at this time',
|
||||
1 => '%1$d reminder sent<br />» %2$s',
|
||||
2 => '%1$d reminder sent<br />» %2$s',
|
||||
),
|
||||
'USER_ONLINE' => 'Online',
|
||||
'USER_PRESENCE' => 'Board presence',
|
||||
|
|
|
@ -121,13 +121,29 @@ $lang = array_merge($lang, array(
|
|||
'LOGIN_EXPLAIN_QUOTE' => 'You need to login in order to quote posts within this forum.',
|
||||
'LOGIN_EXPLAIN_REPLY' => 'You need to login in order to reply to topics within this forum.',
|
||||
|
||||
'MAX_FONT_SIZE_EXCEEDED' => 'You may only use fonts up to size %1$d.',
|
||||
'MAX_FLASH_HEIGHT_EXCEEDED' => 'Your flash files may only be up to %1$d pixels high.',
|
||||
'MAX_FLASH_WIDTH_EXCEEDED' => 'Your flash files may only be up to %1$d pixels wide.',
|
||||
'MAX_IMG_HEIGHT_EXCEEDED' => 'Your images may only be up to %1$d pixels high.',
|
||||
'MAX_IMG_WIDTH_EXCEEDED' => 'Your images may only be up to %1$d pixels wide.',
|
||||
'MAX_FONT_SIZE_EXCEEDED' => 'You may only use fonts up to size %d.',
|
||||
'MAX_FLASH_HEIGHT_EXCEEDED' => array(
|
||||
1 => 'Your flash files may only be up to %d pixel high.',
|
||||
2 => 'Your flash files may only be up to %d pixels high.',
|
||||
),
|
||||
'MAX_FLASH_WIDTH_EXCEEDED' => array(
|
||||
1 => 'Your flash files may only be up to %d pixel wide.',
|
||||
2 => 'Your flash files may only be up to %d pixels wide.',
|
||||
),
|
||||
'MAX_IMG_HEIGHT_EXCEEDED' => array(
|
||||
1 => 'Your images may only be up to %1$d pixel high.',
|
||||
2 => 'Your images may only be up to %1$d pixels high.',
|
||||
),
|
||||
'MAX_IMG_WIDTH_EXCEEDED' => array(
|
||||
1 => 'Your images may only be up to %d pixel wide.',
|
||||
2 => 'Your images may only be up to %d pixels wide.',
|
||||
),
|
||||
|
||||
'MESSAGE_BODY_EXPLAIN' => 'Enter your message here, it may contain no more than <strong>%d</strong> characters.',
|
||||
'MESSAGE_BODY_EXPLAIN' => array(
|
||||
0 => '', // zero means no limit, so we don't view a message here.
|
||||
1 => 'Enter your message here, it may contain no more than <strong>%d</strong> character.',
|
||||
2 => 'Enter your message here, it may contain no more than <strong>%d</strong> characters.',
|
||||
),
|
||||
'MESSAGE_DELETED' => 'This message has been deleted successfully.',
|
||||
'MORE_SMILIES' => 'View more smilies',
|
||||
|
||||
|
@ -149,8 +165,14 @@ $lang = array_merge($lang, array(
|
|||
'POLL_MAX_OPTIONS' => 'Options per user',
|
||||
'POLL_MAX_OPTIONS_EXPLAIN' => 'This is the number of options each user may select when voting.',
|
||||
'POLL_OPTIONS' => 'Poll options',
|
||||
'POLL_OPTIONS_EXPLAIN' => 'Place each option on a new line. You may enter up to <strong>%d</strong> options.',
|
||||
'POLL_OPTIONS_EDIT_EXPLAIN' => 'Place each option on a new line. You may enter up to <strong>%d</strong> options. If you remove or add options all previous votes will be reset.',
|
||||
'POLL_OPTIONS_EXPLAIN' => array(
|
||||
1 => 'Place each option on a new line. You may enter <strong>%d</strong> option.',
|
||||
2 => 'Place each option on a new line. You may enter up to <strong>%d</strong> options.',
|
||||
),
|
||||
'POLL_OPTIONS_EDIT_EXPLAIN' => array(
|
||||
1 => 'Place each option on a new line. You may enter <strong>%d</strong> option. If you remove or add options all previous votes will be reset.',
|
||||
2 => 'Place each option on a new line. You may enter up to <strong>%d</strong> options. If you remove or add options all previous votes will be reset.',
|
||||
),
|
||||
'POLL_QUESTION' => 'Poll question',
|
||||
'POLL_TITLE_TOO_LONG' => 'The poll title must contain fewer than 100 characters.',
|
||||
'POLL_TITLE_COMP_TOO_LONG' => 'The parsed size of your poll title is too large, consider removing BBCodes or smilies.',
|
||||
|
@ -175,7 +197,10 @@ $lang = array_merge($lang, array(
|
|||
'POST_TOPIC_AS' => 'Post topic as',
|
||||
'PROGRESS_BAR' => 'Progress bar',
|
||||
|
||||
'QUOTE_DEPTH_EXCEEDED' => 'You may embed only %1$d quotes within each other.',
|
||||
'QUOTE_DEPTH_EXCEEDED' => array(
|
||||
1 => 'You may embed only %d quote within each other.',
|
||||
2 => 'You may embed only %d quotes within each other.',
|
||||
),
|
||||
|
||||
'SAVE' => 'Save',
|
||||
'SAVE_DATE' => 'Saved at',
|
||||
|
@ -190,12 +215,19 @@ $lang = array_merge($lang, array(
|
|||
'STYLES_TIP' => 'Tip: Styles can be applied quickly to selected text.',
|
||||
|
||||
'TOO_FEW_CHARS' => 'Your message contains too few characters.',
|
||||
'TOO_FEW_CHARS_LIMIT' => 'Your message contains %1$d characters. The minimum number of characters you need to enter is %2$d.',
|
||||
'TOO_FEW_CHARS_LIMIT' => array(
|
||||
1 => 'Your message contains %1$d character. The minimum number of characters you need to enter is %2$d.',
|
||||
2 => 'Your message contains %1$d characters. The minimum number of characters you need to enter is %2$d.',
|
||||
),
|
||||
'TOO_FEW_POLL_OPTIONS' => 'You must enter at least two poll options.',
|
||||
'TOO_MANY_ATTACHMENTS' => 'Cannot add another attachment, %d is the maximum.',
|
||||
'TOO_MANY_CHARS' => 'Your message contains too many characters.',
|
||||
'TOO_MANY_CHARS_POST' => 'Your message contains %1$d characters. The maximum number of allowed characters is %2$d.',
|
||||
'TOO_MANY_CHARS_SIG' => 'Your signature contains %1$d characters. The maximum number of allowed characters is %2$d.',
|
||||
'TOO_MANY_CHARS_POST' => array(
|
||||
2 => 'Your message contains %1$d characters. The maximum number of allowed characters is %2$d.',
|
||||
),
|
||||
'TOO_MANY_CHARS_SIG' => array(
|
||||
2 => 'Your signature contains %1$d characters. The maximum number of allowed characters is %2$d.',
|
||||
),
|
||||
'TOO_MANY_POLL_OPTIONS' => 'You have tried to enter too many poll options.',
|
||||
'TOO_MANY_SMILIES' => 'Your message contains too many smilies. The maximum number of smilies allowed is %d.',
|
||||
'TOO_MANY_URLS' => 'Your message contains too many URLs. The maximum number of URLs allowed is %d.',
|
||||
|
@ -219,5 +251,5 @@ $lang = array_merge($lang, array(
|
|||
'VIEW_PRIVATE_MESSAGE' => '%sView your submitted private message%s',
|
||||
|
||||
'WRONG_FILESIZE' => 'The file is too big, maximum allowed size is %1d %2s.',
|
||||
'WRONG_SIZE' => 'The image must be at least %1$d pixels wide, %2$d pixels high and at most %3$d pixels wide and %4$d pixels high. The submitted image is %5$d pixels wide and %6$d pixels high.',
|
||||
'WRONG_SIZE' => 'The image must be at least %1$s wide, %2$s high and at most %3$s wide and %4$s high. The submitted image is %5$s wide and %6$s high.',
|
||||
));
|
||||
|
|
|
@ -41,9 +41,14 @@ $lang = array_merge($lang, array(
|
|||
|
||||
'DISPLAY_RESULTS' => 'Display results as',
|
||||
|
||||
'FOUND_SEARCH_MATCH' => 'Search found %d match',
|
||||
'FOUND_SEARCH_MATCHES' => 'Search found %d matches',
|
||||
'FOUND_MORE_SEARCH_MATCHES' => 'Search found more than %d matches',
|
||||
'FOUND_SEARCH_MATCHES' => array(
|
||||
1 => 'Search found %d match',
|
||||
2 => 'Search found %d matches',
|
||||
),
|
||||
'FOUND_MORE_SEARCH_MATCHES' => array(
|
||||
1 => 'Search found more than %d match',
|
||||
2 => 'Search found more than %d matches',
|
||||
),
|
||||
|
||||
'GLOBAL' => 'Global announcement',
|
||||
|
||||
|
@ -58,7 +63,7 @@ $lang = array_merge($lang, array(
|
|||
|
||||
'MAX_NUM_SEARCH_KEYWORDS_REFINE' => 'You specified too many words to search for. Please do not enter more than %1$d words.',
|
||||
|
||||
'NO_KEYWORDS' => 'You must specify at least one word to search for. Each word must consist of at least %d characters and must not contain more than %d characters excluding wildcards.',
|
||||
'NO_KEYWORDS' => 'You must specify at least one word to search for. Each word must consist of at least %s and must not contain more than %s excluding wildcards.',
|
||||
'NO_RECENT_SEARCHES' => 'No searches have been carried out recently.',
|
||||
'NO_SEARCH' => 'Sorry but you are not permitted to use the search system.',
|
||||
'NO_SEARCH_RESULTS' => 'No suitable matches were found.',
|
||||
|
@ -100,5 +105,8 @@ $lang = array_merge($lang, array(
|
|||
'SORT_POST_SUBJECT' => 'Post subject',
|
||||
'SORT_TIME' => 'Post time',
|
||||
|
||||
'TOO_FEW_AUTHOR_CHARS' => 'You must specify at least %d characters of the authors name.',
|
||||
'TOO_FEW_AUTHOR_CHARS' => array(
|
||||
1 => 'You must specify at least %d character of the authors name.',
|
||||
2 => 'You must specify at least %d characters of the authors name.',
|
||||
),
|
||||
));
|
||||
|
|
|
@ -89,7 +89,7 @@ $lang = array_merge($lang, array(
|
|||
'ATTACHMENTS_DELETED' => 'Attachments successfully deleted.',
|
||||
'ATTACHMENT_DELETED' => 'Attachment successfully deleted.',
|
||||
'AVATAR_CATEGORY' => 'Category',
|
||||
'AVATAR_EXPLAIN' => 'Maximum dimensions; width: %1$d pixels, height: %2$d pixels, file size: %3$.2f KiB.',
|
||||
'AVATAR_EXPLAIN' => 'Maximum dimensions; width: %1$s, height: %2$s, file size: %3$.2f KiB.',
|
||||
'AVATAR_FEATURES_DISABLED' => 'The avatar functionality is currently disabled.',
|
||||
'AVATAR_GALLERY' => 'Local gallery',
|
||||
'AVATAR_GENERAL_UPLOAD_ERROR' => 'Could not upload avatar to %s.',
|
||||
|
@ -188,10 +188,16 @@ $lang = array_merge($lang, array(
|
|||
'EXPORT_FOLDER' => 'Export this view',
|
||||
|
||||
'FIELD_REQUIRED' => 'The field “%s” must be completed.',
|
||||
'FIELD_TOO_SHORT' => 'The field “%1$s” is too short, a minimum of %2$d characters is required.',
|
||||
'FIELD_TOO_LONG' => 'The field “%1$s” is too long, a maximum of %2$d characters is allowed.',
|
||||
'FIELD_TOO_SMALL' => 'The value of “%1$s” is too small, a minimum value of %2$d is required.',
|
||||
'FIELD_TOO_LARGE' => 'The value of “%1$s” is too large, a maximum value of %2$d is allowed.',
|
||||
'FIELD_TOO_SHORT' => array(
|
||||
1 => 'The field “%2$s” is too short, a minimum of %1$d character is required.',
|
||||
2 => 'The field “%2$s” is too short, a minimum of %1$d characters is required.',
|
||||
),
|
||||
'FIELD_TOO_LONG' => array(
|
||||
1 => 'The field “%2$s” is too long, a maximum of %1$d character is allowed.',
|
||||
2 => 'The field “%2$s” is too long, a maximum of %1$d characters is allowed.',
|
||||
),
|
||||
'FIELD_TOO_SMALL' => 'The value of “%2$s” is too small, a minimum value of %1$d is required.',
|
||||
'FIELD_TOO_LARGE' => 'The value of “%2$s” is too large, a maximum value of %1$d is allowed.',
|
||||
'FIELD_INVALID_CHARS_NUMBERS_ONLY' => 'The field “%s” has invalid characters, only numbers are allowed.',
|
||||
'FIELD_INVALID_CHARS_ALPHA_ONLY' => 'The field “%s” has invalid characters, only alphanumeric characters are allowed.',
|
||||
'FIELD_INVALID_CHARS_SPACERS_ONLY' => 'The field “%s” has invalid characters, only alphanumeric, space or -+_[] characters are allowed.',
|
||||
|
@ -202,13 +208,19 @@ $lang = array_merge($lang, array(
|
|||
'FOES_EXPLAIN' => 'Foes are users which will be ignored by default. Posts by these users will not be fully visible. Personal messages from foes are still permitted. Please note that you cannot ignore moderators or administrators.',
|
||||
'FOES_UPDATED' => 'Your foes list has been updated successfully.',
|
||||
'FOLDER_ADDED' => 'Folder successfully added.',
|
||||
'FOLDER_MESSAGE_STATUS' => '%1$d from %2$d messages stored',
|
||||
'FOLDER_MESSAGE_STATUS' => array(
|
||||
1 => '%2$d from %1$d message stored',
|
||||
2 => '%2$d from %1$d messages stored',
|
||||
),
|
||||
'FOLDER_NAME_EMPTY' => 'You must enter a name for this folder.',
|
||||
'FOLDER_NAME_EXIST' => 'Folder <strong>%s</strong> already exists.',
|
||||
'FOLDER_OPTIONS' => 'Folder options',
|
||||
'FOLDER_RENAMED' => 'Folder successfully renamed.',
|
||||
'FOLDER_REMOVED' => 'Folder successfully removed.',
|
||||
'FOLDER_STATUS_MSG' => 'Folder is %1$d%% full (%2$d from %3$d messages stored)',
|
||||
'FOLDER_STATUS_MSG' => array(
|
||||
1 => 'Folder is %3$d%% full (%2$d from %1$d message stored)',
|
||||
2 => 'Folder is %3$d%% full (%2$d from %1$d messages stored)',
|
||||
),
|
||||
'FORWARD_PM' => 'Forward PM',
|
||||
'FORCE_PASSWORD_EXPLAIN' => 'Before you may continue browsing the board you are required to change your password.',
|
||||
'FRIEND_MESSAGE' => 'Message from friend',
|
||||
|
@ -265,7 +277,9 @@ $lang = array_merge($lang, array(
|
|||
'MOVE_DELETED_MESSAGES_TO' => 'Move messages from removed folder to',
|
||||
'MOVE_DOWN' => 'Move down',
|
||||
'MOVE_MARKED_TO_FOLDER' => 'Move marked to %s',
|
||||
'MOVE_PM_ERROR' => 'An error occurred while moving the messages to the new folder, only %1d from %2d messages were moved.',
|
||||
'MOVE_PM_ERROR' => array(
|
||||
2 => 'An error occurred while moving the messages to the new folder, only %2d from %1d messages were moved.',
|
||||
),
|
||||
'MOVE_TO_FOLDER' => 'Move to folder',
|
||||
'MOVE_UP' => 'Move up',
|
||||
|
||||
|
@ -292,8 +306,10 @@ $lang = array_merge($lang, array(
|
|||
'NOT_ADDED_FOES_SELF' => 'You cannot add yourself to the foes list.',
|
||||
'NOT_AGREE' => 'I do not agree to these terms',
|
||||
'NOT_ENOUGH_SPACE_FOLDER' => 'The destination folder “%s” seems to be full. The requested action has not been taken.',
|
||||
'NOT_MOVED_MESSAGE' => 'You have 1 private message currently on hold because of full folder.',
|
||||
'NOT_MOVED_MESSAGES' => 'You have %d private messages currently on hold because of full folder.',
|
||||
'NOT_MOVED_MESSAGES' => array(
|
||||
1 => 'You have %d private message currently on hold because of full folder.',
|
||||
2 => 'You have %d private messages currently on hold because of full folder.',
|
||||
),
|
||||
'NO_ACTION_MODE' => 'No message action specified.',
|
||||
'NO_AUTHOR' => 'No author defined for this message',
|
||||
'NO_AVATAR_CATEGORY' => 'None',
|
||||
|
@ -333,10 +349,10 @@ $lang = array_merge($lang, array(
|
|||
'NO_WATCHED_SELECTED' => 'You have not selected any subscribed topics or forums.',
|
||||
'NO_WATCHED_TOPICS' => 'You are not subscribed to any topics.',
|
||||
|
||||
'PASS_TYPE_ALPHA_EXPLAIN' => 'Password must be between %1$d and %2$d characters long, must contain letters in mixed case and must contain numbers.',
|
||||
'PASS_TYPE_ANY_EXPLAIN' => 'Must be between %1$d and %2$d characters.',
|
||||
'PASS_TYPE_CASE_EXPLAIN' => 'Password must be between %1$d and %2$d characters long and must contain letters in mixed case.',
|
||||
'PASS_TYPE_SYMBOL_EXPLAIN' => 'Password must be between %1$d and %2$d characters long, must contain letters in mixed case, must contain numbers and must contain symbols.',
|
||||
'PASS_TYPE_ALPHA_EXPLAIN' => 'Password must be between %1$s and %2$s long, must contain letters in mixed case and must contain numbers.',
|
||||
'PASS_TYPE_ANY_EXPLAIN' => 'Must be between %1$s and %2$s.',
|
||||
'PASS_TYPE_CASE_EXPLAIN' => 'Password must be between %1$s and %2$s long and must contain letters in mixed case.',
|
||||
'PASS_TYPE_SYMBOL_EXPLAIN' => 'Password must be between %1$s and %2$s long, must contain letters in mixed case, must contain numbers and must contain symbols.',
|
||||
'PASSWORD' => 'Password',
|
||||
'PASSWORD_ACTIVATED' => 'Your new password has been activated.',
|
||||
'PASSWORD_UPDATED' => 'A new password was sent to your registered e-mail address.',
|
||||
|
@ -388,8 +404,10 @@ $lang = array_merge($lang, array(
|
|||
'RULE_ALREADY_DEFINED' => 'This rule was defined previously.',
|
||||
'RULE_DELETED' => 'Rule successfully removed.',
|
||||
'RULE_NOT_DEFINED' => 'Rule not correctly specified.',
|
||||
'RULE_REMOVED_MESSAGE' => 'One private message had been removed due to private message filters.',
|
||||
'RULE_REMOVED_MESSAGES' => '%d private messages were removed due to private message filters.',
|
||||
'RULE_REMOVED_MESSAGES' => array(
|
||||
1 => '%d private message was removed due to private message filters.',
|
||||
2 => '%d private messages were removed due to private message filters.',
|
||||
),
|
||||
|
||||
'SAME_PASSWORD_ERROR' => 'The new password you entered is the same as your current password.',
|
||||
'SEARCH_YOUR_POSTS' => 'Show your posts',
|
||||
|
@ -471,12 +489,12 @@ $lang = array_merge($lang, array(
|
|||
'UPLOAD_AVATAR_FILE' => 'Upload from your machine',
|
||||
'UPLOAD_AVATAR_URL' => 'Upload from a URL',
|
||||
'UPLOAD_AVATAR_URL_EXPLAIN' => 'Enter the URL of the location containing the image. The image will be copied to this site.',
|
||||
'USERNAME_ALPHA_ONLY_EXPLAIN' => 'Username must be between %1$d and %2$d chars long and use only alphanumeric characters.',
|
||||
'USERNAME_ALPHA_SPACERS_EXPLAIN'=> 'Username must be between %1$d and %2$d chars long and use alphanumeric, space or -+_[] characters.',
|
||||
'USERNAME_ASCII_EXPLAIN' => 'Username must be between %1$d and %2$d chars long and use only ASCII characters, so no special symbols.',
|
||||
'USERNAME_LETTER_NUM_EXPLAIN' => 'Username must be between %1$d and %2$d chars long and use only letter or number characters.',
|
||||
'USERNAME_LETTER_NUM_SPACERS_EXPLAIN'=> 'Username must be between %1$d and %2$d chars long and use letter, number, space or -+_[] characters.',
|
||||
'USERNAME_CHARS_ANY_EXPLAIN' => 'Length must be between %1$d and %2$d characters.',
|
||||
'USERNAME_ALPHA_ONLY_EXPLAIN' => 'Username must be between %1$s and %2$s long and use only alphanumeric characters.',
|
||||
'USERNAME_ALPHA_SPACERS_EXPLAIN'=> 'Username must be between %1$s and %2$s long and use alphanumeric, space or -+_[] characters.',
|
||||
'USERNAME_ASCII_EXPLAIN' => 'Username must be between %1$s and %2$s long and use only ASCII characters, so no special symbols.',
|
||||
'USERNAME_LETTER_NUM_EXPLAIN' => 'Username must be between %1$s and %2$s long and use only letter or number characters.',
|
||||
'USERNAME_LETTER_NUM_SPACERS_EXPLAIN'=> 'Username must be between %1$s and %2$s long and use letter, number, space or -+_[] characters.',
|
||||
'USERNAME_CHARS_ANY_EXPLAIN' => 'Length must be between %1$s and %2$s.',
|
||||
'USERNAME_TAKEN_USERNAME' => 'The username you entered is already in use, please select an alternative.',
|
||||
'USERNAME_DISALLOWED_USERNAME' => 'The username you entered has been disallowed or contains a disallowed word. Please choose a different name.',
|
||||
'USER_NOT_FOUND_OR_INACTIVE' => 'The usernames you specified could either not be found or are not activated users.',
|
||||
|
@ -489,8 +507,10 @@ $lang = array_merge($lang, array(
|
|||
'VIEW_NEXT_PM' => 'Next PM',
|
||||
'VIEW_PM' => 'View message',
|
||||
'VIEW_PM_INFO' => 'Message details',
|
||||
'VIEW_PM_MESSAGE' => '1 message',
|
||||
'VIEW_PM_MESSAGES' => '%d messages',
|
||||
'VIEW_PM_MESSAGES' => array(
|
||||
1 => '%d message',
|
||||
2 => '%d messages',
|
||||
),
|
||||
'VIEW_PREVIOUS_HISTORY' => 'Previous PM in history',
|
||||
'VIEW_PREVIOUS_PM' => 'Previous PM',
|
||||
'VIEW_SIGS' => 'Display signatures',
|
||||
|
|
|
@ -64,6 +64,8 @@ $lang = array_merge($lang, array(
|
|||
'UNREAD_POSTS_LOCKED' => 'Unread posts [ Locked ]',
|
||||
|
||||
'VIEW_FORUM' => 'View forum',
|
||||
'VIEW_FORUM_TOPIC' => '1 topic',
|
||||
'VIEW_FORUM_TOPICS' => '%d topics',
|
||||
'VIEW_FORUM_TOPICS' => array(
|
||||
1 => '%d topic',
|
||||
2 => '%d topics',
|
||||
),
|
||||
));
|
||||
|
|
|
@ -53,8 +53,10 @@ $lang = array_merge($lang, array(
|
|||
'DELETE_TOPIC' => 'Delete topic',
|
||||
'DOWNLOAD_NOTICE' => 'You do not have the required permissions to view the files attached to this post.',
|
||||
|
||||
'EDITED_TIMES_TOTAL' => 'Last edited by %1$s on %2$s, edited %3$d times in total.',
|
||||
'EDITED_TIME_TOTAL' => 'Last edited by %1$s on %2$s, edited %3$d time in total.',
|
||||
'EDITED_TIMES_TOTAL' => array(
|
||||
1 => 'Last edited by %2$s on %3$s, edited %1$d time in total.',
|
||||
2 => 'Last edited by %2$s on %3$s, edited %1$d times in total.',
|
||||
),
|
||||
'EMAIL_TOPIC' => 'E-mail friend',
|
||||
'ERROR_NO_ATTACHMENT' => 'The selected attachment does not exist anymore.',
|
||||
|
||||
|
@ -70,8 +72,10 @@ $lang = array_merge($lang, array(
|
|||
'MAKE_GLOBAL' => 'Change to “Global”',
|
||||
'MAKE_NORMAL' => 'Change to “Standard Topic”',
|
||||
'MAKE_STICKY' => 'Change to “Sticky”',
|
||||
'MAX_OPTIONS_SELECT' => 'You may select up to <strong>%d</strong> options',
|
||||
'MAX_OPTION_SELECT' => 'You may select <strong>1</strong> option',
|
||||
'MAX_OPTIONS_SELECT' => array(
|
||||
1 => 'You may select <strong>%d</strong> option',
|
||||
2 => 'You may select up to <strong>%d</strong> options',
|
||||
),
|
||||
'MISSING_INLINE_ATTACHMENT' => 'The attachment <strong>%s</strong> is no longer available',
|
||||
'MOVE_TOPIC' => 'Move topic',
|
||||
|
||||
|
@ -105,8 +109,10 @@ $lang = array_merge($lang, array(
|
|||
'VIEW_NEXT_TOPIC' => 'Next topic',
|
||||
'VIEW_PREVIOUS_TOPIC' => 'Previous topic',
|
||||
'VIEW_RESULTS' => 'View results',
|
||||
'VIEW_TOPIC_POST' => '1 post',
|
||||
'VIEW_TOPIC_POSTS' => '%d posts',
|
||||
'VIEW_TOPIC_POSTS' => array(
|
||||
1 => '%d post',
|
||||
2 => '%d posts',
|
||||
),
|
||||
'VIEW_UNREAD_POST' => 'First unread post',
|
||||
'VISIT_WEBSITE' => 'WWW',
|
||||
'VOTE_SUBMITTED' => 'Your vote has been cast.',
|
||||
|
|
|
@ -612,8 +612,8 @@ switch ($mode)
|
|||
$template->assign_vars(array(
|
||||
'L_POSTS_IN_QUEUE' => $user->lang('NUM_POSTS_IN_QUEUE', $member['posts_in_queue']),
|
||||
|
||||
'POSTS_DAY' => sprintf($user->lang['POST_DAY'], $posts_per_day),
|
||||
'POSTS_PCT' => sprintf($user->lang['POST_PCT'], $percentage),
|
||||
'POSTS_DAY' => $user->lang('POST_DAY', $posts_per_day),
|
||||
'POSTS_PCT' => $user->lang('POST_PCT', $percentage),
|
||||
|
||||
'OCCUPATION' => (!empty($member['user_occ'])) ? censor_text($member['user_occ']) : '',
|
||||
'INTERESTS' => (!empty($member['user_interests'])) ? censor_text($member['user_interests']) : '',
|
||||
|
@ -1586,7 +1586,7 @@ switch ($mode)
|
|||
$template->assign_vars(array(
|
||||
'PAGINATION' => generate_pagination($pagination_url, $total_users, $config['topics_per_page'], $start),
|
||||
'PAGE_NUMBER' => on_page($total_users, $config['topics_per_page'], $start),
|
||||
'TOTAL_USERS' => ($total_users == 1) ? $user->lang['LIST_USER'] : sprintf($user->lang['LIST_USERS'], $total_users),
|
||||
'TOTAL_USERS' => $user->lang('LIST_USERS', (int) $total_users),
|
||||
|
||||
'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']),
|
||||
'PM_IMG' => $user->img('icon_contact_pm', $user->lang['SEND_PRIVATE_MESSAGE']),
|
||||
|
|
|
@ -322,7 +322,7 @@ if ($mode == 'bump')
|
|||
$meta_url = phpbb_bump_topic($forum_id, $topic_id, $post_data, $current_time);
|
||||
meta_refresh(3, $meta_url);
|
||||
|
||||
$message = $user->lang['TOPIC_BUMPED'] . '<br /><br />' . sprintf($user->lang['VIEW_MESSAGE'], '<a href="' . $meta_url . '">', '</a>');
|
||||
$message = $user->lang['TOPIC_BUMPED'] . '<br /><br />' . $user->lang('VIEW_MESSAGE', '<a href="' . $meta_url . '">', '</a>');
|
||||
$message .= '<br /><br />' . sprintf($user->lang['RETURN_FORUM'], '<a href="' . append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id) . '">', '</a>');
|
||||
|
||||
trigger_error($message);
|
||||
|
@ -841,7 +841,7 @@ if ($submit || $preview || $refresh)
|
|||
if (($result = validate_string($post_data['username'], false, $config['min_name_chars'], $config['max_name_chars'])) !== false)
|
||||
{
|
||||
$min_max_amount = ($result == 'TOO_SHORT') ? $config['min_name_chars'] : $config['max_name_chars'];
|
||||
$error[] = sprintf($user->lang['FIELD_' . $result], $user->lang['USERNAME'], $min_max_amount);
|
||||
$error[] = $user->lang('FIELD_' . $result, $min_max_amount, $user->lang['USERNAME']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1154,8 +1154,8 @@ if (!sizeof($error) && $preview)
|
|||
'POLL_QUESTION' => $parse_poll->message,
|
||||
|
||||
'L_POLL_LENGTH' => ($post_data['poll_length']) ? sprintf($user->lang['POLL_RUN_TILL'], $user->format_date($poll_end)) : '',
|
||||
'L_MAX_VOTES' => ($post_data['poll_max_options'] == 1) ? $user->lang['MAX_OPTION_SELECT'] : sprintf($user->lang['MAX_OPTIONS_SELECT'], $post_data['poll_max_options']))
|
||||
);
|
||||
'L_MAX_VOTES' => $user->lang('MAX_OPTIONS_SELECT', (int) $post_data['poll_max_options']),
|
||||
));
|
||||
|
||||
$parse_poll->message = implode("\n", $post_data['poll_options']);
|
||||
$parse_poll->format_display($post_data['enable_bbcode'], $post_data['enable_urls'], $post_data['enable_smilies']);
|
||||
|
@ -1357,7 +1357,7 @@ add_form_key('posting');
|
|||
$template->assign_vars(array(
|
||||
'L_POST_A' => $page_title,
|
||||
'L_ICON' => ($mode == 'reply' || $mode == 'quote' || ($mode == 'edit' && $post_id != $post_data['topic_first_post_id'])) ? $user->lang['POST_ICON'] : $user->lang['TOPIC_ICON'],
|
||||
'L_MESSAGE_BODY_EXPLAIN' => (intval($config['max_post_chars'])) ? sprintf($user->lang['MESSAGE_BODY_EXPLAIN'], intval($config['max_post_chars'])) : '',
|
||||
'L_MESSAGE_BODY_EXPLAIN' => $user->lang('MESSAGE_BODY_EXPLAIN', (int) $config['max_post_chars']),
|
||||
|
||||
'FORUM_NAME' => $post_data['forum_name'],
|
||||
'FORUM_DESC' => ($post_data['forum_desc']) ? generate_text_for_display($post_data['forum_desc'], $post_data['forum_desc_uid'], $post_data['forum_desc_bitfield'], $post_data['forum_desc_options']) : '',
|
||||
|
@ -1430,7 +1430,7 @@ if (($mode == 'post' || ($mode == 'edit' && $post_id == $post_data['topic_first_
|
|||
'S_POLL_DELETE' => ($mode == 'edit' && sizeof($post_data['poll_options']) && ((!$post_data['poll_last_vote'] && $post_data['poster_id'] == $user->data['user_id'] && $auth->acl_get('f_delete', $forum_id)) || $auth->acl_get('m_delete', $forum_id))),
|
||||
'S_POLL_DELETE_CHECKED' => (!empty($poll_delete)) ? true : false,
|
||||
|
||||
'L_POLL_OPTIONS_EXPLAIN' => sprintf($user->lang['POLL_OPTIONS_' . (($mode == 'edit') ? 'EDIT_' : '') . 'EXPLAIN'], $config['max_poll_options']),
|
||||
'L_POLL_OPTIONS_EXPLAIN' => $user->lang('POLL_OPTIONS_' . (($mode == 'edit') ? 'EDIT_' : '') . 'EXPLAIN', (int) $config['max_poll_options']),
|
||||
|
||||
'VOTE_CHANGE_CHECKED' => (!empty($post_data['poll_vote_change'])) ? ' checked="checked"' : '',
|
||||
'POLL_TITLE' => (isset($post_data['poll_title'])) ? $post_data['poll_title'] : '',
|
||||
|
|
|
@ -136,7 +136,7 @@ if ($keywords || $author || $author_id || $search_id || $submit)
|
|||
{
|
||||
if ((strpos($author, '*') !== false) && (utf8_strlen(str_replace(array('*', '%'), '', $author)) < $config['min_search_author_chars']))
|
||||
{
|
||||
trigger_error(sprintf($user->lang['TOO_FEW_AUTHOR_CHARS'], $config['min_search_author_chars']));
|
||||
trigger_error($user->lang('TOO_FEW_AUTHOR_CHARS', (int) $config['min_search_author_chars']));
|
||||
}
|
||||
|
||||
$sql_where = (strpos($author, '*') !== false) ? ' username_clean ' . $db->sql_like_expression(str_replace('*', $db->any_char, utf8_clean_string($author))) : " username_clean = '" . $db->sql_escape(utf8_clean_string($author)) . "'";
|
||||
|
@ -295,7 +295,7 @@ if ($keywords || $author || $author_id || $search_id || $submit)
|
|||
if (!$correct_query || (empty($search->search_query) && !sizeof($author_id_ary) && !$search_id))
|
||||
{
|
||||
$ignored = (sizeof($search->common_words)) ? sprintf($user->lang['IGNORED_TERMS_EXPLAIN'], implode(' ', $search->common_words)) . '<br />' : '';
|
||||
trigger_error($ignored . sprintf($user->lang['NO_KEYWORDS'], $search->word_length['min'], $search->word_length['max']));
|
||||
trigger_error($ignored . $user->lang('NO_KEYWORDS', $user->lang('CHARACTERS', (int) $search->word_length['min']), $user->lang('CHARACTERS', (int) $search->word_length['max'])));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -544,11 +544,11 @@ if ($keywords || $author || $author_id || $search_id || $submit)
|
|||
{
|
||||
// limit the number to 1000 for pre-made searches
|
||||
$total_match_count--;
|
||||
$l_search_matches = sprintf($user->lang['FOUND_MORE_SEARCH_MATCHES'], $total_match_count);
|
||||
$l_search_matches = $user->lang('FOUND_MORE_SEARCH_MATCHES', (int) $total_match_count);
|
||||
}
|
||||
else
|
||||
{
|
||||
$l_search_matches = ($total_match_count == 1) ? sprintf($user->lang['FOUND_SEARCH_MATCH'], $total_match_count) : sprintf($user->lang['FOUND_SEARCH_MATCHES'], $total_match_count);
|
||||
$l_search_matches = $user->lang('FOUND_SEARCH_MATCHES', (int) $total_match_count);
|
||||
}
|
||||
|
||||
// define some vars for urls
|
||||
|
|
|
@ -581,8 +581,8 @@ $total_topic_count = $topics_count - sizeof($global_announce_forums);
|
|||
$template->assign_vars(array(
|
||||
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id" . ((strlen($u_sort_param)) ? "&$u_sort_param" : '')), $topics_count, $config['topics_per_page'], $start),
|
||||
'PAGE_NUMBER' => on_page($topics_count, $config['topics_per_page'], $start),
|
||||
'TOTAL_TOPICS' => ($s_display_active) ? false : (($total_topic_count == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $total_topic_count)))
|
||||
);
|
||||
'TOTAL_TOPICS' => ($s_display_active) ? false : $user->lang('VIEW_FORUM_TOPICS', (int) $total_topic_count),
|
||||
));
|
||||
|
||||
$topic_list = ($store_reverse) ? array_merge($announcement_list, array_reverse($topic_list)) : array_merge($announcement_list, $topic_list);
|
||||
$topic_tracking_info = $tracking_topics = array();
|
||||
|
|
|
@ -343,32 +343,6 @@ while ($row = $db->sql_fetchrow($result))
|
|||
$db->sql_freeresult($result);
|
||||
unset($prev_id, $prev_ip);
|
||||
|
||||
// Generate reg/hidden/guest online text
|
||||
$vars_online = array(
|
||||
'REG' => array('logged_visible_online', 'l_r_user_s'),
|
||||
'HIDDEN'=> array('logged_hidden_online', 'l_h_user_s'),
|
||||
'GUEST' => array('guest_counter', 'l_g_user_s')
|
||||
);
|
||||
|
||||
foreach ($vars_online as $l_prefix => $var_ary)
|
||||
{
|
||||
switch ($$var_ary[0])
|
||||
{
|
||||
case 0:
|
||||
$$var_ary[1] = $user->lang[$l_prefix . '_USERS_ZERO_ONLINE'];
|
||||
break;
|
||||
|
||||
case 1:
|
||||
$$var_ary[1] = $user->lang[$l_prefix . '_USER_ONLINE'];
|
||||
break;
|
||||
|
||||
default:
|
||||
$$var_ary[1] = $user->lang[$l_prefix . '_USERS_ONLINE'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
unset($vars_online);
|
||||
|
||||
$pagination = generate_pagination(append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_guests&sk=$sort_key&sd=$sort_dir"), $counter, $config['topics_per_page'], $start);
|
||||
|
||||
$order_legend = ($config['legend_sort_groupname']) ? 'group_name' : 'group_legend';
|
||||
|
@ -415,8 +389,8 @@ meta_refresh(60, append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_gue
|
|||
|
||||
// Send data to template
|
||||
$template->assign_vars(array(
|
||||
'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($l_r_user_s, $logged_visible_online) . sprintf($l_h_user_s, $logged_hidden_online),
|
||||
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s, $guest_counter),
|
||||
'TOTAL_REGISTERED_USERS_ONLINE' => $user->lang('REG_USERS_ONLINE', (int) $logged_visible_online, $user->lang('HIDDEN_USERS_ONLINE', (int) $logged_hidden_online)),
|
||||
'TOTAL_GUEST_USERS_ONLINE' => $user->lang('GUEST_USERS_ONLINE', (int) $guest_counter),
|
||||
'LEGEND' => $legend,
|
||||
'PAGINATION' => $pagination,
|
||||
'PAGE_NUMBER' => on_page($counter, $config['topics_per_page'], $start),
|
||||
|
|
|
@ -578,7 +578,7 @@ $template->assign_vars(array(
|
|||
|
||||
'PAGINATION' => $pagination,
|
||||
'PAGE_NUMBER' => on_page($total_posts, $config['posts_per_page'], $start),
|
||||
'TOTAL_POSTS' => ($total_posts == 1) ? $user->lang['VIEW_TOPIC_POST'] : sprintf($user->lang['VIEW_TOPIC_POSTS'], $total_posts),
|
||||
'TOTAL_POSTS' => $user->lang('VIEW_TOPIC_POSTS', (int) $total_posts),
|
||||
'U_MCP' => ($auth->acl_get('m_', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&mode=topic_view&f=$forum_id&t=$topic_id" . (($start == 0) ? '' : "&start=$start") . ((strlen($u_sort_param)) ? "&$u_sort_param" : ''), true, $user->session_id) : '',
|
||||
'MODERATORS' => (isset($forum_moderators[$forum_id]) && sizeof($forum_moderators[$forum_id])) ? implode(', ', $forum_moderators[$forum_id]) : '',
|
||||
|
||||
|
@ -854,7 +854,7 @@ if (!empty($topic_data['poll_start']))
|
|||
'POLL_LEFT_CAP_IMG' => $user->img('poll_left'),
|
||||
'POLL_RIGHT_CAP_IMG'=> $user->img('poll_right'),
|
||||
|
||||
'L_MAX_VOTES' => ($topic_data['poll_max_options'] == 1) ? $user->lang['MAX_OPTION_SELECT'] : sprintf($user->lang['MAX_OPTIONS_SELECT'], $topic_data['poll_max_options']),
|
||||
'L_MAX_VOTES' => $user->lang('MAX_OPTIONS_SELECT', (int) $topic_data['poll_max_options']),
|
||||
'L_POLL_LENGTH' => ($topic_data['poll_length']) ? sprintf($user->lang[($poll_end > time()) ? 'POLL_RUN_TILL' : 'POLL_ENDED_AT'], $user->format_date($poll_end)) : '',
|
||||
|
||||
'S_HAS_POLL' => true,
|
||||
|
@ -1382,8 +1382,6 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
|
|||
unset($post_storage_list);
|
||||
}
|
||||
|
||||
$l_edit_time_total = ($row['post_edit_count'] == 1) ? $user->lang['EDITED_TIME_TOTAL'] : $user->lang['EDITED_TIMES_TOTAL'];
|
||||
|
||||
if ($row['post_edit_reason'])
|
||||
{
|
||||
// User having edited the post also being the post author?
|
||||
|
@ -1396,7 +1394,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
|
|||
$display_username = get_username_string('full', $row['post_edit_user'], $post_edit_list[$row['post_edit_user']]['username'], $post_edit_list[$row['post_edit_user']]['user_colour']);
|
||||
}
|
||||
|
||||
$l_edited_by = sprintf($l_edit_time_total, $display_username, $user->format_date($row['post_edit_time'], false, true), $row['post_edit_count']);
|
||||
$l_edited_by = $user->lang('EDITED_TIMES_TOTAL', (int) $row['post_edit_count'], $display_username, $user->format_date($row['post_edit_time'], false, true));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1415,7 +1413,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
|
|||
$display_username = get_username_string('full', $row['post_edit_user'], $user_cache[$row['post_edit_user']]['username'], $user_cache[$row['post_edit_user']]['user_colour']);
|
||||
}
|
||||
|
||||
$l_edited_by = sprintf($l_edit_time_total, $display_username, $user->format_date($row['post_edit_time'], false, true), $row['post_edit_count']);
|
||||
$l_edited_by = $user->lang('EDITED_TIMES_TOTAL', (int) $row['post_edit_count'], $display_username, $user->format_date($row['post_edit_time'], false, true));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -26,6 +26,26 @@ class phpbb_user_lang_test extends phpbb_test_case
|
|||
1 => '1 post', // 1
|
||||
2 => '%d posts', // 2+
|
||||
),
|
||||
'ARRY_NO_ZERO' => array(
|
||||
1 => '1 post', // 1
|
||||
2 => '%d posts', // 0, 2+
|
||||
),
|
||||
'ARRY_MISSING' => array(
|
||||
1 => '%d post', // 1
|
||||
//Missing second plural
|
||||
),
|
||||
'ARRY_FLOAT' => array(
|
||||
1 => '1 post', // 1.x
|
||||
2 => '%1$.1f posts', // 0.x, 2+.x
|
||||
),
|
||||
'ARRY_EMPTY' => array(
|
||||
),
|
||||
'dateformat' => array(
|
||||
'AGO' => array(
|
||||
1 => '%d second',
|
||||
2 => '%d seconds',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
// No param
|
||||
|
@ -51,8 +71,45 @@ class phpbb_user_lang_test extends phpbb_test_case
|
|||
$this->assertEquals($user->lang('ARRY', 2), '2 posts');
|
||||
$this->assertEquals($user->lang('ARRY', 123), '123 posts');
|
||||
|
||||
// Bug PHPBB3-9949
|
||||
// Empty array returns the language key
|
||||
$this->assertEquals($user->lang('ARRY_EMPTY', 123), 'ARRY_EMPTY');
|
||||
|
||||
// No 0 key defined
|
||||
$this->assertEquals($user->lang('ARRY_NO_ZERO', 0), '0 posts');
|
||||
$this->assertEquals($user->lang('ARRY_NO_ZERO', 1), '1 post');
|
||||
$this->assertEquals($user->lang('ARRY_NO_ZERO', 2), '2 posts');
|
||||
|
||||
// Array with missing keys
|
||||
$this->assertEquals($user->lang('ARRY_MISSING', 2), '2 post');
|
||||
|
||||
// Floats as array key
|
||||
$this->assertEquals($user->lang('ARRY_FLOAT', 1.3), '1 post');
|
||||
$this->assertEquals($user->lang('ARRY_FLOAT', 2.0), '2.0 posts');
|
||||
$this->assertEquals($user->lang('ARRY_FLOAT', 2.51), '2.5 posts');
|
||||
|
||||
// Use sub key, if first paramenter is an array
|
||||
$this->assertEquals($user->lang(array('dateformat', 'AGO'), 2), '2 seconds');
|
||||
|
||||
// ticket PHPBB3-9949 - use first int to determinate the plural-form to use
|
||||
$this->assertEquals($user->lang('ARRY', 1, 2), '1 post');
|
||||
$this->assertEquals($user->lang('ARRY', 1, 's', 2), '1 post');
|
||||
|
||||
// ticket PHPBB3-10345 - different plural rules, not just 0/1/2+
|
||||
$user = new user;
|
||||
$user->lang = array(
|
||||
'PLURAL_RULE' => 13,
|
||||
'ARRY' => array(
|
||||
0 => '%d is 0', // 0
|
||||
1 => '%d is 1', // 1
|
||||
2 => '%d ends with 01-10', // ending with 01-10
|
||||
3 => '%d ends with 11-19', // ending with 11-19
|
||||
4 => '%d is part of the last rule', // everything else
|
||||
),
|
||||
);
|
||||
$this->assertEquals($user->lang('ARRY', 0), '0 is 0');
|
||||
$this->assertEquals($user->lang('ARRY', 1), '1 is 1');
|
||||
$this->assertEquals($user->lang('ARRY', 103), '103 ends with 01-10');
|
||||
$this->assertEquals($user->lang('ARRY', 15), '15 ends with 11-19');
|
||||
$this->assertEquals($user->lang('ARRY', 300), '300 is part of the last rule');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue