updated PSR2 coding standard

This commit is contained in:
JcDenis 2021-08-19 00:48:47 +02:00
parent 58dee1a55a
commit c641542ee2
19 changed files with 3605 additions and 3752 deletions

View file

@ -1,6 +1,29 @@
x.x xxxxxxxx x.x xxxxxxxx
- help translation - help translation
- source translation - source translation
- settings page
2021.08.19
* Fixed PSR-2 Coding Style
2018.10.26 - Pierre Van Glabeke
* Bug avec php 7.2 (https://forum.dotclear.org/viewtopic.php?pid=342810#p342810)
2018.10.18 - Pierre Van Glabeke
* Modifs localisation
2018.02.14 - Pierre Van Glabeke
* Suppression ?> en fin de lang.php
2017.05.10 - Pierre Van Glabeke
* Suppression ligne 614 de "continue" dans \inc\class.dc.translater.php
2016.08.20 - Pierre Van Glabeke
* Ajout Pluriel dans po
* Ajout favori
2016.07.08 - Pierre Van Glabeke
* Modifs localisation
2013.05.11 2013.05.11
* Rewrited proposal tools * Rewrited proposal tools

View file

@ -3,8 +3,7 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2016 Jean-Christian Denis and contributors
# contact@jcdenis.fr
# #
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
@ -12,96 +11,109 @@
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_CONTEXT_ADMIN')){return;} if (!defined('DC_CONTEXT_ADMIN')) {
return;
}
$core->blog->settings->addNamespace('translater'); $core->blog->settings->addNamespace('translater');
$core->addBehavior('pluginsToolsTabs',array('translaterAdminBehaviors','pluginsToolsTabs')); $core->addBehavior('pluginsToolsTabs', ['translaterAdminBehaviors', 'pluginsToolsTabs']);
$core->addBehavior('adminCurrentThemeDetails',array('translaterAdminBehaviors','adminCurrentThemeDetails')); $core->addBehavior('adminCurrentThemeDetails', ['translaterAdminBehaviors', 'adminCurrentThemeDetails']);
$core->addBehavior('addTranslaterProposalTool',array('translaterAdminBehaviors','addGoogleProposalTool')); $core->addBehavior('addTranslaterProposalTool', ['translaterAdminBehaviors', 'addGoogleProposalTool']);
$core->addBehavior('addTranslaterProposalTool',array('translaterAdminBehaviors','addYahooProposalTool')); $core->addBehavior('addTranslaterProposalTool', ['translaterAdminBehaviors', 'addYahooProposalTool']);
$core->addBehavior('addTranslaterProposalTool',array('translaterAdminBehaviors','addMicrosoftProposalTool')); $core->addBehavior('addTranslaterProposalTool', ['translaterAdminBehaviors', 'addMicrosoftProposalTool']);
$core->rest->addFunction('getProposal',array('translaterRest','getProposal')); $core->rest->addFunction('getProposal', ['translaterRest', 'getProposal']);
$_menu['Plugins']->addItem( $_menu['Plugins']->addItem(
__('Translater'), __('Translater'),
'plugin.php?p=translater', 'plugin.php?p=translater',
'index.php?pf=translater/icon.png', 'index.php?pf=translater/icon.png',
preg_match('/plugin.php\?p=translater(&.*)?$/',$_SERVER['REQUEST_URI']), preg_match('/plugin.php\?p=translater(&.*)?$/', $_SERVER['REQUEST_URI']),
$core->auth->isSuperAdmin() $core->auth->isSuperAdmin()
); );
class translaterAdminBehaviors class translaterAdminBehaviors
{ {
# Plugins tab # Plugins tab
public static function pluginsToolsTabs($core) public static function pluginsToolsTabs($core)
{ {
if (!$core->blog->settings->translater->translater_plugin_menu || !$core->auth->isSuperAdmin()) { if (!$core->blog->settings->translater->translater_plugin_menu || !$core->auth->isSuperAdmin()) {
return; return;
} }
echo echo
'<div class="multi-part" id="translater" title="'. '<div class="multi-part" id="translater" title="' .
__('Translate extensions'). __('Translate plugins') .
'">'. '">' .
'<table class="clear"><tr>'. '<table class="clear"><tr>' .
'<th>&nbsp;</th>'. '<th>&nbsp;</th>' .
'<th>'.__('Name').'</th>'. '<th>' . __('Name') . '</th>' .
'<th class="nowrap">'.__('Version').'</th>'. '<th class="nowrap">' . __('Version') . '</th>' .
'<th class="nowrap">'.__('Details').'</th>'. '<th class="nowrap">' . __('Details') . '</th>' .
'<th class="nowrap">'.__('Author').'</th>'. '<th class="nowrap">' . __('Author') . '</th>' .
'</tr>'; '</tr>';
$modules = $core->plugins->getModules(); $modules = $core->plugins->getModules();
foreach ($modules as $name => $plugin) foreach ($modules as $name => $plugin) {
{ echo
echo '<tr class="line">' .
'<tr class="line">'. '<td class="nowrap">' .
'<td class="nowrap">'. '<a href="plugin.php?p=translater&amp;part=module&amp;type=plugin&amp;module=' . $name . '"' .
'<a href="plugin.php?p=translater&amp;part=module&amp;type=plugin&amp;module='.$name.'"'. ' title="' . __('Translate this plugin') . '">' . __($plugin['name']) . '</a></td>' .
' title="'.__('Translate this plugin').'">'.__($plugin['name']).'</a></td>'. '<td class="nowrap">' . $name . '</td>' .
'<td class="nowrap">'.$name.'</td>'. '<td class="nowrap">' . $plugin['version'] . '</td>' .
'<td class="nowrap">'.$plugin['version'].'</td>'. '<td class="maximal">' . $plugin['desc'] . '</td>' .
'<td class="maximal">'.$plugin['desc'].'</td>'. '<td class="nowrap">' . $plugin['author'] . '</td>' .
'<td class="nowrap">'.$plugin['author'].'</td>'. '</tr>';
'</tr>'; }
} echo
echo '</table></div>'; '</table></div>';
} }
# Themes menu # Themes menu
public static function adminCurrentThemeDetails($core,$id,$infos) public static function adminCurrentThemeDetails($core, $id, $infos)
{ {
if (!$core->blog->settings->translater->translater_theme_menu || !$core->auth->isSuperAdmin()) { if (!$core->blog->settings->translater->translater_theme_menu || !$core->auth->isSuperAdmin()) {
return; return;
} }
$root = path::real($infos['root']); $root = path::real($infos['root']);
if ($id != 'default' && is_dir($root.'/locales')) if ($id != 'default' && is_dir($root.'/locales')) {
{ return
return '<p><a href="plugin.php?p=translater&amp;part=module&amp;type=theme&amp;module=' . $id . '"' .
'<p><a href="plugin.php?p=translater&amp;part=module&amp;type=theme&amp;module='.$id.'"'. ' class="button">' . __('Translate this theme') . '</a></p>';
' class="button">'.__('Translate this theme').'</a></p>'; }
} }
}
# Google Translater tools
# Google Translater tools public static function addGoogleProposalTool($proposal)
public static function addGoogleProposalTool($proposal) {
{ $proposal->addTool('googleProposalTool');
$proposal->addTool('googleProposalTool'); }
}
# Yahoo Babelfish tools
# Yahoo Babelfish tools public static function addYahooProposalTool($proposal)
public static function addYahooProposalTool($proposal) {
{ $proposal->addTool('yahooProposalTool');
$proposal->addTool('yahooProposalTool'); }
}
# Microsoft Bing tools
# Microsoft Bing tools public static function addMicrosoftProposalTool($proposal)
public static function addMicrosoftProposalTool($proposal) {
{ $proposal->addTool('microsoftProposalTool');
$proposal->addTool('microsoftProposalTool'); }
}
} }
?>
$core->addBehavior('adminDashboardFavorites', 'translaterDashboardFavorites');
function translaterDashboardFavorites($core, $favs)
{
$favs->register('translater', [
'title' => __('Translater'),
'url' => 'plugin.php?p=translater',
'small-icon' => 'index.php?pf=translater/icon.png',
'large-icon' => 'index.php?pf=translater/icon-big.png',
'permissions' => 'usage,contentadmin'
]);
}

View file

@ -3,8 +3,7 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2021 Jean-Christian Denis and contributors
# contact@jcdenis.fr
# #
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
@ -12,13 +11,20 @@
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_RC_PATH')){return;} if (!defined('DC_RC_PATH')) {
return;
}
$this->registerModule( $this->registerModule(
/* Name */ "translater", 'translater',
/* Description*/ "Translate your Dotclear plugins and themes", 'Translate your Dotclear plugins and themes',
/* Author */ "JC Denis", 'Jean-Christian Denis & contributors',
/* Version */ '2013.05.11', '2021.08.15',
/* Permissions */ null [
); 'permissions' => 'usage,contentadmin,admin',
?> 'type' => 'plugin',
'dc_min' => '2.19',
'support' => 'http://forum.dotclear.org/viewtopic.php?id=39220',
'details' => 'https://plugins.dotaddict.org/dc2/details/translater'
]
);

View file

@ -3,8 +3,7 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2016 Jean-Christian Denis and contributors
# contact@jcdenis.fr
# #
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
@ -12,48 +11,48 @@
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_CONTEXT_ADMIN')){return;} if (!defined('DC_CONTEXT_ADMIN')) {
return;
}
$rdc_version = '2.5-alpha'; $rdc_version = '2.5-alpha';
$new_version = $core->plugins->moduleInfo('translater','version'); $new_version = $core->plugins->moduleInfo('translater', 'version');
$old_version = $core->getVersion('translater'); $old_version = $core->getVersion('translater');
if (version_compare($old_version,$new_version,'>=')) return; if (version_compare($old_version, $new_version, '>=')) {
return;
}
try try {
{ if (version_compare(str_replace("-r", "-p", DC_VERSION), $rdc_version, '<')) {
if (version_compare(str_replace("-r","-p",DC_VERSION),$rdc_version,'<')) { throw new Exception(sprintf('%s requires Dotclear %s', 'translater', $rdc_version));
throw new Exception(sprintf('%s requires Dotclear %s','translater',$rdc_version)); }
}
$core->blog->settings->addNamespace('translater');
$core->blog->settings->addNamespace('translater');
$core->blog->settings->translater->put('translater_plugin_menu', 0, 'boolean', 'Put a link in plugins page', false, true);
$core->blog->settings->translater->put('translater_plugin_menu',0,'boolean','Put a link in plugins page',false,true); $core->blog->settings->translater->put('translater_theme_menu', 0,'boolean', 'Put a link in themes page', false, true);
$core->blog->settings->translater->put('translater_theme_menu',0,'boolean','Put a link in themes page',false,true); $core->blog->settings->translater->put('translater_backup_auto', 1,'boolean', 'Make a backup of languages old files when there are modified', false, true);
$core->blog->settings->translater->put('translater_backup_auto',1,'boolean','Make a backup of languages old files when there are modified',false,true); $core->blog->settings->translater->put('translater_backup_limit', 20,'string', 'Maximum backups per module', false, true);
$core->blog->settings->translater->put('translater_backup_limit',20,'string','Maximum backups per module',false,true); $core->blog->settings->translater->put('translater_backup_folder', 'module',' string', 'In which folder to store backups', false, true);
$core->blog->settings->translater->put('translater_backup_folder','module','string','In which folder to store backups',false,true); $core->blog->settings->translater->put('translater_start_page', 'setting,', 'string', 'Page to start on', false, true);
$core->blog->settings->translater->put('translater_start_page','setting,','string','Page to start on',false,true); $core->blog->settings->translater->put('translater_write_po', 1, 'boolean', 'Write .po languages files', false, true);
$core->blog->settings->translater->put('translater_write_po',1,'boolean','Write .po languages files',false,true); $core->blog->settings->translater->put('translater_write_langphp', 1, 'boolean', 'Write .lang.php languages files', false, true);
$core->blog->settings->translater->put('translater_write_langphp',1,'boolean','Write .lang.php languages files',false,true); $core->blog->settings->translater->put('translater_scan_tpl', 0, 'boolean', 'Translate strings of templates files', false, true);
$core->blog->settings->translater->put('translater_scan_tpl',0,'boolean','Translate strings of templates files',false,true); $core->blog->settings->translater->put('translater_parse_nodc', 1, 'boolean', 'Translate only untranslated strings of Dotclear', false, true);
$core->blog->settings->translater->put('translater_parse_nodc',1,'boolean','Translate only untranslated strings of Dotclear',false,true); $core->blog->settings->translater->put('translater_hide_default', 1, 'boolean', 'Hide default modules of Dotclear', false, true);
$core->blog->settings->translater->put('translater_hide_default',1,'boolean','Hide default modules of Dotclear',false,true); $core->blog->settings->translater->put('translater_parse_comment', 1, 'boolean', 'Write comments and strings informations in lang files', false, true);
$core->blog->settings->translater->put('translater_parse_comment',1,'boolean','Write comments and strings informations in lang files',false,true); $core->blog->settings->translater->put('translater_parse_user', 1,'boolean', 'Write inforamtions about author in lang files', false, true);
$core->blog->settings->translater->put('translater_parse_user',1,'boolean','Write inforamtions about author in lang files',false,true); $core->blog->settings->translater->put('translater_parse_userinfo', 'displayname, email', 'string','Type of informations about user to write', false, true);
$core->blog->settings->translater->put('translater_parse_userinfo','displayname, email','string','Type of informations about user to write',false,true); $core->blog->settings->translater->put('translater_import_overwrite', 0, 'boolean', 'Overwrite existing languages when import packages', false, true);
$core->blog->settings->translater->put('translater_import_overwrite',0,'boolean','Overwrite existing languages when import packages',false,true); $core->blog->settings->translater->put('translater_export_filename', 'type-module-l10n-timestamp', 'string','Name of files of exported package', false, true);
$core->blog->settings->translater->put('translater_export_filename','type-module-l10n-timestamp','string','Name of files of exported package',false,true); $core->blog->settings->translater->put('translater_proposal_tool', 'google', 'string', 'Id of default tool for proposed translation', false, true);
$core->blog->settings->translater->put('translater_proposal_tool','google','string','Id of default tool for proposed translation',false,true); $core->blog->settings->translater->put('translater_proposal_lang', 'en', 'string', 'Default source language for proposed translation', false, true);
$core->blog->settings->translater->put('translater_proposal_lang','en','string','Default source language for proposed translation',false,true);
$core->setVersion('translater', $new_version);
$core->setVersion('translater',$new_version);
return true;
return true; } catch (Exception $e) {
$core->error->add($e->getMessage());
} }
catch (Exception $e) return false;
{
$core->error->add($e->getMessage());
}
return false;
?>

View file

@ -3,8 +3,7 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2016 Jean-Christian Denis and contributors
# contact@jcdenis.fr
# #
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
@ -12,15 +11,16 @@
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_RC_PATH')){return;} if (!defined('DC_RC_PATH')) {
return;
}
global $__autoload; global $__autoload;
$__autoload['dcTranslater'] = dirname(__FILE__).'/inc/class.dc.translater.php'; $__autoload['dcTranslater'] = dirname(__FILE__) . '/inc/class.dc.translater.php';
$__autoload['translaterRest'] = dirname(__FILE__).'/inc/class.translater.rest.php'; $__autoload['translaterRest'] = dirname(__FILE__) . '/inc/class.translater.rest.php';
$__autoload['translaterProposals'] = dirname(__FILE__).'/inc/class.translater.proposals.php'; $__autoload['translaterProposals'] = dirname(__FILE__) . '/inc/class.translater.proposals.php';
$__autoload['translaterProposalTool'] = dirname(__FILE__).'/inc/lib.translater.proposal.php'; $__autoload['translaterProposalTool'] = dirname(__FILE__) . '/inc/lib.translater.proposal.php';
$__autoload['googleProposalTool'] = dirname(__FILE__).'/inc/lib.translater.google.php'; $__autoload['googleProposalTool'] = dirname(__FILE__) . '/inc/lib.translater.google.php';
$__autoload['microsoftProposalTool'] = dirname(__FILE__).'/inc/lib.translater.microsoft.php'; $__autoload['microsoftProposalTool'] = dirname(__FILE__) . '/inc/lib.translater.microsoft.php';
?>

View file

@ -3,8 +3,7 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2016 Jean-Christian Denis and contributors
# contact@jcdenis.fr
# #
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
@ -12,48 +11,49 @@
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_CONTEXT_ADMIN')){return;} if (!defined('DC_CONTEXT_ADMIN')) {
return;
}
$this->addUserAction( $this->addUserAction(
/* type */ 'settings', /* type */ 'settings',
/* action */ 'delete_all', /* action */ 'delete_all',
/* ns */ 'translater', /* ns */ 'translater',
/* description */ __('delete all settings') /* description */ __('delete all settings')
); );
$this->addUserAction( $this->addUserAction(
/* type */ 'plugins', /* type */ 'plugins',
/* action */ 'delete', /* action */ 'delete',
/* ns */ 'translater', /* ns */ 'translater',
/* description */ __('delete plugin files') /* description */ __('delete plugin files')
); );
$this->addUserAction( $this->addUserAction(
/* type */ 'versions', /* type */ 'versions',
/* action */ 'delete', /* action */ 'delete',
/* ns */ 'translater', /* ns */ 'translater',
/* description */ __('delete the version number') /* description */ __('delete the version number')
); );
$this->addDirectAction( $this->addDirectAction(
/* type */ 'settings', /* type */ 'settings',
/* action */ 'delete_all', /* action */ 'delete_all',
/* ns */ 'translater', /* ns */ 'translater',
/* description */ sprintf(__('delete all %s settings'),'translater') /* description */ sprintf(__('delete all %s settings'), 'translater')
); );
$this->addDirectAction( $this->addDirectAction(
/* type */ 'plugins', /* type */ 'plugins',
/* action */ 'delete', /* action */ 'delete',
/* ns */ 'translater', /* ns */ 'translater',
/* description */ sprintf(__('delete %s plugin files'),'translater') /* description */ sprintf(__('delete %s plugin files'), 'translater')
); );
$this->addDirectAction( $this->addDirectAction(
/* type */ 'versions', /* type */ 'versions',
/* action */ 'delete', /* action */ 'delete',
/* ns */ 'translater', /* ns */ 'translater',
/* description */ sprintf(__('delete %s version number'),'translater') /* description */ sprintf(__('delete %s version number'), 'translater')
); );
?>

BIN
icon-big.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 691 B

After

Width:  |  Height:  |  Size: 799 B

File diff suppressed because it is too large Load diff

View file

@ -3,62 +3,59 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2016 Jean-Christian Denis and contributors
# contact@jcdenis.fr #
#
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
/** /**
* Translater proposal tools container. * Translater proposal tools container.
*/ */
class translaterProposals class translaterProposals
{ {
public $core; public $core;
private $stack = array();
public function __construct($core)
{
$this->core = $core;
# --BEHAVIOR-- addTranslaterProposalTool
$core->callBehavior('addTranslaterProposalTool',$this);
}
public function addTool($id)
{
if (!class_exists($id)) {
return;
}
$r = new ReflectionClass($id);
$p = $r->getParentClass();
if (!$p || $p->name != 'translaterProposalTool') { private $stack = array();
return;
} public function __construct($core)
{
$this->stack[$id] = new $id($this->core); $this->core = $core;
}
# --BEHAVIOR-- addTranslaterProposalTool
public function getTools() $core->callBehavior('addTranslaterProposalTool', $this);
{ }
return $this->stack;
} public function addTool($id)
{
public function getTool($id) if (!class_exists($id)) {
{ return;
return array_key_exists($id,$this->stack) ? $this->stack[$id] : null; }
}
$r = new ReflectionClass($id);
public function hasTool($id) $p = $r->getParentClass();
{
return array_key_exists($id,$this->stack); if (!$p || $p->name != 'translaterProposalTool') {
} return;
} }
?>
$this->stack[$id] = new $id($this->core);
}
public function getTools()
{
return $this->stack;
}
public function getTool($id)
{
return array_key_exists($id, $this->stack) ? $this->stack[$id] : null;
}
public function hasTool($id)
{
return array_key_exists($id, $this->stack);
}
}

View file

@ -3,8 +3,7 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2016 Jean-Christian Denis and contributors
# contact@jcdenis.fr
# #
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
@ -12,7 +11,9 @@
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_CONTEXT_ADMIN')){return;} if (!defined('DC_CONTEXT_ADMIN')) {
return;
}
/** /**
* Translater REST service. * Translater REST service.
@ -22,55 +23,47 @@ if (!defined('DC_CONTEXT_ADMIN')){return;}
*/ */
class translaterRest class translaterRest
{ {
public static function getProposal($core,$get) public static function getProposal($core, $get)
{ {
$from = !empty($get['langFrom']) ? trim($get['langFrom']) : ''; $from = !empty($get['langFrom']) ? trim($get['langFrom']) : '';
$to = !empty($get['langTo']) ? trim($get['langTo']) : ''; $to = !empty($get['langTo']) ? trim($get['langTo']) : '';
$tool = !empty($get['langTool']) ? trim($get['langTool']) : ''; $tool = !empty($get['langTool']) ? trim($get['langTool']) : '';
$str_in = !empty($get['langStr']) ? trim($get['langStr']) : ''; $str_in = !empty($get['langStr']) ? trim($get['langStr']) : '';
$str_in = text::toUTF8($str_in); $str_in = text::toUTF8($str_in);
$str_in = trim($str_in); $str_in = trim($str_in);
$str_out = ''; $str_out = '';
$rsp = new xmlTag(); $rsp = new xmlTag();
try try {
{ if (empty($from) || empty($to) || empty($tool)) {
if (empty($from) || empty($to) || empty($tool)) throw new Exception(__('Missing params'));
{ }
throw new Exception(__('Missing params'));
}
$translater = new dcTranslater($core); $translater = new dcTranslater($core);
if (!empty($str_in)) if (!empty($str_in)) {
{ if (!$translater->proposal->hasTool($tool)) {
if (!$translater->proposal->hasTool($tool)) throw new Exception(__('Failed to get translation tool'));
{ }
throw new Exception(__('Failed to get translation tool')); if (!$translater->proposal->getTool($tool)->isActive()) {
} throw new Exception(__('Translation tool is not configured'));
if (!$translater->proposal->getTool($tool)->isActive()) }
{
throw new Exception(__('Translation tool is not configured'));
}
$str_out = (string) $translater->proposal->getTool($tool)->translate($str_in,$from,$to); $str_out = (string) $translater->proposal->getTool($tool)->translate($str_in ,$from, $to);
} }
$x = new xmlTag('proposal'); $x = new xmlTag('proposal');
$x->lang_from = $from; $x->lang_from = $from;
$x->lang_to = $to; $x->lang_to = $to;
$x->tool = $tool; $x->tool = $tool;
$x->str_from = $str_in; $x->str_from = $str_in;
$x->str_to = text::toUTF8(html::decodeEntities($str_out)); $x->str_to = text::toUTF8(html::decodeEntities($str_out));
$rsp->insertNode($x); $rsp->insertNode($x);
} } catch (Exception $e) {
catch (Exception $e) $core->error->add($e->getMessage());
{ }
$core->error->add($e->getMessage()); return $rsp;
} }
return $rsp; }
}
}
?>

View file

@ -3,8 +3,7 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2016 Jean-Christian Denis and contributors
# contact@jcdenis.fr
# #
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
@ -12,7 +11,9 @@
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_CONTEXT_ADMIN')){return;} if (!defined('DC_CONTEXT_ADMIN')) {
return;
}
/** /**
* Google proposal tool. * Google proposal tool.
@ -21,77 +22,75 @@ if (!defined('DC_CONTEXT_ADMIN')){return;}
*/ */
class googleProposalTool extends translaterProposalTool class googleProposalTool extends translaterProposalTool
{ {
private $api = 'https://www.googleapis.com/language/translate/v2'; private $api = 'https://www.googleapis.com/language/translate/v2';
private $agent = 'dcTranslater - http://jcd.lv/?q=translater'; private $agent = 'dcTranslater - http://jcd.lv/?q=translater';
private $key = null; //ex: AsSDqsGsfdSDSQFQsfedj9bnzY390aIg-1d private $key = null; //ex: AsSDqsGsfdSDSQFQsfedj9bnzY390aIg-1d
protected function setup()
{
$this->key = $this->core->blog->settings->translater->translater_google_proposal_key;
$this->setName(__('Google'));
$this->setDesc(__('Google Translation Tool API'));
$this->setActive(!empty($this->key));
}
public function form()
{
return
'<p><label class="classic" for="translater_google_proposal_key">'.
__('API Console Single Access Key').'<br />'.
form::field('translater_google_proposal_key',65,255,$this->key).
'</label></p>'.
'<p>'.__('You must have on Google API console:').'</p>'.
'<ul>'.
'<li><a href="https://code.google.com/apis/console/#access">'.__('A single access API key').'</a></li>'.
'<li><a href="https://code.google.com/apis/console/#services">'.__('Activate the "translate API" service').'</a></li>'.
'</ul>';
}
public function save()
{
$key = empty($_POST['translater_google_proposal_key']) ?
'' : $_POST['translater_google_proposal_key'];
$this->core->blog->settings->translater->put('translater_google_proposal_key',$key,'string','',true,true);
}
public function translate($str,$from,$to)
{
try
{
$data = array(
'key' => $this->key,
'q' => $str,
'source' => $from,
'target' => $to
);
$path = '';
$client = netHttp::initClient($this->api,$path);
$client->setUserAgent($this->agent);
$client->useGzip(false);
$client->setPersistReferers(false);
$client->get($path,$data);
$rs = $client->getContent(); protected function setup()
{
if ($client->getStatus() != 200) { $this->key = $this->core->blog->settings->translater->translater_google_proposal_key;
throw new Exception(__('Failed to query service.'));
} $this->setName(__('Google'));
$this->setDesc(__('Google Translation Tool API'));
if (null === ($dec = json_decode($rs))) { $this->setActive(!empty($this->key));
throw new Exception('Failed to decode result'); }
}
public function form()
if ('' == @$dec->data->translations[0]->translatedText) { {
throw new Exception('No data response'); return
} '<p><label class="classic" for="translater_google_proposal_key">' .
__('API Console Single Access Key') . '<br />' .
return $dec->data->translations[0]->translatedText; form::field('translater_google_proposal_key', 65, 255, $this->key) .
} '</label></p>'.
catch (Exception $e) {} '<p>' . __('You must have on Google API console:') . '</p>' .
return ''; '<ul>' .
} '<li><a href="https://code.google.com/apis/console/#access">' . __('A single access API key') . '</a></li>' .
} '<li><a href="https://code.google.com/apis/console/#services">' . __('Activate the "translate API" service') . '</a></li>' .
?> '</ul>';
}
public function save()
{
$key = empty($_POST['translater_google_proposal_key']) ?
'' : $_POST['translater_google_proposal_key'];
$this->core->blog->settings->translater->put('translater_google_proposal_key', $key, 'string', '', true, true);
}
public function translate($str, $from, $to)
{
try {
$data = array(
'key' => $this->key,
'q' => $str,
'source' => $from,
'target' => $to
);
$path = '';
$client = netHttp::initClient($this->api, $path);
$client->setUserAgent($this->agent);
$client->useGzip(false);
$client->setPersistReferers(false);
$client->get($path,$data);
$rs = $client->getContent();
if ($client->getStatus() != 200) {
throw new Exception(__('Failed to query service.'));
}
if (null === ($dec = json_decode($rs))) {
throw new Exception('Failed to decode result');
}
if ('' == @$dec->data->translations[0]->translatedText) {
throw new Exception('No data response');
}
return $dec->data->translations[0]->translatedText;
}
catch (Exception $e) {}
return '';
}
}

View file

@ -3,8 +3,7 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2016 Jean-Christian Denis and contributors
# contact@jcdenis.fr
# #
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
@ -12,7 +11,9 @@
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_CONTEXT_ADMIN')){return;} if (!defined('DC_CONTEXT_ADMIN')) {
return;
}
/** /**
* Microsoft proposal tool. * Microsoft proposal tool.
@ -21,115 +22,115 @@ if (!defined('DC_CONTEXT_ADMIN')){return;}
*/ */
class microsoftProposalTool extends translaterProposalTool class microsoftProposalTool extends translaterProposalTool
{ {
private $client = null; //ex: b6057813-234b-4154-b324-6342c27f608f private $client = null; //ex: b6057813-234b-4154-b324-6342c27f608f
private $secret = null; //ex: DsdDScn/+xdSFF1GDxdx1wbkKPphAfAVSH5VXDBVDI= private $secret = null; //ex: DsdDScn/+xdSFF1GDxdx1wbkKPphAfAVSH5VXDBVDI=
protected function setup() protected function setup()
{ {
$this->setActive(false); $this->setActive(false);
$this->client = $this->core->blog->settings->translater->translater_microsoft_proposal_client; $this->client = $this->core->blog->settings->translater->translater_microsoft_proposal_client;
$this->secret = $this->core->blog->settings->translater->translater_microsoft_proposal_secret; $this->secret = $this->core->blog->settings->translater->translater_microsoft_proposal_secret;
$this->setName(__('Bing')); $this->setName(__('Bing'));
$this->setDesc(__('Microsoft Bing translation tool')); $this->setDesc(__('Microsoft Bing translation tool'));
$this->setActive(!empty($this->client) && !empty($this->secret)); $this->setActive(!empty($this->client) && !empty($this->secret));
} }
public function form() public function form()
{ {
return return
'<p><label class="classic" for="translater_microsoft_proposal_client">'. '<p><label class="classic" for="translater_microsoft_proposal_client">' .
__('Application client ID').'<br />'. __('Application client ID') . '<br />' .
form::field('translater_microsoft_proposal_client',65,255,$this->client). form::field('translater_microsoft_proposal_client', 65, 255, $this->client) .
'</label></p>'. '</label></p>' .
'<p><label class="classic" for="translater_microsoft_proposal_secret">'. '<p><label class="classic" for="translater_microsoft_proposal_secret">' .
__('Application client Secret').'<br />'. __('Application client Secret') . '<br />' .
form::field('translater_microsoft_proposal_secret',65,255,$this->secret). form::field('translater_microsoft_proposal_secret', 65, 255, $this->secret) .
'</label></p>'. '</label></p>' .
'<p>'.__('You must have:').'</p>'. '<p>' . __('You must have:') . '</p>' .
'<ul>'. '<ul>' .
'<li><a href="https://datamarket.azure.com/account">'.__('A Microsoft Windows Azure account').'</a></li>'. '<li><a href="https://datamarket.azure.com/account">' . __('A Microsoft Windows Azure account') . '</a></li>' .
'<li><a href="https://datamarket.azure.com/dataset/bing/microsofttranslator">'.__('A valid subscription to Microsoft Translator').'</a></li>'. '<li><a href="https://datamarket.azure.com/dataset/bing/microsofttranslator">' . __('A valid subscription to Microsoft Translator') . '</a></li>' .
'<li><a href="https://datamarket.azure.com/developer/applications/">'.__('And register an application').'</a></li>'. '<li><a href="https://datamarket.azure.com/developer/applications/">' . __('And register an application') . '</a></li>' .
'</ul>'; '</ul>';
} }
public function save() public function save()
{ {
$client = empty($_POST['translater_microsoft_proposal_client']) ? $client = empty($_POST['translater_microsoft_proposal_client']) ?
'' : $_POST['translater_microsoft_proposal_client']; '' : $_POST['translater_microsoft_proposal_client'];
$secret = empty($_POST['translater_microsoft_proposal_secret']) ? $secret = empty($_POST['translater_microsoft_proposal_secret']) ?
'' : $_POST['translater_microsoft_proposal_secret']; '' : $_POST['translater_microsoft_proposal_secret'];
$this->core->blog->settings->translater->put('translater_microsoft_proposal_client',$client,'string','',true,true); $this->core->blog->settings->translater->put('translater_microsoft_proposal_client', $client, 'string', '', true, true);
$this->core->blog->settings->translater->put('translater_microsoft_proposal_secret',$secret,'string','',true,true); $this->core->blog->settings->translater->put('translater_microsoft_proposal_secret', $secret, 'string', '', true, true);
} }
public function translate($str,$from,$to) public function translate($str, $from, $to)
{ {
try { try {
return $this->doYourFuckingJob($this->client,$this->secret,$str,$from,$to); return $this->doYourFuckingJob($this->client, $this->secret, $str, $from, $to);
} } catch (Exception $e) {}
catch (Exception $e) {}
return ''; return '';
} }
// //
// Microsoft fucking oAuth // Microsoft fucking oAuth
// //
private function doYourFuckingJob($client,$secret,$str,$from,$to) private function doYourFuckingJob($client, $secret, $str, $from, $to)
{ {
try { try {
//Client ID of the application. //Client ID of the application.
$clientID = $client; $clientID = $client;
//Client Secret key of the application. //Client Secret key of the application.
$clientSecret = $secret; $clientSecret = $secret;
//OAuth Url. //OAuth Url.
$authUrl = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/"; $authUrl = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/";
//Application Scope Url //Application Scope Url
$scopeUrl = "http://api.microsofttranslator.com"; $scopeUrl = "http://api.microsofttranslator.com";
//Application grant type //Application grant type
$grantType = "client_credentials"; $grantType = "client_credentials";
//Get the Access token. //Get the Access token.
$accessToken = $this->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl); $accessToken = $this->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl);
//Create the authorization Header string. //Create the authorization Header string.
$authHeader = "Authorization: Bearer ". $accessToken; $authHeader = "Authorization: Bearer " . $accessToken;
//Set the params.// //Set the params.//
$fromLanguage = $from; $fromLanguage = $from;
$toLanguage = $to; $toLanguage = $to;
$inputStr = $str; $inputStr = $str;
$contentType = 'text/plain'; $contentType = 'text/plain';
$category = 'general'; $category = 'general';
$params = "text=".urlencode($inputStr)."&to=".$toLanguage."&from=".$fromLanguage; $params = "text=" . urlencode($inputStr) . "&to=" . $toLanguage . "&from=" . $fromLanguage;
$translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?$params"; $translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?$params";
//Get the curlResponse. //Get the curlResponse.
$curlResponse = $this->curlRequest($translateUrl, $authHeader); $curlResponse = $this->curlRequest($translateUrl, $authHeader);
//Interprets a string of XML into an object. //Interprets a string of XML into an object.
$xmlObj = simplexml_load_string($curlResponse); $xmlObj = simplexml_load_string($curlResponse);
foreach((array)$xmlObj[0] as $val){ foreach((array)$xmlObj[0] as $val){
$translatedStr = $val; $translatedStr = $val;
} }
return (string) $translatedStr; return (string) $translatedStr;
/* /*
echo "<table border=2px>"; echo "<table border=2px>";
echo "<tr>"; echo "<tr>";
echo "<td><b>From $fromLanguage</b></td><td><b>To $toLanguage</b></td>"; echo "<td><b>From $fromLanguage</b></td><td><b>To $toLanguage</b></td>";
echo "</tr>"; echo "</tr>";
echo "<tr><td>".$inputStr."</td><td>".$translatedStr."</td></tr>"; echo "<tr><td>" . $inputStr . "</td><td>" . $translatedStr . "</td></tr>";
echo "</table>"; echo "</table>";
*/ */
} catch (Exception $e) { } catch (Exception $e) {
throw $e; throw $e;
} }
} }
/* /*
* Get the access token. * Get the access token.
* *
@ -141,8 +142,8 @@ class microsoftProposalTool extends translaterProposalTool
* *
* @return string. * @return string.
*/ */
private function getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl) private function getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl)
{ {
try { try {
//Initialize the Curl Session. //Initialize the Curl Session.
$ch = curl_init(); $ch = curl_init();
@ -169,9 +170,9 @@ class microsoftProposalTool extends translaterProposalTool
$strResponse = curl_exec($ch); $strResponse = curl_exec($ch);
//Get the Error Code returned by Curl. //Get the Error Code returned by Curl.
$curlErrno = curl_errno($ch); $curlErrno = curl_errno($ch);
if($curlErrno){ if($curlErrno) {
$curlError = curl_error($ch); $curlError = curl_error($ch);
curl_close($ch); curl_close($ch);
throw new Exception($curlError); throw new Exception($curlError);
} }
//Close the Curl Session. //Close the Curl Session.
@ -186,7 +187,7 @@ class microsoftProposalTool extends translaterProposalTool
throw $e; throw $e;
} }
} }
/* /*
* Create and execute the HTTP CURL request. * Create and execute the HTTP CURL request.
* *
@ -214,12 +215,11 @@ class microsoftProposalTool extends translaterProposalTool
$curlErrno = curl_errno($ch); $curlErrno = curl_errno($ch);
if ($curlErrno) { if ($curlErrno) {
$curlError = curl_error($ch); $curlError = curl_error($ch);
curl_close($ch); curl_close($ch);
throw new Exception($curlError); throw new Exception($curlError);
} }
//Close a cURL session. //Close a cURL session.
curl_close($ch); curl_close($ch);
return $curlResponse; return $curlResponse;
} }
} }
?>

View file

@ -3,8 +3,7 @@
# #
# This file is part of translater, a plugin for Dotclear 2. # This file is part of translater, a plugin for Dotclear 2.
# #
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors # Copyright (c) 2009-2016 Jean-Christian Denis and contributors
# contact@jcdenis.fr
# #
# Licensed under the GPL version 2.0 license. # Licensed under the GPL version 2.0 license.
# A copy of this license is available in LICENSE file or at # A copy of this license is available in LICENSE file or at
@ -12,7 +11,6 @@
# #
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
/** /**
* Translater proposal tool. * Translater proposal tool.
* *
@ -20,106 +18,105 @@
*/ */
abstract class translaterProposalTool abstract class translaterProposalTool
{ {
public $core; public $core;
private $active = false; private $active = false;
private $name = 'unknow'; private $name = 'unknow';
private $desc = 'no description'; private $desc = 'no description';
/** /**
Constructor Constructor
*/ */
final public function __construct($core) final public function __construct($core)
{ {
$this->core = $core; $this->core = $core;
$this->setup(); $this->setup();
} }
/** /**
Set name of this tool Set name of this tool
@param string Tool's name @param string Tool's name
*/ */
final protected function setName($name) final protected function setName($name)
{ {
$this->name = (string) $name; $this->name = (string) $name;
} }
/** /**
Get name of this tool Get name of this tool
@return string Tool's name @return string Tool's name
*/ */
final public function getName() final public function getName()
{ {
return $this->name; return $this->name;
} }
/** /**
Set description of this tool Set description of this tool
@param string Tool's description @param string Tool's description
*/ */
final protected function setDesc($desc) final protected function setDesc($desc)
{ {
$this->desc = (string) $desc; $this->desc = (string) $desc;
} }
/** /**
Get description of this tool Get description of this tool
@return string Tool's description @return string Tool's description
*/ */
final public function getDesc() final public function getDesc()
{ {
return $this->desc; return $this->desc;
} }
/** /**
Set tool as (un)active Set tool as (un)active
@param boolean $active True to set it as active @param boolean $active True to set it as active
*/ */
final protected function setActive($active) final protected function setActive($active)
{ {
$this->active = (boolean) $active; $this->active = (boolean) $active;
} }
/** /**
Check if this tool is active Check if this tool is active
@return boolean True if it is active @return boolean True if it is active
*/ */
final public function isActive() final public function isActive()
{ {
return $this->active; return $this->active;
} }
/** /**
Set tool's info - using setName(),setDesc(),setActive() Set tool's info - using setName(),setDesc(),setActive()
*/ */
abstract protected function setup(); abstract protected function setup();
/** /**
Get configuration interface Get configuration interface
@return Form field @return Form field
*/ */
abstract public function form(); abstract public function form();
/** /**
Save configuration Save configuration
*/ */
abstract public function save(); abstract public function save();
/** /**
Translate a string from a language to another Translate a string from a language to another
@param string $str Trimed UTF-8 string to translate @param string $str Trimed UTF-8 string to translate
@param string $from Source language code @param string $from Source language code
@param string to Destination language code @param string to Destination language code
@return Translated string @return Translated string
*/ */
abstract public function translate($str,$from,$to); abstract public function translate($str,$from,$to);
} }
?>

2273
index.php

File diff suppressed because it is too large Load diff

View file

@ -1,24 +1,18 @@
<html> <html>
<head> <head>
<title>Translater</title> <title>Translater</title>
</head> </head>
<body> <body>
<h3>Paramètres</h3> <h4>Paramètres</h4>
<dl> <dl>
<dt>Activer l'interface simple</dt> <dt>Activer l'interface simple</dt>
<dd>Permet de n'avoir que l'essentiel sous les yeux.</dd> <dd>Permet de n'avoir que l'essentiel sous les yeux.</dd>
<dt>Utiliser deux colonnes sur la page d'administrations</dt> <dt>Utiliser deux colonnes sur la page d'administration</dt>
<dd>Permet d'avoir un affichage sur deux colonnes.</dd> <dd>Permet d'avoir un affichage sur deux colonnes.</dd>
<dt>Activer le menu de la page des extensions</dt>
<dd>Ajoute un onglet sur la page de gestion des extensions.</dd>
<dt>Activer le menu de la page des thèmes</dt>
<dd>Ajoute un lien sur les details du thème sélectionné sur le pages de gestion des thèmes.</dd>
<dt>Ecrire les fichier .po</dt> <dt>Ecrire les fichier .po</dt>
<dd>C'est le format par défaut des fichiers de langue de Dotclear.</dd> <dd>C'est le format par défaut des fichiers de langue de Dotclear.</dd>
@ -39,13 +33,13 @@
<dt>Ecrire les informations à propos de l'auteur</dt> <dt>Ecrire les informations à propos de l'auteur</dt>
<dd>Ajoute aux fichiers de langue <em>(si les commentaires sont actifs)</em> des informations à propos de l'auteur de la traduction. <dd>Ajoute aux fichiers de langue <em>(si les commentaires sont actifs)</em> des informations à propos de l'auteur de la traduction.
Ces informations peuvent ne pas être présentes pour un auteur elles seront alors ignorées. Il accepte les masques suivants: Ces informations peuvent ne pas être présentes pour un auteur elles seront alors ignorées. Il accepte les masques suivants:
<ul> <ul>
<li>displayname : pseudo de l'auteur</li> <li>displayname : pseudo de l'auteur</li>
<li>firstname : prénom de l'auteur</li> <li>firstname : prénom de l'auteur</li>
<li>name : nom de l'auteur</li> <li>name : nom de l'auteur</li>
<li>email : email de l'auteur</li> <li>email : email de l'auteur</li>
<li>url : site de l'auteur</li> <li>url : site de l'auteur</li>
</ul> </ul>
</dd> </dd>
<dt>Utiliser un outil d'aide à la traduction</dt> <dt>Utiliser un outil d'aide à la traduction</dt>
@ -53,7 +47,7 @@
une alerte javascript avec la traduction apparait.</dd> une alerte javascript avec la traduction apparait.</dd>
<dt>Langue par default des sources l10n</dt> <dt>Langue par default des sources l10n</dt>
<dd>Langue des textes présents dans les fonctions:<br/>__('...') et {{tpl:lang ...}.</dd> <dd>Langue des textes présents dans les fonctions:<br />__('...') et {{tpl:lang ...}}.</dd>
<dt>Ecraser les langages existants</dt> <dt>Ecraser les langages existants</dt>
<dd>Lors de l'import d'un paquetage de langue, si cette option est activé, une langue présente dans l'extension sera remplacé par celle venant du paquetage.</dd> <dd>Lors de l'import d'un paquetage de langue, si cette option est activé, une langue présente dans l'extension sera remplacé par celle venant du paquetage.</dd>
@ -61,13 +55,13 @@
<dt>Nom du paquetage exporté</dt> <dt>Nom du paquetage exporté</dt>
<dd>C'est le nom par défaut du fichier zip lorsque vous exportez des sauvegardes.</dd> <dd>C'est le nom par défaut du fichier zip lorsque vous exportez des sauvegardes.</dd>
<dd>Il accepte les masques suivants: <dd>Il accepte les masques suivants:
<ul> <ul>
<li>type : plugin ou thème</li> <li>type : plugin ou thème</li>
<li>module : nom du module</li> <li>module : nom du module</li>
<li>version : la version du module</li> <li>version : la version du module</li>
<li>timestamp : le temps unix</li> <li>timestamp : le temps unix</li>
<li>%Y%m%D.... : les masques de date Dotclear</li> <li>%Y%m%D.... : les masques de date Dotclear</li>
</ul> </ul>
</dd> </dd>
<dt>Faire des sauvegardes lors de modifications</dt> <dt>Faire des sauvegardes lors de modifications</dt>
@ -79,23 +73,23 @@
<dt>Stoquer les sauvegardes dans un dossier particulier</dt> <dt>Stoquer les sauvegardes dans un dossier particulier</dt>
<dd>Plusieurs choix de lieu de sauvegarde s'offrent: <dd>Plusieurs choix de lieu de sauvegarde s'offrent:
<ul> <ul>
<li>Repertoires <em>locales</em> de chaque module</li> <li>Repertoires <em>locales</em> de chaque module</li>
<li>Repertoire racine des extensions</li> <li>Repertoire racine des extensions</li>
<li>Repertoire publique <em>(du blog en cours)</em></li> <li>Repertoire publique <em>(du blog en cours)</em></li>
<li>Repertoire <em>cache</em> de Dotclear</li> <li>Repertoire <em>cache</em> de Dotclear</li>
<li>Repertoire unique du module <em>translater</em></li> <li>Repertoire unique du module <em>translater</em></li>
</ul> </ul>
</dd> </dd>
<dd>Pour ne pas tous mélanger il est préférable de stoquer les sauvegardes dans chaque module associé.</dd> <dd>Pour ne pas tous mélanger il est préférable de stoquer les sauvegardes dans chaque module associé.</dd>
</dl> </dl>
<h3>Ajout/Supression/Modification</h3> <h4>Ajout/Supression/Modification</h4>
<p>Cet onglet permet d'ajouter, de supprimer ou d'étider des langues d'une extension. <p>Cet onglet permet d'ajouter, de supprimer ou d'étider des langues d'une extension.
Il est possible de copier la traduction d'une langue à une autre lors de sa création. Il est possible de copier la traduction d'une langue à une autre lors de sa création.
La supression d'une langue ne supprimera pas les éventuelles sauvegardes associées à cette langue.</p> La supression d'une langue ne supprimera pas les éventuelles sauvegardes associées à cette langue.</p>
<h3>Edition d'une langue</h3> <h4>Edition d'une langue</h4>
<dl> <dl>
<dt>Groupe</dt> <dt>Groupe</dt>
<dd>Cette option est uniquement présente en mode avancé. <dd>Cette option est uniquement présente en mode avancé.
@ -121,7 +115,32 @@ La supression d'une langue ne supprimera pas les éventuelles sauvegardes associ
<dd>Indique la traduction et l'extension qui utilise cette chaine le cas échéant.</dd> <dd>Indique la traduction et l'extension qui utilise cette chaine le cas échéant.</dd>
</dl> </dl>
<h3>Sauvegardes</h3> <h4>Import/Export</h4>
<dl>
<dt>Importer</dt>
<dd>Il est possible d'importer des paquetages de langue.
Le format de ces paquetages est le <em>zip</em> et la structure pour chaque fichier doit obligatoirement avoir:
<ul>
<li>le nom du module</li>
<li>le repertoire <em>locales</em></li>
<li>le code de la langue</li>
<li>le nom du fichier de langue</li>
</ul>
Ce qui donne par exemple pour le plugin <em>translater</em>:
<ul>
<li>translater/locales/fr/main.po</li>
<li>translater/locales/fr/main.lang.php</li>
<li>translater/locales/fr/error.po</li>
<li>...</li>
</ul>
Seuls les fichiers .po et .lang.php sont reconnus.
Un paquetage peut contenir plusieurs langues et plusieurs extensions.
Si l'import se fait depuis la page d'une extension, seule cette extension sera importée.
Si l'import se fait depuis la page général, toutes les extensions seront importées.
Si l'option <em>Ecraser les fichier lors de l'import</em> est activée dans les paramètres alors les fichiers exsitant seront remplacés.</dd>
</dl>
<h4>Sauvegardes</h4>
<dl> <dl>
<dt>Créer une sauvegarde</dt> <dt>Créer une sauvegarde</dt>
<dd>Si des traductions existent, une partie "Créer une sauvegarde" apparait. <dd>Si des traductions existent, une partie "Créer une sauvegarde" apparait.
@ -133,42 +152,26 @@ La supression d'une langue ne supprimera pas les éventuelles sauvegardes associ
Il suffit de selectionner les sauvegardes puis de choisir "Restaurer les sauvegardes". Elles seront restaurées par ordre chronologique. Il suffit de selectionner les sauvegardes puis de choisir "Restaurer les sauvegardes". Elles seront restaurées par ordre chronologique.
C'est à dire que la plus ancienne sauvegarde sera restaurée en premier puis les plus récentes. C'est à dire que la plus ancienne sauvegarde sera restaurée en premier puis les plus récentes.
Dans cette même liste on peut supprimer des sauvegardes. La date, la langue et la taille de la sauvegarde sont affichées dans cette liste.</dd> Dans cette même liste on peut supprimer des sauvegardes. La date, la langue et la taille de la sauvegarde sont affichées dans cette liste.</dd>
</dl> </dl>
<h3>Import/Export</h3> <h4>Comportements</h4>
<dl> <dl>
<dt>Importer</dt> <dt>Menu de départ par défaut</dt>
<dd>Il est possible d'importer des paquetages de langue. <dd>Permet de choisir quelle page apparaît lors de l'accès au présent plugin.</dd>
Le format de ces paquetages est le <em>zip</em> et la structure pour chaque fichier doit obligatoirement avoir:
<ul>
<li>le nom du module</li>
<li>le repertoire <em>locales</em></li>
<li>le code de la langue</li>
<li>le nom du fichier de langue</li>
</ul>
Ce qui donne par exemple pour l'extension <em>translater</em>:
<ul>
<li>translater/locales/fr/main.po</li>
<li>translater/locales/fr/main.lang.php</li>
<li>translater/locales/fr/error.po</li>
<li>...</li>
</ul>
Seuls les fichiers .po et .lang.php sont reconnus.
Un paquetage peut contenir plusieurs langues et plusieurs extensions.
Si l'import se fait depuis la page d'une extension, seule cette extension sera importée.
Si l'import se fait depuis la page général, toutes les extensions seront importées.
Si l'option <em>Ecraser les fichier lors de l'import</em> est activée dans les paramètres alors les fichiers exsitant seront remplacés.</dd>
<dt>Activer le menu de la page des plugins</dt>
<dd>Ajoute un onglet sur la page de gestion des plugins.</dd>
<dt>Activer le menu de la page des thèmes</dt>
<dd>Ajoute un lien sur les details du thème sélectionné sur le pages de gestion des thèmes.</dd>
</dl> </dl>
<h3>Support</h3> <h4>Support</h4>
<p>Si vous souhaitez plus d'aide ou apporter votre contribution à cette extension, voici quelques liens utiles.</p> <p>Si vous souhaitez plus d'aide ou apporter votre contribution à ce plugin, voici quelques liens utiles.</p>
<ul> <ul>
<li><a href="http://forum.dotclear.net/viewtopic.php?id=39220">Sujet sur le forum Dotclear</a></li> <li><a href="http://forum.dotclear.net/viewtopic.php?id=39220">Sujet sur le forum Dotclear</a></li>
<li><a href="http://lab.dotclear.org/wiki/plugin/translater">Page dédiée du lab Dotclear</a></li> <li><a href="http://plugins.dotaddict.org/dc2/details/translater">Fiche du plugin sur dotaddict</a></li>
<li><a href="http://jcd.lv/?q=translater">Blog de l'auteur</a></li>
</ul> </ul>
</body> </body>
</html> </html>

View file

@ -1,402 +1,420 @@
<?php <?php
// Language: Français // Language: Français
// Module: translater - 2013.05.11 // Module: translater - 2018.02.14
// Date: 2013-05-12 23:35:00 // Date: 2018-10-18 09:43:01
// Translated with dcTranslater - 2013.05.11 // Translated with dcTranslater - 2018.02.14
#_admin.php:26 #_admin.php:25
#index.php:537 #_admin.php:112
#index.php:570 #index.php:536
#index.php:1384 #index.php:569
#index.php:1383
$GLOBALS['__l10n']['Translater'] = 'Traducteur'; $GLOBALS['__l10n']['Translater'] = 'Traducteur';
#_admin.php:44 #_admin.php:43
$GLOBALS['__l10n']['Translate extensions'] = 'Traduire les extensions'; $GLOBALS['__l10n']['Translate plugins'] = 'Traduire les plugins';
#_admin.php:48 #_admin.php:61
#index.php:670 $GLOBALS['__l10n']['Translate this plugin'] = 'Traduire ce plugin';
$GLOBALS['__l10n']['Name'] = 'Nom';
#_admin.php:62 #_admin.php:84
$GLOBALS['__l10n']['Translate this plugin'] = 'Traduire cette extension';
#_admin.php:85
$GLOBALS['__l10n']['Translate this theme'] = 'Traduire ce thème'; $GLOBALS['__l10n']['Translate this theme'] = 'Traduire ce thème';
#inc/class.dc.translater.php:434 #_uninstall.php:20
$GLOBALS['__l10n']['delete all settings'] = 'effacer tous les paramètres';
#_uninstall.php:27
$GLOBALS['__l10n']['delete plugin files'] = 'effacer les fichiers du plugin';
#_uninstall.php:34
$GLOBALS['__l10n']['delete the version number'] = 'effacer le n° de version';
#_uninstall.php:42
$GLOBALS['__l10n']['delete all %s settings'] = 'effacer tous les paramètres de %s';
#_uninstall.php:49
$GLOBALS['__l10n']['delete %s plugin files'] = 'effacer les fichiers du plugin %s';
#_uninstall.php:56
$GLOBALS['__l10n']['delete %s version number'] = 'effacer la version de %s';
#inc/class.dc.translater.php:359
$GLOBALS['__l10n']['Cannot find module %s'] = 'Impossible de trouver le module %s';
#inc/class.dc.translater.php:437
$GLOBALS['__l10n']['Cannot find backups folder for module %s'] = 'Impossible de trouver le dossier de sauvegarde du module %s'; $GLOBALS['__l10n']['Cannot find backups folder for module %s'] = 'Impossible de trouver le dossier de sauvegarde du module %s';
#inc/class.dc.translater.php:450 #inc/class.dc.translater.php:453
$GLOBALS['__l10n']['Cannot find languages folder for module %s'] = 'Impossible de trouver le dossier de langue du module %s'; $GLOBALS['__l10n']['Cannot find languages folder for module %s'] = 'Impossible de trouver le dossier de langue du module %s';
#inc/class.dc.translater.php:470 #inc/class.dc.translater.php:473
$GLOBALS['__l10n']['Cannot find root folder for module %s'] = 'Impossible de trouver le dossier racine du module %s'; $GLOBALS['__l10n']['Cannot find root folder for module %s'] = 'Impossible de trouver le dossier racine du module %s';
#inc/class.dc.translater.php:499 #inc/class.dc.translater.php:502
$GLOBALS['__l10n']['Limit of %s backups for module %s exceed'] = 'La limite de %s sauvegardes pour le module % est dépassée'; $GLOBALS['__l10n']['Limit of %s backups for module %s exceed'] = 'La limite de %s sauvegardes pour le module % est dépassée';
#inc/class.dc.translater.php:561 #inc/class.dc.translater.php:564
#inc/class.dc.translater.php:951 #inc/class.dc.translater.php:954
#inc/class.dc.translater.php:1028 #inc/class.dc.translater.php:1031
$GLOBALS['__l10n']['Cannot find language folder %s for module %s'] = 'Impossible de trouver le dossier de langue %s pour le module %s'; $GLOBALS['__l10n']['Cannot find language folder %s for module %s'] = 'Impossible de trouver le dossier de langue %s pour le module %s';
#inc/class.dc.translater.php:616 #inc/class.dc.translater.php:619
$GLOBALS['__l10n']['Cannot delete backup file %s'] = 'Impossible d\'effacer le fichier de sauvegarde %s'; $GLOBALS['__l10n']['Cannot delete backup file %s'] = 'Impossible d\'effacer le fichier de sauvegarde %s';
#inc/class.dc.translater.php:634 #inc/class.dc.translater.php:637
$GLOBALS['__l10n']['Cannot find backup file %s'] = 'Impossible de trouver le fichier de sauvegarde %s'; $GLOBALS['__l10n']['Cannot find backup file %s'] = 'Impossible de trouver le fichier de sauvegarde %s';
#inc/class.dc.translater.php:660 #inc/class.dc.translater.php:663
$GLOBALS['__l10n']['Wrong export query'] = 'Mauvaise requète d\'exportation'; $GLOBALS['__l10n']['Wrong export query'] = 'Mauvaise requète d\'exportation';
#inc/class.dc.translater.php:671 #inc/class.dc.translater.php:674
$GLOBALS['__l10n']['Cannot use export mask %s'] = 'Impossible d\'utiliser le masque d\'exportation %s'; $GLOBALS['__l10n']['Cannot use export mask %s'] = 'Impossible d\'utiliser le masque d\'exportation %s';
#inc/class.dc.translater.php:759 #inc/class.dc.translater.php:762
$GLOBALS['__l10n']['Wrong import query'] = 'Mauvaise requète d\'importation'; $GLOBALS['__l10n']['Wrong import query'] = 'Mauvaise requète d\'importation';
#inc/class.dc.translater.php:808 #inc/class.dc.translater.php:811
$GLOBALS['__l10n']['Nothing to import for these modules in pack %s'] = 'Rien à importer pour ces modules dans le paquetage %s'; $GLOBALS['__l10n']['Nothing to import for these modules in pack %s'] = 'Rien à importer pour ces modules dans le paquetage %s';
#inc/class.dc.translater.php:837 #inc/class.dc.translater.php:840
$GLOBALS['__l10n']['Zip file %s is not in translater format'] = 'Le fichier zip n\'est pas au format de translater'; $GLOBALS['__l10n']['Zip file %s is not in translater format'] = 'Le fichier zip n\'est pas au format de translater';
#inc/class.dc.translater.php:897 #inc/class.dc.translater.php:900
$GLOBALS['__l10n']['Language %s already exists for module %s'] = 'La langue %s existe dèjà pour le module %s'; $GLOBALS['__l10n']['Language %s already exists for module %s'] = 'La langue %s existe dèjà pour le module %s';
#inc/class.dc.translater.php:908 #inc/class.dc.translater.php:911
$GLOBALS['__l10n']['Cannot copy file from language %s for module %s'] = 'Impossible de copier le fichier depuis le langage %s pour le module %s'; $GLOBALS['__l10n']['Cannot copy file from language %s for module %s'] = 'Impossible de copier le fichier depuis le langage %s pour le module %s';
#inc/class.dc.translater.php:1000 #inc/class.dc.translater.php:1003
$GLOBALS['__l10n']['No string to write, language %s deleted for module %s'] = 'Aucune chaine à écrire, la langue %s a été effacée pour le module %s'; $GLOBALS['__l10n']['No string to write, language %s deleted for module %s'] = 'Aucune chaine à écrire, la langue %s a été effacée pour le module %s';
#inc/class.dc.translater.php:1264 #inc/class.dc.translater.php:1267
$GLOBALS['__l10n']['Cannot grant write acces on lang file %s'] = 'Impossible d\'avoir les droits en écriture sur le fichier de langue %s'; $GLOBALS['__l10n']['Cannot grant write acces on lang file %s'] = 'Impossible d\'avoir les droits en écriture sur le fichier de langue %s';
#inc/class.dc.translater.php:1275 #inc/class.dc.translater.php:1278
$GLOBALS['__l10n']['Cannot write lang file %s'] = 'Impossible d\'écrire le fichier de langue %s'; $GLOBALS['__l10n']['Cannot write lang file %s'] = 'Impossible d\'écrire le fichier de langue %s';
#inc/class.dc.translater.php:1579 #inc/class.dc.translater.php:1583
$GLOBALS['__l10n']['Cannot find language for code %s'] = 'Impossible de trouver de langue pour le code %s'; $GLOBALS['__l10n']['Cannot find language for code %s'] = 'Impossible de trouver de langue pour le code %s';
#inc/class.translater.rest.php:42 #inc/class.translater.rest.php:41
$GLOBALS['__l10n']['Missing params'] = 'Paramètres manquants'; $GLOBALS['__l10n']['Missing params'] = 'Paramètres manquants';
#inc/class.translater.rest.php:51 #inc/class.translater.rest.php:50
$GLOBALS['__l10n']['Failed to get translation tool'] = 'Impossible de trouver l\'outil de traduction'; $GLOBALS['__l10n']['Failed to get translation tool'] = 'Impossible de trouver l\'outil de traduction';
#inc/class.translater.rest.php:55 #inc/class.translater.rest.php:54
$GLOBALS['__l10n']['Translation tool is not configured'] = 'L\'outil de traduction n\'est pas configuré'; $GLOBALS['__l10n']['Translation tool is not configured'] = 'L\'outil de traduction n\'est pas configuré';
#inc/lib.translater.google.php:44 #inc/lib.translater.google.php:43
$GLOBALS['__l10n']['You must have on Google API console:'] = 'Vous devez avoir sur la console des API Google :'; $GLOBALS['__l10n']['You must have on Google API console:'] = 'Vous devez avoir sur la console des API Google :';
#inc/lib.translater.google.php:80 #inc/lib.translater.google.php:46
$GLOBALS['__l10n']['Failed to query service.'] = 'Impossible d\'interoger le service.'; $GLOBALS['__l10n']['Activate the "translate API" service'] = 'Activer le service "translate API"';
#inc/lib.translater.microsoft.php:49 #inc/lib.translater.google.php:79
$GLOBALS['__l10n']['Failed to query service.'] = 'Impossible d\'interroger le service.';
#inc/lib.translater.microsoft.php:48
$GLOBALS['__l10n']['You must have:'] = 'Vous devez avoir :'; $GLOBALS['__l10n']['You must have:'] = 'Vous devez avoir :';
#index.php:26 #index.php:25
#index.php:526 #index.php:525
#index.php:1382 #index.php:1381
$GLOBALS['__l10n']['Settings'] = 'Paramètres'; $GLOBALS['__l10n']['Settings'] = 'Paramètres';
#index.php:42 #index.php:27
#index.php:426
#index.php:462
#index.php:500
#index.php:571
$GLOBALS['__l10n']['Themes'] = 'Thèmes';
#index.php:41
$GLOBALS['__l10n']['locales folders of each module'] = 'le répertoire locales de chaque module'; $GLOBALS['__l10n']['locales folders of each module'] = 'le répertoire locales de chaque module';
#index.php:43 #index.php:42
$GLOBALS['__l10n']['plugins folder root'] = 'le répertoire racine des extensions'; $GLOBALS['__l10n']['plugins folder root'] = 'le répertoire racine des plugins';
#index.php:44 #index.php:43
$GLOBALS['__l10n']['public folder root'] = 'le répertoire public du blog'; $GLOBALS['__l10n']['public folder root'] = 'le répertoire public du blog';
#index.php:45 #index.php:44
$GLOBALS['__l10n']['cache folder of Dotclear'] = 'le répertoire cache de Dotclear'; $GLOBALS['__l10n']['cache folder of Dotclear'] = 'le répertoire cache de Dotclear';
#index.php:46 #index.php:45
$GLOBALS['__l10n']['locales folder of translater'] = 'le répertoire locales de l\'extension translater'; $GLOBALS['__l10n']['locales folder of translater'] = 'le répertoire locales du plugin translater';
#index.php:51 #index.php:50
$GLOBALS['__l10n']['Translation successfully updated'] = 'Traduction mise à jour avec succès'; $GLOBALS['__l10n']['Translation successfully updated'] = 'Traduction mise à jour avec succès';
#index.php:52 #index.php:51
$GLOBALS['__l10n']['Translation successfully created'] = 'Traduction crée avec succès'; $GLOBALS['__l10n']['Translation successfully created'] = 'Traduction créée avec succès';
#index.php:53 #index.php:52
$GLOBALS['__l10n']['Translation successfully deleted'] = 'Traduction effacée avec succès'; $GLOBALS['__l10n']['Translation successfully deleted'] = 'Traduction effacée avec succès';
#index.php:54 #index.php:53
$GLOBALS['__l10n']['Backups successfully create'] = 'Sauvegardes crées avec succès'; $GLOBALS['__l10n']['Backups successfully create'] = 'Sauvegardes créées avec succès';
#index.php:55 #index.php:54
$GLOBALS['__l10n']['Backups successfully restored'] = 'Sauvegardes effectuées avec succès'; $GLOBALS['__l10n']['Backups successfully restored'] = 'Sauvegardes effectuées avec succès';
#index.php:56 #index.php:55
$GLOBALS['__l10n']['Backups successfully deleted'] = 'Sauvegardes effacées avec succès'; $GLOBALS['__l10n']['Backups successfully deleted'] = 'Sauvegardes effacées avec succès';
#index.php:57 #index.php:56
$GLOBALS['__l10n']['Package successfully imported'] = 'Paquetage importé avec succès'; $GLOBALS['__l10n']['Package successfully imported'] = 'Paquetage importé avec succès';
#index.php:58 #index.php:57
$GLOBALS['__l10n']['Package successfully exported'] = 'Paquetage exporté avec succès'; $GLOBALS['__l10n']['Package successfully exported'] = 'Paquetage exporté avec succès';
#index.php:62 #index.php:61
$GLOBALS['__l10n']['Failed to update settings: %s'] = 'Impossible de mettre à jour les paramètres : %s'; $GLOBALS['__l10n']['Failed to update settings: %s'] = 'Impossible de mettre à jour les paramètres : %s';
#index.php:63 #index.php:62
$GLOBALS['__l10n']['Failed to update translation: %s'] = 'Impossible de mettre à jour la traduction : %s'; $GLOBALS['__l10n']['Failed to update translation: %s'] = 'Impossible de mettre à jour la traduction : %s';
#index.php:64 #index.php:63
$GLOBALS['__l10n']['Failed to create translation: %s'] = 'Impossible de créer la traduction : %s'; $GLOBALS['__l10n']['Failed to create translation: %s'] = 'Impossible de créer la traduction : %s';
#index.php:65 #index.php:64
$GLOBALS['__l10n']['Failed to delete translation: %s'] = 'Impossible d\'effacer la traduction : %s'; $GLOBALS['__l10n']['Failed to delete translation: %s'] = 'Impossible d\'effacer la traduction : %s';
#index.php:66 #index.php:65
$GLOBALS['__l10n']['Failed to create backups: %s'] = 'Impossible de créer les sauvegardes : %s'; $GLOBALS['__l10n']['Failed to create backups: %s'] = 'Impossible de créer les sauvegardes : %s';
#index.php:67 #index.php:66
$GLOBALS['__l10n']['Failed to restore backups: %s'] = 'Impossible de restaurer les sauvegardes : %s'; $GLOBALS['__l10n']['Failed to restore backups: %s'] = 'Impossible de restaurer les sauvegardes : %s';
#index.php:68 #index.php:67
$GLOBALS['__l10n']['Failed to delete backups: %s'] = 'Impossible d\'effacer les sauvegardes : %s'; $GLOBALS['__l10n']['Failed to delete backups: %s'] = 'Impossible d\'effacer les sauvegardes : %s';
#index.php:69 #index.php:68
$GLOBALS['__l10n']['Failed to import package: %s'] = 'Impossible d\'importer le paquetage : %s'; $GLOBALS['__l10n']['Failed to import package: %s'] = 'Impossible d\'importer le paquetage : %s';
#index.php:70 #index.php:69
$GLOBALS['__l10n']['Failed to export package: %s'] = 'Impossible d\'exporter le paquetage : %s'; $GLOBALS['__l10n']['Failed to export package: %s'] = 'Impossible d\'exporter le paquetage : %s';
#index.php:112 #index.php:111
$GLOBALS['__l10n']['No lang to create'] = 'Pas de langue à créer'; $GLOBALS['__l10n']['No lang to create'] = 'Pas de langue à créer';
#index.php:134 #index.php:133
$GLOBALS['__l10n']['No lang to delete'] = 'Pas de langue à effacer'; $GLOBALS['__l10n']['No lang to delete'] = 'Pas de langue à effacer';
#index.php:156 #index.php:155
$GLOBALS['__l10n']['No lang to backup'] = 'Pas de langue à sauvegarder'; $GLOBALS['__l10n']['No lang to backup'] = 'Pas de langue à sauvegarder';
#index.php:189 #index.php:188
$GLOBALS['__l10n']['No blackup to restore'] = 'Pas de langue à restaurer'; $GLOBALS['__l10n']['No blackup to restore'] = 'Pas de langue à restaurer';
#index.php:208 #index.php:207
$GLOBALS['__l10n']['No bakcup to to restore'] = 'Pas de sauvegarde à restaurer'; $GLOBALS['__l10n']['No bakcup to to restore'] = 'Pas de sauvegarde à restaurer';
#index.php:229 #index.php:228
#index.php:247 #index.php:246
$GLOBALS['__l10n']['No backup to delete'] = 'Pas de sauvegarde à effacer'; $GLOBALS['__l10n']['No backup to delete'] = 'Pas de sauvegarde à effacer';
#index.php:290 #index.php:289
#index.php:364 #index.php:363
$GLOBALS['__l10n']['Nothing to export'] = 'Rien à exporter'; $GLOBALS['__l10n']['Nothing to export'] = 'Rien à exporter';
#index.php:312 #index.php:311
$GLOBALS['__l10n']['No language to update'] = 'Pas de langue à mettre à jour'; $GLOBALS['__l10n']['No language to update'] = 'Pas de langue à mettre à jour';
#index.php:443 #index.php:442
#index.php:490 #index.php:489
$GLOBALS['__l10n']['Failed to launch translater: %s'] = 'Impossible de démarrer translater : %s'; $GLOBALS['__l10n']['Failed to launch translater: %s'] = 'Impossible de démarrer translater : %s';
#index.php:556 #index.php:555
$GLOBALS['__l10n']['Use this %s translation:'] = 'Utiliser la traduction de %s :'; $GLOBALS['__l10n']['Use this %s translation:'] = 'Utiliser la traduction de %s :';
#index.php:557 #index.php:556
$GLOBALS['__l10n']['Translate this text with %s'] = 'Traduire ce texte avec %s'; $GLOBALS['__l10n']['Translate this text with %s'] = 'Traduire ce texte avec %s';
#index.php:558 #index.php:557
$GLOBALS['__l10n']['Use this text'] = 'Utiliser ce texte'; $GLOBALS['__l10n']['Use this text'] = 'Utiliser ce texte';
#index.php:606 #index.php:605
$GLOBALS['__l10n']['Translate theme "%s" (by %s)'] = 'Traduire le thème "%s" (de %s)'; $GLOBALS['__l10n']['Translate theme "%s" (by %s)'] = 'Traduire le thème "%s" (de %s)';
#index.php:607 #index.php:606
$GLOBALS['__l10n']['Translate plugin "%s" (by %s)'] = 'Traduire l\'extension "%s" (de %s)'; $GLOBALS['__l10n']['Translate plugin "%s" (by %s)'] = 'Traduire le plugin "%s" (de %s)';
#index.php:627 #index.php:626
#index.php:741 #index.php:740
$GLOBALS['__l10n']['Edit translation'] = 'Modifier la traduction'; $GLOBALS['__l10n']['Edit translation'] = 'Modifier la traduction';
#index.php:639 #index.php:638
$GLOBALS['__l10n']['Id'] = 'Id'; $GLOBALS['__l10n']['Id'] = 'Id';
#index.php:649 #index.php:648
$GLOBALS['__l10n']['There is no editable modules'] = 'Il n\'y a pas de modules modifiables.'; $GLOBALS['__l10n']['There is no editable modules'] = 'Il n\'y a pas de modules modifiables.';
#index.php:665 #index.php:664
$GLOBALS['__l10n']['Summary'] = 'Résumé'; $GLOBALS['__l10n']['Summary'] = 'Résumé';
#index.php:666 #index.php:665
$GLOBALS['__l10n']['Module'] = 'Module'; $GLOBALS['__l10n']['Module'] = 'Module';
#index.php:668 #index.php:667
$GLOBALS['__l10n']['About'] = 'À propos'; $GLOBALS['__l10n']['About'] = 'À propos';
#index.php:678 #index.php:677
$GLOBALS['__l10n']['Root'] = 'Racine'; $GLOBALS['__l10n']['Root'] = 'Racine';
#index.php:680 #index.php:679
#index.php:694 #index.php:693
#index.php:811 #index.php:810
#index.php:1342 #index.php:1341
$GLOBALS['__l10n']['Backups'] = 'Sauvegardes'; $GLOBALS['__l10n']['Backups'] = 'Sauvegardes';
#index.php:695 #index.php:694
$GLOBALS['__l10n']['Last backup'] = 'Dernière sauvegarde'; $GLOBALS['__l10n']['Last backup'] = 'Dernière sauvegarde';
#index.php:722 #index.php:721
$GLOBALS['__l10n']['no backup'] = 'Aucune sauvegarde'; $GLOBALS['__l10n']['no backup'] = 'Aucune sauvegarde';
#index.php:731 #index.php:736
$GLOBALS['__l10n']['Translations'] = 'Traductions';
#index.php:737
$GLOBALS['__l10n']['Edit language'] = 'Modifier une langue'; $GLOBALS['__l10n']['Edit language'] = 'Modifier une langue';
#index.php:757 #index.php:756
$GLOBALS['__l10n']['Add language'] = 'Ajouter une langue'; $GLOBALS['__l10n']['Add language'] = 'Ajouter une langue';
#index.php:764 #index.php:763
$GLOBALS['__l10n']['Copy from language:'] = 'Copier depuis la langue :'; $GLOBALS['__l10n']['Copy from language:'] = 'Copier depuis la langue :';
#index.php:766 #index.php:765
$GLOBALS['__l10n']['Optionnal'] = 'Optionnel'; $GLOBALS['__l10n']['Optionnal'] = 'Optionnel';
#index.php:773 #index.php:772
$GLOBALS['__l10n']['Add translation'] = 'Ajouter la traduction'; $GLOBALS['__l10n']['Add translation'] = 'Ajouter la traduction';
#index.php:790 #index.php:789
$GLOBALS['__l10n']['Delete language'] = 'Effacer une langue'; $GLOBALS['__l10n']['Delete language'] = 'Effacer une langue';
#index.php:794 #index.php:793
$GLOBALS['__l10n']['Delete translation'] = 'Effacer la traduction'; $GLOBALS['__l10n']['Delete translation'] = 'Effacer la traduction';
#index.php:816 #index.php:815
$GLOBALS['__l10n']['Create backups'] = 'Créer une sauvegarde'; $GLOBALS['__l10n']['Create backups'] = 'Créer une sauvegarde';
#index.php:818 #index.php:817
$GLOBALS['__l10n']['Choose languages to backup'] = 'Choisir la langue à sauvegarder'; $GLOBALS['__l10n']['Choose languages to backup'] = 'Choisir la langue à sauvegarder';
#index.php:839 #index.php:855
$GLOBALS['__l10n']['Backup'] = 'Sauvegarde';
#index.php:856
$GLOBALS['__l10n']['List of backups'] = 'Liste des sauvegardes'; $GLOBALS['__l10n']['List of backups'] = 'Liste des sauvegardes';
#index.php:860 #index.php:859
#index.php:1066 #index.php:1065
$GLOBALS['__l10n']['File'] = 'Fichier'; $GLOBALS['__l10n']['File'] = 'Fichier';
#index.php:863 #index.php:886
$GLOBALS['__l10n']['Size'] = 'Taille';
#index.php:887
$GLOBALS['__l10n']['Selected backups action:'] = 'Action sur les sauvegardes sélectionnées :'; $GLOBALS['__l10n']['Selected backups action:'] = 'Action sur les sauvegardes sélectionnées :';
#index.php:889 #index.php:888
$GLOBALS['__l10n']['Restore backups'] = 'Restaurer les sauvegardes'; $GLOBALS['__l10n']['Restore backups'] = 'Restaurer les sauvegardes';
#index.php:890 #index.php:889
$GLOBALS['__l10n']['Delete backups'] = 'Effacer les sauvegardes'; $GLOBALS['__l10n']['Delete backups'] = 'Effacer les sauvegardes';
#index.php:916 #index.php:915
#index.php:1183 #index.php:1182
$GLOBALS['__l10n']['Choose language package to import'] = 'Choisir le paquetage de langue à importer'; $GLOBALS['__l10n']['Choose language package to import'] = 'Choisir le paquetage de langue à importer';
#index.php:938 #index.php:937
#index.php:1240 #index.php:1239
$GLOBALS['__l10n']['Choose languages to export'] = 'Choisir les langues à exporter'; $GLOBALS['__l10n']['Choose languages to export'] = 'Choisir les langues à exporter';
#index.php:1059 #index.php:1058
$GLOBALS['__l10n']['Group'] = 'Groupe'; $GLOBALS['__l10n']['Group'] = 'Groupe';
#index.php:1061 #index.php:1060
$GLOBALS['__l10n']['String'] = 'Chaîne'; $GLOBALS['__l10n']['String'] = 'Chaîne';
#index.php:1063 #index.php:1062
#index.php:1284 #index.php:1283
$GLOBALS['__l10n']['Translation'] = 'Traduction'; $GLOBALS['__l10n']['Translation'] = 'Traduction';
#index.php:1064 #index.php:1063
$GLOBALS['__l10n']['Existing'] = 'Existant'; $GLOBALS['__l10n']['Existing'] = 'Existant';
#index.php:1127 #index.php:1126
$GLOBALS['__l10n']['%s occurrences'] = '%s occurrences'; $GLOBALS['__l10n']['%s occurrences'] = '%s occurrences';
#index.php:1153 #index.php:1152
$GLOBALS['__l10n']['Total of %s strings.'] = 'Total de %s chaînes.'; $GLOBALS['__l10n']['Total of %s strings.'] = 'Total de %s chaînes.';
#index.php:1155 #index.php:1154
$GLOBALS['__l10n']['Change the group of the selected entries to:'] = 'Changer le groupe des entrées sélectionnées vers :'; $GLOBALS['__l10n']['Change the group of the selected entries to:'] = 'Changer le groupe des entrées sélectionnées vers :';
#index.php:1212 #index.php:1211
$GLOBALS['__l10n']['Choose modules to export'] = 'Choisir les modules à exporter'; $GLOBALS['__l10n']['Choose modules to export'] = 'Choisir les modules à exporter';
#index.php:1214 #index.php:1213
$GLOBALS['__l10n']['Modules'] = 'Modules'; $GLOBALS['__l10n']['Modules'] = 'Modules';
#index.php:1287 #index.php:1286
$GLOBALS['__l10n']['Write .po files'] = 'Écrire les fichier .po'; $GLOBALS['__l10n']['Write .po files'] = 'Écrire les fichiers .po';
#index.php:1290 #index.php:1289
$GLOBALS['__l10n']['Write .lang.php files'] = 'Écrire les fichier .lang.php'; $GLOBALS['__l10n']['Write .lang.php files'] = 'Écrire les fichiers .lang.php';
#index.php:1293 #index.php:1292
$GLOBALS['__l10n']['Translate also strings of template files'] = 'Traduire également les chaînes des fichiers de template'; $GLOBALS['__l10n']['Translate also strings of template files'] = 'Traduire également les chaînes des fichiers de template';
#index.php:1296 #index.php:1295
$GLOBALS['__l10n']['Translate only unknow strings'] = 'Traduire uniquement les chaînes inconnues'; $GLOBALS['__l10n']['Translate only unknow strings'] = 'Traduire uniquement les chaînes inconnues';
#index.php:1299 #index.php:1298
$GLOBALS['__l10n']['Hide default modules of Dotclear'] = 'Cacher les modules d\'origine de Dotclear'; $GLOBALS['__l10n']['Hide default modules of Dotclear'] = 'Cacher les modules d\'origine de Dotclear';
#index.php:1302 #index.php:1301
$GLOBALS['__l10n']['Write comments in files'] = 'Écrire les commentaires dans les fichiers'; $GLOBALS['__l10n']['Write comments in files'] = 'Écrire les commentaires dans les fichiers';
#index.php:1305 #index.php:1304
$GLOBALS['__l10n']['Write informations about author in files'] = 'Écrire les informations à propos de l\'auteur dans les fichiers'; $GLOBALS['__l10n']['Write informations about author in files'] = 'Écrire les informations à propos de l\'auteur dans les fichiers';
#index.php:1309 #index.php:1308
$GLOBALS['__l10n']['Tools'] = 'Outils'; $GLOBALS['__l10n']['Tools'] = 'Outils';
#index.php:1310 #index.php:1309
$GLOBALS['__l10n']['Default language of l10n source:'] = 'Langue par défaut des sources l10n :'; $GLOBALS['__l10n']['Default language of l10n source:'] = 'Langue par défaut des sources l10n :';
#index.php:1314 #index.php:1313
$GLOBALS['__l10n']['Select and configure the tool to use to translate strings:'] = 'Sélectionner et configurer un outil de traduction :'; $GLOBALS['__l10n']['Select and configure the tool to use to translate strings:'] = 'Sélectionner et configurer un outil de traduction :';
#index.php:1326 #index.php:1325
$GLOBALS['__l10n']['Nothing to configure for %s tool.'] = 'Rien à configurer pour l\'outil %s.'; $GLOBALS['__l10n']['Nothing to configure for %s tool.'] = 'Rien à configurer pour l\'outil %s.';
#index.php:1337 #index.php:1336
$GLOBALS['__l10n']['Overwrite existing languages'] = 'Écraser les langages existants'; $GLOBALS['__l10n']['Overwrite existing languages'] = 'Écraser les langages existants';
#index.php:1338 #index.php:1337
$GLOBALS['__l10n']['Name of exported package'] = 'Nom du paquetage exporté'; $GLOBALS['__l10n']['Name of exported package'] = 'Nom du paquetage exporté';
#index.php:1345 #index.php:1344
$GLOBALS['__l10n']['Make backups when changes are made'] = 'Faire des sauvegardes lors des modifications'; $GLOBALS['__l10n']['Make backups when changes are made'] = 'Faire des sauvegardes lors des modifications';
#index.php:1346 #index.php:1345
$GLOBALS['__l10n']['Limit backups to %s files per module'] = 'Limiter les sauvegardes à %s fichiers par module'; $GLOBALS['__l10n']['Limit backups to %s files per module'] = 'Limiter les sauvegardes à %s fichiers par module';
#index.php:1349 #index.php:1348
$GLOBALS['__l10n']['Store backups in %s'] = 'Stocker les sauvegardes dans %s'; $GLOBALS['__l10n']['Store backups in %s'] = 'Stocker les sauvegardes dans %s';
#index.php:1354 #index.php:1353
$GLOBALS['__l10n']['Behaviors'] = 'Comportements'; $GLOBALS['__l10n']['Behaviors'] = 'Comportements';
#index.php:1355 #index.php:1354
$GLOBALS['__l10n']['Default start menu:'] = 'Menu de départ par défaut :'; $GLOBALS['__l10n']['Default start menu:'] = 'Menu de départ par défaut :';
#index.php:1360 #index.php:1359
$GLOBALS['__l10n']['Enable menu on extensions page'] = 'Activer le menu sur la page des extensions'; $GLOBALS['__l10n']['Enable menu on extensions page'] = 'Activer le menu sur la page des plugins';
#index.php:1363 #index.php:1362
$GLOBALS['__l10n']['Enable menu on themes page'] = 'Activer le menu sur la page des thèmes'; $GLOBALS['__l10n']['Enable menu on themes page'] = 'Activer le menu sur la page des thèmes';
$GLOBALS['__l10n']['translater'] = 'Traducteur'; $GLOBALS['__l10n']['translater'] = 'Traducteur';
$GLOBALS['__l10n']['Translate your Dotclear plugins and themes'] = 'Traduire vos extensions et thèmes pour Dotclear'; $GLOBALS['__l10n']['Translate your Dotclear plugins and themes'] = 'Traduire vos plugins et thèmes pour Dotclear';
?>

View file

@ -1,531 +1,556 @@
# Language: Français # Language: Français
# Module: translater - 2013.05.11 # Module: translater - 2018.02.14
# Date: 2013-05-12 23:35:00 # Date: 2018-10-18 09:43:01
# Translated with translater 2013.05.11 # Translated with translater 2018.02.14
msgid "" msgid ""
msgstr "" msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: translater 2013.05.11\n" "Project-Id-Version: translater 2018.02.14\n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2013-05-12T23:35:00+00:00\n" "PO-Revision-Date: 2018-10-18T09:43:01+00:00\n"
"Last-Translator: Jean-Christian Denis\n" "Last-Translator: brol\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: _admin.php:26 #: _admin.php:25
#: index.php:537 #: _admin.php:112
#: index.php:570 #: index.php:536
#: index.php:1384 #: index.php:569
#: index.php:1383
msgid "Translater" msgid "Translater"
msgstr "Traducteur" msgstr "Traducteur"
#: _admin.php:44 #: _admin.php:43
msgid "Translate extensions" msgid "Translate plugins"
msgstr "Traduire les extensions" msgstr "Traduire les plugins"
#: _admin.php:48 #: _admin.php:61
#: index.php:670
msgid "Name"
msgstr "Nom"
#: _admin.php:62
msgid "Translate this plugin" msgid "Translate this plugin"
msgstr "Traduire cette extension" msgstr "Traduire ce plugin"
#: _admin.php:85 #: _admin.php:84
msgid "Translate this theme" msgid "Translate this theme"
msgstr "Traduire ce thème" msgstr "Traduire ce thème"
#: inc/class.dc.translater.php:434 #: _uninstall.php:20
msgid "delete all settings"
msgstr "effacer tous les paramètres"
#: _uninstall.php:27
msgid "delete plugin files"
msgstr "effacer les fichiers du plugin"
#: _uninstall.php:34
msgid "delete the version number"
msgstr "effacer le n° de version"
#: _uninstall.php:42
msgid "delete all %s settings"
msgstr "effacer tous les paramètres de %s"
#: _uninstall.php:49
msgid "delete %s plugin files"
msgstr "effacer les fichiers du plugin %s"
#: _uninstall.php:56
msgid "delete %s version number"
msgstr "effacer la version de %s"
#: inc/class.dc.translater.php:359
msgid "Cannot find module %s"
msgstr "Impossible de trouver le module %s"
#: inc/class.dc.translater.php:437
msgid "Cannot find backups folder for module %s" msgid "Cannot find backups folder for module %s"
msgstr "Impossible de trouver le dossier de sauvegarde du module %s" msgstr "Impossible de trouver le dossier de sauvegarde du module %s"
#: inc/class.dc.translater.php:450 #: inc/class.dc.translater.php:453
msgid "Cannot find languages folder for module %s" msgid "Cannot find languages folder for module %s"
msgstr "Impossible de trouver le dossier de langue du module %s" msgstr "Impossible de trouver le dossier de langue du module %s"
#: inc/class.dc.translater.php:470 #: inc/class.dc.translater.php:473
msgid "Cannot find root folder for module %s" msgid "Cannot find root folder for module %s"
msgstr "Impossible de trouver le dossier racine du module %s" msgstr "Impossible de trouver le dossier racine du module %s"
#: inc/class.dc.translater.php:499 #: inc/class.dc.translater.php:502
msgid "Limit of %s backups for module %s exceed" msgid "Limit of %s backups for module %s exceed"
msgstr "La limite de %s sauvegardes pour le module % est dépassée" msgstr "La limite de %s sauvegardes pour le module % est dépassée"
#: inc/class.dc.translater.php:561 #: inc/class.dc.translater.php:564
#: inc/class.dc.translater.php:951 #: inc/class.dc.translater.php:954
#: inc/class.dc.translater.php:1028 #: inc/class.dc.translater.php:1031
msgid "Cannot find language folder %s for module %s" msgid "Cannot find language folder %s for module %s"
msgstr "Impossible de trouver le dossier de langue %s pour le module %s" msgstr "Impossible de trouver le dossier de langue %s pour le module %s"
#: inc/class.dc.translater.php:616 #: inc/class.dc.translater.php:619
msgid "Cannot delete backup file %s" msgid "Cannot delete backup file %s"
msgstr "Impossible d'effacer le fichier de sauvegarde %s" msgstr "Impossible d'effacer le fichier de sauvegarde %s"
#: inc/class.dc.translater.php:634 #: inc/class.dc.translater.php:637
msgid "Cannot find backup file %s" msgid "Cannot find backup file %s"
msgstr "Impossible de trouver le fichier de sauvegarde %s" msgstr "Impossible de trouver le fichier de sauvegarde %s"
#: inc/class.dc.translater.php:660 #: inc/class.dc.translater.php:663
msgid "Wrong export query" msgid "Wrong export query"
msgstr "Mauvaise requète d'exportation" msgstr "Mauvaise requète d'exportation"
#: inc/class.dc.translater.php:671 #: inc/class.dc.translater.php:674
msgid "Cannot use export mask %s" msgid "Cannot use export mask %s"
msgstr "Impossible d'utiliser le masque d'exportation %s" msgstr "Impossible d'utiliser le masque d'exportation %s"
#: inc/class.dc.translater.php:759 #: inc/class.dc.translater.php:762
msgid "Wrong import query" msgid "Wrong import query"
msgstr "Mauvaise requète d'importation" msgstr "Mauvaise requète d'importation"
#: inc/class.dc.translater.php:808 #: inc/class.dc.translater.php:811
msgid "Nothing to import for these modules in pack %s" msgid "Nothing to import for these modules in pack %s"
msgstr "Rien à importer pour ces modules dans le paquetage %s" msgstr "Rien à importer pour ces modules dans le paquetage %s"
#: inc/class.dc.translater.php:837 #: inc/class.dc.translater.php:840
msgid "Zip file %s is not in translater format" msgid "Zip file %s is not in translater format"
msgstr "Le fichier zip n'est pas au format de translater" msgstr "Le fichier zip n'est pas au format de translater"
#: inc/class.dc.translater.php:897 #: inc/class.dc.translater.php:900
msgid "Language %s already exists for module %s" msgid "Language %s already exists for module %s"
msgstr "La langue %s existe dèjà pour le module %s" msgstr "La langue %s existe dèjà pour le module %s"
#: inc/class.dc.translater.php:908 #: inc/class.dc.translater.php:911
msgid "Cannot copy file from language %s for module %s" msgid "Cannot copy file from language %s for module %s"
msgstr "Impossible de copier le fichier depuis le langage %s pour le module %s" msgstr "Impossible de copier le fichier depuis le langage %s pour le module %s"
#: inc/class.dc.translater.php:1000 #: inc/class.dc.translater.php:1003
msgid "No string to write, language %s deleted for module %s" msgid "No string to write, language %s deleted for module %s"
msgstr "Aucune chaine à écrire, la langue %s a été effacée pour le module %s" msgstr "Aucune chaine à écrire, la langue %s a été effacée pour le module %s"
#: inc/class.dc.translater.php:1264 #: inc/class.dc.translater.php:1267
msgid "Cannot grant write acces on lang file %s" msgid "Cannot grant write acces on lang file %s"
msgstr "Impossible d'avoir les droits en écriture sur le fichier de langue %s" msgstr "Impossible d'avoir les droits en écriture sur le fichier de langue %s"
#: inc/class.dc.translater.php:1275 #: inc/class.dc.translater.php:1278
msgid "Cannot write lang file %s" msgid "Cannot write lang file %s"
msgstr "Impossible d'écrire le fichier de langue %s" msgstr "Impossible d'écrire le fichier de langue %s"
#: inc/class.dc.translater.php:1579 #: inc/class.dc.translater.php:1583
msgid "Cannot find language for code %s" msgid "Cannot find language for code %s"
msgstr "Impossible de trouver de langue pour le code %s" msgstr "Impossible de trouver de langue pour le code %s"
#: inc/class.translater.rest.php:42 #: inc/class.translater.rest.php:41
msgid "Missing params" msgid "Missing params"
msgstr "Paramètres manquants" msgstr "Paramètres manquants"
#: inc/class.translater.rest.php:51 #: inc/class.translater.rest.php:50
msgid "Failed to get translation tool" msgid "Failed to get translation tool"
msgstr "Impossible de trouver l'outil de traduction" msgstr "Impossible de trouver l'outil de traduction"
#: inc/class.translater.rest.php:55 #: inc/class.translater.rest.php:54
msgid "Translation tool is not configured" msgid "Translation tool is not configured"
msgstr "L'outil de traduction n'est pas configuré" msgstr "L'outil de traduction n'est pas configuré"
#: inc/lib.translater.google.php:44 #: inc/lib.translater.google.php:43
msgid "You must have on Google API console:" msgid "You must have on Google API console:"
msgstr "Vous devez avoir sur la console des API Google :" msgstr "Vous devez avoir sur la console des API Google :"
#: inc/lib.translater.google.php:80 #: inc/lib.translater.google.php:46
msgid "Failed to query service." msgid "Activate the \"translate API\" service"
msgstr "Impossible d'interoger le service." msgstr "Activer le service \"translate API\""
#: inc/lib.translater.microsoft.php:49 #: inc/lib.translater.google.php:79
msgid "Failed to query service."
msgstr "Impossible d'interroger le service."
#: inc/lib.translater.microsoft.php:48
msgid "You must have:" msgid "You must have:"
msgstr "Vous devez avoir :" msgstr "Vous devez avoir :"
#: index.php:26 #: index.php:25
#: index.php:526 #: index.php:525
#: index.php:1382 #: index.php:1381
msgid "Settings" msgid "Settings"
msgstr "Paramètres" msgstr "Paramètres"
#: index.php:42 #: index.php:27
#: index.php:426
#: index.php:462
#: index.php:500
#: index.php:571
msgid "Themes"
msgstr "Thèmes"
#: index.php:41
msgid "locales folders of each module" msgid "locales folders of each module"
msgstr "le répertoire locales de chaque module" msgstr "le répertoire locales de chaque module"
#: index.php:43 #: index.php:42
msgid "plugins folder root" msgid "plugins folder root"
msgstr "le répertoire racine des extensions" msgstr "le répertoire racine des plugins"
#: index.php:44 #: index.php:43
msgid "public folder root" msgid "public folder root"
msgstr "le répertoire public du blog" msgstr "le répertoire public du blog"
#: index.php:45 #: index.php:44
msgid "cache folder of Dotclear" msgid "cache folder of Dotclear"
msgstr "le répertoire cache de Dotclear" msgstr "le répertoire cache de Dotclear"
#: index.php:46 #: index.php:45
msgid "locales folder of translater" msgid "locales folder of translater"
msgstr "le répertoire locales de l'extension translater" msgstr "le répertoire locales du plugin translater"
#: index.php:51 #: index.php:50
msgid "Translation successfully updated" msgid "Translation successfully updated"
msgstr "Traduction mise à jour avec succès" msgstr "Traduction mise à jour avec succès"
#: index.php:52 #: index.php:51
msgid "Translation successfully created" msgid "Translation successfully created"
msgstr "Traduction crée avec succès" msgstr "Traduction créée avec succès"
#: index.php:53 #: index.php:52
msgid "Translation successfully deleted" msgid "Translation successfully deleted"
msgstr "Traduction effacée avec succès" msgstr "Traduction effacée avec succès"
#: index.php:54 #: index.php:53
msgid "Backups successfully create" msgid "Backups successfully create"
msgstr "Sauvegardes crées avec succès" msgstr "Sauvegardes créées avec succès"
#: index.php:55 #: index.php:54
msgid "Backups successfully restored" msgid "Backups successfully restored"
msgstr "Sauvegardes effectuées avec succès" msgstr "Sauvegardes effectuées avec succès"
#: index.php:56 #: index.php:55
msgid "Backups successfully deleted" msgid "Backups successfully deleted"
msgstr "Sauvegardes effacées avec succès" msgstr "Sauvegardes effacées avec succès"
#: index.php:57 #: index.php:56
msgid "Package successfully imported" msgid "Package successfully imported"
msgstr "Paquetage importé avec succès" msgstr "Paquetage importé avec succès"
#: index.php:58 #: index.php:57
msgid "Package successfully exported" msgid "Package successfully exported"
msgstr "Paquetage exporté avec succès" msgstr "Paquetage exporté avec succès"
#: index.php:62 #: index.php:61
msgid "Failed to update settings: %s" msgid "Failed to update settings: %s"
msgstr "Impossible de mettre à jour les paramètres : %s" msgstr "Impossible de mettre à jour les paramètres : %s"
#: index.php:63 #: index.php:62
msgid "Failed to update translation: %s" msgid "Failed to update translation: %s"
msgstr "Impossible de mettre à jour la traduction : %s" msgstr "Impossible de mettre à jour la traduction : %s"
#: index.php:64 #: index.php:63
msgid "Failed to create translation: %s" msgid "Failed to create translation: %s"
msgstr "Impossible de créer la traduction : %s" msgstr "Impossible de créer la traduction : %s"
#: index.php:65 #: index.php:64
msgid "Failed to delete translation: %s" msgid "Failed to delete translation: %s"
msgstr "Impossible d'effacer la traduction : %s" msgstr "Impossible d'effacer la traduction : %s"
#: index.php:66 #: index.php:65
msgid "Failed to create backups: %s" msgid "Failed to create backups: %s"
msgstr "Impossible de créer les sauvegardes : %s" msgstr "Impossible de créer les sauvegardes : %s"
#: index.php:67 #: index.php:66
msgid "Failed to restore backups: %s" msgid "Failed to restore backups: %s"
msgstr "Impossible de restaurer les sauvegardes : %s" msgstr "Impossible de restaurer les sauvegardes : %s"
#: index.php:68 #: index.php:67
msgid "Failed to delete backups: %s" msgid "Failed to delete backups: %s"
msgstr "Impossible d'effacer les sauvegardes : %s" msgstr "Impossible d'effacer les sauvegardes : %s"
#: index.php:69 #: index.php:68
msgid "Failed to import package: %s" msgid "Failed to import package: %s"
msgstr "Impossible d'importer le paquetage : %s" msgstr "Impossible d'importer le paquetage : %s"
#: index.php:70 #: index.php:69
msgid "Failed to export package: %s" msgid "Failed to export package: %s"
msgstr "Impossible d'exporter le paquetage : %s" msgstr "Impossible d'exporter le paquetage : %s"
#: index.php:112 #: index.php:111
msgid "No lang to create" msgid "No lang to create"
msgstr "Pas de langue à créer" msgstr "Pas de langue à créer"
#: index.php:134 #: index.php:133
msgid "No lang to delete" msgid "No lang to delete"
msgstr "Pas de langue à effacer" msgstr "Pas de langue à effacer"
#: index.php:156 #: index.php:155
msgid "No lang to backup" msgid "No lang to backup"
msgstr "Pas de langue à sauvegarder" msgstr "Pas de langue à sauvegarder"
#: index.php:189 #: index.php:188
msgid "No blackup to restore" msgid "No blackup to restore"
msgstr "Pas de langue à restaurer" msgstr "Pas de langue à restaurer"
#: index.php:208 #: index.php:207
msgid "No bakcup to to restore" msgid "No bakcup to to restore"
msgstr "Pas de sauvegarde à restaurer" msgstr "Pas de sauvegarde à restaurer"
#: index.php:229 #: index.php:228
#: index.php:247 #: index.php:246
msgid "No backup to delete" msgid "No backup to delete"
msgstr "Pas de sauvegarde à effacer" msgstr "Pas de sauvegarde à effacer"
#: index.php:290 #: index.php:289
#: index.php:364 #: index.php:363
msgid "Nothing to export" msgid "Nothing to export"
msgstr "Rien à exporter" msgstr "Rien à exporter"
#: index.php:312 #: index.php:311
msgid "No language to update" msgid "No language to update"
msgstr "Pas de langue à mettre à jour" msgstr "Pas de langue à mettre à jour"
#: index.php:443 #: index.php:442
#: index.php:490 #: index.php:489
msgid "Failed to launch translater: %s" msgid "Failed to launch translater: %s"
msgstr "Impossible de démarrer translater : %s" msgstr "Impossible de démarrer translater : %s"
#: index.php:556 #: index.php:555
msgid "Use this %s translation:" msgid "Use this %s translation:"
msgstr "Utiliser la traduction de %s :" msgstr "Utiliser la traduction de %s :"
#: index.php:557 #: index.php:556
msgid "Translate this text with %s" msgid "Translate this text with %s"
msgstr "Traduire ce texte avec %s" msgstr "Traduire ce texte avec %s"
#: index.php:558 #: index.php:557
msgid "Use this text" msgid "Use this text"
msgstr "Utiliser ce texte" msgstr "Utiliser ce texte"
#: index.php:606 #: index.php:605
msgid "Translate theme \"%s\" (by %s)" msgid "Translate theme \"%s\" (by %s)"
msgstr "Traduire le thème \"%s\" (de %s)" msgstr "Traduire le thème \"%s\" (de %s)"
#: index.php:607 #: index.php:606
msgid "Translate plugin \"%s\" (by %s)" msgid "Translate plugin \"%s\" (by %s)"
msgstr "Traduire l'extension \"%s\" (de %s)" msgstr "Traduire le plugin \"%s\" (de %s)"
#: index.php:627 #: index.php:626
#: index.php:741 #: index.php:740
msgid "Edit translation" msgid "Edit translation"
msgstr "Modifier la traduction" msgstr "Modifier la traduction"
#: index.php:639 #: index.php:638
msgid "Id" msgid "Id"
msgstr "Id" msgstr "Id"
#: index.php:649 #: index.php:648
msgid "There is no editable modules" msgid "There is no editable modules"
msgstr "Il n'y a pas de modules modifiables." msgstr "Il n'y a pas de modules modifiables."
#: index.php:665 #: index.php:664
msgid "Summary" msgid "Summary"
msgstr "Résumé" msgstr "Résumé"
#: index.php:666 #: index.php:665
msgid "Module" msgid "Module"
msgstr "Module" msgstr "Module"
#: index.php:668 #: index.php:667
msgid "About" msgid "About"
msgstr "À propos" msgstr "À propos"
#: index.php:678 #: index.php:677
msgid "Root" msgid "Root"
msgstr "Racine" msgstr "Racine"
#: index.php:680 #: index.php:679
#: index.php:694 #: index.php:693
#: index.php:811 #: index.php:810
#: index.php:1342 #: index.php:1341
msgid "Backups" msgid "Backups"
msgstr "Sauvegardes" msgstr "Sauvegardes"
#: index.php:695 #: index.php:694
msgid "Last backup" msgid "Last backup"
msgstr "Dernière sauvegarde" msgstr "Dernière sauvegarde"
#: index.php:722 #: index.php:721
msgid "no backup" msgid "no backup"
msgstr "Aucune sauvegarde" msgstr "Aucune sauvegarde"
#: index.php:731 #: index.php:736
msgid "Translations"
msgstr "Traductions"
#: index.php:737
msgid "Edit language" msgid "Edit language"
msgstr "Modifier une langue" msgstr "Modifier une langue"
#: index.php:757 #: index.php:756
msgid "Add language" msgid "Add language"
msgstr "Ajouter une langue" msgstr "Ajouter une langue"
#: index.php:764 #: index.php:763
msgid "Copy from language:" msgid "Copy from language:"
msgstr "Copier depuis la langue :" msgstr "Copier depuis la langue :"
#: index.php:766 #: index.php:765
msgid "Optionnal" msgid "Optionnal"
msgstr "Optionnel" msgstr "Optionnel"
#: index.php:773 #: index.php:772
msgid "Add translation" msgid "Add translation"
msgstr "Ajouter la traduction" msgstr "Ajouter la traduction"
#: index.php:790 #: index.php:789
msgid "Delete language" msgid "Delete language"
msgstr "Effacer une langue" msgstr "Effacer une langue"
#: index.php:794 #: index.php:793
msgid "Delete translation" msgid "Delete translation"
msgstr "Effacer la traduction" msgstr "Effacer la traduction"
#: index.php:816 #: index.php:815
msgid "Create backups" msgid "Create backups"
msgstr "Créer une sauvegarde" msgstr "Créer une sauvegarde"
#: index.php:818 #: index.php:817
msgid "Choose languages to backup" msgid "Choose languages to backup"
msgstr "Choisir la langue à sauvegarder" msgstr "Choisir la langue à sauvegarder"
#: index.php:839 #: index.php:855
msgid "Backup"
msgstr "Sauvegarde"
#: index.php:856
msgid "List of backups" msgid "List of backups"
msgstr "Liste des sauvegardes" msgstr "Liste des sauvegardes"
#: index.php:860 #: index.php:859
#: index.php:1066 #: index.php:1065
msgid "File" msgid "File"
msgstr "Fichier" msgstr "Fichier"
#: index.php:863 #: index.php:886
msgid "Size"
msgstr "Taille"
#: index.php:887
msgid "Selected backups action:" msgid "Selected backups action:"
msgstr "Action sur les sauvegardes sélectionnées :" msgstr "Action sur les sauvegardes sélectionnées :"
#: index.php:889 #: index.php:888
msgid "Restore backups" msgid "Restore backups"
msgstr "Restaurer les sauvegardes" msgstr "Restaurer les sauvegardes"
#: index.php:890 #: index.php:889
msgid "Delete backups" msgid "Delete backups"
msgstr "Effacer les sauvegardes" msgstr "Effacer les sauvegardes"
#: index.php:916 #: index.php:915
#: index.php:1183 #: index.php:1182
msgid "Choose language package to import" msgid "Choose language package to import"
msgstr "Choisir le paquetage de langue à importer" msgstr "Choisir le paquetage de langue à importer"
#: index.php:938 #: index.php:937
#: index.php:1240 #: index.php:1239
msgid "Choose languages to export" msgid "Choose languages to export"
msgstr "Choisir les langues à exporter" msgstr "Choisir les langues à exporter"
#: index.php:1059 #: index.php:1058
msgid "Group" msgid "Group"
msgstr "Groupe" msgstr "Groupe"
#: index.php:1061 #: index.php:1060
msgid "String" msgid "String"
msgstr "Chaîne" msgstr "Chaîne"
#: index.php:1063 #: index.php:1062
#: index.php:1284 #: index.php:1283
msgid "Translation" msgid "Translation"
msgstr "Traduction" msgstr "Traduction"
#: index.php:1064 #: index.php:1063
msgid "Existing" msgid "Existing"
msgstr "Existant" msgstr "Existant"
#: index.php:1127 #: index.php:1126
msgid "%s occurrences" msgid "%s occurrences"
msgstr "%s occurrences" msgstr "%s occurrences"
#: index.php:1153 #: index.php:1152
msgid "Total of %s strings." msgid "Total of %s strings."
msgstr "Total de %s chaînes." msgstr "Total de %s chaînes."
#: index.php:1155 #: index.php:1154
msgid "Change the group of the selected entries to:" msgid "Change the group of the selected entries to:"
msgstr "Changer le groupe des entrées sélectionnées vers :" msgstr "Changer le groupe des entrées sélectionnées vers :"
#: index.php:1212 #: index.php:1211
msgid "Choose modules to export" msgid "Choose modules to export"
msgstr "Choisir les modules à exporter" msgstr "Choisir les modules à exporter"
#: index.php:1214 #: index.php:1213
msgid "Modules" msgid "Modules"
msgstr "Modules" msgstr "Modules"
#: index.php:1287 #: index.php:1286
msgid "Write .po files" msgid "Write .po files"
msgstr "Écrire les fichier .po" msgstr "Écrire les fichiers .po"
#: index.php:1290 #: index.php:1289
msgid "Write .lang.php files" msgid "Write .lang.php files"
msgstr "Écrire les fichier .lang.php" msgstr "Écrire les fichiers .lang.php"
#: index.php:1293 #: index.php:1292
msgid "Translate also strings of template files" msgid "Translate also strings of template files"
msgstr "Traduire également les chaînes des fichiers de template" msgstr "Traduire également les chaînes des fichiers de template"
#: index.php:1296 #: index.php:1295
msgid "Translate only unknow strings" msgid "Translate only unknow strings"
msgstr "Traduire uniquement les chaînes inconnues" msgstr "Traduire uniquement les chaînes inconnues"
#: index.php:1299 #: index.php:1298
msgid "Hide default modules of Dotclear" msgid "Hide default modules of Dotclear"
msgstr "Cacher les modules d'origine de Dotclear" msgstr "Cacher les modules d'origine de Dotclear"
#: index.php:1302 #: index.php:1301
msgid "Write comments in files" msgid "Write comments in files"
msgstr "Écrire les commentaires dans les fichiers" msgstr "Écrire les commentaires dans les fichiers"
#: index.php:1305 #: index.php:1304
msgid "Write informations about author in files" msgid "Write informations about author in files"
msgstr "Écrire les informations à propos de l'auteur dans les fichiers" msgstr "Écrire les informations à propos de l'auteur dans les fichiers"
#: index.php:1309 #: index.php:1308
msgid "Tools" msgid "Tools"
msgstr "Outils" msgstr "Outils"
#: index.php:1310 #: index.php:1309
msgid "Default language of l10n source:" msgid "Default language of l10n source:"
msgstr "Langue par défaut des sources l10n :" msgstr "Langue par défaut des sources l10n :"
#: index.php:1314 #: index.php:1313
msgid "Select and configure the tool to use to translate strings:" msgid "Select and configure the tool to use to translate strings:"
msgstr "Sélectionner et configurer un outil de traduction :" msgstr "Sélectionner et configurer un outil de traduction :"
#: index.php:1326 #: index.php:1325
msgid "Nothing to configure for %s tool." msgid "Nothing to configure for %s tool."
msgstr "Rien à configurer pour l'outil %s." msgstr "Rien à configurer pour l'outil %s."
#: index.php:1337 #: index.php:1336
msgid "Overwrite existing languages" msgid "Overwrite existing languages"
msgstr "Écraser les langages existants" msgstr "Écraser les langages existants"
#: index.php:1338 #: index.php:1337
msgid "Name of exported package" msgid "Name of exported package"
msgstr "Nom du paquetage exporté" msgstr "Nom du paquetage exporté"
#: index.php:1345 #: index.php:1344
msgid "Make backups when changes are made" msgid "Make backups when changes are made"
msgstr "Faire des sauvegardes lors des modifications" msgstr "Faire des sauvegardes lors des modifications"
#: index.php:1346 #: index.php:1345
msgid "Limit backups to %s files per module" msgid "Limit backups to %s files per module"
msgstr "Limiter les sauvegardes à %s fichiers par module" msgstr "Limiter les sauvegardes à %s fichiers par module"
#: index.php:1349 #: index.php:1348
msgid "Store backups in %s" msgid "Store backups in %s"
msgstr "Stocker les sauvegardes dans %s" msgstr "Stocker les sauvegardes dans %s"
#: index.php:1354 #: index.php:1353
msgid "Behaviors" msgid "Behaviors"
msgstr "Comportements" msgstr "Comportements"
#: index.php:1355 #: index.php:1354
msgid "Default start menu:" msgid "Default start menu:"
msgstr "Menu de départ par défaut :" msgstr "Menu de départ par défaut :"
#: index.php:1360 #: index.php:1359
msgid "Enable menu on extensions page" msgid "Enable menu on extensions page"
msgstr "Activer le menu sur la page des extensions" msgstr "Activer le menu sur la page des plugins"
#: index.php:1363 #: index.php:1362
msgid "Enable menu on themes page" msgid "Enable menu on themes page"
msgstr "Activer le menu sur la page des thèmes" msgstr "Activer le menu sur la page des thèmes"
@ -533,5 +558,5 @@ msgid "translater"
msgstr "Traducteur" msgstr "Traducteur"
msgid "Translate your Dotclear plugins and themes" msgid "Translate your Dotclear plugins and themes"
msgstr "Traduire vos extensions et thèmes pour Dotclear" msgstr "Traduire vos plugins et thèmes pour Dotclear"

View file

@ -10,7 +10,8 @@
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
# -- END LICENSE BLOCK ------------------------------------ # -- END LICENSE BLOCK ------------------------------------
if (!defined('DC_RC_PATH')) { return; } if (!defined('DC_RC_PATH')) {
return;
}
$__resources['help']['translater'] = dirname(__FILE__).'/help/help.html'; $__resources['help']['translater'] = dirname(__FILE__) . '/help/translater.html';
?>