Feature 1451 : localization with gettext

Use php-gettext (developpement version rev43, because of php5.3) as fallback
Use native language (english) instead of key for translation
Keep directory en_UK for english customization
Need some refactoring for plurals

Todo : managing plugins in the same way

git-svn-id: http://piwigo.org/svn/trunk@5021 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
nikrou 2010-03-02 14:54:22 +00:00
commit 2e890e9597
135 changed files with 22901 additions and 687 deletions

View file

@ -34,7 +34,7 @@ check_status(ACCESS_GUEST);
//
// Start output of page
//
$title= l10n('about_page_title');
$title= l10n('About Piwigo');
$page['body_id'] = 'theAboutPage';
include(PHPWG_ROOT_PATH.'include/page_header.php');

View file

@ -66,14 +66,14 @@ $advanced_features = array();
array_push($advanced_features,
array
(
'CAPTION' => l10n('Elements_not_linked'),
'CAPTION' => l10n('Not linked elements'),
'URL' => get_root_url().'admin.php?page=element_set&cat=not_linked'
));
array_push($advanced_features,
array
(
'CAPTION' => l10n('Duplicates'),
'CAPTION' => l10n('Files with same name in more than one physical category'),
'URL' => get_root_url().'admin.php?page=element_set&cat=duplicates'
));

View file

@ -68,7 +68,7 @@ $categories = array();
$base_url = get_root_url().'admin.php?page=cat_list';
$navigation = '<a href="'.$base_url.'">';
$navigation.= l10n('home');
$navigation.= l10n('Home');
$navigation.= '</a>';
// +-----------------------------------------------------------------------+
@ -78,7 +78,7 @@ $navigation.= '</a>';
if (isset($_GET['delete']) and is_numeric($_GET['delete']) and !is_adviser())
{
delete_categories(array($_GET['delete']));
array_push($page['infos'], l10n('cat_virtual_deleted'));
array_push($page['infos'], l10n('Virtual category deleted'));
update_global_rank();
}
// request to add a virtual category

View file

@ -110,7 +110,7 @@ UPDATE '.CATEGORIES_TABLE.' SET image_order='.(isset($image_order) ? 'NULL':"'$i
move_categories( array($_GET['cat_id']), $_POST['parent'] );
}
array_push($page['infos'], l10n('editcat_confirm'));
array_push($page['infos'], l10n('Category informations updated successfully.'));
}
elseif (isset($_POST['set_random_representant']))
{
@ -316,7 +316,7 @@ $sort_fields = array(
'date_creation' => l10n('Creation date'),
'date_available' => l10n('Post date'),
'average_rate' => l10n('Average rate'),
'hit' => l10n('most_visited_cat'),
'hit' => l10n('Most visited'),
'file' => l10n('File name'),
'id' => 'Id',
'rank' => l10n('Rank'),
@ -516,7 +516,7 @@ SELECT
array_push(
$page['infos'],
sprintf(
l10n('An information email was sent to group "%s"'),
l10n('An information email was sent to group \"%s\"'),
$group_name
)
);

View file

@ -160,10 +160,10 @@ $template->assign(
$tabsheet = new tabsheet();
// TabSheet initialization
$opt_link = $link_start.'cat_options&amp;section=';
$tabsheet->add('status', l10n('cat_security'), $opt_link.'status');
$tabsheet->add('visible', l10n('lock'), $opt_link.'visible');
$tabsheet->add('upload', l10n('upload'), $opt_link.'upload');
$tabsheet->add('comments', l10n('comments'), $opt_link.'comments');
$tabsheet->add('status', l10n('Public / Private'), $opt_link.'status');
$tabsheet->add('visible', l10n('Lock'), $opt_link.'visible');
$tabsheet->add('Upload', l10n('Upload'), $opt_link.'Upload');
$tabsheet->add('Comments', l10n('Comments'), $opt_link.'Comments');
if ($conf['allow_random_representative'])
{
$tabsheet->add('representative', l10n('Representative'), $opt_link.'representative');
@ -208,9 +208,9 @@ SELECT id,name,uppercats,global_rank
;';
$template->assign(
array(
'L_SECTION' => l10n('cat_upload_title'),
'L_CAT_OPTIONS_TRUE' => l10n('authorized'),
'L_CAT_OPTIONS_FALSE' => l10n('forbidden'),
'L_SECTION' => l10n('Select uploadable categories'),
'L_CAT_OPTIONS_TRUE' => l10n('Authorized'),
'L_CAT_OPTIONS_FALSE' => l10n('Forbidden'),
)
);
break;
@ -229,9 +229,9 @@ SELECT id,name,uppercats,global_rank
;';
$template->assign(
array(
'L_SECTION' => l10n('cat_comments_title'),
'L_CAT_OPTIONS_TRUE' => l10n('authorized'),
'L_CAT_OPTIONS_FALSE' => l10n('forbidden'),
'L_SECTION' => l10n('Authorize users to add comments on selected categories'),
'L_CAT_OPTIONS_TRUE' => l10n('Authorized'),
'L_CAT_OPTIONS_FALSE' => l10n('Forbidden'),
)
);
break;
@ -250,9 +250,9 @@ SELECT id,name,uppercats,global_rank
;';
$template->assign(
array(
'L_SECTION' => l10n('cat_lock_title'),
'L_CAT_OPTIONS_TRUE' => l10n('unlocked'),
'L_CAT_OPTIONS_FALSE' => l10n('locked'),
'L_SECTION' => l10n('Lock categories'),
'L_CAT_OPTIONS_TRUE' => l10n('Unlocked'),
'L_CAT_OPTIONS_FALSE' => l10n('Locked'),
)
);
break;
@ -271,9 +271,9 @@ SELECT id,name,uppercats,global_rank
;';
$template->assign(
array(
'L_SECTION' => l10n('cat_status_title'),
'L_CAT_OPTIONS_TRUE' => l10n('cat_public'),
'L_CAT_OPTIONS_FALSE' => l10n('cat_private'),
'L_SECTION' => l10n('Manage authorizations for selected categories'),
'L_CAT_OPTIONS_TRUE' => l10n('Public category'),
'L_CAT_OPTIONS_FALSE' => l10n('Private category'),
)
);
break;

View file

@ -86,7 +86,7 @@ if (isset($_POST['submit']) and !is_adviser())
{
if ( !url_is_remote($_POST['gallery_url']) )
{
array_push($page['errors'], l10n('conf_gallery_url_error'));
array_push($page['errors'], l10n('The gallery URL is not valid.'));
}
foreach( $main_checkboxes as $checkbox)
{
@ -110,7 +110,7 @@ if (isset($_POST['submit']) and !is_adviser())
or $_POST['nb_comment_page'] < 5
or $_POST['nb_comment_page'] > 50)
{
array_push($page['errors'], l10n('conf_nb_comment_page_error'));
array_push($page['errors'], l10n('The number of comments a page must be between 5 and 50 included.'));
}
foreach( $comments_checkboxes as $checkbox)
{
@ -160,7 +160,7 @@ WHERE param = \''.$row['param'].'\'
pwg_query($query);
}
}
array_push($page['infos'], l10n('conf_confirmation'));
array_push($page['infos'], l10n('Information data registered in database'));
}
//------------------------------------------------------ $conf reinitialization
@ -173,11 +173,11 @@ $template->set_filename('config', 'configuration.tpl');
// TabSheet
$tabsheet = new tabsheet();
// TabSheet initialization
$tabsheet->add('main', l10n('conf_main_title'), $conf_link.'main');
$tabsheet->add('history', l10n('conf_history_title'), $conf_link.'history');
$tabsheet->add('comments', l10n('conf_comments_title'), $conf_link.'comments');
$tabsheet->add('upload', l10n('conf_upload_title'), $conf_link.'upload');
$tabsheet->add('default', l10n('conf_display'), $conf_link.'default');
$tabsheet->add('main', l10n('Main'), $conf_link.'main');
$tabsheet->add('history', l10n('History'), $conf_link.'history');
$tabsheet->add('comments', l10n('Comments'), $conf_link.'comments');
$tabsheet->add('upload', l10n('Upload'), $conf_link.'upload');
$tabsheet->add('default', l10n('Default display'), $conf_link.'default');
// TabSheet selection
$tabsheet->select($page['section']);
// Assign tabsheet to template
@ -285,7 +285,7 @@ switch ($page['section'])
{
// Reload user
$edit_user = build_user($conf['default_user_id'], false);
array_push($page['infos'], l10n('conf_confirmation'));
array_push($page['infos'], l10n('Information data registered in database'));
}
}
$page['errors'] = array_merge($page['errors'], $errors);

View file

@ -132,7 +132,7 @@ SELECT element_id
}
else if ('not_linked' == $_GET['cat'])
{
$page['title'] = l10n('Elements_not_linked');
$page['title'] = l10n('Not linked elements');
$template->assign(array('U_ACTIVE_MENU' => 5 ));
// we are searching elements not linked to any virtual category
@ -163,7 +163,7 @@ SELECT DISTINCT(image_id)
}
else if ('duplicates' == $_GET['cat'])
{
$page['title'] = l10n('Duplicates');
$page['title'] = l10n('Files with same name in more than one physical category');
$template->assign(array('U_ACTIVE_MENU' => 5 ));
// we are searching related elements twice or more to physical categories
@ -189,7 +189,7 @@ ORDER BY file, id
}
elseif ('recent'== $_GET['cat'])
{
$page['title'] = l10n('recent_pics_cat');
$page['title'] = l10n('Recent pictures');
$query = 'SELECT MAX(date_available) AS date
FROM '.IMAGES_TABLE;
if ($row = pwg_db_fetch_assoc( pwg_query($query) ) )

View file

@ -146,7 +146,7 @@ WHERE param = 'extents_for_templates';";
if (pwg_query($query))
{
array_push($page['infos'],
l10n('Templates recorded.'));
l10n('Templates configuration has been recorded.'));
}
}

View file

@ -72,7 +72,7 @@ DELETE
array_push(
$page['infos'],
sprintf(l10n('group "%s" deleted'), $groupname)
sprintf(l10n('group \"%s\" deleted'), $groupname)
);
}
@ -84,7 +84,7 @@ if (isset($_POST['submit_add']) and !is_adviser())
{
if (empty($_POST['groupname']))
{
array_push($page['errors'], l10n('group_add_error1'));
array_push($page['errors'], l10n('The name of a group must not contain \" or \' or be empty.'));
}
if (count($page['errors']) == 0)
{
@ -97,7 +97,7 @@ SELECT COUNT(*)
list($count) = pwg_db_fetch_row(pwg_query($query));
if ($count != 0)
{
array_push($page['errors'], l10n('group_add_error2'));
array_push($page['errors'], l10n('This name is already used by another group.'));
}
}
if (count($page['errors']) == 0)
@ -113,7 +113,7 @@ INSERT INTO '.GROUPS_TABLE.'
array_push(
$page['infos'],
sprintf(l10n('group "%s" added'), $_POST['groupname'])
sprintf(l10n('group \"%s\" added'), $_POST['groupname'])
);
}
}
@ -141,7 +141,7 @@ UPDATE '.GROUPS_TABLE.'
array_push(
$page['infos'],
sprintf(l10n('group "%s" updated'), $groupname)
sprintf(l10n('group \"%s\" updated'), $groupname)
);
}
@ -188,7 +188,7 @@ SELECT COUNT(*)
'groups',
array(
'NAME' => $row['name'],
'IS_DEFAULT' => (get_boolean($row['is_default']) ? ' ['.l10n('is_default_group').']' : ''),
'IS_DEFAULT' => (get_boolean($row['is_default']) ? ' ['.l10n('default').']' : ''),
'MEMBERS' => l10n_dec('%d member', '%d members', $counter),
'U_MEMBERS' => $members_url.$row['id'],
'U_DELETE' => $del_url.$row['id'],

View file

@ -132,12 +132,12 @@ $template->assign(
array(
'TITLE' =>
sprintf(
l10n('Manage permissions for group "%s"'),
l10n('Manage permissions for group \"%s\"'),
get_groupname($page['group']
)
),
'L_CAT_OPTIONS_TRUE'=>l10n('authorized'),
'L_CAT_OPTIONS_FALSE'=>l10n('forbidden'),
'L_CAT_OPTIONS_TRUE'=>l10n('Authorized'),
'L_CAT_OPTIONS_FALSE'=>l10n('Forbidden'),
'F_ACTION' =>
get_root_url().

View file

@ -144,7 +144,7 @@ INSERT INTO '.SEARCH_TABLE.'
}
else
{
array_push($page['errors'], l10n('search_one_clause_at_least'));
array_push($page['errors'], l10n('Empty query. No criteria has been entered.'));
}
}

View file

@ -55,10 +55,10 @@ class c13y_internal
if (version_compare($elem['current'], $elem['required'], '<'))
{
$c13y->add_anomaly(
sprintf(l10n('c13y_version_anomaly'), $elem['type'], $elem['current'], $elem['required']),
sprintf(l10n('The version of %s [%s] installed is not compatible with the version required [%s]'), $elem['type'], $elem['current'], $elem['required']),
null,
null,
l10n('c13y_version_correction')
l10n('You need to upgrade your system to take full advantage of the application else the application will not work correctly, or not at all')
.'<br>'.
$c13y->get_htlm_links_more_info());
}
@ -80,10 +80,10 @@ class c13y_internal
if (($conf[$value]) and (!function_exists('read_exif_data')))
{
$c13y->add_anomaly(
sprintf(l10n('c13y_exif_anomaly'), '$conf[\''.$value.'\']'),
sprintf(l10n('%s value is not correct file because exif are not supported'), '$conf[\''.$value.'\']'),
null,
null,
sprintf(l10n('c13y_exif_correction'), '$conf[\''.$value.'\']')
sprintf(l10n('%s must be to set to false in your config_local.inc.php file'), '$conf[\''.$value.'\']')
.'<br>'.
$c13y->get_htlm_links_more_info());
}
@ -208,7 +208,7 @@ class c13y_internal
create_user_infos($id);
$page['infos'][] = sprintf(l10n('c13y_user_created'), $name, $password);
$page['infos'][] = sprintf(l10n('User \"%s\" created with \"%s\" like password'), $name, $password);
$result = true;
}
@ -239,7 +239,7 @@ class c13y_internal
array('primary' => array('user_id'),'update' => array('status')),
$updates);
$page['infos'][] = sprintf(l10n('c13y_user_status_updated'), get_username($id));
$page['infos'][] = sprintf(l10n('Status of user \"%s\" updated'), get_username($id));
$result = true;
}

View file

@ -334,9 +334,9 @@ class check_integrity
return
sprintf
(
l10n('c13y_more_info'),
sprintf($link_fmt, $pwg_links['FORUM'], l10n('c13y_more_info_forum')),
sprintf($link_fmt, $pwg_links['WIKI'], l10n('c13y_more_info_wiki'))
l10n('Go to %s or %s for more informations'),
sprintf($link_fmt, $pwg_links['FORUM'], l10n('the forum')),
sprintf($link_fmt, $pwg_links['WIKI'], l10n('the wiki'))
);
}

View file

@ -1182,7 +1182,7 @@ function create_virtual_category($category_name, $parent_id=null)
// is the given category name only containing blank spaces ?
if (preg_match('/^\s*$/', $category_name))
{
return array('error' => l10n('cat_error_name'));
return array('error' => l10n('The name of a category should not be empty'));
}
$parent_id = !empty($parent_id) ? $parent_id : 'NULL';
@ -1268,7 +1268,7 @@ UPDATE
pwg_query($query);
return array(
'info' => l10n('cat_virtual_added'),
'info' => l10n('Virtual category added'),
'id' => $inserted_id,
);
}
@ -1666,7 +1666,7 @@ SELECT id
return array(
'info' => sprintf(
l10n('Tag "%s" was added'),
l10n('Tag \"%s\" was added'),
stripslashes($tag_name)
),
'id' => $inserted_id,
@ -1676,7 +1676,7 @@ SELECT id
{
return array(
'error' => sprintf(
l10n('Tag "%s" already exists'),
l10n('Tag \"%s\" already exists'),
stripslashes($tag_name)
)
);

View file

@ -204,8 +204,8 @@ function begin_users_env_nbm($is_to_send_mail = false)
$env_nbm['error_on_mail_count'] = 0;
$env_nbm['sent_mail_count'] = 0;
// Save sendmail message info and error in the original language
$env_nbm['msg_info'] = l10n('nbm_msg_mail_sent_to');
$env_nbm['msg_error'] = l10n('nbm_msg_error_sending_email_to');
$env_nbm['msg_info'] = l10n('Mail sent to %s [%s].');
$env_nbm['msg_error'] = l10n('Error when sending email to %s [%s].');
}
}
@ -322,7 +322,7 @@ function display_counter_info()
else
{
if ($env_nbm['sent_mail_count'] == 0)
array_push($page['infos'], l10n('nbm_no_mail_to_send'));
array_push($page['infos'], l10n('No mail to send.'));
else
array_push($page['infos'], l10n_dec('nbm_msg_n_mail_sent', 'nbm_msg_n_mails_sent', $env_nbm['sent_mail_count']));
}
@ -369,13 +369,13 @@ function do_subscribe_unsubscribe_notification_by_mail($is_admin_request, $is_su
if ($is_subscribe)
{
$msg_info = l10n('nbm_user_change_enabled_true');
$msg_error = l10n('nbm_user_not_change_enabled_true');
$msg_info = l10n('User %s [%s] was added to the subscription list.');
$msg_error = l10n('User %s [%s] was not added to the subscription list.');
}
else
{
$msg_info = l10n('nbm_user_change_enabled_false');
$msg_error = l10n('nbm_user_not_change_enabled_false');
$msg_info = l10n('User %s [%s] was removed from the subscription list.');
$msg_error = l10n('User %s [%s] was not removed from the subscription list.');
}
if (count($check_key_list) != 0)
@ -385,7 +385,7 @@ function do_subscribe_unsubscribe_notification_by_mail($is_admin_request, $is_su
$data_users = get_user_notifications('subscribe', $check_key_list, !$is_subscribe);
// Prepare message after change language
$msg_break_timeout = l10n('nbm_break_timeout_send_mail');
$msg_break_timeout = l10n('Time to send mail is limited. Others mails are skipped.');
// Begin nbm users environment
begin_users_env_nbm(true);
@ -408,7 +408,7 @@ function do_subscribe_unsubscribe_notification_by_mail($is_admin_request, $is_su
// set env nbm user
set_user_on_env_nbm($nbm_user, true);
$subject = '['.$conf['gallery_title'].']: '.($is_subscribe ? l10n('nbm_object_subscribe'): l10n('nbm_object_unsubscribe'));
$subject = '['.$conf['gallery_title'].']: '.($is_subscribe ? l10n('Unsubscribe from notification by mail'): l10n('Unsubscribe from notification by mail'));
// Assign current var for nbm mail
assign_vars_nbm_mail_content($nbm_user);

View file

@ -87,7 +87,7 @@ SELECT permalink
{
$page['errors'][] =
sprintf(
l10n('Permalink_%s_histo_used_by_%s'),
l10n('Permalink %s has been previously used by category %s. Delete from the permalink history first'),
$permalink, $old_cat_id
);
return false;
@ -140,7 +140,7 @@ function set_cat_permalink( $cat_id, $permalink, $save )
if ( $sanitized_permalink != $permalink
or preg_match( '#^(\d)+(-.*)?$#', $permalink) )
{
$page['errors'][] = l10n('Permalink_name_rule');
$page['errors'][] = l10n('The permalink name must be composed of a-z, A-Z, 0-9, \"-\", \"_\" or \"/\". It must not be numeric or start with number followed by \"-\"');
return false;
}
@ -169,7 +169,7 @@ function set_cat_permalink( $cat_id, $permalink, $save )
{
$page['errors'][] =
sprintf(
l10n('Permalink_%s_histo_used_by_%s'),
l10n('Permalink %s has been previously used by category %s. Delete from the permalink history first'),
$permalink, $old_cat_id
);
return false;

View file

@ -55,9 +55,9 @@ function set_plugins_tabsheet($selected)
$link = get_root_url().'admin.php?page=';
$tabsheet = new tabsheet();
$tabsheet->add('plugins_list', l10n('plugins_tab_list'), $link.'plugins_list');
$tabsheet->add('plugins_update', l10n('plugins_tab_update'), $link.'plugins_update');
$tabsheet->add('plugins_new', l10n('plugins_tab_new'), $link.'plugins_new');
$tabsheet->add('plugins_list', l10n('Plugin list'), $link.'plugins_list');
$tabsheet->add('plugins_update', l10n('Check for updates'), $link.'plugins_update');
$tabsheet->add('plugins_new', l10n('Other plugins'), $link.'plugins_new');
$tabsheet->select($selected);
$tabsheet->assign();
}

View file

@ -127,7 +127,7 @@ WHERE id IN ("' . implode('","', $plugins) . '")
pwg_query($query);
array_push($page['infos'],
l10n('deactivated plugins').'<p><i>'.implode(', ', $plugins).'</i></p>');
l10n('As a precaution, following plugins have been deactivated. You must check for plugins upgrade before reactiving them:').'<p><i>'.implode(', ', $plugins).'</i></p>');
}
}
@ -174,7 +174,7 @@ WHERE '.$conf['user_fields']['username'].'="'.$username.'"
if ($row['password'] != $conf['pass_convert']($password))
{
array_push($page['errors'], l10n('invalid_pwd'));
array_push($page['errors'], l10n('Invalid password!'));
}
elseif ($row['status'] != 'admin' and $row['status'] != 'webmaster')
{

View file

@ -30,7 +30,7 @@ function waiting_tabsheet()
// TabSheet
$tabsheet = new tabsheet();
// TabSheet initialization
$tabsheet->add('comments', l10n('comments'), $link_start.'comments');
$tabsheet->add('Comments', l10n('Comments'), $link_start.'Comments');
$tabsheet->add('upload', l10n('Pictures'), $link_start.'upload');
// TabSheet selection
$tabsheet->select($page['page']);

View file

@ -174,7 +174,7 @@ order by
(
$page['infos'],
sprintf(
l10n('nbm_user_x_added'),
l10n('User %s [%s] added.'),
stripslashes($nbm_user['username']),
get_email_address_as_display_text($nbm_user['mail_address'])
)
@ -200,7 +200,9 @@ order by
$query = 'delete from '.USER_MAIL_NOTIFICATION_TABLE.' where check_key in ('.implode(",", $quoted_check_key_list).');';
$result = pwg_query($query);
redirect($base_url.get_query_string_diff(array(), false), l10n('nbm_redirect_msg'));
redirect($base_url.get_query_string_diff(array(), false), l10n('Processing treatment.
Please wait...'));
}
}
}
@ -267,11 +269,11 @@ function do_action_send_mail_notification($action = 'list_to_send', $check_key_l
// Prepare message after change language
if ($is_action_send)
{
$msg_break_timeout = l10n('nbm_break_timeout_send_mail');
$msg_break_timeout = l10n('Time to send mail is limited. Others mails are skipped.');
}
else
{
$msg_break_timeout = l10n('nbm_break_timeout_list_user');
$msg_break_timeout = l10n('Prepared time for list of users to send mail is limited. Others users are not listed.');
}
// Begin nbm users environment
@ -313,7 +315,7 @@ function do_action_send_mail_notification($action = 'list_to_send', $check_key_l
if ($exist_data)
{
$subject = '['.$conf['gallery_title'].']: '.l10n('nbm_object_news');
$subject = '['.$conf['gallery_title'].']: '.l10n('New elements added');
// Assign current var for nbm mail
assign_vars_nbm_mail_content($nbm_user);
@ -449,7 +451,7 @@ function do_action_send_mail_notification($action = 'list_to_send', $check_key_l
{
if ($is_action_send)
{
array_push($page['errors'], l10n('nbm_no_user_to send_notifications_by_mail'));
array_push($page['errors'], l10n('No user to send notifications by mail.'));
}
}
}
@ -593,13 +595,13 @@ if (is_autorize_status(ACCESS_WEBMASTER))
// TabSheet
$tabsheet = new tabsheet();
// TabSheet initialization
$tabsheet->add('param', l10n('nbm_param_mode'),
$tabsheet->add('param', l10n('Parameter'),
add_url_params($base_url.get_query_string_diff(array('mode', 'select')),
array('mode' => 'param')));
$tabsheet->add('subscribe', l10n('nbm_subscribe_mode'),
$tabsheet->add('subscribe', l10n('Subscribe'),
add_url_params($base_url.get_query_string_diff(array('mode', 'select')),
array('mode' => 'subscribe')));
$tabsheet->add('send', l10n('nbm_send_mode'),
$tabsheet->add('send', l10n('Send'),
add_url_params($base_url.get_query_string_diff(array('mode', 'select')),
array('mode' => 'send')));
// TabSheet selection
@ -650,8 +652,8 @@ switch ($page['mode'])
$template->assign(
array(
'L_CAT_OPTIONS_TRUE' => l10n('nbm_subscribe_col'),
'L_CAT_OPTIONS_FALSE' => l10n('nbm_unsubscribe_col')
'L_CAT_OPTIONS_TRUE' => l10n('Subscribed'),
'L_CAT_OPTIONS_FALSE' => l10n('Unsubscribed')
)
);

View file

@ -62,7 +62,7 @@ if (isset($_POST['date_creation_action'])
$_POST['date_creation_year'])
)
{
array_push($page['errors'], l10n('err_date'));
array_push($page['errors'], l10n('wrong date'));
}
}

View file

@ -50,26 +50,26 @@ if (isset($_GET['installstatus']))
{
case 'ok':
array_push($page['infos'],
l10n('plugins_install_ok'),
l10n('plugins_install_need_activate'));
l10n('Plugin has been successfully copied'),
l10n('You might go to plugin list to install and activate it.'));
break;
case 'temp_path_error':
array_push($page['errors'], l10n('plugins_temp_path_error'));
array_push($page['errors'], l10n('Can\'t create temporary file.'));
break;
case 'dl_archive_error':
array_push($page['errors'], l10n('plugins_dl_archive_error'));
array_push($page['errors'], l10n('Can\'t download archive.'));
break;
case 'archive_error':
array_push($page['errors'], l10n('plugins_archive_error'));
array_push($page['errors'], l10n('Can\'t read or extract archive.'));
break;
default:
array_push($page['errors'],
sprintf(l10n('plugins_extract_error'), $_GET['installstatus']),
l10n('plugins_check_chmod'));
sprintf(l10n('An error occured during extraction (%s).'), $_GET['installstatus']),
l10n('Please check \"plugins\" folder and sub-folders permissions (CHMOD).'));
}
}
@ -81,7 +81,7 @@ $link = get_root_url().'admin.php?page='.$page['page'].'&amp;order=';
$template->assign('order_options',
array(
$link.'date' => l10n('Post date'),
$link.'revision' => l10n('plugins_revisions'),
$link.'revision' => l10n('Last revisions'),
$link.'name' => l10n('Name'),
$link.'author' => l10n('Author'),
$link.'downloads' => l10n('Number of downloads')));
@ -126,7 +126,7 @@ if ($plugins->get_server_plugins(true))
}
else
{
array_push($page['errors'], l10n('plugins_server_error'));
array_push($page['errors'], l10n('Can\'t connect to server.'));
}
$template->assign_var_from_handle('ADMIN_CONTENT', 'plugins');

View file

@ -68,26 +68,26 @@ if (isset($_GET['upgradestatus']) and isset($_GET['plugin']))
case 'ok':
array_push($page['infos'],
sprintf(
l10n('plugins_upgrade_ok'),
l10n('%s has been successfully upgraded.'),
$plugins->fs_plugins[$_GET['plugin']]['name']));
break;
case 'temp_path_error':
array_push($page['errors'], l10n('plugins_temp_path_error'));
array_push($page['errors'], l10n('Can\'t create temporary file.'));
break;
case 'dl_archive_error':
array_push($page['errors'], l10n('plugins_dl_archive_error'));
array_push($page['errors'], l10n('Can\'t download archive.'));
break;
case 'archive_error':
array_push($page['errors'], l10n('plugins_archive_error'));
array_push($page['errors'], l10n('Can\'t read or extract archive.'));
break;
default:
array_push($page['errors'],
sprintf(l10n('plugins_extract_error'), $_GET['upgradestatus']),
l10n('plugins_check_chmod'));
sprintf(l10n('An error occured during extraction (%s).'), $_GET['upgradestatus']),
l10n('Please check \"plugins\" folder and sub-folders permissions (CHMOD).'));
}
}
@ -157,7 +157,7 @@ if ($plugins->get_server_plugins())
}
else
{
array_push($page['errors'], l10n('plugins_server_error'));
array_push($page['errors'], l10n('Can\'t connect to server.'));
}
$template->assign_var_from_handle('ADMIN_CONTENT', 'plugins');

View file

@ -65,7 +65,7 @@ function remote_output($url)
}
else
{
array_push($page['errors'], l10n('site_err_remote_file_not_found'));
array_push($page['errors'], l10n('file create_listing_file.php on remote site was not found'));
}
}
@ -102,7 +102,7 @@ SELECT COUNT(id) AS count
if ($row['count'] > 0)
{
array_push($page['errors'],
l10n('site_already_exists').' ['.$url.']');
l10n('This site already exists').' ['.$url.']');
}
if (count($page['errors']) == 0)
{
@ -120,12 +120,12 @@ SELECT COUNT(id) AS count
if (!preg_match('/^PWG-INFO-2:/', $first_line))
{
array_push($page['errors'],
l10n('site_err').' : '.$first_line);
l10n('an error happened').' : '.$first_line);
}
}
else
{
array_push($page['errors'], l10n('site_err_remote_file_not_found') );
array_push($page['errors'], l10n('file create_listing_file.php on remote site was not found') );
}
}
}
@ -149,7 +149,7 @@ INSERT INTO '.SITES_TABLE.'
;';
pwg_query($query);
array_push($page['infos'],
$url.' '.l10n('site_created'));
$url.' '.l10n('created'));
}
}
@ -172,19 +172,19 @@ SELECT galleries_url
{
case 'generate' :
{
$title = $galleries_url.' : '.l10n('remote_site_generate');
$title = $galleries_url.' : '.l10n('generate listing');
remote_output($galleries_url.'create_listing_file.php?action=generate');
break;
}
case 'test' :
{
$title = $galleries_url.' : '.l10n('remote_site_test');
$title = $galleries_url.' : '.l10n('test');
remote_output($galleries_url.'create_listing_file.php?action=test&version='.PHPWG_VERSION);
break;
}
case 'clean' :
{
$title = $galleries_url.' : '.l10n('remote_site_clean');
$title = $galleries_url.' : '.l10n('clean');
remote_output($galleries_url.'create_listing_file.php?action=clean');
break;
}
@ -192,7 +192,7 @@ SELECT galleries_url
{
delete_site($page['site']);
array_push($page['infos'],
$galleries_url.' '.l10n('site_deleted'));
$galleries_url.' '.l10n('deleted'));
break;
}
}

View file

@ -55,24 +55,24 @@ define('CURRENT_DATE', $dbnow);
$error_labels = array(
'PWG-UPDATE-1' => array(
l10n('update_wrong_dirname_short'),
l10n('update_wrong_dirname_info')
l10n('wrong filename'),
l10n('The name of directories and files must be composed of letters, numbers, \"-\", \"_\" or \".\"')
),
'PWG-UPDATE-2' => array(
l10n('update_missing_tn_short'),
l10n('update_missing_tn_info').implode(',', $conf['picture_ext'])
l10n('missing thumbnail'),
l10n('a picture filetype requires a thumbnail. The thumbnail must be present in the sub-directory \"thumbnail\" of the category directory. The thumbnail filename must start with the configured thumbnail prefix and the extension must be among the following list :').implode(',', $conf['picture_ext'])
),
'PWG-ERROR-NO-FS' => array(
l10n('update_missing_file_or_dir'),
l10n('update_missing_file_or_dir_info')
l10n('File/directory read error'),
l10n('The file or directory cannot be accessed (either it does not exist or the access is denied)')
),
'PWG-ERROR-VERSION' => array(
l10n('update_err_pwg_version_differs'),
l10n('update_err_pwg_version_differs_info')
l10n('Piwigo version differs on the remote site'),
l10n('Version of create_listing_file.php on the remote site and Piwigo must be the same')
),
'PWG-ERROR-NOLISTING' => array(
l10n('update_err_remote_listing_not_found'),
l10n('update_err_remote_listing_not_found_info')
l10n('listing.xml file was not found'),
l10n('listing.xml file was not found on the remote site. This file is generated by choosing the \"generate listing\" command in the Site manager')
)
);
$errors = array();
@ -278,7 +278,7 @@ SELECT id_uppercat, MAX(rank)+1 AS next_rank
$infos,
array(
'path' => $fulldir,
'info' => l10n('update_research_added')
'info' => l10n('added')
)
);
@ -327,7 +327,7 @@ SELECT id_uppercat, MAX(rank)+1 AS next_rank
array_push($to_delete, $db_fulldirs[$fulldir]);
unset($db_fulldirs[$fulldir]);
array_push($infos, array('path' => $fulldir,
'info' => l10n('update_research_deleted')));
'info' => l10n('deleted')));
}
if (count($to_delete) > 0)
{
@ -473,7 +473,7 @@ SELECT file,storage_category_id
$infos,
array(
'path' => $insert['path'],
'info' => l10n('update_research_added')
'info' => l10n('added')
)
);
@ -514,7 +514,7 @@ SELECT file,storage_category_id
{
array_push($to_delete_elements, array_search($path, $db_elements));
array_push($infos, array('path' => $path,
'info' => l10n('update_research_deleted')));
'info' => l10n('deleted')));
}
if (count($to_delete_elements) > 0)
{
@ -828,7 +828,7 @@ $template->set_filenames(array('update'=>'site_update.tpl'));
$result_title = '';
if (isset($simulate) and $simulate)
{
$result_title.= l10n('update_simulation_title').' ';
$result_title.= l10n('[Simulation]').' ';
}
// used_metadata string is displayed to inform admin which metadata will be
@ -843,8 +843,8 @@ $template->assign(
array(
'SITE_URL'=>$site_url,
'U_SITE_MANAGER'=> get_root_url().'admin.php?page=site_manager',
'L_RESULT_UPDATE'=>$result_title.l10n('update_part_research'),
'L_RESULT_METADATA'=>$result_title.l10n('update_result_metadata'),
'L_RESULT_UPDATE'=>$result_title.l10n('Search for new images in the directories'),
'L_RESULT_METADATA'=>$result_title.l10n('Metadata synchronization results'),
'METADATA_LIST' => $used_metadata,
'U_HELP' => get_root_url().'popuphelp.php?page=synchronize',
));

View file

@ -67,7 +67,7 @@ SELECT id, name
array_push(
$page['errors'],
sprintf(
l10n('Tag "%s" already exists'),
l10n('Tag \"%s\" already exists'),
$tag_name
)
);
@ -164,7 +164,7 @@ SELECT id
array_push(
$page['infos'],
sprintf(
l10n('Tag "%s" was added'),
l10n('Tag \"%s\" was added'),
stripslashes($tag_name)
)
);
@ -174,7 +174,7 @@ SELECT id
array_push(
$page['errors'],
sprintf(
l10n('Tag "%s" already exists'),
l10n('Tag \"%s\" already exists'),
stripslashes($tag_name)
)
);

View file

@ -16,28 +16,28 @@ jQuery().ready(function(){ldelim}
<dt class="rdion"><span>{'Links'|@translate}&nbsp;</span></dt>
<dd>
<ul>
<li><a href="{$U_RETURN}">{'home'|@translate}</a></li>
<li><a href="{$U_FAQ}">{'instructions'|@translate}</a></li>
<li><a href="{$U_ADMIN}" title="{'hint_admin'|@translate}">{'admin'|@translate}</a></li>
<li><a href="{$U_LOGOUT}">{'logout'|@translate}</a></li>
<li><a href="{$U_RETURN}">{'Home'|@translate}</a></li>
<li><a href="{$U_FAQ}">{'Instructions'|@translate}</a></li>
<li><a href="{$U_ADMIN}" title="{'Administration'|@translate}">{'Administration'|@translate}</a></li>
<li><a href="{$U_LOGOUT}">{'Logout'|@translate}</a></li>
{if isset($pwgmenu)}
<li class="external"><a class="external" href="{$pwgmenu.WIKI}" onclick="window.open(this.href, '');
return false;">{'WIKI / DOC'|@translate}</a></li>
return false;">{'Documentation'|@translate}</a></li>
<li class="external"><a class="external" href="{$pwgmenu.FORUM}" onclick="window.open(this.href, '');
return false;">{'FORUM'|@translate}</a></li>
return false;">{'Support'|@translate}</a></li>
{/if}
</ul>
</dd>
</dl>
<dl>
<dt class="rdion"><span>{'config'|@translate}&nbsp;</span></dt>
<dt class="rdion"><span>{'Configuration'|@translate}&nbsp;</span></dt>
<dd>
<ul>
<li><a href="{$U_CONFIG_GENERAL}">{'conf_general'|@translate}</a></li>
<li><a href="{$U_CONFIG_DISPLAY}">{'conf_display'|@translate}</a></li>
<li><a href="{$U_CONFIG_MENUBAR}">{'title_menu'|@translate}</a></li>
<li><a href="{$U_CONFIG_EXTENTS}">{'conf_extents'|@translate}</a></li>
<li><a href="{$U_CONFIG_GENERAL}">{'General'|@translate}</a></li>
<li><a href="{$U_CONFIG_DISPLAY}">{'Default display'|@translate}</a></li>
<li><a href="{$U_CONFIG_MENUBAR}">{'Menu'|@translate}</a></li>
<li><a href="{$U_CONFIG_EXTENTS}">{'Templates'|@translate}</a></li>
</ul>
</dd>
</dl>
@ -46,10 +46,10 @@ jQuery().ready(function(){ldelim}
<dd>
<ul>
<li><a href="{$U_SITE_MANAGER}">{'Site manager'|@translate}</a></li>
<li><a href="{$U_CAT_UPDATE}">{'update'|@translate}</a></li>
<li><a href="{$U_CATEGORIES}">{'manage'|@translate}</a></li>
<li><a href="{$U_CAT_UPDATE}">{'Synchronize'|@translate}</a></li>
<li><a href="{$U_CATEGORIES}">{'Manage'|@translate}</a></li>
<li><a href="{$U_MOVE}">{'Move'|@translate}</a></li>
<li><a href="{$U_CAT_OPTIONS}">{'cat_options_title'|@translate}</a></li>
<li><a href="{$U_CAT_OPTIONS}">{'Properties'|@translate}</a></li>
<li><a href="{$U_PERMALINKS}">{'Permalinks'|@translate}</a></li>
</ul>
</dd>
@ -58,32 +58,32 @@ jQuery().ready(function(){ldelim}
<dt class="rdion"><span>{'Pictures'|@translate}&nbsp;</span></dt>
<dd>
<ul>
<li><a href="{$U_WAITING}">{'waiting'|@translate}</a></li>
<li><a href="{$U_THUMBNAILS}">{'thumbnails'|@translate}</a></li>
<li><a href="{$U_WAITING}">{'Waiting'|@translate}</a></li>
<li><a href="{$U_THUMBNAILS}">{'Thumbnails'|@translate}</a></li>
<li><a href="{$U_RATING}">{'Rating'|@translate}</a></li>
<li><a href="{$U_TAGS}">{'Tags'|@translate}</a></li>
<li><a href="{$U_CADDIE}">{'Caddie'|@translate}</a></li>
<li><a href="{$U_RECENT_SET}">{'recent_pics_cat'|@translate}</a></li>
<li><a href="{$U_RECENT_SET}">{'Recent pictures'|@translate}</a></li>
</ul>
</dd>
</dl>
<dl>
<dt class="rdion"><span>{'identification'|@translate}&nbsp;</span></dt>
<dt class="rdion"><span>{'Identification'|@translate}&nbsp;</span></dt>
<dd>
<ul>
<li><a href="{$U_USERS}">{'users'|@translate}</a></li>
<li><a href="{$U_GROUPS}">{'groups'|@translate}</a></li>
<li><a href="{$U_NOTIFICATION_BY_MAIL}">{'nbm_item_notification'|@translate}</a></li>
<li><a href="{$U_USERS}">{'Users'|@translate}</a></li>
<li><a href="{$U_GROUPS}">{'Groups'|@translate}</a></li>
<li><a href="{$U_NOTIFICATION_BY_MAIL}">{'Notification'|@translate}</a></li>
</ul>
</dd>
</dl>
<dl>
<dt class="rdion"><span>{'special_admin_menu'|@translate}&nbsp;</span></dt>
<dt class="rdion"><span>{'Specials'|@translate}&nbsp;</span></dt>
<dd>
<ul>
<li><a href="{$U_HISTORY_STAT}">{'History'|@translate}</a></li>
<li><a href="{$U_MAINTENANCE}">{'Maintenance'|@translate}</a></li>
<li><a href="{$U_ADVANCED_FEATURE}">{'Advanced_features'|@translate}</a></li>
<li><a href="{$U_ADVANCED_FEATURE}">{'Advanced features'|@translate}</a></li>
<li><a href="{$U_PLUGINS}">{'Plugins'|@translate}</a>
{if !empty($plugin_menu_items)}
<ul class="scroll">

View file

@ -1,5 +1,5 @@
<div class="titrePage">
<h2>{'Advanced_features'|@translate}</h2>
<h2>{'Advanced features'|@translate}</h2>
</div>
<ul>

View file

@ -21,13 +21,13 @@
});
</script>
<h2>{'title_categories'|@translate}</h2>
<h2>{'Categories management'|@translate}</h2>
<h3>{$CATEGORIES_NAV}</h3>
<form id="addVirtual" action="{$F_ACTION}" method="post">
<p>
{'cat_add'|@translate} : <input type="text" name="virtual_name">
{'Add a virtual category'|@translate} : <input type="text" name="virtual_name">
<input class="submit" type="submit" value="{'Submit'|@translate}" name="submitAdd" {$TAG_INPUT_ENABLED}>
{if count($categories)>9 }
<a href="#EoP" class="button" style="border:0;">
@ -51,16 +51,16 @@
{if cat_admin_access($category.ID)}
<li><a href="{$category.U_JUMPTO}" title="{'jump to category'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_jump-to.png" class="button" alt="{'jump to category'|@translate}"></a></li>
{/if}
<li><a href="{$category.U_EDIT}" title="{'edit category informations'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_edit.png" class="button" alt="{'edit'|@translate}"></a></li>
<li><a href="{$category.U_EDIT}" title="{'edit'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_edit.png" class="button" alt="{'edit'|@translate}"></a></li>
{if isset($category.U_MANAGE_ELEMENTS) }
<li><a href="{$category.U_MANAGE_ELEMENTS}" title="{'manage category elements'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'elements'|@translate}"></a></li>
<li><a href="{$category.U_MANAGE_ELEMENTS}" title="{'elements'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'elements'|@translate}"></a></li>
{/if}
<li><a href="{$category.U_CHILDREN}" title="{'manage sub-categories'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_children.png" class="button" alt="{'sub-categories'|@translate}"></a></li>
<li><a href="{$category.U_CHILDREN}" title="{'sub-categories'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_children.png" class="button" alt="{'sub-categories'|@translate}"></a></li>
{if isset($category.U_MANAGE_PERMISSIONS) }
<li><a href="{$category.U_MANAGE_PERMISSIONS}" title="{'edit category permissions'|@translate}" ><img src="{$themeconf.admin_icon_dir}/category_permissions.png" class="button" alt="{'permissions'|@translate}"></a></li>
<li><a href="{$category.U_MANAGE_PERMISSIONS}" title="{'Permissions'|@translate}" ><img src="{$themeconf.admin_icon_dir}/category_Permissions.png" class="button" alt="{'Permissions'|@translate}"></a></li>
{/if}
{if isset($category.U_DELETE) }
<li><a href="{$category.U_DELETE}" title="{'delete category'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');"><img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}"></a></li>
<li><a href="{$category.U_DELETE}" title="{'Are you sure?'|@translate|@escape:javascript}');"><img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');"><img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}"></a></li>
{/if}
</ul>
@ -68,7 +68,7 @@
<img src="{$themeconf.admin_icon_dir}/cat_move.png" class="button drag_button" style="display:none;" alt="{'Drag to re-order'|@translate}" title="{'Drag to re-order'|@translate}">
<strong><a href="{$category.U_CHILDREN}" title="{'manage sub-categories'|@translate}">{$category.NAME}</a></strong>
{if $category.IS_VIRTUAL}
<img src="{$themeconf.admin_icon_dir}/virt_category.png" class="button" alt="{'virtual_category'|@translate}">
<img src="{$themeconf.admin_icon_dir}/virt_category.png" class="button" alt="{'Virtual category'|@translate}">
{/if}
</p>

View file

@ -3,7 +3,7 @@
{include file='include/resize.inc.tpl'}
<div class="titrePage">
<h2>{'title_edit_cat'|@translate}</h2>
<h2>{'Edit a category'|@translate}</h2>
</div>
<h3>{$CATEGORIES_NAV}</h3>
@ -13,15 +13,15 @@
<li><a href="{$U_JUMPTO}" title="{'jump to category'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_jump-to.png" class="button" alt="{'jump to category'|@translate}"></a></li>
{/if}
{if isset($U_MANAGE_ELEMENTS) }
<li><a href="{$U_MANAGE_ELEMENTS}" title="{'manage category elements'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'elements'|@translate}"></a></li>
<li><a href="{$U_MANAGE_RANKS}" title="{'manage image ranks'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/ranks.png" class="button" alt="{'ranks'|@translate}"></a></li>
<li><a href="{$U_MANAGE_ELEMENTS}" title="{'elements'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'elements'|@translate}"></a></li>
<li><a href="{$U_MANAGE_RANKS}" title="{'ranks'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/ranks.png" class="button" alt="{'ranks'|@translate}"></a></li>
{/if}
<li><a href="{$U_CHILDREN}" title="{'manage sub-categories'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_children.png" class="button" alt="{'sub-categories'|@translate}"></a></li>
<li><a href="{$U_CHILDREN}" title="{'sub-categories'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_children.png" class="button" alt="{'sub-categories'|@translate}"></a></li>
{if isset($U_MANAGE_PERMISSIONS) }
<li><a href="{$U_MANAGE_PERMISSIONS}" title="{'edit category permissions'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_permissions.png" class="button" alt="{'permissions'|@translate}"></a></li>
<li><a href="{$U_MANAGE_PERMISSIONS}" title="{'Permissions'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_Permissions.png" class="button" alt="{'Permissions'|@translate}"></a></li>
{/if}
{if isset($U_DELETE) }
<li><a href="{$U_DELETE}" title="{'delete category'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}"></a></li>
<li><a href="{$U_DELETE}" title="{'Are you sure?'|@translate|@escape:'javascript'}');"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}"></a></li>
{/if}
</ul>
@ -33,7 +33,7 @@
{if isset($CAT_FULL_DIR) }
<tr>
<td><strong>{'storage'|@translate}</strong></td>
<td><strong>{'Directory'|@translate}</strong></td>
<td class="row1">{$CAT_FULL_DIR}</td>
</tr>
{/if}
@ -68,26 +68,26 @@
<legend>{'Options'|@translate}</legend>
<table>
<tr>
<td><strong>{'conf_access'|@translate}</strong>
<td><strong>{'Access type'|@translate}</strong>
<td>
{html_radios name='status' values=$status_values output=$status_values|translate selected=$CAT_STATUS}
</td>
</tr>
<tr>
<td><strong>{'lock'|@translate}</strong>
<td><strong>{'Lock'|@translate}</strong>
<td>
{html_radios name='visible' values='true,false'|@explode output='No,Yes'|@explode|translate selected=$CAT_VISIBLE}
</td>
</tr>
<tr>
<td><strong>{'comments'|@translate}</strong>
<td><strong>{'Comments'|@translate}</strong>
<td>
{html_radios name='commentable' values='false,true'|@explode output='No,Yes'|@explode|translate selected=$CAT_COMMENTABLE}
</td>
</tr>
{if isset($SHOW_UPLOADABLE) }
<tr>
<td><strong>{'editcat_uploadable'|@translate}</strong>
<td><strong>{'Authorize upload'|@translate}</strong>
<td>
{html_radios name='uploadable' values='false,true'|@explode output='No,Yes'|@explode|translate selected=$CAT_UPLOADABLE}
</td>
@ -99,7 +99,7 @@
<fieldset id="image_order">
<legend>{'Sort order'|@translate}</legend>
<input type="checkbox" name="image_order_default" id="image_order_default" {$IMG_ORDER_DEFAULT}>
<label for="image_order_default">{'Use default sort order'|@translate}</label>
<label for="image_order_default">{'Use the default image sort order (defined in the configuration file)'|@translate}</label>
<br>
<input type="checkbox" name="image_order_subcats" id="image_order_subcats">
<label for="image_order_subcats">{'Apply to subcategories'|@translate}</label>
@ -135,7 +135,7 @@
</td>
<td>
{if $representant.ALLOW_SET_RANDOM }
<p><input class="submit" type="submit" name="set_random_representant" value="{'cat_representant'|@translate}" {$TAG_INPUT_ENABLED}></p>
<p><input class="submit" type="submit" name="set_random_representant" value="{'Find a new representant by random'|@translate}" {$TAG_INPUT_ENABLED}></p>
{/if}
{if isset($representant.ALLOW_DELETE) }
@ -213,7 +213,7 @@
</td>
</tr>
<tr>
<td><strong>{'mail_content'|@translate}</strong></td>
<td><strong>{'Mail content'|@translate}</strong></td>
<td>
<textarea cols="50" rows="5" name="mail_content" id="mail_content" class="description">{$MAIL_CONTENT}</textarea>
</td>

View file

@ -1,5 +1,5 @@
<div class="titrePage">
<h2>{'cat_options_title'|@translate} {$TABSHEET_TITLE}</h2>
<h2>{'Properties'|@translate} {$TABSHEET_TITLE}</h2>
</div>
<form method="post" action="{$F_ACTION}" id="cat_options">

View file

@ -1,5 +1,5 @@
<dl>
<dt>{'c13y_title'|@translate}</dt>
<dt>{'Check integrity'|@translate}</dt>
<dd>
<ul>
<form method="post" name="c13y" id="c13y" action="">
@ -7,8 +7,8 @@
<table class="table2">
<tr class="throw">
<th></th>
<th>{'c13y_Anomaly'|@translate}</th>
<th>{'c13y_Correction'|@translate}</th>
<th>{'Anomaly'|@translate}</th>
<th>{'Correction'|@translate}</th>
</tr>
{if isset($c13y_list)}
{foreach from=$c13y_list item=c13y name=c13y_loop}
@ -22,21 +22,21 @@
<td>
<label for="c13y_selection-{$c13y.id}">
{if $c13y.show_ignore_msg}
{'c13y_ignore_msg1'|@translate}
{'The anomaly will be ignored until next application version'|@translate}
<br>
{'c13y_ignore_msg2'|@translate}
{'Correction the anomaly will cancel the fact that it\'s ignored'|@translate}
{/if}
{if $c13y.show_correction_fct}
{'c13y_Automatic_correction'|@translate}
{'Automatic correction'|@translate}
{/if}
{if $c13y.show_correction_bad_fct}
{'c13y_Impossible_automatic_correction'|@translate}
{'Impossible automatic correction'|@translate}
{/if}
{if $c13y.show_correction_success_fct}
{'c13y_Correction_applied_success'|@translate}
{'Correction applied with success'|@translate}
{/if}
{if !empty($c13y.correction_error_fct)}
{'c13y_Correction_applied_error'|@translate}
{'Correction applied with error'|@translate}
<br>
{$c13y.c13y.correction_error_fct}
{/if}
@ -63,18 +63,18 @@
{foreach from=$c13y_do_check item=ID}
document.getElementById('c13y_selection-{$ID}').checked = true;
{/foreach}
return false;">{'c13y_check_auto'|@translate}</a>
return false;">{'Check automatic corrections'|@translate}</a>
{/if}
</p>
<p>
{if $c13y_show_submit_automatic_correction}
<input class="submit" type="submit" value="{'c13y_submit_correction'|@translate}" name="c13y_submit_correction" {$TAG_INPUT_ENABLED}>
<input class="submit" type="submit" value="{'Apply selected corrections'|@translate}" name="Apply selected corrections" {$TAG_INPUT_ENABLED}>
{/if}
{if $c13y_show_submit_ignore}
<input class="submit" type="submit" value="{'c13y_submit_ignore'|@translate}" name="c13y_submit_ignore" {$TAG_INPUT_ENABLED}>
<input class="submit" type="submit" value="{'Ignore selected anomalies'|@translate}" name="Ignore selected anomalies" {$TAG_INPUT_ENABLED}>
{/if}
<input class="submit" type="submit" value="{'c13y_submit_refresh'|@translate}" name="c13y_submit_refresh">
<input class="submit" type="submit" value="{'Refresh'|@translate}" name="Refresh">
</p>
</fieldset>

View file

@ -1,5 +1,5 @@
<div class="titrePage">
<h2>{'waiting'|@translate} {$TABSHEET_TITLE}</h2>
<h2>{'Waiting'|@translate} {$TABSHEET_TITLE}</h2>
</div>
<h3>{'User comments validation'|@translate}</h3>

View file

@ -2,7 +2,7 @@
{include file='include/autosize.inc.tpl'}
<div class="titrePage">
<h2>{'title_configuration'|@translate} {$TABSHEET_TITLE}</h2>
<h2>{'Piwigo configuration'|@translate} {$TABSHEET_TITLE}</h2>
</div>
{if !isset($default)}
@ -69,14 +69,14 @@
<li>
<label>
<span class="property">{'obligatory_user_mail_address'|@translate}</span>
<span class="property">{'Mail address is obligatory for all users'|@translate}</span>
<input type="checkbox" name="obligatory_user_mail_address" {if ($main.obligatory_user_mail_address)}checked="checked"{/if}>
</label>
</li>
<li>
<label>
<span class="property">{'Email administrators when a new user registers'|@translate}</span>
<span class="property">{'Email admins when a new user registers'|@translate}</span>
<input type="checkbox" name="email_admin_on_new_user" {if ($main.email_admin_on_new_user)}checked="checked"{/if}>
</label>
</li>
@ -89,15 +89,15 @@
<legend></legend>
<ul>
<li>
<label><span class="property">{'conf_history_guest'|@translate}</span><input type="checkbox" name="history_guest" {if ($history.history_guest)}checked="checked"{/if}></label>
<label><span class="property">{'Save page visits by guests'|@translate}</span><input type="checkbox" name="history_guest" {if ($history.history_guest)}checked="checked"{/if}></label>
</li>
<li>
<label><span class="property">{'conf_history_user'|@translate}</span><input type="checkbox" name="log" {if ($history.log)}checked="checked"{/if}></label>
<label><span class="property">{'Save page visits by users'|@translate}</span><input type="checkbox" name="log" {if ($history.log)}checked="checked"{/if}></label>
</li>
<li>
<label><span class="property">{'conf_history_admin'|@translate}</span><input type="checkbox" name="history_admin" {if ($history.history_admin)}checked="checked"{/if}></label>
<label><span class="property">{'Save page visits by administrators'|@translate}</span><input type="checkbox" name="history_admin" {if ($history.history_admin)}checked="checked"{/if}></label>
</li>
</ul>
</fieldset>
@ -132,14 +132,14 @@
<li>
<label>
<span class="property">{'Email administrators when a valid comment is entered'|@translate}</span>
<span class="property">{'Email admins when a valid comment is entered'|@translate}</span>
<input type="checkbox" name="email_admin_on_comment" {if ($comments.email_admin_on_comment)}checked="checked"{/if}>
</label>
</li>
<li>
<label>
<span class="property">{'Email administrators when a comment requires validation'|@translate}</span>
<span class="property">{'Email admins when a comment requires validation'|@translate}</span>
<input type="checkbox" name="email_admin_on_comment_validation" {if ($comments.email_admin_on_comment_validation)}checked="checked"{/if}>
</label>
</li>
@ -188,7 +188,7 @@
</li>
<li>
<label>
<span class="property">{'Email administrators when a picture is uploaded'|@translate}</span>
<span class="property">{'Email admins when a picture is uploaded'|@translate}</span>
<input type="checkbox" name="email_admin_on_picture_uploaded" {if ($upload.email_admin_on_picture_uploaded)}checked="checked"{/if}>
</label>
</li>

View file

@ -1,11 +1,11 @@
<div class="titrePage"><h2>{'extend_for_templates'|@translate}</h2>
<div class="titrePage"><h2>{'Extend for templates'|@translate}</h2>
</div>
{if isset($extents)}
<h4>{'Replacement of original templates'|@translate}</h4>
<h4>{'Replacement of original templates by customized templates from template-extension subfolder'|@translate}</h4>
<form method="post" name="extend_for_templates" id="extend_for_templates" action="">
<table class="table2">
<tr class="throw">
<th>{'Replacers'|@translate}</th>
<th>{'Replacers (customized templates)'|@translate}</th>
<th>{'Original templates'|@translate}</th>
<th>{'Optional URL keyword'|@translate}</th>
<th>{'Bound template'|@translate}</th>

View file

@ -5,7 +5,7 @@
<div id="copyright">
<a name="EoP"></a> <!-- End of ADMIN Page -->
{if isset($debug.TIME) }
{'generation_time'|@translate} {$debug.TIME} ({$debug.NB_QUERIES} {'sql_queries_in'|@translate} {$debug.SQL_TIME}) -
{'SQL queries in'|@translate} {$debug.TIME} ({$debug.NB_QUERIES} {'SQL queries in'|@translate} {$debug.SQL_TIME}) -
{/if}
{* Please, do not remove this copyright. If you really want to,
@ -13,12 +13,12 @@
to show the origin of the script...
*}
{'powered_by'|@translate}
{'Powered by'|@translate}
<a href="{$PHPWG_URL}" class="Piwigo">
<span class="Piwigo">Piwigo</span></a>
{$VERSION}
{if isset($CONTACT_MAIL)}
- {'send_mail'|@translate}
- {'Contact'|@translate}
<a href="mailto:{$CONTACT_MAIL}?subject={'title_send_mail'|@translate|@escape:url}">{'Webmaster'|@translate}</a>
{/if}

View file

@ -1,5 +1,5 @@
<div class="titrePage">
<h2>{'title_groups'|@translate}</h2>
<h2>{'Group management'|@translate}</h2>
</div>
<form method="post" name="add_user" action="{$F_ADD_ACTION}" class="properties">
@ -30,11 +30,11 @@
<td><a href="{$group.U_MEMBERS}">{$group.MEMBERS}</a></td>
<td style="text-align:center;">
<a href="{$group.U_PERM}">
<img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/permissions.png" class="button" style="border:none" alt="{'permissions'|@translate}" title="{'permissions'|@translate}"></a>
<img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/Permissions.png" class="button" style="border:none" alt="{'Permissions'|@translate}" title="{'Permissions'|@translate}"></a>
<a href="{$group.U_DELETE}" onclick="return confirm('{'delete'|@translate|@escape:'javascript'}' + '\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');">
<img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png" class="button" style="border:none" alt="{'delete'|@translate}" title="{'delete'|@translate}" {$TAG_INPUT_ENABLED}></a>
<img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/Delete.png" class="button" style="border:none" alt="{'Delete'|@translate}" title="{'Delete'|@translate}" {$TAG_INPUT_ENABLED}></a>
<a href="{$group.U_ISDEFAULT}" onclick="return confirm('{'toggle_is_default_group'|@translate|@escape:'javascript'}' +'\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');">
<img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/toggle_is_default_group.png" class="button" style="border:none" alt="{'toggle_is_default_group'|@translate}" title="{'toggle_is_default_group'|@translate}" {$TAG_INPUT_ENABLED}></a>
<img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/Toggle \'default group\' property.png" class="button" style="border:none" alt="{'Toggle \'default group\' property'|@translate}" title="{'Toggle \'default group\' property'|@translate}" {$TAG_INPUT_ENABLED}></a>
</td>
</tr>
{/foreach}

View file

@ -16,7 +16,7 @@
<fieldset>
<legend>{'Filter'|@translate}</legend>
<ul>
<li><label>{'search_date_from'|@translate}</label></li>
<li><label>{'Date'|@translate}</label></li>
<li>
<select id="start_day" name="start_day">
<option value="0">--</option>
@ -32,7 +32,7 @@
</li>
</ul>
<ul>
<li><label>{'search_date_to'|@translate}</label></li>
<li><label>{'End-Date'|@translate}</label></li>
<li>
<select id="end_day" name="end_day">
<option value="0">--</option>
@ -106,14 +106,14 @@
<table class="table2" id="detailedStats">
<tr class="throw">
<th>{'Date'|@translate}</th>
<th>{'time'|@translate}</th>
<th>{'user'|@translate}</th>
<th>{'Time'|@translate}</th>
<th>{'User'|@translate}</th>
<th>{'IP'|@translate}</th>
<th>{'image'|@translate}</th>
<th>{'Element'|@translate}</th>
<th>{'Element type'|@translate}</th>
<th>{'section'|@translate}</th>
<th>{'category'|@translate}</th>
<th>{'tags'|@translate}</th>
<th>{'Section'|@translate}</th>
<th>{'Category'|@translate}</th>
<th>{'Tags'|@translate}</th>
</tr>
{if !empty($search_results) }
{foreach from=$search_results item=detail name=res_loop}

View file

@ -70,10 +70,10 @@ TD {
<table class="table2">
<tr class="throw">
<th colspan="2">{'Initial_config'|@translate}</th>
<th colspan="2">{'Basic configuration'|@translate}</th>
</tr>
<tr>
<td style="width: 30%">{'Default_lang'|@translate}</td>
<td style="width: 30%">{'Default gallery language'|@translate}</td>
<td>
<select name="language" onchange="document.location = 'install.php?language='+this.options[this.selectedIndex].value;">
{html_options options=$language_options selected=$language_selection}
@ -83,11 +83,11 @@ TD {
</table>
<table class="table2">
<tr class="throw">
<th colspan="3">{'step1_title'|@translate}</th>
<th colspan="3">{'Database configuration'|@translate}</th>
</tr>
{if count($F_DB_ENGINES)>1}
<tr>
<td style="width: 30%;">{'step1_dbengine'|@translate}</td>
<td style="width: 30%;">{'Database type'|@translate}</td>
<td>
<select name="dblayer" id="dblayer">
{foreach from=$F_DB_ENGINES key=k item=v}
@ -98,7 +98,7 @@ TD {
{/foreach}
</select>
</td>
<td>{'step1_dbengine_info'|@translate}</td>
<td>{'The type of database your piwigo data will be store in'|@translate}</td>
{else}
<td colspan="3">
<input type="hidden" name="dbengine" value="{$F_DB_LAYER}">
@ -106,76 +106,76 @@ TD {
{/if}
</tr>
<tr>
<td style="width: 30%;">{'step1_host'|@translate}</td>
<td style="width: 30%;">{'Host'|@translate}</td>
<td align=center><input type="text" name="dbhost" value="{$F_DB_HOST}"></td>
<td>{'step1_host_info'|@translate}</td>
<td>{'localhost, sql.multimania.com, toto.freesurf.fr'|@translate}</td>
</tr>
<tr>
<td>{'step1_user'|@translate}</td>
<td>{'User'|@translate}</td>
<td align=center><input type="text" name="dbuser" value="{$F_DB_USER}"></td>
<td>{'step1_user_info'|@translate}</td>
<td>{'user login given by your host provider'|@translate}</td>
</tr>
<tr>
<td>{'step1_pass'|@translate}</td>
<td>{'Password'|@translate}</td>
<td align=center><input type="password" name="dbpasswd" value=""></td>
<td>{'step1_pass_info'|@translate}</td>
<td>{'user password given by your host provider'|@translate}</td>
</tr>
<tr>
<td>{'step1_database'|@translate}</td>
<td>{'Database name'|@translate}</td>
<td align=center><input type="text" name="dbname" value="{$F_DB_NAME}"></td>
<td>{'step1_database_info'|@translate}</td>
<td>{'also given by your host provider'|@translate}</td>
</tr>
<tr>
<td>{'step1_prefix'|@translate}</td>
<td>{'Database table prefix'|@translate}</td>
<td align=center><input type="text" name="prefix" value="{$F_DB_PREFIX}"></td>
<td>{'step1_prefix_info'|@translate}</td>
<td>{'database tables names will be prefixed with it (enables you to manage better your tables)'|@translate}</td>
</tr>
</table>
<table class="table2">
<tr class="throw">
<th colspan="3">{'step2_title'|@translate}</th>
<th colspan="3">{'Admin configuration'|@translate}</th>
</tr>
<tr>
<td style="width: 30%;">{'install_webmaster'|@translate}</td>
<td style="width: 30%;">{'Webmaster login'|@translate}</td>
<td align="center"><input type="text" name="admin_name" value="{$F_ADMIN}"></td>
<td>{'install_webmaster_info'|@translate}</td>
<td>{'It will be shown to the visitors. It is necessary for website administration'|@translate}</td>
</tr>
<tr>
<td>{'step2_pwd'|@translate}</td>
<td>{'Webmaster password'|@translate}</td>
<td align="center"><input type="password" name="admin_pass1" value=""></td>
<td>{'step2_pwd_info'|@translate}</td>
<td>{'Keep it confidential, it enables you to access administration panel'|@translate}</td>
</tr>
<tr>
<td>{'step2_pwd_conf'|@translate}</td>
<td>{'Password [confirm]'|@translate}</td>
<td align="center"><input type="password" name="admin_pass2" value=""></td>
<td>{'step2_pwd_conf_info'|@translate}</td>
<td>{'verification'|@translate}</td>
</tr>
<tr>
<td>{'conf_mail_webmaster'|@translate}</td>
<td>{'Webmaster mail address'|@translate}</td>
<td align="center"><input type="text" name="admin_mail" value="{$F_ADMIN_EMAIL}"></td>
<td>{'conf_mail_webmaster_info'|@translate}</td>
<td>{'Visitors will be able to contact site administrator with this mail'|@translate}</td>
</tr>
</table>
<table>
<tr>
<td style="text-align: center;">
<input class="submit" type="submit" name="install" value="{'Start_Install'|@translate}">
<input class="submit" type="submit" name="install" value="{'Start Install'|@translate}">
</td>
</tr>
</table>
</form>
{else}
<p>
<input type="button" name="home" value="{'home'|@translate}" onClick="window.open('index.php');">
<input type="button" name="admin" value="{'admin'|@translate}" onClick="window.open('admin.php');">
<input type="button" name="Home" value="{'Home'|@translate}" onClick="window.open('index.php');">
<input type="button" name="Administration" value="{'Administration'|@translate}" onClick="window.open('Administration.php');">
</p>
{if !isset($migration)}
<div class="infos">
<ul>
<li>{'Subscribe to Piwigo Announcements Newsletter'|@translate}</li>
<li>{'Keep in touch with Piwigo project, subscribe to Piwigo Announcement Newsletter. You will receive emails when a new release is available (sometimes including a security bug fix, it\'s important to know and upgrade) and when major events happen to the project. Only a few emails a year.'|@translate}</li>
</ul>
</div>

View file

@ -10,7 +10,7 @@ jQuery().ready(function(){ldelim}
});
</script>
<h2>{'title_default'|@translate}</h2>
<h2>{'Piwigo administration'|@translate}</h2>
<dl style="padding-top: 30px;">
<dt>{'Piwigo version'|@translate}</dt>
<dd>

View file

@ -3,20 +3,20 @@
</div>
<ul>
<li><a href="{$U_MAINT_CATEGORIES}" {$TAG_INPUT_ENABLED}>{'update categories informations'|@translate}</a></li>
<li><a href="{$U_MAINT_IMAGES}" {$TAG_INPUT_ENABLED}>{'update images informations'|@translate}</a></li>
<li><a href="{$U_MAINT_DATABASE}" {$TAG_INPUT_ENABLED}>{'repair and optimize database'|@translate}</a></li>
<li><a href="{$U_MAINT_CATEGORIES}" {$TAG_INPUT_ENABLED}>{'Update categories informations'|@translate}</a></li>
<li><a href="{$U_MAINT_IMAGES}" {$TAG_INPUT_ENABLED}>{'Update images informations'|@translate}</a></li>
<li><a href="{$U_MAINT_DATABASE}" {$TAG_INPUT_ENABLED}>{'Repair and optimize database'|@translate}</a></li>
</ul>
<ul>
<li><a href="{$U_MAINT_HISTORY_DETAIL}" onclick="return confirm('{'Are you sure?'|@translate}');" {$TAG_INPUT_ENABLED}>{'purge history detail'|@translate}</a></li>
<li><a href="{$U_MAINT_HISTORY_SUMMARY}" onclick="return confirm('{'Are you sure?'|@translate}');" {$TAG_INPUT_ENABLED}>{'purge history summary'|@translate}</a></li>
<li><a href="{$U_MAINT_SESSIONS}" {$TAG_INPUT_ENABLED}>{'purge sessions'|@translate}</a></li>
<li><a href="{$U_MAINT_FEEDS}" {$TAG_INPUT_ENABLED}>{'purge never used notification feeds'|@translate}</a></li>
<li><a href="{$U_MAINT_SEARCH}"onclick="return confirm('{'Are you sure?'|@translate}');" {$TAG_INPUT_ENABLED}>{'Purge search history'|@translate}</a></li>
<li><a href="{$U_MAINT_HISTORY_DETAIL}" onclick="return confirm('{'Purge history detail'|@translate}');" {$TAG_INPUT_ENABLED}>{'Purge history detail'|@translate}</a></li>
<li><a href="{$U_MAINT_HISTORY_SUMMARY}" onclick="return confirm('{'Purge history summary'|@translate}');" {$TAG_INPUT_ENABLED}>{'Purge history summary'|@translate}</a></li>
<li><a href="{$U_MAINT_SESSIONS}" {$TAG_INPUT_ENABLED}>{'Purge sessions'|@translate}</a></li>
<li><a href="{$U_MAINT_FEEDS}" {$TAG_INPUT_ENABLED}>{'Purge never used notification feeds'|@translate}</a></li>
<li><a href="{$U_MAINT_SEARCH}"onclick="return confirm('{'Purge search history'|@translate}');" {$TAG_INPUT_ENABLED}>{'Purge search history'|@translate}</a></li>
<li><a href="{$U_MAINT_COMPILED_TEMPLATES}" {$TAG_INPUT_ENABLED}>{'Purge compiled templates'|@translate}</a></li>
</ul>
<ul>
<li><a href="{$U_MAINT_C13Y}" {$TAG_INPUT_ENABLED}>{'c13y_maintenance'|@translate}</a></li>
<li><a href="{$U_MAINT_C13Y}" {$TAG_INPUT_ENABLED}>{'Reinitialize check integrity'|@translate}</a></li>
</ul>

View file

@ -1,10 +1,10 @@
<div class="navigationBar">
{if isset($navbar.URL_FIRST)}
<a href="{$navbar.URL_FIRST}" rel="first">{'first_page'|@translate}</a> |
<a href="{$navbar.URL_PREV}" rel="prev">{'previous_page'|@translate}</a> |
<a href="{$navbar.URL_FIRST}" rel="first">{'First'|@translate}</a> |
<a href="{$navbar.URL_PREV}" rel="prev">{'Previous'|@translate}</a> |
{else}
{'first_page'|@translate} |
{'previous_page'|@translate} |
{'First'|@translate} |
{'Previous'|@translate} |
{/if}
{assign var='prev_page' value=0}
@ -19,10 +19,10 @@
{/foreach}
{if isset($navbar.URL_NEXT)}
| <a href="{$navbar.URL_NEXT}" rel="next">{'next_page'|@translate}</a>
| <a href="{$navbar.URL_LAST}" rel="last">{'last_page'|@translate}</a>
| <a href="{$navbar.URL_NEXT}" rel="next">{'Next'|@translate}</a>
| <a href="{$navbar.URL_LAST}" rel="last">{'Last'|@translate}</a>
{else}
| {'next_page'|@translate}
| {'last_page'|@translate}
| {'Next'|@translate}
| {'Last'|@translate}
{/if}
</div>

View file

@ -2,24 +2,24 @@
{include file='include/autosize.inc.tpl'}
<div class="titrePage">
<h2>{'nbm_send_mail_to_users'|@translate} {$TABSHEET_TITLE}</h2>
<h2>{'Send mail to users'|@translate} {$TABSHEET_TITLE}</h2>
</div>
<form method="post" name="notification_by_mail" id="notification_by_mail" action="{$F_ACTION}">
{if isset($REPOST_SUBMIT_NAME)}
<fieldset>
<div class="infos">
<input class="submit" type="submit" value="{'nbm_repost_submit'|@translate}" name="{$REPOST_SUBMIT_NAME}" {$TAG_INPUT_ENABLED}>
<input class="submit" type="submit" value="{'Continue processing treatment'|@translate}" name="{$REPOST_SUBMIT_NAME}" {$TAG_INPUT_ENABLED}>
</div>
</fieldset>
{/if}
{if isset($param)}
<fieldset>
<legend>{'nbm_title_param'|@translate}</legend>
<legend>{'Parameters'|@translate}</legend>
<table>
<tr>
<td><label>{'nbm_send_html_mail'|@translate}</label></td>
<td><label>{'Send mail on HTML format'|@translate}</label></td>
<td>
<label><input type="radio" name="nbm_send_html_mail" value="true" {if $param.SEND_HTML_MAIL}checked="checked"{/if}>{'Yes'|@translate}</label>
<label><input type="radio" name="nbm_send_html_mail" value="false" {if not $param.SEND_HTML_MAIL}checked="checked"{/if}>{'No'|@translate}</label>
@ -27,26 +27,26 @@
</tr>
<tr>
<td>
<label for="send_mail_as">{'nbm_send_mail_as'|@translate}</label>
<br><i><small>{'nbm_info_send_mail_as'|@translate}</small></i>
<label for="send_mail_as">{'Send mail as'|@translate}</label>
<br><i><small>{'With blank value, gallery title will be used'|@translate}</small></i>
</td>
<td><input type="text" maxlength="35" size="35" name="nbm_send_mail_as" id="send_mail_as" value="{$param.SEND_MAIL_AS}"></td>
</tr>
<tr>
<td><label>{'nbm_send_detailed_content'|@translate}</label></td>
<td><label>{'Add detailed content'|@translate}</label></td>
<td>
<label><input type="radio" name="nbm_send_detailed_content" value="true" {if $param.SEND_DETAILED_CONTENT}checked="checked"{/if}>{'Yes'|@translate}</label>
<label><input type="radio" name="nbm_send_detailed_content" value="false" {if not $param.SEND_DETAILED_CONTENT}checked="checked"{/if}>{'No'|@translate}</label>
</td>
</tr>
<tr>
<td><label for="complementary_mail_content">{'nbm_complementary_mail_content'|@translate}</label></td>
<td><label for="complementary_mail_content">{'Complementary mail content'|@translate}</label></td>
<td><textarea cols="50" rows="5" name="nbm_complementary_mail_content" id="complementary_mail_content">{$param.COMPLEMENTARY_MAIL_CONTENT}</textarea></td>
</tr>
<tr>
<td>
<label>{'nbm_send_recent_post_dates'|@translate}</label>
<br><i><small>{'nbm_info_send_recent_post_dates'|@translate}</small></i>
<label>{'Include display of recent pictures group by dates'|@translate}</label>
<br><i><small>{'Available only with HTML format'|@translate}</small></i>
</td>
<td>
<label><input type="radio" name="nbm_send_recent_post_dates" value="true" {if $param.SEND_RECENT_POST_DATES}checked="checked"{/if}>{'Yes'|@translate}</label>
@ -64,28 +64,28 @@
{if isset($subscribe)}
<fieldset>
<legend>{'nbm_title_subscribe'|@translate}</legend>
<p><i>{'nbm_warning_subscribe_unsubscribe'|@translate}</i></p>
<legend>{'Subscribe/unsubscribe users'|@translate}</legend>
<p><i>{'Warning: subscribing or unsubscribing will send mails to users'|@translate}</i></p>
{$DOUBLE_SELECT}
</fieldset>
{/if}{* isset $subscribe*}
{if isset($send)}
{if empty($send.users)}
<p>{'nbm_no_user_available_to_send_L1'|@translate}</p>
<p>{'There is no available subscribers to mail.'|@translate}</p>
<p>
{'nbm_no_user_available_to_send_L2'|@translate}<br>
{'nbm_no_user_available_to_send_L3'|@translate}
{'Subscribers could be listed (available) only if there is new elements to notify.'|@translate}<br>
{'Anyway only webmasters can see this tab and never administrators.'|@translate}
</p>
{else}
<fieldset>
<legend>{'nbm_title_send'|@translate}</legend>
<legend>{'Select recipients'|@translate}</legend>
<table class="table2">
<tr class="throw">
<th>{'nbm_col_user'|@translate}</th>
<th>{'nbm_col_mail'|@translate}</th>
<th>{'nbm_col_last_send'|@translate}</th>
<th>{'nbm_col_check_user_send_mail'|@translate}</th>
<th>{'User'|@translate}</th>
<th>{'email'|@translate}</th>
<th>{'Last send'|@translate}</th>
<th>{'To send ?'|@translate}</th>
</tr>
{foreach from=$send.users item=u name=user_loop}
<tr class="{if $smarty.foreach.user_loop.index is odd}row1{else}row2{/if}">
@ -103,17 +103,17 @@
</fieldset>
<fieldset>
<legend>{'nbm_send_options'|@translate}</legend>
<legend>{'Options'|@translate}</legend>
<table>
<tr>
<td><label for="send_customize_mail_content">{'nbm_send_complementary_mail_content'|@translate}</label></td>
<td><label for="send_customize_mail_content">{'Complementary mail content'|@translate}</label></td>
<td><textarea cols="50" rows="5" name="send_customize_mail_content" id="send_customize_mail_content">{$send.CUSTOMIZE_MAIL_CONTENT}</textarea></td>
</tr>
</table>
</fieldset>
<p>
<input class="submit" type="submit" value="{'nbm_send_submit'|@translate}" name="send_submit" {$TAG_INPUT_ENABLED}>
<input class="submit" type="submit" value="{'Send'|@translate}" name="send_submit" {$TAG_INPUT_ENABLED}>
</p>
{/if}
{/if}{* isset $send*}

View file

@ -60,7 +60,7 @@
<td>{$permalink.date_deleted}</td>
<td>{$permalink.last_hit}</td>
<td>{$permalink.hit}</td>
<td><a href="{$permalink.U_DELETE}" {$TAG_INPUT_ENABLED}><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png" alt="[{'delete'|@translate}]" class="button"></a></td>
<td><a href="{$permalink.U_DELETE}" {$TAG_INPUT_ENABLED}><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/Delete.png" alt="[{'Delete'|@translate}]" class="button"></a></td>
</tr>
{/foreach}
</table>

View file

@ -9,16 +9,16 @@
</script>
{/literal}
<h2>{'title_picmod'|@translate}</h2>
<h2>{'Modify informations about a picture'|@translate}</h2>
<img src="{$TN_SRC}" alt="{'thumbnail'|@translate}" class="thumbnail">
<img src="{$TN_SRC}" alt="{'Thumbnail'|@translate}" class="Thumbnail">
<ul class="categoryActions">
{if isset($U_JUMPTO) }
<li><a href="{$U_JUMPTO}" title="{'jump to image'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_jump-to.png" class="button" alt="{'jump to image'|@translate}"></a></li>
{/if}
{if !url_is_remote($path)}
<li><a href="{$U_SYNC}" title="{'synchronize metadata'|@translate}" {$TAG_INPUT_ENABLED}><img src="{$themeconf.admin_icon_dir}/sync_metadata.png" class="button" alt="{'synchronize'|@translate}"></a></li>
<li><a href="{$U_SYNC}" title="{'synchronize'|@translate}" {$TAG_INPUT_ENABLED}><img src="{$themeconf.admin_icon_dir}/sync_metadata.png" class="button" alt="{'synchronize'|@translate}"></a></li>
{/if}
</ul>

View file

@ -70,12 +70,12 @@
</li>
<li>
<a href="{$plugin.U_ACTION}&amp;action=delete" onclick="return confirm('{'plugins_confirm_delete'|@translate|@escape:'javascript'}');">
<img src="{$themeconf.admin_icon_dir}/plug_delete.png" alt="{'plugins_delete'|@translate}" title="{'plugins_delete'|@translate}">
<img src="{$themeconf.admin_icon_dir}/plug_delete.png" alt="{'Delete'|@translate}" title="{'Delete'|@translate}">
</a>
</li>
{else}
<li>
<img src="{$themeconf.admin_icon_dir}/plug_delete_grey.png" alt="{'plugins_delete'|@translate}" title="{'plugins_delete'|@translate}">
<img src="{$themeconf.admin_icon_dir}/plug_delete_grey.png" alt="{'Delete'|@translate}" title="{'Delete'|@translate}">
</li>
{/if}
</ul>

View file

@ -39,7 +39,7 @@ jQuery().ready(function(){ldelim}
<td>{$plugin.DATE}</td>
<td>{$plugin.AUTHOR}</td>
<td style="text-align:center;"><a href="{$plugin.URL_INSTALL}" onclick="return confirm('{'plugins_confirm_install'|@translate|@escape:javascript}');">{'plugins_auto_install'|@translate}</a>
/ <a href="{$plugin.URL_DOWNLOAD}">{'plugins_download'|@translate}</a>
/ <a href="{$plugin.URL_DOWNLOAD}">{'Download file'|@translate}</a>
</td>
</tr>
{/foreach}

View file

@ -16,13 +16,13 @@ jQuery().ready(function(){ldelim}
{if isset($plugins_not_uptodate)}
<br>
<b>{'plugins_need_update'|@translate}</b>
<b>{'Plugins which need upgrade'|@translate}</b>
<table class="table2 plugins">
<thead>
<tr class="throw">
<td>{'Name'|@translate}</td>
<td>{'plugins_actual_version'|@translate}</td>
<td>{'plugins_new_version'|@translate}</td>
<td>{'Current<br>version'|@translate}</td>
<td>{'Available<br>version'|@translate}</td>
<td>{'Actions'|@translate}</td>
</tr>
</thead>
@ -32,7 +32,7 @@ jQuery().ready(function(){ldelim}
<td style="text-align:center;">{$plugin.VERSION}</td>
<td style="text-align:center;"><a href="{$plugin.EXT_URL}" onclick="window.open(this.href); return false;" class="cluetip" title="{$plugin.EXT_NAME}|{$plugin.NEW_VER_DESC|htmlspecialchars|nl2br}">{$plugin.NEW_VERSION}</a></td>
<td style="text-align:center;"><a href="{$plugin.URL_UPDATE}" onclick="return confirm('{'plugins_confirm_upgrade'|@translate|@escape:javascript}');">{'plugins_auto_update'|@translate}</a>
/ <a href="{$plugin.URL_DOWNLOAD}">{'plugins_download'|@translate}</a></td>
/ <a href="{$plugin.URL_DOWNLOAD}">{'Download file'|@translate}</a></td>
</tr>
{/foreach}
</table>
@ -41,7 +41,7 @@ jQuery().ready(function(){ldelim}
{if isset($plugins_uptodate)}
<br>
<b>{'plugins_dontneed_update'|@translate}</b>
<b>{'Plugins up to date'|@translate}</b>
<table class="table2 plugins">
<thead>
<tr class="throw">
@ -61,7 +61,7 @@ jQuery().ready(function(){ldelim}
{if isset($plugins_cant_check)}
<br>
<b>{'plugins_cant_check'|@translate}</b>
<b>{'Plugin versions can\'t be checked'|@translate}</b>
<table class="table2 plugins">
<thead>
<tr class="throw">

View file

@ -25,7 +25,7 @@
{/if}
<li>
<span class="property">
<label for="use_new_pwd">{'new_password'|@translate}</label>
<label for="use_new_pwd">{'New password'|@translate}</label>
</span>
<input type="password" name="use_new_pwd" id="use_new_pwd" value="">
</li>
@ -40,60 +40,60 @@
</fieldset>
<fieldset>
<legend>{'preferences'|@translate}</legend>
<legend>{'Preferences'|@translate}</legend>
<ul>
<li>
<span class="property">
<label for="nb_image_line">{'nb_image_per_row'|@translate}</label>
<label for="nb_image_line">{'Number of images per row'|@translate}</label>
</span>
<input type="text" size="3" maxlength="2" name="nb_image_line" id="nb_image_line" value="{$NB_IMAGE_LINE}">
</li>
<li>
<span class="property">
<label for="nb_line_page">{'nb_row_per_page'|@translate}</label>
<label for="nb_line_page">{'Number of rows per page'|@translate}</label>
</span>
<input type="text" size="3" maxlength="2" name="nb_line_page" id="nb_line_page" value="{$NB_ROW_PAGE}" >
</li>
<li>
<span class="property">
<label for="template">{'theme'|@translate}</label>
<label for="template">{'Interface theme'|@translate}</label>
</span>
{html_options id=template name=template options=$template_options selected=$template_selection}
</li>
<li>
<span class="property">
<label for="language">{'language'|@translate}</label>
<label for="Language">{'Language'|@translate}</label>
</span>
{html_options id=language name=language options=$language_options selected=$language_selection}
</li>
<li>
<span class="property">
<label for="recent_period">{'recent_period'|@translate}</label>
<label for="Recent period">{'Recent period'|@translate}</label>
</span>
<input type="text" size="3" maxlength="2" name="recent_period" id="recent_period" value="{$RECENT_PERIOD}">
</li>
<li>
<span class="property">{'auto_expand'|@translate}</span>
<span class="property">{'Expand all categories'|@translate}</span>
{html_radios name='expand' options=$radio_options selected=$EXPAND}
</li>
<li>
<span class="property">{'show_nb_comments'|@translate}</span>
<span class="property">{'Show number of comments'|@translate}</span>
{html_radios name='show_nb_comments' options=$radio_options selected=$NB_COMMENTS}
</li>
<li>
<span class="property">{'show_nb_hits'|@translate}</span>
<span class="property">{'Show number of hits'|@translate}</span>
{html_radios name='show_nb_hits' options=$radio_options selected=$NB_HITS}
</li>
<li>
<span class="property">
<label for="maxwidth">{'maxwidth'|@translate}</label>
<label for="Maximum width of the pictures">{'Maximum width of the pictures'|@translate}</label>
</span>
<input type="text" size="4" maxlength="4" name="maxwidth" id="maxwidth" value="{$MAXWIDTH}">
</li>
<li>
<span class="property">
<label for="maxheight">{'maxheight'|@translate}</label>
<label for="Maximum height of the pictures">{'Maximum height of the pictures'|@translate}</label>
</span>
<input type="text" size="4" maxlength="4" name="maxheight" id="maxheight" value="{$MAXHEIGHT}">
</li>

View file

@ -1,4 +1,4 @@
<h2>{'Rating'|@translate} [{$NB_ELEMENTS} {'elements'|@translate}]</h2>
<h2>{'elements'|@translate} [{$NB_ELEMENTS} {'elements'|@translate}]</h2>
<form action="{$F_ACTION}" method="GET" id="update" class="filter">
<fieldset>
@ -58,7 +58,7 @@
<td>{$rate.RATE}</td>
<td><b>{$rate.USER}</b></td>
<td><span class="date">{$rate.DATE}</span></td>
<td><a href="{$rate.U_DELETE}" {$TAG_INPUT_ENABLED}><img src="{$themeconf.admin_icon_dir}/delete.png" class="button" style="border:none;vertical-align:middle; margin-left:5px;" alt="[{'delete'|@translate}]"></a></td>
<td><a href="{$rate.U_DELETE}" {$TAG_INPUT_ENABLED}><img src="{$themeconf.admin_icon_dir}/Delete.png" class="button" style="border:none;vertical-align:middle; margin-left:5px;" alt="[{'Delete'|@translate}]"></a></td>
</tr>
{/foreach} {*rates*}
{/foreach} {*images*}

View file

@ -13,11 +13,11 @@
{/if}
{if isset($local_listing)}
{'remote_site_local_found'|@translate} {$local_listing.URL}
{'A local listing.xml file has been found for '|@translate} {$local_listing.URL}
{if isset($local_listing.CREATE)}
<form action="{$F_ACTION}" method="post">
<p>
{'remote_site_local_create'|@translate}:
{'Create this site'|@translate}:
<input type="hidden" name="no_check" value="1">
<input type="hidden" name="galleries_url" value="{$local_listing.URL}">
<input type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}>
@ -25,7 +25,7 @@
</form>
{/if}
{if isset($local_listing.U_SYNCHRONIZE)}
&nbsp;<a href="{$local_listing.U_SYNCHRONIZE}" title="{'remote_site_local_update'|@translate}">{'site_synchronize'|@translate}</a>
&nbsp;<a href="{$local_listing.U_SYNCHRONIZE}" title="{'synchronize'|@translate}">{'synchronize'|@translate}</a>
<br><br>
{/if}
{/if}
@ -33,23 +33,23 @@
{if not empty($sites)}
<table class="table2">
<tr class="throw">
<td>{'site_local'|@translate} / {'site_remote'|@translate}</td>
<td>{'Remote'|@translate} / {'Remote'|@translate}</td>
<td>{'Actions'|@translate}</td>
</tr>
{foreach from=$sites item=site name=site}
<tr style="text-align:left" class="{if $smarty.foreach.site.index is odd}row1{else}row2{/if}"><td>
<a href="{$site.NAME}">{$site.NAME}</a><br>({$site.TYPE}, {$site.CATEGORIES} {'Categories'|@translate}, {$pwg->l10n_dec('%d element','%d elements',$site.IMAGES)})
</td><td>
[<a href="{$site.U_SYNCHRONIZE}" title="{'site_synchronize_hint'|@translate}">{'site_synchronize'|@translate}</a>]
[<a href="{$site.U_SYNCHRONIZE}" title="{'synchronize'|@translate}">{'synchronize'|@translate}</a>]
{if isset($site.U_DELETE)}
[<a href="{$site.U_DELETE}" onclick="return confirm('{'Are you sure?'|@translate|escape:'javascript'}');"
title="{'site_delete_hint'|@translate}" {$TAG_INPUT_ENABLED}>{'site_delete'|@translate}</a>]
title="{'delete'|@translate}" {$TAG_INPUT_ENABLED}>{'delete'|@translate}</a>]
{/if}
{if isset($site.remote)}
<br>
[<a href="{$site.remote.U_TEST}" title="{'remote_site_test_hint'|@translate}" {$TAG_INPUT_ENABLED}>{'remote_site_test'|@translate}</a>]
[<a href="{$site.remote.U_GENERATE}" title="{'remote_site_generate_hint'|@translate}" {$TAG_INPUT_ENABLED}>{'remote_site_generate'|@translate}</a>]
[<a href="{$site.remote.U_CLEAN}" title="{'remote_site_clean_hint'|@translate}" {$TAG_INPUT_ENABLED}>{'remote_site_clean'|@translate}</a>]
[<a href="{$site.remote.U_TEST}" title="{'test'|@translate}" {$TAG_INPUT_ENABLED}>{'test'|@translate}</a>]
[<a href="{$site.remote.U_GENERATE}" title="{'generate listing'|@translate}" {$TAG_INPUT_ENABLED}>{'generate listing'|@translate}</a>]
[<a href="{$site.remote.U_CLEAN}" title="{'clean'|@translate}" {$TAG_INPUT_ENABLED}>{'clean'|@translate}</a>]
{/if}
{if not empty($site.plugin_links)}
<br>
@ -64,7 +64,7 @@
<form action="{$F_ACTION}" method="post">
<p>
<label for="galleries_url" >{'site_create'|@translate}</label>
<label for="galleries_url" >{'Create a new site : (give its URL to create_listing_file.php)'|@translate}</label>
<input type="text" name="galleries_url" id="galleries_url">
</p>
<p>

View file

@ -2,33 +2,33 @@
{include file='include/resize.inc.tpl'}
<div class="titrePage">
<h2>{'title_update'|@translate}: <a href="{$SITE_URL}">{$SITE_URL}</a></h2>
<h2>{'Database synchronization with files'|@translate}: <a href="{$SITE_URL}">{$SITE_URL}</a></h2>
</div>
{if isset($update_result)}
<h3>{$L_RESULT_UPDATE}</h3>
<ul>
<li class="update_summary_new">{$update_result.NB_NEW_CATEGORIES} {'update_nb_new_categories'|@translate}</li>
<li class="update_summary_new">{$update_result.NB_NEW_ELEMENTS} {'update_nb_new_elements'|@translate}</li>
<li class="update_summary_del">{$update_result.NB_DEL_CATEGORIES} {'update_nb_del_categories'|@translate}</li>
<li class="update_summary_del">{$update_result.NB_DEL_ELEMENTS} {'update_nb_del_elements'|@translate}</li>
<li>{$update_result.NB_UPD_ELEMENTS} {'update_nb_upd_elements'|@translate}</li>
<li class="update_summary_err">{$update_result.NB_ERRORS} {'update_nb_errors'|@translate}</li>
<li class="update_summary_new">{$update_result.NB_NEW_CATEGORIES} {'categories added in the database'|@translate}</li>
<li class="update_summary_new">{$update_result.NB_NEW_ELEMENTS} {'elements added in the database'|@translate}</li>
<li class="update_summary_del">{$update_result.NB_DEL_CATEGORIES} {'categories deleted in the database'|@translate}</li>
<li class="update_summary_del">{$update_result.NB_DEL_ELEMENTS} {'elements deleted in the database'|@translate}</li>
<li>{$update_result.NB_UPD_ELEMENTS} {'elements updated in the database'|@translate}</li>
<li class="update_summary_err">{$update_result.NB_ERRORS} {'errors during synchronization'|@translate}</li>
</ul>
{/if}
{if isset($metadata_result)}
<h3>{$L_RESULT_METADATA}</h3>
<ul>
<li>{$metadata_result.NB_ELEMENTS_DONE} {'update_nb_elements_metadata_sync'|@translate}</li>
<li>{$metadata_result.NB_ELEMENTS_CANDIDATES} {'update_nb_elements_metadata_available'|@translate}</li>
<li>{'update_used_metadata'|@translate} : {$METADATA_LIST}</li>
<li>{$metadata_result.NB_ELEMENTS_DONE} {'elements informations synchronized with files metadata'|@translate}</li>
<li>{$metadata_result.NB_ELEMENTS_CANDIDATES} {'images candidates for metadata synchronization'|@translate}</li>
<li>{'Used metadata'|@translate} : {$METADATA_LIST}</li>
</ul>
{/if}
{if not empty($sync_errors)}
<h3>{'update_error_list_title'|@translate}</h3>
<h3>{'Error list'|@translate}</h3>
<div class="errors">
<ul>
{foreach from=$sync_errors item=error}
@ -36,7 +36,7 @@
{/foreach}
</ul>
</div>
<h3>{'update_errors_caption'|@translate}</h3>
<h3>{'Errors caption'|@translate}</h3>
<ul>
{foreach from=$sync_error_captions item=caption}
<li><strong>{$caption.TYPE}</strong>: {$caption.LABEL}</li>
@ -45,7 +45,7 @@
{/if}
{if not empty($sync_infos)}
<h3>{'update_infos_title'|@translate}</h3>
<h3>{'Detailed informations'|@translate}</h3>
<div class="infos">
<ul>
{foreach from=$sync_infos item=info}
@ -56,18 +56,18 @@
{/if}
{if isset($introduction)}
<h4>{'update_default_title'|@translate}</h4>
<h4>{'Choose an option'|@translate}</h4>
<form action="" method="post" id="update">
<fieldset id="syncFiles">
<legend>{'update_sync_files'|@translate}</legend>
<legend>{'synchronize files structure with database'|@translate}</legend>
<ul>
<li><label><input type="radio" name="sync" value="" {if empty($introduction.sync)}checked="checked"{/if}> {'nothing'|@translate}</label></li>
<li><label><input type="radio" name="sync" value="dirs" {if 'dirs'==$introduction.sync}checked="checked"{/if}> {'update_sync_dirs'|@translate}</label></li>
<li><label><input type="radio" name="sync" value="dirs" {if 'dirs'==$introduction.sync}checked="checked"{/if}> {'only directories'|@translate}</label></li>
<li><label><input type="radio" name="sync" value="files" {if 'files'==$introduction.sync}checked="checked"{/if}> {'update_sync_all'|@translate}</label>
<li><label><input type="radio" name="sync" value="files" {if 'files'==$introduction.sync}checked="checked"{/if}> {'directories + files'|@translate}</label>
<ul style="padding-left:3em">
<li><label><input type="checkbox" name="display_info" value="1" {if $introduction.display_info}checked="checked"{/if}> {'update_display_info'|@translate}</label></li>
<li><label><input type="checkbox" name="display_info" value="1" {if $introduction.display_info}checked="checked"{/if}> {'display maximum informations (added categories and elements, deleted categories and elements)'|@translate}</label></li>
<li><label><input type="checkbox" name="add_to_caddie" value="1" {if $introduction.add_to_caddie}checked="checked"{/if}> {'add new elements to caddie'|@translate}</label></li>
<li><label>{'Minimum privacy level'|@translate} <select name="privacy_level">{html_options options=$introduction.privacy_level_options selected=$introduction.privacy_level_selected}</select></label></li>
</ul>
@ -76,11 +76,11 @@
</fieldset>
<fieldset id="syncMetadata">
<legend>{'update_sync_metadata'|@translate}</legend>
<legend>{'synchronize files metadata with database elements informations'|@translate}</legend>
<label><input type="checkbox" name="sync_meta" {if $introduction.sync_meta}checked="checked"{/if}> {'synchronize metadata'|@translate} ({$METADATA_LIST})</label>
<ul style="padding-left:3em">
<li>
<label><input type="checkbox" name="meta_all" {if $introduction.meta_all}checked="checked"{/if}> {'update_sync_metadata_all'|@translate}</label>
<label><input type="checkbox" name="meta_all" {if $introduction.meta_all}checked="checked"{/if}> {'even already synchronized elements'|@translate}</label>
</li>
<li>
<label><input type="checkbox" name="meta_empty_overrides" {if $introduction.meta_empty_overrides}checked="checked"{/if}> {'overrides existing values with empty ones'|@translate}</label>
@ -90,11 +90,11 @@
<fieldset id="syncSimulate">
<legend></legend>
<ul><li><label><input type="checkbox" name="simulate" value="1" checked="checked" {$TAG_INPUT_ENABLED}> {'update_simulate'|@translate}</label></li></ul>
<ul><li><label><input type="checkbox" name="simulate" value="1" checked="checked" {$TAG_INPUT_ENABLED}> {'only perform a simulation (no change in database will be made)'|@translate}</label></li></ul>
</fieldset>
<fieldset id="catSubset">
<legend>{'update_cats_subset'|@translate}</legend>
<legend>{'reduce to single existing categories'|@translate}</legend>
<ul>
<li>
<select class="categoryList" name="cat" size="10">
@ -102,7 +102,7 @@
</select>
</li>
<li><label><input type="checkbox" name="subcats-included" value="1" {if $introduction.subcats_included}checked="checked"{/if}> {'search_subcats_included'|@translate}</label></li>
<li><label><input type="checkbox" name="subcats-included" value="1" {if $introduction.subcats_included}checked="checked"{/if}> {'Search in subcategories'|@translate}</label></li>
</ul>
</fieldset>

View file

@ -46,7 +46,7 @@
<p>
<input class="submit" type="submit" name="edit" value="{'Edit selected tags'|@translate}">
<input class="submit" type="submit" name="delete" value="{'Delete selected tags'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');" {$TAG_INPUT_ENABLED}>
<input class="submit" type="submit" name="delete" value="{'Are you sure?'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');" {$TAG_INPUT_ENABLED}>
</p>
</fieldset>

View file

@ -1,15 +1,15 @@
<div class="titrePage">
<h2>{'title_thumbnails'|@translate}</h2>
<h2>{'Thumbnail creation'|@translate}</h2>
</div>
{if isset($results) }
<div class="admin">{'tn_results_title'|@translate}</div>
<div class="admin">{'Results of miniaturization'|@translate}</div>
<table style="width:100%;">
<tr class="throw">
<td>{'Path'|@translate}</td>
<td>{'thumbnail'|@translate}</td>
<td>{'tn_results_gen_time'|@translate}</td>
<td>{'filesize'|@translate}</td>
<td>{'Thumbnail'|@translate}</td>
<td>{'generated in'|@translate}</td>
<td>{'Filesize'|@translate}</td>
<td>{'Dimensions'|@translate}</td>
</tr>
{foreach from=$results.elements item=elt}
@ -25,26 +25,26 @@
<table class="table2">
<tr class="throw">
<td colspan="2">{'tn_stats'|@translate}</td>
<td colspan="2">{'General statistics'|@translate}</td>
</tr>
<tr>
<td>{'tn_stats_nb'|@translate}</td>
<td>{'number of miniaturized pictures'|@translate}</td>
<td style="text-align:center;">{$results.TN_NB}</td>
</tr>
<tr>
<td>{'tn_stats_total'|@translate}</td>
<td>{'total time'|@translate}</td>
<td style="text-align:right;">{$results.TN_TOTAL}</td>
</tr>
<tr>
<td>{'tn_stats_max'|@translate}</td>
<td>{'max time'|@translate}</td>
<td style="text-align:right;">{$results.TN_MAX}</td>
</tr>
<tr>
<td>{'tn_stats_min'|@translate}</td>
<td>{'min time'|@translate}</td>
<td style="text-align:right;">{$results.TN_MIN}</td>
</tr>
<tr>
<td>{'tn_stats_mean'|@translate}</td>
<td>{'average time'|@translate}</td>
<td style="text-align:right;">{$results.TN_AVERAGE}</td>
</tr>
</table>
@ -55,11 +55,11 @@
<form method="post" action="{$params.F_ACTION}" class="properties">
<fieldset>
<legend>{'tn_params_title'|@translate}</legend>
<legend>{'Miniaturization parameters'|@translate}</legend>
<ul>
<li>
<span class="property">{'tn_params_GD'|@translate}</span>
<span class="property">{'GD version'|@translate}</span>
<label>
<input type="radio" name="gd" value="2" {if $params.GD_SELECTED==2}checked="checked"{/if}>2.x
</label>
@ -87,7 +87,7 @@
<label><input type="radio" name="n" value="5" {if $params.N_SELECTED==5}checked="checked"{/if}> 5</label>
<label><input type="radio" name="n" value="10" {if $params.N_SELECTED==10}checked="checked"{/if}> 10</label>
<label><input type="radio" name="n" value="20" {if $params.N_SELECTED==20}checked="checked"{/if}> 20</label>
<label><input type="radio" name="n" value="all" {if $params.N_SELECTED=='all'}checked="checked"{/if}> {'tn_all'|@translate}</label>
<label><input type="radio" name="n" value="all" {if $params.N_SELECTED=='all'}checked="checked"{/if}> {'all'|@translate}</label>
</li>
</ul>
</fieldset>
@ -97,12 +97,12 @@
{/if} {*isset params*}
{if !empty($remainings) }
<div class="admin">{$TOTAL_NB_REMAINING} {'tn_alone_title'|@translate}</div>
<div class="admin">{$TOTAL_NB_REMAINING} {'pictures without thumbnail (jpeg and png only)'|@translate}</div>
<table style="width:100%;">
<tr class="throw">
<td>&nbsp;</td>
<td style="width:60%;">{'Path'|@translate}</td>
<td>{'filesize'|@translate}</td>
<td>{'Filesize'|@translate}</td>
<td>{'Dimensions'|@translate}</td>
</tr>
{foreach from=$remainings item=elt name=remain_loop}
@ -115,5 +115,5 @@
{/foreach}
</table>
{else}
<div style="text-align:center;font-weight:bold;margin:10px;"> [ {'tn_no_missing'|@translate} ]</div>
<div style="text-align:center;font-weight:bold;margin:10px;"> [ {'No missing thumbnail'|@translate} ]</div>
{/if}

View file

@ -48,7 +48,7 @@ textarea { margin-left: 20px; }
<table>
<tr>
<td>{'language'|@translate}</td>
<td>{'Language'|@translate}</td>
<td>
<select name="language" onchange="document.location = 'upgrade.php?language='+this.options[this.selectedIndex].value;">
{html_options options=$language_options selected=$language_selection}
@ -59,7 +59,7 @@ textarea { margin-left: 20px; }
<p>{'introduction message'|@translate|@sprintf:$introduction.CURRENT_RELEASE}</p>
{if isset($login)}
<p>{'upgrade login message'|@translate}</p>
<p>{'Only administrator can run upgrade: please sign in below.'|@translate}</p>
{/if}
<form method="POST" action="{$introduction.F_ACTION}" name="upgrade_form">
@ -106,7 +106,7 @@ textarea { margin-left: 20px; }
</ul>
<form action="index.php" method="post">
<p><input type="submit" name="submit" value="{'home'|@translate}"></p>
<p><input type="submit" name="submit" value="{'Home'|@translate}"></p>
</form>
{/if}

View file

@ -1,16 +1,16 @@
<div class="titrePage">
<h2>{'waiting'|@translate} {$TABSHEET_TITLE}</h2>
<h2>{'Waiting'|@translate} {$TABSHEET_TITLE}</h2>
</div>
<h3>{'title_upload'|@translate}</h3>
<h3>{'Pictures waiting for validation'|@translate}</h3>
<form action="{$F_ACTION}" method="post" id="waiting">
<table style="width:99%;" >
<tr class="throw">
<td style="width:20%;">{'category'|@translate}</td>
<td style="width:20%;">{'Category'|@translate}</td>
<td style="width:20%;">{'Date'|@translate}</td>
<td style="width:20%;">{'file'|@translate}</td>
<td style="width:20%;">{'thumbnail'|@translate}</td>
<td style="width:20%;">{'File'|@translate}</td>
<td style="width:20%;">{'Thumbnail'|@translate}</td>
<td style="width:20%;">{'Author'|@translate}</td>
<td style="width:1px;">&nbsp;</td>
</tr>

View file

@ -1,5 +1,5 @@
<div class="titrePage">
<h2>{'title_liste_users'|@translate}</h2>
<h2>{'User list'|@translate}</h2>
</div>
<form class="filter" method="post" name="add_user" action="{$F_ADD_ACTION}">
@ -62,10 +62,10 @@
<tr class="throw">
<td>&nbsp;</td>
<td>{'Username'|@translate}</td>
<td>{'user_status'|@translate}</td>
<td>{'User status'|@translate}</td>
<td>{'Email address'|@translate}</td>
<td>{'Groups'|@translate}</td>
<td>{'properties'|@translate}</td>
<td>{'Properties'|@translate}</td>
{if not empty($plugin_user_list_column_titles)}
{foreach from=$plugin_user_list_column_titles item=title}
<td>{$title}</td>
@ -87,7 +87,7 @@
<td>{$data}</td>
{/foreach}
<td style="text-align:center;">
<a href="{$user.U_PERM}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/permissions.png" class="button" style="border:none" alt="{'permissions'|@translate}" title="{'permissions'|@translate}"></a>
<a href="{$user.U_PERM}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/Permissions.png" class="button" style="border:none" alt="{'Permissions'|@translate}" title="{'Permissions'|@translate}"></a>
<a href="{$user.U_PROFILE}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/edit_s.png" class="button" style="border:none" alt="{'Profile'|@translate}" title="{'Profile'|@translate}"></a>
{foreach from=$user.plugin_actions item=data}
{$data}
@ -123,7 +123,7 @@
{if isset($adviser)}
<tr>
<td>{'adviser'|@translate}</td>
<td>{'Adviser'|@translate}</td>
<td>
<label><input type="radio" name="adviser" value="leave" checked="checked"> {'leave'|@translate}</label>
/ {'set to'|@translate}
@ -162,12 +162,12 @@
{* Properties *}
<fieldset>
<legend>{'properties'|@translate}</legend>
<legend>{'Properties'|@translate}</legend>
<table>
<tr>
<td>{'enabled_high'|@translate}</td>
<td>{'High definition enabled'|@translate}</td>
<td>
<label><input type="radio" name="enabled_high" value="leave" checked="checked"> {'leave'|@translate}</label>
/ {'set to'|@translate}
@ -196,7 +196,7 @@
<table>
<tr>
<td>{'nb_image_per_row'|@translate}</td>
<td>{'Number of images per row'|@translate}</td>
<td>
<label><input type="radio" name="nb_image_line_action" value="leave" checked="checked"> {'leave'|@translate}</label>
<label><input type="radio" name="nb_image_line_action" value="set" id="nb_image_line_action_set"> {'set to'|@translate}</label>
@ -206,7 +206,7 @@
</tr>
<tr>
<td>{'nb_row_per_page'|@translate}</td>
<td>{'Number of rows per page'|@translate}</td>
<td>
<label><input type="radio" name="nb_line_page_action" value="leave" checked="checked"> {'leave'|@translate}</label>
<label><input type="radio" name="nb_line_page_action" value="set" id="nb_line_page_action_set"> {'set to'|@translate}</label>
@ -216,7 +216,7 @@
</tr>
<tr>
<td>{'theme'|@translate}</td>
<td>{'Interface theme'|@translate}</td>
<td>
<label><input type="radio" name="template_action" value="leave" checked="checked"> {'leave'|@translate}</label>
<label><input type="radio" name="template_action" value="set" id="template_action_set"> {'set to'|@translate}</label>
@ -227,7 +227,7 @@
</tr>
<tr>
<td>{'language'|@translate}</td>
<td>{'Language'|@translate}</td>
<td>
<label><input type="radio" name="language_action" value="leave" checked="checked"> {'leave'|@translate}</label>
<label><input type="radio" name="language_action" value="set" id="language_action_set"> {'set to'|@translate}</label>
@ -238,7 +238,7 @@
</tr>
<tr>
<td>{'recent_period'|@translate}</td>
<td>{'Recent period'|@translate}</td>
<td>
<label><input type="radio" name="recent_period_action" value="leave" checked="checked"> {'leave'|@translate}</label>
<label><input type="radio" name="recent_period_action" value="set" id="recent_period_action_set"> {'set to'|@translate}</label>
@ -248,7 +248,7 @@
</tr>
<tr>
<td>{'auto_expand'|@translate}</td>
<td>{'Expand all categories'|@translate}</td>
<td>
<label><input type="radio" name="expand" value="leave" checked="checked"> {'leave'|@translate}</label>
/ {'set to'|@translate}
@ -258,7 +258,7 @@
</tr>
<tr>
<td>{'show_nb_comments'|@translate}</td>
<td>{'Show number of comments'|@translate}</td>
<td>
<label><input type="radio" name="show_nb_comments" value="leave" checked="checked"> {'leave'|@translate}</label>
/ {'set to'|@translate}
@ -268,7 +268,7 @@
</tr>
<tr>
<td>{'show_nb_hits'|@translate}</td>
<td>{'Show number of hits'|@translate}</td>
<td>
<label><input type="radio" name="show_nb_hits" value="leave" checked="checked"> {'leave'|@translate}</label>
/ {'set to'|@translate}
@ -278,7 +278,7 @@
</tr>
<tr>
<td>{'maxwidth'|@translate}</td>
<td>{'Maximum width of the pictures'|@translate}</td>
<td>
<label><input type="radio" name="maxwidth_action" value="leave" checked="checked"> {'leave'|@translate}</label>
<label><input type="radio" name="maxwidth_action" value="unset"> {'unset'|@translate}</label>
@ -290,7 +290,7 @@
<tr>
<td>{'maxheight'|@translate}</td>
<td>{'Maximum height of the pictures'|@translate}</td>
<td>
<label><input type="radio" name="maxheight_action" value="leave" checked="checked"> {'leave'|@translate}</label>
<label><input type="radio" name="maxheight_action" value="unset"> {'unset'|@translate}</label>

View file

@ -115,7 +115,7 @@ function RatioResizeImg($path, $newWidth, $newHeight, $tn_ext)
// creation and backup of final picture
if (!is_writable($tndir))
{
array_push($page['errors'], '['.$tndir.'] : '.l10n('no_write_access'));
array_push($page['errors'], '['.$tndir.'] : '.l10n('no write access'));
return false;
}
imagejpeg($destImage, $dest_file, $conf['tn_compression_level']);
@ -136,14 +136,14 @@ function RatioResizeImg($path, $newWidth, $newHeight, $tn_ext)
// error
else
{
echo l10n('tn_no_support')." ";
echo l10n('Picture unreachable or no support')." ";
if ( isset( $extenstion ) )
{
echo l10n('tn_format').' '.$extension;
echo l10n('for the file format').' '.$extension;
}
else
{
echo l10n('tn_thisformat');
echo l10n('for this file format');
}
exit();
}
@ -233,11 +233,11 @@ if (isset($_POST['submit']))
// checking criteria
if (!preg_match('/^[0-9]{2,3}$/', $_POST['width']) or $_POST['width'] < 10)
{
array_push($page['errors'], l10n('tn_err_width').' 10');
array_push($page['errors'], l10n('width must be a number superior to').' 10');
}
if (!preg_match('/^[0-9]{2,3}$/', $_POST['height']) or $_POST['height'] < 10)
{
array_push($page['errors'], l10n('tn_err_height').' 10');
array_push($page['errors'], l10n('height must be a number superior to').' 10');
}
// picture miniaturization

View file

@ -168,10 +168,10 @@ include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
check_status(ACCESS_ADMINISTRATOR);
$page['order_by_items'] = array(
'id' => l10n('registration_date'),
'id' => l10n('registration date'),
'username' => l10n('Username'),
'level' => l10n('Privacy level'),
'language' => l10n('language'),
'Language' => l10n('Language'),
);
$page['direction_items'] = array(
@ -191,19 +191,19 @@ if ($conf['double_password_type_in_admin'] == true)
{
if(empty($_POST['password']))
{
array_push($page['errors'], l10n('Password is missing'));
array_push($page['errors'], l10n('Password is missing. Please enter the password.'));
}
else if(empty($_POST['password_conf']))
{
array_push($page['errors'], l10n('Password confirmation is missing'));
array_push($page['errors'], l10n('Password confirmation is missing. Please confirm the chosen password.'));
}
else if(empty($_POST['email']))
{
array_push($page['errors'], l10n('Email address is missing'));
array_push($page['errors'], l10n('Email address is missing. Please specify an email address.'));
}
else if ($_POST['password'] != $_POST['password_conf'])
{
array_push($page['errors'], l10n('Password confirmation error'));
array_push($page['errors'], l10n('Password confirmation error.'));
}
else
{
@ -215,7 +215,7 @@ if ($conf['double_password_type_in_admin'] == true)
array_push(
$page['infos'],
sprintf(
l10n('user "%s" added'),
l10n('user \"%s\" added'),
$_POST['login']
)
);
@ -235,7 +235,7 @@ else if ($conf['double_password_type_in_admin'] == false)
array_push(
$page['infos'],
sprintf(
l10n('user "%s" added'),
l10n('user \"%s\" added'),
$_POST['login']
)
);
@ -693,7 +693,7 @@ foreach ($visible_user_list as $local_user)
}
$properties[] =
(isset($local_user['enabled_high']) and ($local_user['enabled_high'] == 'true'))
? l10n('is_high_enabled') : l10n('is_high_disabled');
? l10n('') : l10n('');
$template->append(
'users',
@ -704,12 +704,12 @@ foreach ($visible_user_list as $local_user)
'U_PERM' => $perm_url.$local_user['id'],
'USERNAME' => stripslashes($local_user['username'])
.($local_user['id'] == $conf['guest_id']
? '<br>['.l10n('is_the_guest').']' : '')
? '<br>['.l10n('guest').']' : '')
.($local_user['id'] == $conf['default_user_id']
? '<br>['.l10n('is_the_default').']' : ''),
? '<br>['.l10n('default values').']' : ''),
'STATUS' => l10n('user_status_'.
$local_user['status']).(($local_user['adviser'] == 'true')
? '<br>['.l10n('adviser').']' : ''),
? '<br>['.l10n('Adviser').']' : ''),
'EMAIL' => get_email_address_as_display_text($local_user['email']),
'GROUPS' => $groups_string,
'PROPERTIES' => implode( ', ', $properties),

View file

@ -126,12 +126,12 @@ $template->assign(
array(
'TITLE' =>
sprintf(
l10n('Manage permissions for user "%s"'),
l10n('Manage permissions for user \"%s\"'),
get_username($page['user']
)
),
'L_CAT_OPTIONS_TRUE'=>l10n('authorized'),
'L_CAT_OPTIONS_FALSE'=>l10n('forbidden'),
'L_CAT_OPTIONS_TRUE'=>l10n('Authorized'),
'L_CAT_OPTIONS_FALSE'=>l10n('Forbidden'),
'F_ACTION' =>
PHPWG_ROOT_PATH.

View file

@ -39,7 +39,7 @@ if ( !empty($_GET['redirect']) )
$redirect_to = urldecode($_GET['redirect']);
if ( is_a_guest() )
{
array_push($errors, l10n('access_forbiden'));
array_push($errors, l10n('You are not authorized to access the requested page'));
}
}
@ -62,7 +62,7 @@ if (isset($_POST['login']))
}
else
{
array_push( $errors, l10n('invalid_pwd') );
array_push( $errors, l10n('Invalid password!') );
}
}
}
@ -71,7 +71,7 @@ if (isset($_POST['login']))
//
// Start output of page
//
$title = l10n('identification');
$title = l10n('Identification');
$page['body_id'] = 'theIdentificationPage';
include(PHPWG_ROOT_PATH.'include/page_header.php');

View file

@ -95,7 +95,7 @@ class CalendarBase
}
elseif ('any' === $date_component )
{
$label = l10n('calendar_any');
$label = l10n('All');
}
return $label;
}
@ -192,7 +192,7 @@ class CalendarBase
array( 'start' )
);
$nav_bar_datas[]=array(
'LABEL' => l10n('calendar_any'),
'LABEL' => l10n('All'),
'URL' => $url
);
}

View file

@ -173,19 +173,19 @@ if (isset($user['internal_status']['guest_must_be_guest'])
and
$user['internal_status']['guest_must_be_guest'] === true)
{
$header_msgs[] = l10n('guest_must_be_guest');
$header_msgs[] = l10n('Bad status for user "guest", using default status. Please notify the webmaster.');
}
if ($conf['gallery_locked'])
{
$header_msgs[] = l10n('gallery_locked_message');
$header_msgs[] = l10n('The gallery is locked for maintenance. Please, come back later.');
if ( script_basename() != 'identification' and !is_admin() )
{
set_status_header(503, 'Service Unavailable');
@header('Retry-After: 900');
header('Content-Type: text/html; charset='.get_pwg_charset());
echo '<a href="'.get_absolute_root_url(false).'identification.php">'.l10n('gallery_locked_message').'</a>';
echo '<a href="'.get_absolute_root_url(false).'identification.php">'.l10n('The gallery is locked for maintenance. Please, come back later.').'</a>';
echo str_repeat( ' ', 512); //IE6 doesn't error output if below a size
exit();
}
@ -203,7 +203,7 @@ if ($conf['check_upgrade_feed'])
if (is_adviser())
{
$header_msgs[] = l10n('adviser_mode_enabled');
$header_msgs[] = l10n('Adviser mode enabled');
}
if (count($header_msgs) > 0)

View file

@ -30,6 +30,7 @@ include_once( PHPWG_ROOT_PATH .'include/functions_html.inc.php' );
include_once( PHPWG_ROOT_PATH .'include/functions_tag.inc.php' );
include_once( PHPWG_ROOT_PATH .'include/functions_url.inc.php' );
include_once( PHPWG_ROOT_PATH .'include/functions_plugins.inc.php' );
include_once( PHPWG_ROOT_PATH .'include/php-gettext/gettext.inc.php' );
//----------------------------------------------------------- generic functions
function get_extra_fields($order_by_fields)
@ -173,7 +174,7 @@ function mkgetdir($dir, $flags=MKGETDIR_DEFAULT)
umask($umask);
if ($mkd==false)
{
!($flags&MKGETDIR_DIE_ON_ERROR) or fatal_error( "$dir ".l10n('no_write_access'));
!($flags&MKGETDIR_DIE_ON_ERROR) or fatal_error( "$dir ".l10n('no write access'));
return false;
}
if( $flags&MKGETDIR_PROTECT_HTACCESS )
@ -189,7 +190,7 @@ function mkgetdir($dir, $flags=MKGETDIR_DEFAULT)
}
if ( !is_writable($dir) )
{
!($flags&MKGETDIR_DIE_ON_ERROR) or fatal_error( "$dir ".l10n('no_write_access'));
!($flags&MKGETDIR_DIE_ON_ERROR) or fatal_error( "$dir ".l10n('no write access'));
return false;
}
return true;
@ -213,7 +214,7 @@ function mkget_thumbnail_dir($dirname, &$errors)
if (! mkgetdir($tndir, MKGETDIR_NONE) )
{
array_push($errors,
'['.$dirname.'] : '.l10n('no_write_access'));
'['.$dirname.'] : '.l10n('no write access'));
return false;
}
return $tndir;
@ -620,7 +621,7 @@ function redirect_html( $url , $msg = '', $refresh_time = 0)
if (empty($msg))
{
$msg = nl2br(l10n('redirect_msg'));
$msg = nl2br(l10n('Redirection...'));
}
$refresh = $refresh_time;
@ -866,16 +867,28 @@ function get_name_from_file($filename)
* @param string key
* @return string
*/
function l10n($key)
function l10n($key, $textdomain='messages')
{
global $lang, $conf;
global $user;
if ($conf['debug_l10n'] and !isset($lang[$key]) and !empty($key))
if (empty($user['language']))
{
trigger_error('[l10n] language key "'.$key.'" is not defined', E_USER_WARNING);
$locale = $GLOBALS['language'];
}
else
{
$locale = $user['language'];
}
return isset($lang[$key]) ? $lang[$key] : $key;
T_setlocale(LC_ALL, $locale.'.UTF-8');
// Specify location of translation tables
T_bindtextdomain($textdomain, "./language");
// Choose domain
T_textdomain($textdomain);
return T_gettext($key);
}
/**
@ -887,18 +900,35 @@ function l10n($key)
* @param decimal value
* @return string
*/
function l10n_dec($singular_fmt_key, $plural_fmt_key, $decimal)
function l10n_dec($singular_fmt_key, $plural_fmt_key,
$decimal, $textdomain='messages')
{
global $lang_info;
global $user;
return
sprintf(
l10n((
(($decimal > 1) or ($decimal == 0 and $lang_info['zero_plural']))
? $plural_fmt_key
: $singular_fmt_key
)), $decimal);
if (empty($user['language']))
{
$locale = $GLOBALS['language'];
}
else
{
$locale = $user['language'];
}
T_setlocale(LC_ALL, $locale.'.UTF-8');
// Specify location of translation tables
T_bindtextdomain($textdomain, "./language");
// Choose domain
T_textdomain($textdomain);
return sprintf(T_ngettext($singular_fmt_key,
$plural_fmt_key,
$decimal),
$decimal
);
}
/*
* returns a single element to use with l10n_args
*
@ -1435,7 +1465,7 @@ function get_icon($date, $is_child_date = false)
if (!isset($cache['get_icon']['title']))
{
$cache['get_icon']['title'] = sprintf(
l10n('elements posted during the last %d days'),
l10n('images posted during the last %d days'),
$user['recent_period']
);
}

View file

@ -286,9 +286,9 @@ function get_category_preferred_image_orders()
return trigger_event('get_category_preferred_image_orders',
array(
array(l10n('default_sort'), '', true),
array(l10n('Default'), '', true),
array(l10n('Average rate'), 'average_rate DESC', $conf['rate']),
array(l10n('most_visited_cat'), 'hit DESC', true),
array(l10n('Most visited'), 'hit DESC', true),
array(l10n('Creation date'), 'date_creation DESC', true),
array(l10n('Post date'), 'date_available DESC', true),
array(l10n('File name'), 'file ASC', true),
@ -297,7 +297,7 @@ function get_category_preferred_image_orders()
'rank ASC',
('categories' == @$page['section'] and !isset($page['flat']) and !isset($page['chronology_field']) )
),
array( l10n('permissions'), 'level DESC', is_admin() )
array( l10n('Permissions'), 'level DESC', is_admin() )
));
}
@ -479,7 +479,7 @@ function get_display_images_count($cat_nb_images, $cat_count_images, $cat_count_
//no descendant categories or descendants do not contain images
if (! $short_message)
{
$display_text.= ' '.l10n('images_available_cpl');
$display_text.= ' '.l10n('in this category');
}
}
else

View file

@ -103,7 +103,7 @@ SELECT COUNT(*) AS user_exists
$row = pwg_db_fetch_assoc( pwg_query( $query ) );
if ( $row['user_exists'] == 1 )
{
array_push($infos, l10n('comment_user_exists') );
array_push($infos, l10n('This login is already used by another user') );
$comment_action='reject';
}
}
@ -140,7 +140,7 @@ SELECT id FROM '.COMMENTS_TABLE.'
AND author_id = '.$comm['author_id'];
if ( pwg_db_num_rows( pwg_query( $query ) ) > 0 )
{
array_push( $infos, l10n('comment_anti-flood') );
array_push( $infos, l10n('Anti-flood system : please wait for a moment before trying to post another comment') );
$comment_action='reject';
}
}
@ -268,7 +268,7 @@ SELECT id FROM '.COMMENTS_TABLE.'
AND author_id = '.$comm['author_id'];
if ( pwg_db_num_rows( pwg_query( $query ) ) > 0 )
{
//?? array_push( $infos, l10n('comment_anti-flood') );
//?? array_push( $infos, l10n('Anti-flood system : please wait for a moment before trying to post another comment') );
$comment_action='reject';
}
}

View file

@ -292,9 +292,9 @@ function access_denied()
if ( isset($user) and !is_a_guest() )
{
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
echo '<div style="text-align:center;">'.l10n('access_forbiden').'<br>';
echo '<a href="'.get_root_url().'identification.php">'.l10n('identification').'</a>&nbsp;';
echo '<a href="'.make_index_url().'">'.l10n('home').'</a></div>';
echo '<div style="text-align:center;">'.l10n('You are not authorized to access the requested page').'<br>';
echo '<a href="'.get_root_url().'Identification.php">'.l10n('Identification').'</a>&nbsp;';
echo '<a href="'.make_index_url().'">'.l10n('Home').'</a></div>';
echo str_repeat( ' ', 512); //IE6 doesn't error output if below a size
exit();
}
@ -399,7 +399,7 @@ $btrace_msg
function get_tags_content_title()
{
global $page;
$title = count($page['tags']) > 1 ? l10n('Tags') : l10n('Tag');
$title = count($page['tags']) > 1 ? l10n('Tag') : l10n('Tag');
$title.= ' ';
for ($i=0; $i<count($page['tags']); $i++)
@ -414,7 +414,7 @@ function get_tags_content_title()
)
)
.'" title="'
.l10n('See elements linked to this tag only')
.l10n('See images linked to this tag only')
.'">'
.$page['tags'][$i]['name']
.'</a>';
@ -431,7 +431,7 @@ function get_tags_content_title()
)
)
.'" style="border:none;" title="'
.l10n('remove this tag')
.l10n('remove this tag from the list')
.'"><img src="'
.get_root_url().get_themeconf('icon_dir').'/remove_s.png'
.'" alt="x" style="vertical-align:bottom;" class="button">'

View file

@ -646,7 +646,7 @@ function pwg_mail($to, $args = array())
'VERSION' => $conf['show_version'] ? PHPWG_VERSION : '',
'PHPWG_URL' => PHPWG_URL,
'TITLE_MAIL' => urlencode(l10n('title_send_mail')),
'TITLE_MAIL' => urlencode(l10n('A comment on your site')),
'MAIL' => get_webmaster_mail_address()
));

View file

@ -529,7 +529,7 @@ function get_html_description_recent_post_date($date_detail)
.l10n_dec('%d new element', '%d new elements', $date_detail['nb_elements'])
.' ('
.'<a href="'.make_index_url(array('section'=>'recent_pics')).'">'
.l10n('recent_pics_cat').'</a>'
.l10n('Recent pictures').'</a>'
.')'
.'</li><br>';

View file

@ -47,7 +47,7 @@ function validate_mail_address($user_id, $mail_address)
if ( !preg_match( $regex, $mail_address ) )
{
return l10n('reg_err_mail_address');
return l10n('mail address must be like xxx@yyy.eee (example : jack@altern.org)');
}
if (defined("PHPWG_INSTALLED") and !empty($mail_address))
@ -61,7 +61,7 @@ where upper('.$conf['user_fields']['email'].') = upper(\''.$mail_address.'\')
list($count) = pwg_db_fetch_row(pwg_query($query));
if ($count != 0)
{
return l10n('reg_err_mail_address_dbl');
return l10n('a user use already this mail address');
}
}
}
@ -86,7 +86,7 @@ WHERE LOWER(".stripslashes($conf['user_fields']['username']).") = '".strtolower(
if ($count > 0)
{
return l10n('reg_err_login5');
return l10n('this login is already used');
}
}
}
@ -98,19 +98,19 @@ function register_user($login, $password, $mail_address,
if ($login == '')
{
array_push($errors, l10n('reg_err_login1'));
array_push($errors, l10n('Please, enter a login'));
}
if (preg_match('/^.* $/', $login))
{
array_push($errors, l10n('reg_err_login2'));
array_push($errors, l10n('login mustn\'t end with a space character'));
}
if (preg_match('/^ .*$/', $login))
{
array_push($errors, l10n('reg_err_login3'));
array_push($errors, l10n('login mustn\'t start with a space character'));
}
if (get_userid($login))
{
array_push($errors, l10n('reg_err_login5'));
array_push($errors, l10n('this login is already used'));
}
$mail_error = validate_mail_address(null, $mail_address);
if ('' != $mail_error)

View file

@ -148,16 +148,16 @@ function initialize_menu()
$block->data['favorites'] =
array(
'URL' => make_index_url(array('section' => 'favorites')),
'TITLE' => l10n('favorite_cat_hint'),
'NAME' => l10n('favorite_cat')
'TITLE' => l10n('display my favorites pictures'),
'NAME' => l10n('My favorites')
);
}
$block->data['most_visited'] =
array(
'URL' => make_index_url(array('section' => 'most_visited')),
'TITLE' => l10n('most_visited_cat_hint'),
'NAME' => l10n('most_visited_cat')
'TITLE' => l10n('display most visited pictures'),
'NAME' => l10n('Most visited')
);
if ($conf['rate'])
@ -165,31 +165,31 @@ function initialize_menu()
$block->data['best_rated'] =
array(
'URL' => make_index_url(array('section' => 'best_rated')),
'TITLE' => l10n('best_rated_cat_hint'),
'NAME' => l10n('best_rated_cat')
'TITLE' => l10n('display best rated items'),
'NAME' => l10n('Best rated')
);
}
$block->data['random'] =
array(
'URL' => get_root_url().'random.php',
'TITLE' => l10n('random_cat_hint'),
'NAME' => l10n('random_cat'),
'TITLE' => l10n('display a set of random pictures'),
'NAME' => l10n('Random pictures'),
'REL'=> 'rel="nofollow"'
);
$block->data['recent_pics'] =
array(
'URL' => make_index_url(array('section' => 'recent_pics')),
'TITLE' => l10n('recent_pics_cat_hint'),
'NAME' => l10n('recent_pics_cat'),
'TITLE' => l10n('display most recent pictures'),
'NAME' => l10n('Recent pictures'),
);
$block->data['recent_cats'] =
array(
'URL' => make_index_url(array('section' => 'recent_cats')),
'TITLE' => l10n('recent_cats_cat_hint'),
'NAME' => l10n('recent_cats_cat'),
'TITLE' => l10n('display recently updated categories'),
'NAME' => l10n('Recent categories'),
);
@ -204,8 +204,8 @@ function initialize_menu()
'chronology_view' => 'calendar'
)
),
'TITLE' => l10n('calendar_hint'),
'NAME' => l10n('calendar'),
'TITLE' => l10n('display each day with pictures, month per month'),
'NAME' => l10n('Calendar'),
'REL'=> 'rel="nofollow"'
);
$block->template = 'menubar_specials.tpl';
@ -230,7 +230,7 @@ function initialize_menu()
// search link
$block->data['search'] =
array(
'TITLE'=>l10n('hint_search'),
'TITLE'=>l10n('search'),
'NAME'=>l10n('Search'),
'URL'=> get_root_url().'search.php',
'REL'=> 'rel="search"'
@ -239,15 +239,15 @@ function initialize_menu()
// comments link
$block->data['comments'] =
array(
'TITLE'=>l10n('hint_comments'),
'NAME'=>l10n('comments'),
'TITLE'=>l10n('See last users comments'),
'NAME'=>l10n('Comments'),
'URL'=> get_root_url().'comments.php',
);
// about link
$block->data['about'] =
array(
'TITLE' => l10n('about_page_title'),
'TITLE' => l10n('About Piwigo'),
'NAME' => l10n('About'),
'URL' => get_root_url().'about.php',
);

View file

@ -0,0 +1,418 @@
<?php
/*
Copyright (c) 2005 Steven Armstrong <sa at c-area dot ch>
Copyright (c) 2009 Danilo Segan <danilo@kvota.net>
Drop in replacement for native gettext.
This file is part of PHP-gettext.
PHP-gettext is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
PHP-gettext is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with PHP-gettext; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/*
LC_CTYPE 0
LC_NUMERIC 1
LC_TIME 2
LC_COLLATE 3
LC_MONETARY 4
LC_MESSAGES 5
LC_ALL 6
*/
// LC_MESSAGES is not available if php-gettext is not loaded
// while the other constants are already available from session extension.
if (!defined('LC_MESSAGES')) {
define('LC_MESSAGES', 5);
}
require('streams.php');
require('gettext.php');
// Variables
global $text_domains, $default_domain, $LC_CATEGORIES, $EMULATEGETTEXT, $CURRENTLOCALE;
$text_domains = array();
$default_domain = 'messages';
$LC_CATEGORIES = array('LC_CTYPE', 'LC_NUMERIC', 'LC_TIME', 'LC_COLLATE', 'LC_MONETARY', 'LC_MESSAGES', 'LC_ALL');
$EMULATEGETTEXT = 0;
$CURRENTLOCALE = '';
/* Class to hold a single domain included in $text_domains. */
class domain {
var $l10n;
var $path;
var $codeset;
}
// Utility functions
/**
* Return a list of locales to try for any POSIX-style locale specification.
*/
function get_list_of_locales($locale) {
/* Figure out all possible locale names and start with the most
* specific ones. I.e. for sr_CS.UTF-8@latin, look through all of
* sr_CS.UTF-8@latin, sr_CS@latin, sr@latin, sr_CS.UTF-8, sr_CS, sr.
*/
$locale_names = array();
$lang = NULL;
$country = NULL;
$charset = NULL;
$modifier = NULL;
if ($locale) {
if (preg_match("/^(?P<lang>[a-z]{2,3})" // language code
."(?:_(?P<country>[A-Z]{2}))?" // country code
."(?:\.(?P<charset>[-A-Za-z0-9_]+))?" // charset
."(?:@(?P<modifier>[-A-Za-z0-9_]+))?$/", // @ modifier
$locale, $matches)) {
if (isset($matches["lang"])) $lang = $matches["lang"];
if (isset($matches["country"])) $country = $matches["country"];
if (isset($matches["charset"])) $charset = $matches["charset"];
if (isset($matches["modifier"])) $modifier = $matches["modifier"];
if ($modifier) {
if ($country) {
if ($charset)
array_push($locale_names, "${lang}_$country.$charset@$modifier");
array_push($locale_names, "${lang}_$country@$modifier");
} elseif ($charset)
array_push($locale_names, "${lang}.$charset@$modifier");
array_push($locale_names, "$lang@$modifier");
}
if ($country) {
if ($charset)
array_push($locale_names, "${lang}_$country.$charset");
array_push($locale_names, "${lang}_$country");
} elseif ($charset)
array_push($locale_names, "${lang}.$charset");
array_push($locale_names, $lang);
}
// If the locale name doesn't match POSIX style, just include it as-is.
if (!in_array($locale, $locale_names))
array_push($locale_names, $locale);
}
return $locale_names;
}
/**
* Utility function to get a StreamReader for the given text domain.
*/
function _get_reader($domain=null, $category=5, $enable_cache=true) {
global $text_domains, $default_domain, $LC_CATEGORIES;
if (!isset($domain)) $domain = $default_domain;
if (!isset($text_domains[$domain]->l10n)) {
// get the current locale
$locale = _setlocale(LC_MESSAGES, 0);
$bound_path = isset($text_domains[$domain]->path) ?
$text_domains[$domain]->path : './';
$subpath = $LC_CATEGORIES[$category] ."/$domain.mo";
$locale_names = get_list_of_locales($locale);
$input = null;
foreach ($locale_names as $locale) {
$full_path = $bound_path . $locale . "/" . $subpath;
if (file_exists($full_path)) {
$input = new FileReader($full_path);
break;
}
}
if (!array_key_exists($domain, $text_domains)) {
// Initialize an empty domain object.
$text_domains[$domain] = new domain();
}
$text_domains[$domain]->l10n = new gettext_reader($input,
$enable_cache);
}
return $text_domains[$domain]->l10n;
}
/**
* Returns whether we are using our emulated gettext API or PHP built-in one.
*/
function locale_emulation() {
global $EMULATEGETTEXT;
return $EMULATEGETTEXT;
}
/**
* Checks if the current locale is supported on this system.
*/
function _check_locale() {
global $EMULATEGETTEXT;
return !$EMULATEGETTEXT;
}
/**
* Get the codeset for the given domain.
*/
function _get_codeset($domain=null) {
global $text_domains, $default_domain, $LC_CATEGORIES;
if (!isset($domain)) $domain = $default_domain;
return (isset($text_domains[$domain]->codeset))? $text_domains[$domain]->codeset : ini_get('mbstring.internal_encoding');
}
/**
* Convert the given string to the encoding set by bind_textdomain_codeset.
*/
function _encode($text) {
$source_encoding = mb_detect_encoding($text);
$target_encoding = _get_codeset();
if ($source_encoding != $target_encoding) {
return mb_convert_encoding($text, $target_encoding, $source_encoding);
}
else {
return $text;
}
}
// Custom implementation of the standard gettext related functions
/**
* Returns passed in $locale, or environment variable $LANG if $locale == ''.
*/
function _get_default_locale($locale) {
if ($locale == '') // emulate variable support
return getenv('LANG');
else
return $locale;
}
/**
* Sets a requested locale, if needed emulates it.
*/
function _setlocale($category, $locale) {
global $CURRENTLOCALE, $EMULATEGETTEXT;
if ($locale === 0) { // use === to differentiate between string "0"
if ($CURRENTLOCALE != '')
return $CURRENTLOCALE;
else
// obey LANG variable, maybe extend to support all of LC_* vars
// even if we tried to read locale without setting it first
return _setlocale($category, $CURRENTLOCALE);
} else {
if (function_exists('setlocale')) {
$ret = setlocale($category, $locale);
if (($locale == '' and !$ret) or // failed setting it by env
($locale != '' and $ret != $locale)) { // failed setting it
// Failed setting it according to environment.
$CURRENTLOCALE = _get_default_locale($locale);
$EMULATEGETTEXT = 1;
} else {
$CURRENTLOCALE = $ret;
$EMULATEGETTEXT = 0;
}
} else {
// No function setlocale(), emulate it all.
$CURRENTLOCALE = _get_default_locale($locale);
$EMULATEGETTEXT = 1;
}
// Allow locale to be changed on the go for one translation domain.
global $text_domains, $default_domain;
unset($text_domains[$default_domain]->l10n);
return $CURRENTLOCALE;
}
}
/**
* Sets the path for a domain.
*/
function _bindtextdomain($domain, $path) {
global $text_domains;
// ensure $path ends with a slash ('/' should work for both, but lets still play nice)
if (substr(php_uname(), 0, 7) == "Windows") {
if ($path[strlen($path)-1] != '\\' and $path[strlen($path)-1] != '/')
$path .= '\\';
} else {
if ($path[strlen($path)-1] != '/')
$path .= '/';
}
if (!array_key_exists($domain, $text_domains)) {
// Initialize an empty domain object.
$text_domains[$domain] = new domain();
}
$text_domains[$domain]->path = $path;
}
/**
* Specify the character encoding in which the messages from the DOMAIN message catalog will be returned.
*/
function _bind_textdomain_codeset($domain, $codeset) {
global $text_domains;
$text_domains[$domain]->codeset = $codeset;
}
/**
* Sets the default domain.
*/
function _textdomain($domain) {
global $default_domain;
$default_domain = $domain;
}
/**
* Lookup a message in the current domain.
*/
function _gettext($msgid) {
$l10n = _get_reader();
//return $l10n->translate($msgid);
return _encode($l10n->translate($msgid));
}
/**
* Alias for gettext.
*/
function __($msgid) {
return _gettext($msgid);
}
/**
* Plural version of gettext.
*/
function _ngettext($single, $plural, $number) {
$l10n = _get_reader();
//return $l10n->ngettext($single, $plural, $number);
return _encode($l10n->ngettext($single, $plural, $number));
}
/**
* Override the current domain.
*/
function _dgettext($domain, $msgid) {
$l10n = _get_reader($domain);
//return $l10n->translate($msgid);
return _encode($l10n->translate($msgid));
}
/**
* Plural version of dgettext.
*/
function _dngettext($domain, $single, $plural, $number) {
$l10n = _get_reader($domain);
//return $l10n->ngettext($single, $plural, $number);
return _encode($l10n->ngettext($single, $plural, $number));
}
/**
* Overrides the domain and category for a single lookup.
*/
function _dcgettext($domain, $msgid, $category) {
$l10n = _get_reader($domain, $category);
//return $l10n->translate($msgid);
return _encode($l10n->translate($msgid));
}
/**
* Plural version of dcgettext.
*/
function _dcngettext($domain, $single, $plural, $number, $category) {
$l10n = _get_reader($domain, $category);
//return $l10n->ngettext($single, $plural, $number);
return _encode($l10n->ngettext($single, $plural, $number));
}
// Wrappers to use if the standard gettext functions are available, but the current locale is not supported by the system.
// Use the standard impl if the current locale is supported, use the custom impl otherwise.
function T_setlocale($category, $locale) {
return _setlocale($category, $locale);
}
function T_bindtextdomain($domain, $path) {
if (_check_locale()) return bindtextdomain($domain, $path);
else return _bindtextdomain($domain, $path);
}
function T_bind_textdomain_codeset($domain, $codeset) {
// bind_textdomain_codeset is available only in PHP 4.2.0+
if (_check_locale() and function_exists('bind_textdomain_codeset')) return bind_textdomain_codeset($domain, $codeset);
else return _bind_textdomain_codeset($domain, $codeset);
}
function T_textdomain($domain) {
if (_check_locale()) return textdomain($domain);
else return _textdomain($domain);
}
function T_gettext($msgid) {
if (_check_locale()) return gettext($msgid);
else return _gettext($msgid);
}
function T_($msgid) {
if (_check_locale()) return _($msgid);
return __($msgid);
}
function T_ngettext($single, $plural, $number) {
if (_check_locale()) return ngettext($single, $plural, $number);
else return _ngettext($single, $plural, $number);
}
function T_dgettext($domain, $msgid) {
if (_check_locale()) return dgettext($domain, $msgid);
else return _dgettext($domain, $msgid);
}
function T_dngettext($domain, $single, $plural, $number) {
if (_check_locale()) return dngettext($domain, $single, $plural, $number);
else return _dngettext($domain, $single, $plural, $number);
}
function T_dcgettext($domain, $msgid, $category) {
if (_check_locale()) return dcgettext($domain, $msgid, $category);
else return _dcgettext($domain, $msgid, $category);
}
function T_dcngettext($domain, $single, $plural, $number, $category) {
if (_check_locale()) return dcngettext($domain, $single, $plural, $number, $category);
else return _dcngettext($domain, $single, $plural, $number, $category);
}
// Wrappers used as a drop in replacement for the standard gettext functions
if (!function_exists('gettext')) {
function bindtextdomain($domain, $path) {
return _bindtextdomain($domain, $path);
}
function bind_textdomain_codeset($domain, $codeset) {
return _bind_textdomain_codeset($domain, $codeset);
}
function textdomain($domain) {
return _textdomain($domain);
}
function gettext($msgid) {
return _gettext($msgid);
}
function _($msgid) {
return __($msgid);
}
function ngettext($single, $plural, $number) {
return _ngettext($single, $plural, $number);
}
function dgettext($domain, $msgid) {
return _dgettext($domain, $msgid);
}
function dngettext($domain, $single, $plural, $number) {
return _dngettext($domain, $single, $plural, $number);
}
function dcgettext($domain, $msgid, $category) {
return _dcgettext($domain, $msgid, $category);
}
function dcngettext($domain, $single, $plural, $number, $category) {
return _dcngettext($domain, $single, $plural, $number, $category);
}
}
?>

View file

@ -0,0 +1,408 @@
<?php
/*
Copyright (c) 2003, 2009 Danilo Segan <danilo@kvota.net>.
Copyright (c) 2005 Nico Kaiser <nico@siriux.net>
This file is part of PHP-gettext.
PHP-gettext is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
PHP-gettext is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with PHP-gettext; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
* Provides a simple gettext replacement that works independently from
* the system's gettext abilities.
* It can read MO files and use them for translating strings.
* The files are passed to gettext_reader as a Stream (see streams.php)
*
* This version has the ability to cache all strings and translations to
* speed up the string lookup.
* While the cache is enabled by default, it can be switched off with the
* second parameter in the constructor (e.g. whenusing very large MO files
* that you don't want to keep in memory)
*/
class gettext_reader {
//public:
var $error = 0; // public variable that holds error code (0 if no error)
//private:
var $BYTEORDER = 0; // 0: low endian, 1: big endian
var $STREAM = NULL;
var $short_circuit = false;
var $enable_cache = false;
var $originals = NULL; // offset of original table
var $translations = NULL; // offset of translation table
var $pluralheader = NULL; // cache header field for plural forms
var $total = 0; // total string count
var $table_originals = NULL; // table for original strings (offsets)
var $table_translations = NULL; // table for translated strings (offsets)
var $cache_translations = NULL; // original -> translation mapping
/* Methods */
/**
* Reads a 32bit Integer from the Stream
*
* @access private
* @return Integer from the Stream
*/
function readint() {
if ($this->BYTEORDER == 0) {
// low endian
$input=unpack('V', $this->STREAM->read(4));
return array_shift($input);
} else {
// big endian
$input=unpack('N', $this->STREAM->read(4));
return array_shift($input);
}
}
function read($bytes) {
return $this->STREAM->read($bytes);
}
/**
* Reads an array of Integers from the Stream
*
* @param int count How many elements should be read
* @return Array of Integers
*/
function readintarray($count) {
if ($this->BYTEORDER == 0) {
// low endian
return unpack('V'.$count, $this->STREAM->read(4 * $count));
} else {
// big endian
return unpack('N'.$count, $this->STREAM->read(4 * $count));
}
}
/**
* Constructor
*
* @param object Reader the StreamReader object
* @param boolean enable_cache Enable or disable caching of strings (default on)
*/
function gettext_reader($Reader, $enable_cache = true) {
// If there isn't a StreamReader, turn on short circuit mode.
if (! $Reader || isset($Reader->error) ) {
$this->short_circuit = true;
return;
}
// Caching can be turned off
$this->enable_cache = $enable_cache;
$MAGIC1 = "\x95\x04\x12\xde";
$MAGIC2 = "\xde\x12\x04\x95";
$this->STREAM = $Reader;
$magic = $this->read(4);
if ($magic == $MAGIC1) {
$this->BYTEORDER = 1;
} elseif ($magic == $MAGIC2) {
$this->BYTEORDER = 0;
} else {
$this->error = 1; // not MO file
return false;
}
// FIXME: Do we care about revision? We should.
$revision = $this->readint();
$this->total = $this->readint();
$this->originals = $this->readint();
$this->translations = $this->readint();
}
/**
* Loads the translation tables from the MO file into the cache
* If caching is enabled, also loads all strings into a cache
* to speed up translation lookups
*
* @access private
*/
function load_tables() {
if (is_array($this->cache_translations) &&
is_array($this->table_originals) &&
is_array($this->table_translations))
return;
/* get original and translations tables */
$this->STREAM->seekto($this->originals);
$this->table_originals = $this->readintarray($this->total * 2);
$this->STREAM->seekto($this->translations);
$this->table_translations = $this->readintarray($this->total * 2);
if ($this->enable_cache) {
$this->cache_translations = array ();
/* read all strings in the cache */
for ($i = 0; $i < $this->total; $i++) {
$this->STREAM->seekto($this->table_originals[$i * 2 + 2]);
$original = $this->STREAM->read($this->table_originals[$i * 2 + 1]);
$this->STREAM->seekto($this->table_translations[$i * 2 + 2]);
$translation = $this->STREAM->read($this->table_translations[$i * 2 + 1]);
$this->cache_translations[$original] = $translation;
}
}
}
/**
* Returns a string from the "originals" table
*
* @access private
* @param int num Offset number of original string
* @return string Requested string if found, otherwise ''
*/
function get_original_string($num) {
$length = $this->table_originals[$num * 2 + 1];
$offset = $this->table_originals[$num * 2 + 2];
if (! $length)
return '';
$this->STREAM->seekto($offset);
$data = $this->STREAM->read($length);
return (string)$data;
}
/**
* Returns a string from the "translations" table
*
* @access private
* @param int num Offset number of original string
* @return string Requested string if found, otherwise ''
*/
function get_translation_string($num) {
$length = $this->table_translations[$num * 2 + 1];
$offset = $this->table_translations[$num * 2 + 2];
if (! $length)
return '';
$this->STREAM->seekto($offset);
$data = $this->STREAM->read($length);
return (string)$data;
}
/**
* Binary search for string
*
* @access private
* @param string string
* @param int start (internally used in recursive function)
* @param int end (internally used in recursive function)
* @return int string number (offset in originals table)
*/
function find_string($string, $start = -1, $end = -1) {
if (($start == -1) or ($end == -1)) {
// find_string is called with only one parameter, set start end end
$start = 0;
$end = $this->total;
}
if (abs($start - $end) <= 1) {
// We're done, now we either found the string, or it doesn't exist
$txt = $this->get_original_string($start);
if ($string == $txt)
return $start;
else
return -1;
} else if ($start > $end) {
// start > end -> turn around and start over
return $this->find_string($string, $end, $start);
} else {
// Divide table in two parts
$half = (int)(($start + $end) / 2);
$cmp = strcmp($string, $this->get_original_string($half));
if ($cmp == 0)
// string is exactly in the middle => return it
return $half;
else if ($cmp < 0)
// The string is in the upper half
return $this->find_string($string, $start, $half);
else
// The string is in the lower half
return $this->find_string($string, $half, $end);
}
}
/**
* Translates a string
*
* @access public
* @param string string to be translated
* @return string translated string (or original, if not found)
*/
function translate($string) {
if ($this->short_circuit)
return $string;
$this->load_tables();
if ($this->enable_cache) {
// Caching enabled, get translated string from cache
if (array_key_exists($string, $this->cache_translations))
return $this->cache_translations[$string];
else
return $string;
} else {
// Caching not enabled, try to find string
$num = $this->find_string($string);
if ($num == -1)
return $string;
else
return $this->get_translation_string($num);
}
}
/**
* Sanitize plural form expression for use in PHP eval call.
*
* @access private
* @return string sanitized plural form expression
*/
function sanitize_plural_expression($expr) {
// Get rid of disallowed characters.
$expr = preg_replace('@[^a-zA-Z0-9_:;\(\)\?\|\&=!<>+*/\%-]@', '', $expr);
// Add parenthesis for tertiary '?' operator.
$expr .= ';';
$res = '';
$p = 0;
for ($i = 0; $i < strlen($expr); $i++) {
$ch = $expr[$i];
switch ($ch) {
case '?':
$res .= ' ? (';
$p++;
break;
case ':':
$res .= ') : (';
break;
case ';':
$res .= str_repeat( ')', $p) . ';';
$p = 0;
break;
default:
$res .= $ch;
}
}
return $res;
}
/**
* Parse full PO header and extract only plural forms line.
*
* @access private
* @return string verbatim plural form header field
*/
function extract_plural_forms_header_from_po_header($header) {
if (preg_match("/(^|\n)plural-forms: ([^\n]*)\n/i", $header, $regs))
$expr = $regs[2];
else
$expr = "nplurals=2; plural=n == 1 ? 0 : 1;";
return $expr;
}
/**
* Get possible plural forms from MO header
*
* @access private
* @return string plural form header
*/
function get_plural_forms() {
// lets assume message number 0 is header
// this is true, right?
$this->load_tables();
// cache header field for plural forms
if (! is_string($this->pluralheader)) {
if ($this->enable_cache) {
$header = $this->cache_translations[""];
} else {
$header = $this->get_translation_string(0);
}
$expr = $this->extract_plural_forms_header_from_po_header($header);
$this->pluralheader = $this->sanitize_plural_expression($expr);
}
return $this->pluralheader;
}
/**
* Detects which plural form to take
*
* @access private
* @param n count
* @return int array index of the right plural form
*/
function select_string($n) {
$string = $this->get_plural_forms();
$string = str_replace('nplurals',"\$total",$string);
$string = str_replace("n",$n,$string);
$string = str_replace('plural',"\$plural",$string);
$total = 0;
$plural = 0;
eval("$string");
if ($plural >= $total) $plural = $total - 1;
return $plural;
}
/**
* Plural version of gettext
*
* @access public
* @param string single
* @param string plural
* @param string number
* @return translated plural form
*/
function ngettext($single, $plural, $number) {
if ($this->short_circuit) {
if ($number != 1)
return $plural;
else
return $single;
}
// find out the appropriate form
$select = $this->select_string($number);
// this should contains all strings separated by NULLs
$key = $single.chr(0).$plural;
if ($this->enable_cache) {
if (! array_key_exists($key, $this->cache_translations)) {
return ($number != 1) ? $plural : $single;
} else {
$result = $this->cache_translations[$key];
$list = explode(chr(0), $result);
return $list[$select];
}
} else {
$num = $this->find_string($key);
if ($num == -1) {
return ($number != 1) ? $plural : $single;
} else {
$result = $this->get_translation_string($num);
$list = explode(chr(0), $result);
return $list[$select];
}
}
}
}
?>

View file

@ -0,0 +1,167 @@
<?php
/*
Copyright (c) 2003, 2005, 2006, 2009 Danilo Segan <danilo@kvota.net>.
This file is part of PHP-gettext.
PHP-gettext is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
PHP-gettext is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with PHP-gettext; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
// Simple class to wrap file streams, string streams, etc.
// seek is essential, and it should be byte stream
class StreamReader {
// should return a string [FIXME: perhaps return array of bytes?]
function read($bytes) {
return false;
}
// should return new position
function seekto($position) {
return false;
}
// returns current position
function currentpos() {
return false;
}
// returns length of entire stream (limit for seekto()s)
function length() {
return false;
}
};
class StringReader {
var $_pos;
var $_str;
function StringReader($str='') {
$this->_str = $str;
$this->_pos = 0;
}
function read($bytes) {
$data = substr($this->_str, $this->_pos, $bytes);
$this->_pos += $bytes;
if (strlen($this->_str)<$this->_pos)
$this->_pos = strlen($this->_str);
return $data;
}
function seekto($pos) {
$this->_pos = $pos;
if (strlen($this->_str)<$this->_pos)
$this->_pos = strlen($this->_str);
return $this->_pos;
}
function currentpos() {
return $this->_pos;
}
function length() {
return strlen($this->_str);
}
};
class FileReader {
var $_pos;
var $_fd;
var $_length;
function FileReader($filename) {
if (file_exists($filename)) {
$this->_length=filesize($filename);
$this->_pos = 0;
$this->_fd = fopen($filename,'rb');
if (!$this->_fd) {
$this->error = 3; // Cannot read file, probably permissions
return false;
}
} else {
$this->error = 2; // File doesn't exist
return false;
}
}
function read($bytes) {
if ($bytes) {
fseek($this->_fd, $this->_pos);
// PHP 5.1.1 does not read more than 8192 bytes in one fread()
// the discussions at PHP Bugs suggest it's the intended behaviour
$data = '';
while ($bytes > 0) {
$chunk = fread($this->_fd, $bytes);
$data .= $chunk;
$bytes -= strlen($chunk);
}
$this->_pos = ftell($this->_fd);
return $data;
} else return '';
}
function seekto($pos) {
fseek($this->_fd, $pos);
$this->_pos = ftell($this->_fd);
return $this->_pos;
}
function currentpos() {
return $this->_pos;
}
function length() {
return $this->_length;
}
function close() {
fclose($this->_fd);
}
};
// Preloads entire file in memory first, then creates a StringReader
// over it (it assumes knowledge of StringReader internals)
class CachedFileReader extends StringReader {
function CachedFileReader($filename) {
if (file_exists($filename)) {
$length=filesize($filename);
$fd = fopen($filename,'rb');
if (!$fd) {
$this->error = 3; // Cannot read file, probably permissions
return false;
}
$this->_str = fread($fd, $length);
fclose($fd);
} else {
$this->error = 2; // File doesn't exist
return false;
}
}
};
?>

View file

@ -58,13 +58,13 @@ if ( $page['show_comments'] and isset( $_POST['content'] ) )
switch ($comment_action)
{
case 'moderate':
array_push( $infos, l10n('comment_to_validate') );
array_push( $infos, l10n('An administrator must authorize your comment before it is visible.') );
case 'validate':
array_push( $infos, l10n('comment_added'));
array_push( $infos, l10n('Your comment has been registered'));
break;
case 'reject':
set_status_header(403);
array_push($infos, l10n('comment_not_added') );
array_push($infos, l10n('Your comment has NOT been registered because it did not pass the validation rules') );
break;
default:
trigger_error('Invalid comment action '.$comment_action, E_USER_WARNING);

View file

@ -237,7 +237,7 @@ if ('categories' == $page['section'])
}
else
{
$page['title'] = l10n('no_category');
$page['title'] = l10n('Home');
}
if
@ -361,7 +361,7 @@ SELECT DISTINCT image_id'.get_extra_fields($conf['order_by']).'
array(
'items' => $search_result['items'],
'title' => '<a href="'.duplicate_index_url(array('start'=>0)).'">'
.l10n('search_result').'</a>',
.l10n('Search results').'</a>',
)
);
}
@ -375,7 +375,7 @@ SELECT DISTINCT image_id'.get_extra_fields($conf['order_by']).'
$page = array_merge(
$page,
array(
'title' => l10n('favorites')
'title' => l10n('Favorites')
)
);
@ -456,7 +456,7 @@ SELECT DISTINCT(id)'.get_extra_fields($conf['order_by']).'
$page,
array(
'title' => '<a href="'.duplicate_index_url(array('start'=>0)).'">'
.l10n('recent_pics_cat').'</a>',
.l10n('Recent pictures').'</a>',
'items' => array_from_query($query, 'id'),
)
);
@ -469,7 +469,7 @@ SELECT DISTINCT(id)'.get_extra_fields($conf['order_by']).'
$page = array_merge(
$page,
array(
'title' => l10n('recent_cats_cat'),
'title' => l10n('Recent categories'),
)
);
}
@ -494,7 +494,7 @@ SELECT DISTINCT(id), hit, file
$page,
array(
'title' => '<a href="'.duplicate_index_url(array('start'=>0)).'">'
.$conf['top_number'].' '.l10n('most_visited_cat').'</a>',
.$conf['top_number'].' '.l10n('Most visited').'</a>',
'items' => array_from_query($query, 'id'),
)
);
@ -520,7 +520,7 @@ SELECT DISTINCT(id), average_rate
$page,
array(
'title' => '<a href="'.duplicate_index_url(array('start'=>0)).'">'
.$conf['top_number'].' '.l10n('best_rated_cat').'</a>',
.$conf['top_number'].' '.l10n('Best rated').'</a>',
'items' => array_from_query($query, 'id'),
)
);
@ -543,7 +543,7 @@ SELECT DISTINCT(id)'.get_extra_fields($conf['order_by']).'
$page,
array(
'title' => '<a href="'.duplicate_index_url(array('start'=>0)).'">'
.l10n('random_cat').'</a>',
.l10n('Random pictures').'</a>',
'items' => array_from_query($query, 'id'),
)
);

View file

@ -562,7 +562,7 @@ SELECT DISTINCT image_id
switch ($comment_action)
{
case 'reject':
array_push($infos, l10n('comment_not_added') );
array_push($infos, l10n('Your comment has NOT been registered because it did not pass the validation rules') );
return new PwgError(403, implode("\n", $infos) );
case 'validate':
case 'moderate':

View file

@ -231,7 +231,7 @@ if ( isset( $_POST['install'] ))
$_POST['dbpasswd'], $_POST['dbname']))!==false)
{
array_push( $infos, l10n('step1_confirmation') );
array_push( $infos, l10n('Parameters are correct') );
$required_version = constant('REQUIRED_'.strtoupper($dblayer).'_VERSION');
if ( version_compare(pwg_get_db_version(), $required_version, '>=') )
@ -260,18 +260,18 @@ if ( isset( $_POST['install'] ))
}
else
{
array_push( $errors, l10n('step1_err_server') );
array_push( $errors, l10n('Can\'t connect to server') );
}
$webmaster = trim(preg_replace( '/\s{2,}/', ' ', $admin_name ));
if ( empty($webmaster))
array_push( $errors, l10n('step2_err_login1') );
array_push( $errors, l10n('enter a login for webmaster') );
else if ( preg_match( '/[\'"]/', $webmaster ) )
array_push( $errors, l10n('step2_err_login3') );
array_push( $errors, l10n('webmaster login can\'t contain characters \' or \"') );
if ( $admin_pass1 != $admin_pass2 || empty($admin_pass1) )
array_push( $errors, l10n('step2_err_pass') );
array_push( $errors, l10n('please enter your password again') );
if ( empty($admin_mail))
array_push( $errors, l10n('reg_err_mail_address') );
array_push( $errors, l10n('mail address must be like xxx@yyy.eee (example : jack@altern.org)') );
else
{
$error_mail_address = validate_mail_address(null, $admin_mail);
@ -304,7 +304,7 @@ define(\'DB_COLLATE\', \'\');
{
$html_content = htmlentities( $file_content, ENT_QUOTES );
$html_content = nl2br( $html_content );
$error_copy = l10n('step1_err_copy');
$error_copy = l10n('Copy the text in pink between hyphens and paste it into the file \"include/config_database.inc.php\"(Warning : config_database.inc.php must only contain what is in pink, no line return or space character)');
$error_copy .= '<br>--------------------------------------------------------------------<br>';
$error_copy .= '<span class="sql_content">' . $html_content . '</span>';
$error_copy .= '<br>--------------------------------------------------------------------<br>';
@ -442,7 +442,7 @@ else
'F_DB_PREFIX' => $table_prefix,
'F_ADMIN' => $admin_name,
'F_ADMIN_EMAIL' => $admin_mail,
'L_INSTALL_HELP' => sprintf(l10n('install_help'), PHPWG_URL.'/forum'),
'L_INSTALL_HELP' => sprintf(l10n('Need help ? Ask your question on <a href="%s">Piwigo message board</a>.'), PHPWG_URL.'/forum'),
));
}
@ -460,7 +460,9 @@ elseif ($step == 3)
}
else
{
array_push($infos, l10n('install_end_message'));
array_push($infos, l10n('The configuration of Piwigo is finished, here is the next step<br><br>
* go to the identification page and use the login/password given for webmaster<br>
* this login will enable you to access to the administration panel and to the instructions in order to place pictures in your directories'));
if (isset($error_copy))
{

View file

@ -108,7 +108,7 @@ function closePage()
{
echo '
</div>
<div style="text-align: center">'.sprintf(l10n('install_help'), PHPWG_URL.'/forum').'</div>
<div style="text-align: center">'.sprintf(l10n('Need help ? Ask your question on <a href="%s">Piwigo message board</a>.'), PHPWG_URL.'/forum').'</div>
</div>
</body>
</html>';
@ -140,7 +140,7 @@ else
echo '
<table>
<tr>
<td>'.l10n('language').'</td>
<td>'.l10n('Language').'</td>
<td>
<select name="language" onchange="document.location = \''.$script.'.php?language=\'+this.options[this.selectedIndex].value;">';
foreach (get_languages('utf-8') as $code => $name)

View file

@ -602,9 +602,9 @@ array_push($mysql_changes, 'define(\'PHPWG_INSTALLED\', true);');
$page['infos'] = array_merge(
$page['infos'],
array(
l10n('all sub-categories of private categories become private'),
l10n('user permissions and group permissions have been erased'),
l10n('only thumbnails prefix and webmaster mail saved')
l10n('All sub-categories of private categories become private'),
l10n('User permissions and group permissions have been erased'),
l10n('Only thumbnails prefix and webmaster mail address have been saved from previous configuration')
)
);

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -57,13 +57,13 @@ if (isset($_GET['unsubscribe'])
}
else
{
array_push($page['errors'], l10n('nbm_unknown_identifier'));
array_push($page['errors'], l10n('Unknown identifier'));
}
// +-----------------------------------------------------------------------+
// | template initialization |
// +-----------------------------------------------------------------------+
$title = l10n('nbm_item_notification');
$title = l10n('Notification');
$page['body_id'] = 'theNBMPage';
include(PHPWG_ROOT_PATH.'include/page_header.php');

View file

@ -51,7 +51,7 @@ if (isset($_POST['submit']))
if (isset($_POST['no_mail_address']) and $_POST['no_mail_address'] == 1)
{
array_push($page['infos'], l10n('Email address is missing'));
array_push($page['infos'], l10n('Email address is missing. Please specify an email address.'));
array_push($page['infos'], $mailto);
}
else if (isset($_POST['mail_address']) and !empty($_POST['mail_address']))
@ -130,7 +130,7 @@ WHERE '
}
else
{
array_push($page['errors'], l10n('No user matches this email address'));
array_push($page['errors'], l10n('No classic user matches this email address'));
array_push($page['errors'], l10n('Administrator, webmaster and special user cannot use this method'));
array_push($page['errors'], $mailto);
}

View file

@ -776,7 +776,7 @@ SELECT COUNT(*) AS nb_fav
array(
'FAVORITE_IMG' =>
get_root_url().get_themeconf('icon_dir').'/favorite.png',
'FAVORITE_HINT' => l10n('add_favorites_hint'),
'FAVORITE_HINT' => l10n('add this image to your favorites'),
'U_FAVORITE' => add_url_params(
$url_self,
array('action'=>'add_to_favorites')
@ -791,7 +791,7 @@ SELECT COUNT(*) AS nb_fav
array(
'FAVORITE_IMG' =>
get_root_url().get_themeconf('icon_dir').'/del_favorite.png',
'FAVORITE_HINT' => l10n('del_favorites_hint'),
'FAVORITE_HINT' => l10n('delete this image from your favorites'),
'U_FAVORITE' => add_url_params(
$url_self,
array('action'=>'remove_from_favorites')

View file

@ -61,7 +61,7 @@ SELECT '.implode(',', $fields).'
save_profile_from_post($userdata, $errors);
$title= l10n('customize_page_title');
$title= l10n('Your Gallery Customization ');
$page['body_id'] = 'theProfilePage';
include(PHPWG_ROOT_PATH.'include/page_header.php');
@ -108,32 +108,32 @@ function save_profile_from_post($userdata, &$errors)
if (empty($_POST['nb_image_line'])
or (!preg_match($int_pattern, $_POST['nb_image_line'])))
{
$errors[] = l10n('nb_image_line_error');
$errors[] = l10n('The number of images per row must be a not null scalar');
}
if (empty($_POST['nb_line_page'])
or (!preg_match($int_pattern, $_POST['nb_line_page'])))
{
$errors[] = l10n('nb_line_page_error');
$errors[] = l10n('The number of rows per page must be a not null scalar');
}
if ($_POST['maxwidth'] != ''
and (!preg_match($int_pattern, $_POST['maxwidth'])
or $_POST['maxwidth'] < 50))
{
$errors[] = l10n('maxwidth_error');
$errors[] = l10n('Maximum width must be a number superior to 50');
}
if ($_POST['maxheight']
and (!preg_match($int_pattern, $_POST['maxheight'])
or $_POST['maxheight'] < 50))
{
$errors[] = l10n('maxheight_error');
$errors[] = l10n('Maximum height must be a number superior to 50');
}
// periods must be integer values, they represents number of days
if (!preg_match($int_pattern, $_POST['recent_period'])
or $_POST['recent_period'] <= 0)
{
$errors[] = l10n('periods_error') ;
$errors[] = l10n('Recent period must be a positive integer value') ;
}
if (isset($_POST['mail_address']))

View file

@ -42,7 +42,7 @@ if (isset($_POST['submit']))
{
if ($_POST['password'] != $_POST['password_conf'])
{
array_push($errors, l10n('reg_err_pass'));
array_push($errors, l10n('please enter your password again'));
}
$errors =

Some files were not shown because too many files have changed in this diff Show more