updated PSR2 coding standard
This commit is contained in:
parent
58dee1a55a
commit
c641542ee2
19 changed files with 3605 additions and 3752 deletions
|
@ -1,6 +1,29 @@
|
|||
x.x xxxxxxxx
|
||||
- help 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
|
||||
* Rewrited proposal tools
|
184
_admin.php
184
_admin.php
|
@ -3,8 +3,7 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
# Copyright (c) 2009-2016 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
|
@ -12,96 +11,109 @@
|
|||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
if (!defined('DC_CONTEXT_ADMIN')){return;}
|
||||
if (!defined('DC_CONTEXT_ADMIN')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$core->blog->settings->addNamespace('translater');
|
||||
$core->addBehavior('pluginsToolsTabs',array('translaterAdminBehaviors','pluginsToolsTabs'));
|
||||
$core->addBehavior('adminCurrentThemeDetails',array('translaterAdminBehaviors','adminCurrentThemeDetails'));
|
||||
$core->addBehavior('addTranslaterProposalTool',array('translaterAdminBehaviors','addGoogleProposalTool'));
|
||||
$core->addBehavior('addTranslaterProposalTool',array('translaterAdminBehaviors','addYahooProposalTool'));
|
||||
$core->addBehavior('addTranslaterProposalTool',array('translaterAdminBehaviors','addMicrosoftProposalTool'));
|
||||
$core->rest->addFunction('getProposal',array('translaterRest','getProposal'));
|
||||
$core->addBehavior('pluginsToolsTabs', ['translaterAdminBehaviors', 'pluginsToolsTabs']);
|
||||
$core->addBehavior('adminCurrentThemeDetails', ['translaterAdminBehaviors', 'adminCurrentThemeDetails']);
|
||||
$core->addBehavior('addTranslaterProposalTool', ['translaterAdminBehaviors', 'addGoogleProposalTool']);
|
||||
$core->addBehavior('addTranslaterProposalTool', ['translaterAdminBehaviors', 'addYahooProposalTool']);
|
||||
$core->addBehavior('addTranslaterProposalTool', ['translaterAdminBehaviors', 'addMicrosoftProposalTool']);
|
||||
$core->rest->addFunction('getProposal', ['translaterRest', 'getProposal']);
|
||||
|
||||
$_menu['Plugins']->addItem(
|
||||
__('Translater'),
|
||||
'plugin.php?p=translater',
|
||||
'index.php?pf=translater/icon.png',
|
||||
preg_match('/plugin.php\?p=translater(&.*)?$/',$_SERVER['REQUEST_URI']),
|
||||
$core->auth->isSuperAdmin()
|
||||
__('Translater'),
|
||||
'plugin.php?p=translater',
|
||||
'index.php?pf=translater/icon.png',
|
||||
preg_match('/plugin.php\?p=translater(&.*)?$/', $_SERVER['REQUEST_URI']),
|
||||
$core->auth->isSuperAdmin()
|
||||
);
|
||||
|
||||
class translaterAdminBehaviors
|
||||
{
|
||||
# Plugins tab
|
||||
public static function pluginsToolsTabs($core)
|
||||
{
|
||||
if (!$core->blog->settings->translater->translater_plugin_menu || !$core->auth->isSuperAdmin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
echo
|
||||
'<div class="multi-part" id="translater" title="'.
|
||||
__('Translate extensions').
|
||||
'">'.
|
||||
'<table class="clear"><tr>'.
|
||||
'<th> </th>'.
|
||||
'<th>'.__('Name').'</th>'.
|
||||
'<th class="nowrap">'.__('Version').'</th>'.
|
||||
'<th class="nowrap">'.__('Details').'</th>'.
|
||||
'<th class="nowrap">'.__('Author').'</th>'.
|
||||
'</tr>';
|
||||
|
||||
$modules = $core->plugins->getModules();
|
||||
|
||||
foreach ($modules as $name => $plugin)
|
||||
{
|
||||
echo
|
||||
'<tr class="line">'.
|
||||
'<td class="nowrap">'.
|
||||
'<a href="plugin.php?p=translater&part=module&type=plugin&module='.$name.'"'.
|
||||
' title="'.__('Translate this plugin').'">'.__($plugin['name']).'</a></td>'.
|
||||
'<td class="nowrap">'.$name.'</td>'.
|
||||
'<td class="nowrap">'.$plugin['version'].'</td>'.
|
||||
'<td class="maximal">'.$plugin['desc'].'</td>'.
|
||||
'<td class="nowrap">'.$plugin['author'].'</td>'.
|
||||
'</tr>';
|
||||
}
|
||||
echo '</table></div>';
|
||||
}
|
||||
|
||||
# Themes menu
|
||||
public static function adminCurrentThemeDetails($core,$id,$infos)
|
||||
{
|
||||
if (!$core->blog->settings->translater->translater_theme_menu || !$core->auth->isSuperAdmin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$root = path::real($infos['root']);
|
||||
|
||||
if ($id != 'default' && is_dir($root.'/locales'))
|
||||
{
|
||||
return
|
||||
'<p><a href="plugin.php?p=translater&part=module&type=theme&module='.$id.'"'.
|
||||
' class="button">'.__('Translate this theme').'</a></p>';
|
||||
}
|
||||
}
|
||||
|
||||
# Google Translater tools
|
||||
public static function addGoogleProposalTool($proposal)
|
||||
{
|
||||
$proposal->addTool('googleProposalTool');
|
||||
}
|
||||
|
||||
# Yahoo Babelfish tools
|
||||
public static function addYahooProposalTool($proposal)
|
||||
{
|
||||
$proposal->addTool('yahooProposalTool');
|
||||
}
|
||||
|
||||
# Microsoft Bing tools
|
||||
public static function addMicrosoftProposalTool($proposal)
|
||||
{
|
||||
$proposal->addTool('microsoftProposalTool');
|
||||
}
|
||||
# Plugins tab
|
||||
public static function pluginsToolsTabs($core)
|
||||
{
|
||||
if (!$core->blog->settings->translater->translater_plugin_menu || !$core->auth->isSuperAdmin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
echo
|
||||
'<div class="multi-part" id="translater" title="' .
|
||||
__('Translate plugins') .
|
||||
'">' .
|
||||
'<table class="clear"><tr>' .
|
||||
'<th> </th>' .
|
||||
'<th>' . __('Name') . '</th>' .
|
||||
'<th class="nowrap">' . __('Version') . '</th>' .
|
||||
'<th class="nowrap">' . __('Details') . '</th>' .
|
||||
'<th class="nowrap">' . __('Author') . '</th>' .
|
||||
'</tr>';
|
||||
|
||||
$modules = $core->plugins->getModules();
|
||||
|
||||
foreach ($modules as $name => $plugin) {
|
||||
echo
|
||||
'<tr class="line">' .
|
||||
'<td class="nowrap">' .
|
||||
'<a href="plugin.php?p=translater&part=module&type=plugin&module=' . $name . '"' .
|
||||
' title="' . __('Translate this plugin') . '">' . __($plugin['name']) . '</a></td>' .
|
||||
'<td class="nowrap">' . $name . '</td>' .
|
||||
'<td class="nowrap">' . $plugin['version'] . '</td>' .
|
||||
'<td class="maximal">' . $plugin['desc'] . '</td>' .
|
||||
'<td class="nowrap">' . $plugin['author'] . '</td>' .
|
||||
'</tr>';
|
||||
}
|
||||
echo
|
||||
'</table></div>';
|
||||
}
|
||||
|
||||
# Themes menu
|
||||
public static function adminCurrentThemeDetails($core, $id, $infos)
|
||||
{
|
||||
if (!$core->blog->settings->translater->translater_theme_menu || !$core->auth->isSuperAdmin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$root = path::real($infos['root']);
|
||||
|
||||
if ($id != 'default' && is_dir($root.'/locales')) {
|
||||
return
|
||||
'<p><a href="plugin.php?p=translater&part=module&type=theme&module=' . $id . '"' .
|
||||
' class="button">' . __('Translate this theme') . '</a></p>';
|
||||
}
|
||||
}
|
||||
|
||||
# Google Translater tools
|
||||
public static function addGoogleProposalTool($proposal)
|
||||
{
|
||||
$proposal->addTool('googleProposalTool');
|
||||
}
|
||||
|
||||
# Yahoo Babelfish tools
|
||||
public static function addYahooProposalTool($proposal)
|
||||
{
|
||||
$proposal->addTool('yahooProposalTool');
|
||||
}
|
||||
|
||||
# Microsoft Bing tools
|
||||
public static function addMicrosoftProposalTool($proposal)
|
||||
{
|
||||
$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'
|
||||
]);
|
||||
}
|
26
_define.php
26
_define.php
|
@ -3,8 +3,7 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
# Copyright (c) 2009-2021 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
|
@ -12,13 +11,20 @@
|
|||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
if (!defined('DC_RC_PATH')){return;}
|
||||
if (!defined('DC_RC_PATH')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->registerModule(
|
||||
/* Name */ "translater",
|
||||
/* Description*/ "Translate your Dotclear plugins and themes",
|
||||
/* Author */ "JC Denis",
|
||||
/* Version */ '2013.05.11',
|
||||
/* Permissions */ null
|
||||
);
|
||||
?>
|
||||
'translater',
|
||||
'Translate your Dotclear plugins and themes',
|
||||
'Jean-Christian Denis & contributors',
|
||||
'2021.08.15',
|
||||
[
|
||||
'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'
|
||||
]
|
||||
);
|
81
_install.php
81
_install.php
|
@ -3,8 +3,7 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
# Copyright (c) 2009-2016 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
|
@ -12,48 +11,48 @@
|
|||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
if (!defined('DC_CONTEXT_ADMIN')){return;}
|
||||
if (!defined('DC_CONTEXT_ADMIN')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$rdc_version = '2.5-alpha';
|
||||
$new_version = $core->plugins->moduleInfo('translater','version');
|
||||
$new_version = $core->plugins->moduleInfo('translater', 'version');
|
||||
$old_version = $core->getVersion('translater');
|
||||
|
||||
if (version_compare($old_version,$new_version,'>=')) return;
|
||||
if (version_compare($old_version, $new_version, '>=')) {
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (version_compare(str_replace("-r","-p",DC_VERSION),$rdc_version,'<')) {
|
||||
throw new Exception(sprintf('%s requires Dotclear %s','translater',$rdc_version));
|
||||
}
|
||||
|
||||
$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_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_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_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_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_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_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_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_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_lang','en','string','Default source language for proposed translation',false,true);
|
||||
|
||||
$core->setVersion('translater',$new_version);
|
||||
|
||||
return true;
|
||||
try {
|
||||
if (version_compare(str_replace("-r", "-p", DC_VERSION), $rdc_version, '<')) {
|
||||
throw new Exception(sprintf('%s requires Dotclear %s', 'translater', $rdc_version));
|
||||
}
|
||||
|
||||
$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_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_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_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_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_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_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_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_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_lang', 'en', 'string', 'Default source language for proposed translation', false, true);
|
||||
|
||||
$core->setVersion('translater', $new_version);
|
||||
|
||||
return true;
|
||||
} catch (Exception $e) {
|
||||
$core->error->add($e->getMessage());
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
$core->error->add($e->getMessage());
|
||||
}
|
||||
return false;
|
||||
?>
|
||||
return false;
|
20
_prepend.php
20
_prepend.php
|
@ -3,8 +3,7 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
# Copyright (c) 2009-2016 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
|
@ -12,15 +11,16 @@
|
|||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
if (!defined('DC_RC_PATH')){return;}
|
||||
if (!defined('DC_RC_PATH')) {
|
||||
return;
|
||||
}
|
||||
|
||||
global $__autoload;
|
||||
|
||||
$__autoload['dcTranslater'] = dirname(__FILE__).'/inc/class.dc.translater.php';
|
||||
$__autoload['translaterRest'] = dirname(__FILE__).'/inc/class.translater.rest.php';
|
||||
$__autoload['translaterProposals'] = dirname(__FILE__).'/inc/class.translater.proposals.php';
|
||||
$__autoload['dcTranslater'] = dirname(__FILE__) . '/inc/class.dc.translater.php';
|
||||
$__autoload['translaterRest'] = dirname(__FILE__) . '/inc/class.translater.rest.php';
|
||||
$__autoload['translaterProposals'] = dirname(__FILE__) . '/inc/class.translater.proposals.php';
|
||||
|
||||
$__autoload['translaterProposalTool'] = dirname(__FILE__).'/inc/lib.translater.proposal.php';
|
||||
$__autoload['googleProposalTool'] = dirname(__FILE__).'/inc/lib.translater.google.php';
|
||||
$__autoload['microsoftProposalTool'] = dirname(__FILE__).'/inc/lib.translater.microsoft.php';
|
||||
?>
|
||||
$__autoload['translaterProposalTool'] = dirname(__FILE__) . '/inc/lib.translater.proposal.php';
|
||||
$__autoload['googleProposalTool'] = dirname(__FILE__) . '/inc/lib.translater.google.php';
|
||||
$__autoload['microsoftProposalTool'] = dirname(__FILE__) . '/inc/lib.translater.microsoft.php';
|
|
@ -3,8 +3,7 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
# Copyright (c) 2009-2016 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
|
@ -12,48 +11,49 @@
|
|||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
if (!defined('DC_CONTEXT_ADMIN')){return;}
|
||||
if (!defined('DC_CONTEXT_ADMIN')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->addUserAction(
|
||||
/* type */ 'settings',
|
||||
/* action */ 'delete_all',
|
||||
/* ns */ 'translater',
|
||||
/* description */ __('delete all settings')
|
||||
/* type */ 'settings',
|
||||
/* action */ 'delete_all',
|
||||
/* ns */ 'translater',
|
||||
/* description */ __('delete all settings')
|
||||
);
|
||||
|
||||
$this->addUserAction(
|
||||
/* type */ 'plugins',
|
||||
/* action */ 'delete',
|
||||
/* ns */ 'translater',
|
||||
/* description */ __('delete plugin files')
|
||||
/* type */ 'plugins',
|
||||
/* action */ 'delete',
|
||||
/* ns */ 'translater',
|
||||
/* description */ __('delete plugin files')
|
||||
);
|
||||
|
||||
$this->addUserAction(
|
||||
/* type */ 'versions',
|
||||
/* action */ 'delete',
|
||||
/* ns */ 'translater',
|
||||
/* description */ __('delete the version number')
|
||||
/* type */ 'versions',
|
||||
/* action */ 'delete',
|
||||
/* ns */ 'translater',
|
||||
/* description */ __('delete the version number')
|
||||
);
|
||||
|
||||
|
||||
$this->addDirectAction(
|
||||
/* type */ 'settings',
|
||||
/* action */ 'delete_all',
|
||||
/* ns */ 'translater',
|
||||
/* description */ sprintf(__('delete all %s settings'),'translater')
|
||||
/* type */ 'settings',
|
||||
/* action */ 'delete_all',
|
||||
/* ns */ 'translater',
|
||||
/* description */ sprintf(__('delete all %s settings'), 'translater')
|
||||
);
|
||||
|
||||
$this->addDirectAction(
|
||||
/* type */ 'plugins',
|
||||
/* action */ 'delete',
|
||||
/* ns */ 'translater',
|
||||
/* description */ sprintf(__('delete %s plugin files'),'translater')
|
||||
/* type */ 'plugins',
|
||||
/* action */ 'delete',
|
||||
/* ns */ 'translater',
|
||||
/* description */ sprintf(__('delete %s plugin files'), 'translater')
|
||||
);
|
||||
|
||||
$this->addDirectAction(
|
||||
/* type */ 'versions',
|
||||
/* action */ 'delete',
|
||||
/* ns */ 'translater',
|
||||
/* description */ sprintf(__('delete %s version number'),'translater')
|
||||
);
|
||||
?>
|
||||
/* type */ 'versions',
|
||||
/* action */ 'delete',
|
||||
/* ns */ 'translater',
|
||||
/* description */ sprintf(__('delete %s version number'), 'translater')
|
||||
);
|
BIN
icon-big.png
Normal file
BIN
icon-big.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
BIN
icon.png
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
|
@ -3,62 +3,59 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
#
|
||||
# Copyright (c) 2009-2016 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
|
||||
/**
|
||||
* Translater proposal tools container.
|
||||
*/
|
||||
class translaterProposals
|
||||
{
|
||||
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();
|
||||
public $core;
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
?>
|
||||
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') {
|
||||
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);
|
||||
}
|
||||
}
|
|
@ -3,8 +3,7 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
# Copyright (c) 2009-2016 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
|
@ -12,7 +11,9 @@
|
|||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
if (!defined('DC_CONTEXT_ADMIN')){return;}
|
||||
if (!defined('DC_CONTEXT_ADMIN')) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Translater REST service.
|
||||
|
@ -22,55 +23,47 @@ if (!defined('DC_CONTEXT_ADMIN')){return;}
|
|||
*/
|
||||
class translaterRest
|
||||
{
|
||||
public static function getProposal($core,$get)
|
||||
{
|
||||
$from = !empty($get['langFrom']) ? trim($get['langFrom']) : '';
|
||||
$to = !empty($get['langTo']) ? trim($get['langTo']) : '';
|
||||
$tool = !empty($get['langTool']) ? trim($get['langTool']) : '';
|
||||
$str_in = !empty($get['langStr']) ? trim($get['langStr']) : '';
|
||||
public static function getProposal($core, $get)
|
||||
{
|
||||
$from = !empty($get['langFrom']) ? trim($get['langFrom']) : '';
|
||||
$to = !empty($get['langTo']) ? trim($get['langTo']) : '';
|
||||
$tool = !empty($get['langTool']) ? trim($get['langTool']) : '';
|
||||
$str_in = !empty($get['langStr']) ? trim($get['langStr']) : '';
|
||||
|
||||
$str_in = text::toUTF8($str_in);
|
||||
$str_in = trim($str_in);
|
||||
$str_out = '';
|
||||
$str_in = text::toUTF8($str_in);
|
||||
$str_in = trim($str_in);
|
||||
$str_out = '';
|
||||
|
||||
$rsp = new xmlTag();
|
||||
$rsp = new xmlTag();
|
||||
|
||||
try
|
||||
{
|
||||
if (empty($from) || empty($to) || empty($tool))
|
||||
{
|
||||
throw new Exception(__('Missing params'));
|
||||
}
|
||||
try {
|
||||
if (empty($from) || empty($to) || empty($tool)) {
|
||||
throw new Exception(__('Missing params'));
|
||||
}
|
||||
|
||||
$translater = new dcTranslater($core);
|
||||
$translater = new dcTranslater($core);
|
||||
|
||||
if (!empty($str_in))
|
||||
{
|
||||
if (!$translater->proposal->hasTool($tool))
|
||||
{
|
||||
throw new Exception(__('Failed to get translation tool'));
|
||||
}
|
||||
if (!$translater->proposal->getTool($tool)->isActive())
|
||||
{
|
||||
throw new Exception(__('Translation tool is not configured'));
|
||||
}
|
||||
if (!empty($str_in)) {
|
||||
if (!$translater->proposal->hasTool($tool)) {
|
||||
throw new Exception(__('Failed to get translation tool'));
|
||||
}
|
||||
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->lang_from = $from;
|
||||
$x->lang_to = $to;
|
||||
$x->tool = $tool;
|
||||
$x->str_from = $str_in;
|
||||
$x->str_to = text::toUTF8(html::decodeEntities($str_out));
|
||||
$rsp->insertNode($x);
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
$core->error->add($e->getMessage());
|
||||
}
|
||||
return $rsp;
|
||||
}
|
||||
}
|
||||
?>
|
||||
$x = new xmlTag('proposal');
|
||||
$x->lang_from = $from;
|
||||
$x->lang_to = $to;
|
||||
$x->tool = $tool;
|
||||
$x->str_from = $str_in;
|
||||
$x->str_to = text::toUTF8(html::decodeEntities($str_out));
|
||||
$rsp->insertNode($x);
|
||||
} catch (Exception $e) {
|
||||
$core->error->add($e->getMessage());
|
||||
}
|
||||
return $rsp;
|
||||
}
|
||||
}
|
|
@ -3,8 +3,7 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
# Copyright (c) 2009-2016 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
|
@ -12,7 +11,9 @@
|
|||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
if (!defined('DC_CONTEXT_ADMIN')){return;}
|
||||
if (!defined('DC_CONTEXT_ADMIN')) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Google proposal tool.
|
||||
|
@ -21,77 +22,75 @@ if (!defined('DC_CONTEXT_ADMIN')){return;}
|
|||
*/
|
||||
class googleProposalTool extends translaterProposalTool
|
||||
{
|
||||
private $api = 'https://www.googleapis.com/language/translate/v2';
|
||||
private $agent = 'dcTranslater - http://jcd.lv/?q=translater';
|
||||
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);
|
||||
private $api = 'https://www.googleapis.com/language/translate/v2';
|
||||
private $agent = 'dcTranslater - http://jcd.lv/?q=translater';
|
||||
private $key = null; //ex: AsSDqsGsfdSDSQFQsfedj9bnzY390aIg-1d
|
||||
|
||||
$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 '';
|
||||
}
|
||||
}
|
||||
?>
|
||||
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();
|
||||
|
||||
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 '';
|
||||
}
|
||||
}
|
|
@ -3,8 +3,7 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
# Copyright (c) 2009-2016 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
|
@ -12,7 +11,9 @@
|
|||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
if (!defined('DC_CONTEXT_ADMIN')){return;}
|
||||
if (!defined('DC_CONTEXT_ADMIN')) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Microsoft proposal tool.
|
||||
|
@ -21,115 +22,115 @@ if (!defined('DC_CONTEXT_ADMIN')){return;}
|
|||
*/
|
||||
class microsoftProposalTool extends translaterProposalTool
|
||||
{
|
||||
private $client = null; //ex: b6057813-234b-4154-b324-6342c27f608f
|
||||
private $secret = null; //ex: DsdDScn/+xdSFF1GDxdx1wbkKPphAfAVSH5VXDBVDI=
|
||||
|
||||
protected function setup()
|
||||
{
|
||||
$this->setActive(false);
|
||||
$this->client = $this->core->blog->settings->translater->translater_microsoft_proposal_client;
|
||||
$this->secret = $this->core->blog->settings->translater->translater_microsoft_proposal_secret;
|
||||
|
||||
$this->setName(__('Bing'));
|
||||
$this->setDesc(__('Microsoft Bing translation tool'));
|
||||
$this->setActive(!empty($this->client) && !empty($this->secret));
|
||||
}
|
||||
|
||||
public function form()
|
||||
{
|
||||
return
|
||||
'<p><label class="classic" for="translater_microsoft_proposal_client">'.
|
||||
__('Application client ID').'<br />'.
|
||||
form::field('translater_microsoft_proposal_client',65,255,$this->client).
|
||||
'</label></p>'.
|
||||
'<p><label class="classic" for="translater_microsoft_proposal_secret">'.
|
||||
__('Application client Secret').'<br />'.
|
||||
form::field('translater_microsoft_proposal_secret',65,255,$this->secret).
|
||||
'</label></p>'.
|
||||
'<p>'.__('You must have:').'</p>'.
|
||||
'<ul>'.
|
||||
'<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/developer/applications/">'.__('And register an application').'</a></li>'.
|
||||
'</ul>';
|
||||
}
|
||||
|
||||
public function save()
|
||||
{
|
||||
$client = empty($_POST['translater_microsoft_proposal_client']) ?
|
||||
'' : $_POST['translater_microsoft_proposal_client'];
|
||||
$secret = empty($_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_secret',$secret,'string','',true,true);
|
||||
}
|
||||
|
||||
public function translate($str,$from,$to)
|
||||
{
|
||||
try {
|
||||
return $this->doYourFuckingJob($this->client,$this->secret,$str,$from,$to);
|
||||
}
|
||||
catch (Exception $e) {}
|
||||
return '';
|
||||
}
|
||||
|
||||
//
|
||||
// Microsoft fucking oAuth
|
||||
//
|
||||
|
||||
private function doYourFuckingJob($client,$secret,$str,$from,$to)
|
||||
{
|
||||
try {
|
||||
//Client ID of the application.
|
||||
$clientID = $client;
|
||||
//Client Secret key of the application.
|
||||
$clientSecret = $secret;
|
||||
//OAuth Url.
|
||||
$authUrl = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/";
|
||||
//Application Scope Url
|
||||
$scopeUrl = "http://api.microsofttranslator.com";
|
||||
//Application grant type
|
||||
$grantType = "client_credentials";
|
||||
|
||||
//Get the Access token.
|
||||
$accessToken = $this->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl);
|
||||
//Create the authorization Header string.
|
||||
$authHeader = "Authorization: Bearer ". $accessToken;
|
||||
|
||||
//Set the params.//
|
||||
$fromLanguage = $from;
|
||||
$toLanguage = $to;
|
||||
$inputStr = $str;
|
||||
$contentType = 'text/plain';
|
||||
$category = 'general';
|
||||
|
||||
$params = "text=".urlencode($inputStr)."&to=".$toLanguage."&from=".$fromLanguage;
|
||||
$translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?$params";
|
||||
|
||||
//Get the curlResponse.
|
||||
$curlResponse = $this->curlRequest($translateUrl, $authHeader);
|
||||
|
||||
//Interprets a string of XML into an object.
|
||||
$xmlObj = simplexml_load_string($curlResponse);
|
||||
foreach((array)$xmlObj[0] as $val){
|
||||
$translatedStr = $val;
|
||||
}
|
||||
|
||||
return (string) $translatedStr;
|
||||
/*
|
||||
echo "<table border=2px>";
|
||||
echo "<tr>";
|
||||
echo "<td><b>From $fromLanguage</b></td><td><b>To $toLanguage</b></td>";
|
||||
echo "</tr>";
|
||||
echo "<tr><td>".$inputStr."</td><td>".$translatedStr."</td></tr>";
|
||||
echo "</table>";
|
||||
*/
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
private $client = null; //ex: b6057813-234b-4154-b324-6342c27f608f
|
||||
private $secret = null; //ex: DsdDScn/+xdSFF1GDxdx1wbkKPphAfAVSH5VXDBVDI=
|
||||
|
||||
protected function setup()
|
||||
{
|
||||
$this->setActive(false);
|
||||
$this->client = $this->core->blog->settings->translater->translater_microsoft_proposal_client;
|
||||
$this->secret = $this->core->blog->settings->translater->translater_microsoft_proposal_secret;
|
||||
|
||||
$this->setName(__('Bing'));
|
||||
$this->setDesc(__('Microsoft Bing translation tool'));
|
||||
$this->setActive(!empty($this->client) && !empty($this->secret));
|
||||
}
|
||||
|
||||
public function form()
|
||||
{
|
||||
return
|
||||
'<p><label class="classic" for="translater_microsoft_proposal_client">' .
|
||||
__('Application client ID') . '<br />' .
|
||||
form::field('translater_microsoft_proposal_client', 65, 255, $this->client) .
|
||||
'</label></p>' .
|
||||
'<p><label class="classic" for="translater_microsoft_proposal_secret">' .
|
||||
__('Application client Secret') . '<br />' .
|
||||
form::field('translater_microsoft_proposal_secret', 65, 255, $this->secret) .
|
||||
'</label></p>' .
|
||||
'<p>' . __('You must have:') . '</p>' .
|
||||
'<ul>' .
|
||||
'<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/developer/applications/">' . __('And register an application') . '</a></li>' .
|
||||
'</ul>';
|
||||
}
|
||||
|
||||
public function save()
|
||||
{
|
||||
$client = empty($_POST['translater_microsoft_proposal_client']) ?
|
||||
'' : $_POST['translater_microsoft_proposal_client'];
|
||||
$secret = empty($_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_secret', $secret, 'string', '', true, true);
|
||||
}
|
||||
|
||||
public function translate($str, $from, $to)
|
||||
{
|
||||
try {
|
||||
return $this->doYourFuckingJob($this->client, $this->secret, $str, $from, $to);
|
||||
} catch (Exception $e) {}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
//
|
||||
// Microsoft fucking oAuth
|
||||
//
|
||||
|
||||
private function doYourFuckingJob($client, $secret, $str, $from, $to)
|
||||
{
|
||||
try {
|
||||
//Client ID of the application.
|
||||
$clientID = $client;
|
||||
//Client Secret key of the application.
|
||||
$clientSecret = $secret;
|
||||
//OAuth Url.
|
||||
$authUrl = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/";
|
||||
//Application Scope Url
|
||||
$scopeUrl = "http://api.microsofttranslator.com";
|
||||
//Application grant type
|
||||
$grantType = "client_credentials";
|
||||
|
||||
//Get the Access token.
|
||||
$accessToken = $this->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl);
|
||||
//Create the authorization Header string.
|
||||
$authHeader = "Authorization: Bearer " . $accessToken;
|
||||
|
||||
//Set the params.//
|
||||
$fromLanguage = $from;
|
||||
$toLanguage = $to;
|
||||
$inputStr = $str;
|
||||
$contentType = 'text/plain';
|
||||
$category = 'general';
|
||||
|
||||
$params = "text=" . urlencode($inputStr) . "&to=" . $toLanguage . "&from=" . $fromLanguage;
|
||||
$translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?$params";
|
||||
|
||||
//Get the curlResponse.
|
||||
$curlResponse = $this->curlRequest($translateUrl, $authHeader);
|
||||
|
||||
//Interprets a string of XML into an object.
|
||||
$xmlObj = simplexml_load_string($curlResponse);
|
||||
foreach((array)$xmlObj[0] as $val){
|
||||
$translatedStr = $val;
|
||||
}
|
||||
|
||||
return (string) $translatedStr;
|
||||
/*
|
||||
echo "<table border=2px>";
|
||||
echo "<tr>";
|
||||
echo "<td><b>From $fromLanguage</b></td><td><b>To $toLanguage</b></td>";
|
||||
echo "</tr>";
|
||||
echo "<tr><td>" . $inputStr . "</td><td>" . $translatedStr . "</td></tr>";
|
||||
echo "</table>";
|
||||
*/
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the access token.
|
||||
*
|
||||
|
@ -141,8 +142,8 @@ class microsoftProposalTool extends translaterProposalTool
|
|||
*
|
||||
* @return string.
|
||||
*/
|
||||
private function getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl)
|
||||
{
|
||||
private function getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl)
|
||||
{
|
||||
try {
|
||||
//Initialize the Curl Session.
|
||||
$ch = curl_init();
|
||||
|
@ -169,9 +170,9 @@ class microsoftProposalTool extends translaterProposalTool
|
|||
$strResponse = curl_exec($ch);
|
||||
//Get the Error Code returned by Curl.
|
||||
$curlErrno = curl_errno($ch);
|
||||
if($curlErrno){
|
||||
if($curlErrno) {
|
||||
$curlError = curl_error($ch);
|
||||
curl_close($ch);
|
||||
curl_close($ch);
|
||||
throw new Exception($curlError);
|
||||
}
|
||||
//Close the Curl Session.
|
||||
|
@ -186,7 +187,7 @@ class microsoftProposalTool extends translaterProposalTool
|
|||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Create and execute the HTTP CURL request.
|
||||
*
|
||||
|
@ -214,12 +215,11 @@ class microsoftProposalTool extends translaterProposalTool
|
|||
$curlErrno = curl_errno($ch);
|
||||
if ($curlErrno) {
|
||||
$curlError = curl_error($ch);
|
||||
curl_close($ch);
|
||||
curl_close($ch);
|
||||
throw new Exception($curlError);
|
||||
}
|
||||
//Close a cURL session.
|
||||
curl_close($ch);
|
||||
return $curlResponse;
|
||||
}
|
||||
}
|
||||
?>
|
||||
}
|
|
@ -3,8 +3,7 @@
|
|||
#
|
||||
# This file is part of translater, a plugin for Dotclear 2.
|
||||
#
|
||||
# Copyright (c) 2009-2013 Jean-Christian Denis and contributors
|
||||
# contact@jcdenis.fr
|
||||
# Copyright (c) 2009-2016 Jean-Christian Denis and contributors
|
||||
#
|
||||
# Licensed under the GPL version 2.0 license.
|
||||
# A copy of this license is available in LICENSE file or at
|
||||
|
@ -12,7 +11,6 @@
|
|||
#
|
||||
# -- END LICENSE BLOCK ------------------------------------
|
||||
|
||||
|
||||
/**
|
||||
* Translater proposal tool.
|
||||
*
|
||||
|
@ -20,106 +18,105 @@
|
|||
*/
|
||||
abstract class translaterProposalTool
|
||||
{
|
||||
public $core;
|
||||
|
||||
private $active = false;
|
||||
private $name = 'unknow';
|
||||
private $desc = 'no description';
|
||||
|
||||
/**
|
||||
Constructor
|
||||
*/
|
||||
final public function __construct($core)
|
||||
{
|
||||
$this->core = $core;
|
||||
$this->setup();
|
||||
}
|
||||
|
||||
/**
|
||||
Set name of this tool
|
||||
|
||||
@param string Tool's name
|
||||
*/
|
||||
final protected function setName($name)
|
||||
{
|
||||
$this->name = (string) $name;
|
||||
}
|
||||
|
||||
/**
|
||||
Get name of this tool
|
||||
|
||||
@return string Tool's name
|
||||
*/
|
||||
final public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
Set description of this tool
|
||||
|
||||
@param string Tool's description
|
||||
*/
|
||||
final protected function setDesc($desc)
|
||||
{
|
||||
$this->desc = (string) $desc;
|
||||
}
|
||||
|
||||
/**
|
||||
Get description of this tool
|
||||
|
||||
@return string Tool's description
|
||||
*/
|
||||
final public function getDesc()
|
||||
{
|
||||
return $this->desc;
|
||||
}
|
||||
|
||||
/**
|
||||
Set tool as (un)active
|
||||
|
||||
@param boolean $active True to set it as active
|
||||
*/
|
||||
final protected function setActive($active)
|
||||
{
|
||||
$this->active = (boolean) $active;
|
||||
}
|
||||
|
||||
/**
|
||||
Check if this tool is active
|
||||
|
||||
@return boolean True if it is active
|
||||
*/
|
||||
final public function isActive()
|
||||
{
|
||||
return $this->active;
|
||||
}
|
||||
|
||||
/**
|
||||
Set tool's info - using setName(),setDesc(),setActive()
|
||||
*/
|
||||
abstract protected function setup();
|
||||
|
||||
/**
|
||||
Get configuration interface
|
||||
|
||||
@return Form field
|
||||
*/
|
||||
abstract public function form();
|
||||
|
||||
/**
|
||||
Save configuration
|
||||
*/
|
||||
abstract public function save();
|
||||
|
||||
/**
|
||||
Translate a string from a language to another
|
||||
|
||||
@param string $str Trimed UTF-8 string to translate
|
||||
@param string $from Source language code
|
||||
@param string to Destination language code
|
||||
@return Translated string
|
||||
*/
|
||||
abstract public function translate($str,$from,$to);
|
||||
}
|
||||
?>
|
||||
public $core;
|
||||
|
||||
private $active = false;
|
||||
private $name = 'unknow';
|
||||
private $desc = 'no description';
|
||||
|
||||
/**
|
||||
Constructor
|
||||
*/
|
||||
final public function __construct($core)
|
||||
{
|
||||
$this->core = $core;
|
||||
$this->setup();
|
||||
}
|
||||
|
||||
/**
|
||||
Set name of this tool
|
||||
|
||||
@param string Tool's name
|
||||
*/
|
||||
final protected function setName($name)
|
||||
{
|
||||
$this->name = (string) $name;
|
||||
}
|
||||
|
||||
/**
|
||||
Get name of this tool
|
||||
|
||||
@return string Tool's name
|
||||
*/
|
||||
final public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
Set description of this tool
|
||||
|
||||
@param string Tool's description
|
||||
*/
|
||||
final protected function setDesc($desc)
|
||||
{
|
||||
$this->desc = (string) $desc;
|
||||
}
|
||||
|
||||
/**
|
||||
Get description of this tool
|
||||
|
||||
@return string Tool's description
|
||||
*/
|
||||
final public function getDesc()
|
||||
{
|
||||
return $this->desc;
|
||||
}
|
||||
|
||||
/**
|
||||
Set tool as (un)active
|
||||
|
||||
@param boolean $active True to set it as active
|
||||
*/
|
||||
final protected function setActive($active)
|
||||
{
|
||||
$this->active = (boolean) $active;
|
||||
}
|
||||
|
||||
/**
|
||||
Check if this tool is active
|
||||
|
||||
@return boolean True if it is active
|
||||
*/
|
||||
final public function isActive()
|
||||
{
|
||||
return $this->active;
|
||||
}
|
||||
|
||||
/**
|
||||
Set tool's info - using setName(),setDesc(),setActive()
|
||||
*/
|
||||
abstract protected function setup();
|
||||
|
||||
/**
|
||||
Get configuration interface
|
||||
|
||||
@return Form field
|
||||
*/
|
||||
abstract public function form();
|
||||
|
||||
/**
|
||||
Save configuration
|
||||
*/
|
||||
abstract public function save();
|
||||
|
||||
/**
|
||||
Translate a string from a language to another
|
||||
|
||||
@param string $str Trimed UTF-8 string to translate
|
||||
@param string $from Source language code
|
||||
@param string to Destination language code
|
||||
@return Translated string
|
||||
*/
|
||||
abstract public function translate($str,$from,$to);
|
||||
}
|
|
@ -1,24 +1,18 @@
|
|||
<html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Translater</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h3>Paramètres</h3>
|
||||
<h4>Paramètres</h4>
|
||||
<dl>
|
||||
<dt>Activer l'interface simple</dt>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
<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:
|
||||
<ul>
|
||||
<li>displayname : pseudo de l'auteur</li>
|
||||
<li>firstname : prénom de l'auteur</li>
|
||||
<li>name : nom de l'auteur</li>
|
||||
<li>email : email de l'auteur</li>
|
||||
<li>url : site de l'auteur</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>displayname : pseudo de l'auteur</li>
|
||||
<li>firstname : prénom de l'auteur</li>
|
||||
<li>name : nom de l'auteur</li>
|
||||
<li>email : email de l'auteur</li>
|
||||
<li>url : site de l'auteur</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Utiliser un outil d'aide à la traduction</dt>
|
||||
|
@ -53,7 +47,7 @@
|
|||
une alerte javascript avec la traduction apparait.</dd>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
<dd>C'est le nom par défaut du fichier zip lorsque vous exportez des sauvegardes.</dd>
|
||||
<dd>Il accepte les masques suivants:
|
||||
<ul>
|
||||
<li>type : plugin ou thème</li>
|
||||
<li>module : nom du module</li>
|
||||
<li>version : la version du module</li>
|
||||
<li>timestamp : le temps unix</li>
|
||||
<li>%Y%m%D.... : les masques de date Dotclear</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>type : plugin ou thème</li>
|
||||
<li>module : nom du module</li>
|
||||
<li>version : la version du module</li>
|
||||
<li>timestamp : le temps unix</li>
|
||||
<li>%Y%m%D.... : les masques de date Dotclear</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Faire des sauvegardes lors de modifications</dt>
|
||||
|
@ -79,23 +73,23 @@
|
|||
|
||||
<dt>Stoquer les sauvegardes dans un dossier particulier</dt>
|
||||
<dd>Plusieurs choix de lieu de sauvegarde s'offrent:
|
||||
<ul>
|
||||
<ul>
|
||||
<li>Repertoires <em>locales</em> de chaque module</li>
|
||||
<li>Repertoire racine des extensions</li>
|
||||
<li>Repertoire publique <em>(du blog en cours)</em></li>
|
||||
<li>Repertoire <em>cache</em> de Dotclear</li>
|
||||
<li>Repertoire unique du module <em>translater</em></li>
|
||||
</ul>
|
||||
<li>Repertoire racine des extensions</li>
|
||||
<li>Repertoire publique <em>(du blog en cours)</em></li>
|
||||
<li>Repertoire <em>cache</em> de Dotclear</li>
|
||||
<li>Repertoire unique du module <em>translater</em></li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dd>Pour ne pas tous mélanger il est préférable de stoquer les sauvegardes dans chaque module associé.</dd>
|
||||
</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.
|
||||
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>
|
||||
|
||||
<h3>Edition d'une langue</h3>
|
||||
<h4>Edition d'une langue</h4>
|
||||
<dl>
|
||||
<dt>Groupe</dt>
|
||||
<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>
|
||||
</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>
|
||||
<dt>Créer une sauvegarde</dt>
|
||||
<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.
|
||||
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>
|
||||
|
||||
</dl>
|
||||
|
||||
<h3>Import/Export</h3>
|
||||
<h4>Comportements</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 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>Menu de départ par défaut</dt>
|
||||
<dd>Permet de choisir quelle page apparaît lors de l'accès au présent plugin.</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>
|
||||
|
||||
<h3>Support</h3>
|
||||
<p>Si vous souhaitez plus d'aide ou apporter votre contribution à cette extension, voici quelques liens utiles.</p>
|
||||
<h4>Support</h4>
|
||||
<p>Si vous souhaitez plus d'aide ou apporter votre contribution à ce plugin, voici quelques liens utiles.</p>
|
||||
<ul>
|
||||
<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://jcd.lv/?q=translater">Blog de l'auteur</a></li>
|
||||
<li><a href="http://plugins.dotaddict.org/dc2/details/translater">Fiche du plugin sur dotaddict</a></li>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
|
@ -1,402 +1,420 @@
|
|||
<?php
|
||||
// Language: Français
|
||||
// Module: translater - 2013.05.11
|
||||
// Date: 2013-05-12 23:35:00
|
||||
// Translated with dcTranslater - 2013.05.11
|
||||
// Module: translater - 2018.02.14
|
||||
// Date: 2018-10-18 09:43:01
|
||||
// Translated with dcTranslater - 2018.02.14
|
||||
|
||||
#_admin.php:26
|
||||
#index.php:537
|
||||
#index.php:570
|
||||
#index.php:1384
|
||||
#_admin.php:25
|
||||
#_admin.php:112
|
||||
#index.php:536
|
||||
#index.php:569
|
||||
#index.php:1383
|
||||
$GLOBALS['__l10n']['Translater'] = 'Traducteur';
|
||||
|
||||
#_admin.php:44
|
||||
$GLOBALS['__l10n']['Translate extensions'] = 'Traduire les extensions';
|
||||
#_admin.php:43
|
||||
$GLOBALS['__l10n']['Translate plugins'] = 'Traduire les plugins';
|
||||
|
||||
#_admin.php:48
|
||||
#index.php:670
|
||||
$GLOBALS['__l10n']['Name'] = 'Nom';
|
||||
#_admin.php:61
|
||||
$GLOBALS['__l10n']['Translate this plugin'] = 'Traduire ce plugin';
|
||||
|
||||
#_admin.php:62
|
||||
$GLOBALS['__l10n']['Translate this plugin'] = 'Traduire cette extension';
|
||||
|
||||
#_admin.php:85
|
||||
#_admin.php:84
|
||||
$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';
|
||||
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#inc/class.dc.translater.php:561
|
||||
#inc/class.dc.translater.php:951
|
||||
#inc/class.dc.translater.php:1028
|
||||
#inc/class.dc.translater.php:564
|
||||
#inc/class.dc.translater.php:954
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#inc/class.dc.translater.php:660
|
||||
#inc/class.dc.translater.php:663
|
||||
$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';
|
||||
|
||||
#inc/class.dc.translater.php:759
|
||||
#inc/class.dc.translater.php:762
|
||||
$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';
|
||||
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#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';
|
||||
|
||||
#inc/class.translater.rest.php:42
|
||||
#inc/class.translater.rest.php:41
|
||||
$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';
|
||||
|
||||
#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é';
|
||||
|
||||
#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 :';
|
||||
|
||||
#inc/lib.translater.google.php:80
|
||||
$GLOBALS['__l10n']['Failed to query service.'] = 'Impossible d\'interoger le service.';
|
||||
#inc/lib.translater.google.php:46
|
||||
$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 :';
|
||||
|
||||
#index.php:26
|
||||
#index.php:526
|
||||
#index.php:1382
|
||||
#index.php:25
|
||||
#index.php:525
|
||||
#index.php:1381
|
||||
$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';
|
||||
|
||||
#index.php:43
|
||||
$GLOBALS['__l10n']['plugins folder root'] = 'le répertoire racine des extensions';
|
||||
#index.php:42
|
||||
$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';
|
||||
|
||||
#index.php:45
|
||||
#index.php:44
|
||||
$GLOBALS['__l10n']['cache folder of Dotclear'] = 'le répertoire cache de Dotclear';
|
||||
|
||||
#index.php:46
|
||||
$GLOBALS['__l10n']['locales folder of translater'] = 'le répertoire locales de l\'extension translater';
|
||||
#index.php:45
|
||||
$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';
|
||||
|
||||
#index.php:52
|
||||
$GLOBALS['__l10n']['Translation successfully created'] = 'Traduction crée avec succès';
|
||||
#index.php:51
|
||||
$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';
|
||||
|
||||
#index.php:54
|
||||
$GLOBALS['__l10n']['Backups successfully create'] = 'Sauvegardes crées avec succès';
|
||||
#index.php:53
|
||||
$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';
|
||||
|
||||
#index.php:56
|
||||
#index.php:55
|
||||
$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';
|
||||
|
||||
#index.php:58
|
||||
#index.php:57
|
||||
$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';
|
||||
|
||||
#index.php:63
|
||||
#index.php:62
|
||||
$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';
|
||||
|
||||
#index.php:65
|
||||
#index.php:64
|
||||
$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';
|
||||
|
||||
#index.php:67
|
||||
#index.php:66
|
||||
$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';
|
||||
|
||||
#index.php:69
|
||||
#index.php:68
|
||||
$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';
|
||||
|
||||
#index.php:112
|
||||
#index.php:111
|
||||
$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';
|
||||
|
||||
#index.php:156
|
||||
#index.php:155
|
||||
$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';
|
||||
|
||||
#index.php:208
|
||||
#index.php:207
|
||||
$GLOBALS['__l10n']['No bakcup to to restore'] = 'Pas de sauvegarde à restaurer';
|
||||
|
||||
#index.php:229
|
||||
#index.php:247
|
||||
#index.php:228
|
||||
#index.php:246
|
||||
$GLOBALS['__l10n']['No backup to delete'] = 'Pas de sauvegarde à effacer';
|
||||
|
||||
#index.php:290
|
||||
#index.php:364
|
||||
#index.php:289
|
||||
#index.php:363
|
||||
$GLOBALS['__l10n']['Nothing to export'] = 'Rien à exporter';
|
||||
|
||||
#index.php:312
|
||||
#index.php:311
|
||||
$GLOBALS['__l10n']['No language to update'] = 'Pas de langue à mettre à jour';
|
||||
|
||||
#index.php:443
|
||||
#index.php:490
|
||||
#index.php:442
|
||||
#index.php:489
|
||||
$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 :';
|
||||
|
||||
#index.php:557
|
||||
#index.php:556
|
||||
$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';
|
||||
|
||||
#index.php:606
|
||||
#index.php:605
|
||||
$GLOBALS['__l10n']['Translate theme "%s" (by %s)'] = 'Traduire le thème "%s" (de %s)';
|
||||
|
||||
#index.php:607
|
||||
$GLOBALS['__l10n']['Translate plugin "%s" (by %s)'] = 'Traduire l\'extension "%s" (de %s)';
|
||||
#index.php:606
|
||||
$GLOBALS['__l10n']['Translate plugin "%s" (by %s)'] = 'Traduire le plugin "%s" (de %s)';
|
||||
|
||||
#index.php:627
|
||||
#index.php:741
|
||||
#index.php:626
|
||||
#index.php:740
|
||||
$GLOBALS['__l10n']['Edit translation'] = 'Modifier la traduction';
|
||||
|
||||
#index.php:639
|
||||
#index.php:638
|
||||
$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.';
|
||||
|
||||
#index.php:665
|
||||
#index.php:664
|
||||
$GLOBALS['__l10n']['Summary'] = 'Résumé';
|
||||
|
||||
#index.php:666
|
||||
#index.php:665
|
||||
$GLOBALS['__l10n']['Module'] = 'Module';
|
||||
|
||||
#index.php:668
|
||||
#index.php:667
|
||||
$GLOBALS['__l10n']['About'] = 'À propos';
|
||||
|
||||
#index.php:678
|
||||
#index.php:677
|
||||
$GLOBALS['__l10n']['Root'] = 'Racine';
|
||||
|
||||
#index.php:680
|
||||
#index.php:694
|
||||
#index.php:811
|
||||
#index.php:1342
|
||||
#index.php:679
|
||||
#index.php:693
|
||||
#index.php:810
|
||||
#index.php:1341
|
||||
$GLOBALS['__l10n']['Backups'] = 'Sauvegardes';
|
||||
|
||||
#index.php:695
|
||||
#index.php:694
|
||||
$GLOBALS['__l10n']['Last backup'] = 'Dernière sauvegarde';
|
||||
|
||||
#index.php:722
|
||||
#index.php:721
|
||||
$GLOBALS['__l10n']['no backup'] = 'Aucune sauvegarde';
|
||||
|
||||
#index.php:731
|
||||
$GLOBALS['__l10n']['Translations'] = 'Traductions';
|
||||
|
||||
#index.php:737
|
||||
#index.php:736
|
||||
$GLOBALS['__l10n']['Edit language'] = 'Modifier une langue';
|
||||
|
||||
#index.php:757
|
||||
#index.php:756
|
||||
$GLOBALS['__l10n']['Add language'] = 'Ajouter une langue';
|
||||
|
||||
#index.php:764
|
||||
#index.php:763
|
||||
$GLOBALS['__l10n']['Copy from language:'] = 'Copier depuis la langue :';
|
||||
|
||||
#index.php:766
|
||||
#index.php:765
|
||||
$GLOBALS['__l10n']['Optionnal'] = 'Optionnel';
|
||||
|
||||
#index.php:773
|
||||
#index.php:772
|
||||
$GLOBALS['__l10n']['Add translation'] = 'Ajouter la traduction';
|
||||
|
||||
#index.php:790
|
||||
#index.php:789
|
||||
$GLOBALS['__l10n']['Delete language'] = 'Effacer une langue';
|
||||
|
||||
#index.php:794
|
||||
#index.php:793
|
||||
$GLOBALS['__l10n']['Delete translation'] = 'Effacer la traduction';
|
||||
|
||||
#index.php:816
|
||||
#index.php:815
|
||||
$GLOBALS['__l10n']['Create backups'] = 'Créer une sauvegarde';
|
||||
|
||||
#index.php:818
|
||||
#index.php:817
|
||||
$GLOBALS['__l10n']['Choose languages to backup'] = 'Choisir la langue à sauvegarder';
|
||||
|
||||
#index.php:839
|
||||
$GLOBALS['__l10n']['Backup'] = 'Sauvegarde';
|
||||
|
||||
#index.php:856
|
||||
#index.php:855
|
||||
$GLOBALS['__l10n']['List of backups'] = 'Liste des sauvegardes';
|
||||
|
||||
#index.php:860
|
||||
#index.php:1066
|
||||
#index.php:859
|
||||
#index.php:1065
|
||||
$GLOBALS['__l10n']['File'] = 'Fichier';
|
||||
|
||||
#index.php:863
|
||||
$GLOBALS['__l10n']['Size'] = 'Taille';
|
||||
|
||||
#index.php:887
|
||||
#index.php:886
|
||||
$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';
|
||||
|
||||
#index.php:890
|
||||
#index.php:889
|
||||
$GLOBALS['__l10n']['Delete backups'] = 'Effacer les sauvegardes';
|
||||
|
||||
#index.php:916
|
||||
#index.php:1183
|
||||
#index.php:915
|
||||
#index.php:1182
|
||||
$GLOBALS['__l10n']['Choose language package to import'] = 'Choisir le paquetage de langue à importer';
|
||||
|
||||
#index.php:938
|
||||
#index.php:1240
|
||||
#index.php:937
|
||||
#index.php:1239
|
||||
$GLOBALS['__l10n']['Choose languages to export'] = 'Choisir les langues à exporter';
|
||||
|
||||
#index.php:1059
|
||||
#index.php:1058
|
||||
$GLOBALS['__l10n']['Group'] = 'Groupe';
|
||||
|
||||
#index.php:1061
|
||||
#index.php:1060
|
||||
$GLOBALS['__l10n']['String'] = 'Chaîne';
|
||||
|
||||
#index.php:1063
|
||||
#index.php:1284
|
||||
#index.php:1062
|
||||
#index.php:1283
|
||||
$GLOBALS['__l10n']['Translation'] = 'Traduction';
|
||||
|
||||
#index.php:1064
|
||||
#index.php:1063
|
||||
$GLOBALS['__l10n']['Existing'] = 'Existant';
|
||||
|
||||
#index.php:1127
|
||||
#index.php:1126
|
||||
$GLOBALS['__l10n']['%s occurrences'] = '%s occurrences';
|
||||
|
||||
#index.php:1153
|
||||
#index.php:1152
|
||||
$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 :';
|
||||
|
||||
#index.php:1212
|
||||
#index.php:1211
|
||||
$GLOBALS['__l10n']['Choose modules to export'] = 'Choisir les modules à exporter';
|
||||
|
||||
#index.php:1214
|
||||
#index.php:1213
|
||||
$GLOBALS['__l10n']['Modules'] = 'Modules';
|
||||
|
||||
#index.php:1287
|
||||
$GLOBALS['__l10n']['Write .po files'] = 'Écrire les fichier .po';
|
||||
#index.php:1286
|
||||
$GLOBALS['__l10n']['Write .po files'] = 'Écrire les fichiers .po';
|
||||
|
||||
#index.php:1290
|
||||
$GLOBALS['__l10n']['Write .lang.php files'] = 'Écrire les fichier .lang.php';
|
||||
#index.php:1289
|
||||
$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';
|
||||
|
||||
#index.php:1296
|
||||
#index.php:1295
|
||||
$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';
|
||||
|
||||
#index.php:1302
|
||||
#index.php:1301
|
||||
$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';
|
||||
|
||||
#index.php:1309
|
||||
#index.php:1308
|
||||
$GLOBALS['__l10n']['Tools'] = 'Outils';
|
||||
|
||||
#index.php:1310
|
||||
#index.php:1309
|
||||
$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 :';
|
||||
|
||||
#index.php:1326
|
||||
#index.php:1325
|
||||
$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';
|
||||
|
||||
#index.php:1338
|
||||
#index.php:1337
|
||||
$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';
|
||||
|
||||
#index.php:1346
|
||||
#index.php:1345
|
||||
$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';
|
||||
|
||||
#index.php:1354
|
||||
#index.php:1353
|
||||
$GLOBALS['__l10n']['Behaviors'] = 'Comportements';
|
||||
|
||||
#index.php:1355
|
||||
#index.php:1354
|
||||
$GLOBALS['__l10n']['Default start menu:'] = 'Menu de départ par défaut :';
|
||||
|
||||
#index.php:1360
|
||||
$GLOBALS['__l10n']['Enable menu on extensions page'] = 'Activer le menu sur la page des extensions';
|
||||
#index.php:1359
|
||||
$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']['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';
|
||||
|
||||
?>
|
|
@ -1,531 +1,556 @@
|
|||
# Language: Français
|
||||
# Module: translater - 2013.05.11
|
||||
# Date: 2013-05-12 23:35:00
|
||||
# Translated with translater 2013.05.11
|
||||
# Module: translater - 2018.02.14
|
||||
# Date: 2018-10-18 09:43:01
|
||||
# Translated with translater 2018.02.14
|
||||
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"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"
|
||||
"PO-Revision-Date: 2013-05-12T23:35:00+00:00\n"
|
||||
"Last-Translator: Jean-Christian Denis\n"
|
||||
"PO-Revision-Date: 2018-10-18T09:43:01+00:00\n"
|
||||
"Last-Translator: brol\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: _admin.php:26
|
||||
#: index.php:537
|
||||
#: index.php:570
|
||||
#: index.php:1384
|
||||
#: _admin.php:25
|
||||
#: _admin.php:112
|
||||
#: index.php:536
|
||||
#: index.php:569
|
||||
#: index.php:1383
|
||||
msgid "Translater"
|
||||
msgstr "Traducteur"
|
||||
|
||||
#: _admin.php:44
|
||||
msgid "Translate extensions"
|
||||
msgstr "Traduire les extensions"
|
||||
#: _admin.php:43
|
||||
msgid "Translate plugins"
|
||||
msgstr "Traduire les plugins"
|
||||
|
||||
#: _admin.php:48
|
||||
#: index.php:670
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: _admin.php:62
|
||||
#: _admin.php:61
|
||||
msgid "Translate this plugin"
|
||||
msgstr "Traduire cette extension"
|
||||
msgstr "Traduire ce plugin"
|
||||
|
||||
#: _admin.php:85
|
||||
#: _admin.php:84
|
||||
msgid "Translate this theme"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "La limite de %s sauvegardes pour le module % est dépassée"
|
||||
|
||||
#: inc/class.dc.translater.php:561
|
||||
#: inc/class.dc.translater.php:951
|
||||
#: inc/class.dc.translater.php:1028
|
||||
#: inc/class.dc.translater.php:564
|
||||
#: inc/class.dc.translater.php:954
|
||||
#: inc/class.dc.translater.php:1031
|
||||
msgid "Cannot find language folder %s for 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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Mauvaise requète d'exportation"
|
||||
|
||||
#: inc/class.dc.translater.php:671
|
||||
#: inc/class.dc.translater.php:674
|
||||
msgid "Cannot use export mask %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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr "Paramètres manquants"
|
||||
|
||||
#: inc/class.translater.rest.php:51
|
||||
#: inc/class.translater.rest.php:50
|
||||
msgid "Failed to get translation tool"
|
||||
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"
|
||||
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:"
|
||||
msgstr "Vous devez avoir sur la console des API Google :"
|
||||
|
||||
#: inc/lib.translater.google.php:80
|
||||
msgid "Failed to query service."
|
||||
msgstr "Impossible d'interoger le service."
|
||||
#: inc/lib.translater.google.php:46
|
||||
msgid "Activate the \"translate API\" 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:"
|
||||
msgstr "Vous devez avoir :"
|
||||
|
||||
#: index.php:26
|
||||
#: index.php:526
|
||||
#: index.php:1382
|
||||
#: index.php:25
|
||||
#: index.php:525
|
||||
#: index.php:1381
|
||||
msgid "Settings"
|
||||
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"
|
||||
msgstr "le répertoire locales de chaque module"
|
||||
|
||||
#: index.php:43
|
||||
#: index.php:42
|
||||
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"
|
||||
msgstr "le répertoire public du blog"
|
||||
|
||||
#: index.php:45
|
||||
#: index.php:44
|
||||
msgid "cache folder of Dotclear"
|
||||
msgstr "le répertoire cache de Dotclear"
|
||||
|
||||
#: index.php:46
|
||||
#: index.php:45
|
||||
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"
|
||||
msgstr "Traduction mise à jour avec succès"
|
||||
|
||||
#: index.php:52
|
||||
#: index.php:51
|
||||
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"
|
||||
msgstr "Traduction effacée avec succès"
|
||||
|
||||
#: index.php:54
|
||||
#: index.php:53
|
||||
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"
|
||||
msgstr "Sauvegardes effectuées avec succès"
|
||||
|
||||
#: index.php:56
|
||||
#: index.php:55
|
||||
msgid "Backups successfully deleted"
|
||||
msgstr "Sauvegardes effacées avec succès"
|
||||
|
||||
#: index.php:57
|
||||
#: index.php:56
|
||||
msgid "Package successfully imported"
|
||||
msgstr "Paquetage importé avec succès"
|
||||
|
||||
#: index.php:58
|
||||
#: index.php:57
|
||||
msgid "Package successfully exported"
|
||||
msgstr "Paquetage exporté avec succès"
|
||||
|
||||
#: index.php:62
|
||||
#: index.php:61
|
||||
msgid "Failed to update settings: %s"
|
||||
msgstr "Impossible de mettre à jour les paramètres : %s"
|
||||
|
||||
#: index.php:63
|
||||
#: index.php:62
|
||||
msgid "Failed to update translation: %s"
|
||||
msgstr "Impossible de mettre à jour la traduction : %s"
|
||||
|
||||
#: index.php:64
|
||||
#: index.php:63
|
||||
msgid "Failed to create translation: %s"
|
||||
msgstr "Impossible de créer la traduction : %s"
|
||||
|
||||
#: index.php:65
|
||||
#: index.php:64
|
||||
msgid "Failed to delete translation: %s"
|
||||
msgstr "Impossible d'effacer la traduction : %s"
|
||||
|
||||
#: index.php:66
|
||||
#: index.php:65
|
||||
msgid "Failed to create backups: %s"
|
||||
msgstr "Impossible de créer les sauvegardes : %s"
|
||||
|
||||
#: index.php:67
|
||||
#: index.php:66
|
||||
msgid "Failed to restore backups: %s"
|
||||
msgstr "Impossible de restaurer les sauvegardes : %s"
|
||||
|
||||
#: index.php:68
|
||||
#: index.php:67
|
||||
msgid "Failed to delete backups: %s"
|
||||
msgstr "Impossible d'effacer les sauvegardes : %s"
|
||||
|
||||
#: index.php:69
|
||||
#: index.php:68
|
||||
msgid "Failed to import package: %s"
|
||||
msgstr "Impossible d'importer le paquetage : %s"
|
||||
|
||||
#: index.php:70
|
||||
#: index.php:69
|
||||
msgid "Failed to export package: %s"
|
||||
msgstr "Impossible d'exporter le paquetage : %s"
|
||||
|
||||
#: index.php:112
|
||||
#: index.php:111
|
||||
msgid "No lang to create"
|
||||
msgstr "Pas de langue à créer"
|
||||
|
||||
#: index.php:134
|
||||
#: index.php:133
|
||||
msgid "No lang to delete"
|
||||
msgstr "Pas de langue à effacer"
|
||||
|
||||
#: index.php:156
|
||||
#: index.php:155
|
||||
msgid "No lang to backup"
|
||||
msgstr "Pas de langue à sauvegarder"
|
||||
|
||||
#: index.php:189
|
||||
#: index.php:188
|
||||
msgid "No blackup to restore"
|
||||
msgstr "Pas de langue à restaurer"
|
||||
|
||||
#: index.php:208
|
||||
#: index.php:207
|
||||
msgid "No bakcup to to restore"
|
||||
msgstr "Pas de sauvegarde à restaurer"
|
||||
|
||||
#: index.php:229
|
||||
#: index.php:247
|
||||
#: index.php:228
|
||||
#: index.php:246
|
||||
msgid "No backup to delete"
|
||||
msgstr "Pas de sauvegarde à effacer"
|
||||
|
||||
#: index.php:290
|
||||
#: index.php:364
|
||||
#: index.php:289
|
||||
#: index.php:363
|
||||
msgid "Nothing to export"
|
||||
msgstr "Rien à exporter"
|
||||
|
||||
#: index.php:312
|
||||
#: index.php:311
|
||||
msgid "No language to update"
|
||||
msgstr "Pas de langue à mettre à jour"
|
||||
|
||||
#: index.php:443
|
||||
#: index.php:490
|
||||
#: index.php:442
|
||||
#: index.php:489
|
||||
msgid "Failed to launch translater: %s"
|
||||
msgstr "Impossible de démarrer translater : %s"
|
||||
|
||||
#: index.php:556
|
||||
#: index.php:555
|
||||
msgid "Use this %s translation:"
|
||||
msgstr "Utiliser la traduction de %s :"
|
||||
|
||||
#: index.php:557
|
||||
#: index.php:556
|
||||
msgid "Translate this text with %s"
|
||||
msgstr "Traduire ce texte avec %s"
|
||||
|
||||
#: index.php:558
|
||||
#: index.php:557
|
||||
msgid "Use this text"
|
||||
msgstr "Utiliser ce texte"
|
||||
|
||||
#: index.php:606
|
||||
#: index.php:605
|
||||
msgid "Translate theme \"%s\" (by %s)"
|
||||
msgstr "Traduire le thème \"%s\" (de %s)"
|
||||
|
||||
#: index.php:607
|
||||
#: index.php:606
|
||||
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:741
|
||||
#: index.php:626
|
||||
#: index.php:740
|
||||
msgid "Edit translation"
|
||||
msgstr "Modifier la traduction"
|
||||
|
||||
#: index.php:639
|
||||
#: index.php:638
|
||||
msgid "Id"
|
||||
msgstr "Id"
|
||||
|
||||
#: index.php:649
|
||||
#: index.php:648
|
||||
msgid "There is no editable modules"
|
||||
msgstr "Il n'y a pas de modules modifiables."
|
||||
|
||||
#: index.php:665
|
||||
#: index.php:664
|
||||
msgid "Summary"
|
||||
msgstr "Résumé"
|
||||
|
||||
#: index.php:666
|
||||
#: index.php:665
|
||||
msgid "Module"
|
||||
msgstr "Module"
|
||||
|
||||
#: index.php:668
|
||||
#: index.php:667
|
||||
msgid "About"
|
||||
msgstr "À propos"
|
||||
|
||||
#: index.php:678
|
||||
#: index.php:677
|
||||
msgid "Root"
|
||||
msgstr "Racine"
|
||||
|
||||
#: index.php:680
|
||||
#: index.php:694
|
||||
#: index.php:811
|
||||
#: index.php:1342
|
||||
#: index.php:679
|
||||
#: index.php:693
|
||||
#: index.php:810
|
||||
#: index.php:1341
|
||||
msgid "Backups"
|
||||
msgstr "Sauvegardes"
|
||||
|
||||
#: index.php:695
|
||||
#: index.php:694
|
||||
msgid "Last backup"
|
||||
msgstr "Dernière sauvegarde"
|
||||
|
||||
#: index.php:722
|
||||
#: index.php:721
|
||||
msgid "no backup"
|
||||
msgstr "Aucune sauvegarde"
|
||||
|
||||
#: index.php:731
|
||||
msgid "Translations"
|
||||
msgstr "Traductions"
|
||||
|
||||
#: index.php:737
|
||||
#: index.php:736
|
||||
msgid "Edit language"
|
||||
msgstr "Modifier une langue"
|
||||
|
||||
#: index.php:757
|
||||
#: index.php:756
|
||||
msgid "Add language"
|
||||
msgstr "Ajouter une langue"
|
||||
|
||||
#: index.php:764
|
||||
#: index.php:763
|
||||
msgid "Copy from language:"
|
||||
msgstr "Copier depuis la langue :"
|
||||
|
||||
#: index.php:766
|
||||
#: index.php:765
|
||||
msgid "Optionnal"
|
||||
msgstr "Optionnel"
|
||||
|
||||
#: index.php:773
|
||||
#: index.php:772
|
||||
msgid "Add translation"
|
||||
msgstr "Ajouter la traduction"
|
||||
|
||||
#: index.php:790
|
||||
#: index.php:789
|
||||
msgid "Delete language"
|
||||
msgstr "Effacer une langue"
|
||||
|
||||
#: index.php:794
|
||||
#: index.php:793
|
||||
msgid "Delete translation"
|
||||
msgstr "Effacer la traduction"
|
||||
|
||||
#: index.php:816
|
||||
#: index.php:815
|
||||
msgid "Create backups"
|
||||
msgstr "Créer une sauvegarde"
|
||||
|
||||
#: index.php:818
|
||||
#: index.php:817
|
||||
msgid "Choose languages to backup"
|
||||
msgstr "Choisir la langue à sauvegarder"
|
||||
|
||||
#: index.php:839
|
||||
msgid "Backup"
|
||||
msgstr "Sauvegarde"
|
||||
|
||||
#: index.php:856
|
||||
#: index.php:855
|
||||
msgid "List of backups"
|
||||
msgstr "Liste des sauvegardes"
|
||||
|
||||
#: index.php:860
|
||||
#: index.php:1066
|
||||
#: index.php:859
|
||||
#: index.php:1065
|
||||
msgid "File"
|
||||
msgstr "Fichier"
|
||||
|
||||
#: index.php:863
|
||||
msgid "Size"
|
||||
msgstr "Taille"
|
||||
|
||||
#: index.php:887
|
||||
#: index.php:886
|
||||
msgid "Selected backups action:"
|
||||
msgstr "Action sur les sauvegardes sélectionnées :"
|
||||
|
||||
#: index.php:889
|
||||
#: index.php:888
|
||||
msgid "Restore backups"
|
||||
msgstr "Restaurer les sauvegardes"
|
||||
|
||||
#: index.php:890
|
||||
#: index.php:889
|
||||
msgid "Delete backups"
|
||||
msgstr "Effacer les sauvegardes"
|
||||
|
||||
#: index.php:916
|
||||
#: index.php:1183
|
||||
#: index.php:915
|
||||
#: index.php:1182
|
||||
msgid "Choose language package to import"
|
||||
msgstr "Choisir le paquetage de langue à importer"
|
||||
|
||||
#: index.php:938
|
||||
#: index.php:1240
|
||||
#: index.php:937
|
||||
#: index.php:1239
|
||||
msgid "Choose languages to export"
|
||||
msgstr "Choisir les langues à exporter"
|
||||
|
||||
#: index.php:1059
|
||||
#: index.php:1058
|
||||
msgid "Group"
|
||||
msgstr "Groupe"
|
||||
|
||||
#: index.php:1061
|
||||
#: index.php:1060
|
||||
msgid "String"
|
||||
msgstr "Chaîne"
|
||||
|
||||
#: index.php:1063
|
||||
#: index.php:1284
|
||||
#: index.php:1062
|
||||
#: index.php:1283
|
||||
msgid "Translation"
|
||||
msgstr "Traduction"
|
||||
|
||||
#: index.php:1064
|
||||
#: index.php:1063
|
||||
msgid "Existing"
|
||||
msgstr "Existant"
|
||||
|
||||
#: index.php:1127
|
||||
#: index.php:1126
|
||||
msgid "%s occurrences"
|
||||
msgstr "%s occurrences"
|
||||
|
||||
#: index.php:1153
|
||||
#: index.php:1152
|
||||
msgid "Total of %s strings."
|
||||
msgstr "Total de %s chaînes."
|
||||
|
||||
#: index.php:1155
|
||||
#: index.php:1154
|
||||
msgid "Change the group of the selected entries to:"
|
||||
msgstr "Changer le groupe des entrées sélectionnées vers :"
|
||||
|
||||
#: index.php:1212
|
||||
#: index.php:1211
|
||||
msgid "Choose modules to export"
|
||||
msgstr "Choisir les modules à exporter"
|
||||
|
||||
#: index.php:1214
|
||||
#: index.php:1213
|
||||
msgid "Modules"
|
||||
msgstr "Modules"
|
||||
|
||||
#: index.php:1287
|
||||
#: index.php:1286
|
||||
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"
|
||||
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"
|
||||
msgstr "Traduire également les chaînes des fichiers de template"
|
||||
|
||||
#: index.php:1296
|
||||
#: index.php:1295
|
||||
msgid "Translate only unknow strings"
|
||||
msgstr "Traduire uniquement les chaînes inconnues"
|
||||
|
||||
#: index.php:1299
|
||||
#: index.php:1298
|
||||
msgid "Hide default modules of Dotclear"
|
||||
msgstr "Cacher les modules d'origine de Dotclear"
|
||||
|
||||
#: index.php:1302
|
||||
#: index.php:1301
|
||||
msgid "Write comments in files"
|
||||
msgstr "Écrire les commentaires dans les fichiers"
|
||||
|
||||
#: index.php:1305
|
||||
#: index.php:1304
|
||||
msgid "Write informations about author in files"
|
||||
msgstr "Écrire les informations à propos de l'auteur dans les fichiers"
|
||||
|
||||
#: index.php:1309
|
||||
#: index.php:1308
|
||||
msgid "Tools"
|
||||
msgstr "Outils"
|
||||
|
||||
#: index.php:1310
|
||||
#: index.php:1309
|
||||
msgid "Default language of l10n source:"
|
||||
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:"
|
||||
msgstr "Sélectionner et configurer un outil de traduction :"
|
||||
|
||||
#: index.php:1326
|
||||
#: index.php:1325
|
||||
msgid "Nothing to configure for %s tool."
|
||||
msgstr "Rien à configurer pour l'outil %s."
|
||||
|
||||
#: index.php:1337
|
||||
#: index.php:1336
|
||||
msgid "Overwrite existing languages"
|
||||
msgstr "Écraser les langages existants"
|
||||
|
||||
#: index.php:1338
|
||||
#: index.php:1337
|
||||
msgid "Name of exported package"
|
||||
msgstr "Nom du paquetage exporté"
|
||||
|
||||
#: index.php:1345
|
||||
#: index.php:1344
|
||||
msgid "Make backups when changes are made"
|
||||
msgstr "Faire des sauvegardes lors des modifications"
|
||||
|
||||
#: index.php:1346
|
||||
#: index.php:1345
|
||||
msgid "Limit backups to %s files per module"
|
||||
msgstr "Limiter les sauvegardes à %s fichiers par module"
|
||||
|
||||
#: index.php:1349
|
||||
#: index.php:1348
|
||||
msgid "Store backups in %s"
|
||||
msgstr "Stocker les sauvegardes dans %s"
|
||||
|
||||
#: index.php:1354
|
||||
#: index.php:1353
|
||||
msgid "Behaviors"
|
||||
msgstr "Comportements"
|
||||
|
||||
#: index.php:1355
|
||||
#: index.php:1354
|
||||
msgid "Default start menu:"
|
||||
msgstr "Menu de départ par défaut :"
|
||||
|
||||
#: index.php:1360
|
||||
#: index.php:1359
|
||||
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"
|
||||
msgstr "Activer le menu sur la page des thèmes"
|
||||
|
||||
|
@ -533,5 +558,5 @@ msgid "translater"
|
|||
msgstr "Traducteur"
|
||||
|
||||
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"
|
||||
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
# -- 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';
|
Loading…
Reference in a new issue