Fixed issue 4, with fine control over the tabs access.
For each tab, at the exception of the project home and the administration area, it possible to control the access rights if the user is anonymous, signed in, member or owner.
This commit is contained in:
parent
1831716b07
commit
7383e18dff
57
src/IDF/Form/TabsConf.php
Normal file
57
src/IDF/Form/TabsConf.php
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
/* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||||
|
/*
|
||||||
|
# ***** BEGIN LICENSE BLOCK *****
|
||||||
|
# This file is part of InDefero, an open source project management application.
|
||||||
|
# Copyright (C) 2008 Céondo Ltd and contributors.
|
||||||
|
#
|
||||||
|
# InDefero is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# InDefero is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
#
|
||||||
|
# ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configuration of the tabs access.
|
||||||
|
*/
|
||||||
|
class IDF_Form_TabsConf extends Pluf_Form
|
||||||
|
{
|
||||||
|
public $conf = null;
|
||||||
|
public function initFields($extra=array())
|
||||||
|
{
|
||||||
|
$this->conf = $extra['conf'];
|
||||||
|
$ak = array('downloads_access_rights' => __('Downloads'),
|
||||||
|
'source_access_rights' => __('Source'),
|
||||||
|
'issues_access_rights' => __('Issues'),);
|
||||||
|
foreach ($ak as $key=>$label) {
|
||||||
|
$this->fields[$key] = new Pluf_Form_Field_Varchar(
|
||||||
|
array('required' => true,
|
||||||
|
'label' => $label,
|
||||||
|
'initial' => $this->conf->getVal($key, 'all'),
|
||||||
|
'widget_attrs' => array('choices' =>
|
||||||
|
array(
|
||||||
|
__('Open to all') => 'all',
|
||||||
|
__('Signed in users') => 'login',
|
||||||
|
__('Project members') => 'members',
|
||||||
|
__('Project owners') => 'owners',
|
||||||
|
__('Closed') => 'none',
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'widget' => 'Pluf_Form_Widget_SelectInput',
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
|||||||
/**
|
/**
|
||||||
* Project middleware.
|
* Project middleware.
|
||||||
*
|
*
|
||||||
|
* It must be after the session middleware.
|
||||||
*/
|
*/
|
||||||
class IDF_Middleware
|
class IDF_Middleware
|
||||||
{
|
{
|
||||||
@ -49,6 +50,15 @@ class IDF_Middleware
|
|||||||
} catch (Pluf_HTTP_Error404 $e) {
|
} catch (Pluf_HTTP_Error404 $e) {
|
||||||
return new Pluf_HTTP_Response_NotFound(sprintf(__('The page <em>%s</em> was not found on the server.'), htmlspecialchars($request->query)));
|
return new Pluf_HTTP_Response_NotFound(sprintf(__('The page <em>%s</em> was not found on the server.'), htmlspecialchars($request->query)));
|
||||||
}
|
}
|
||||||
|
$request->conf = new IDF_Conf();
|
||||||
|
$request->conf->setProject($request->project);
|
||||||
|
$ak = array('downloads_access_rights' => 'hasDownloadsAccess',
|
||||||
|
'source_access_rights' => 'hasSourceAccess',
|
||||||
|
'issues_access_rights' => 'hasIssuesAccess');
|
||||||
|
$request->rights = array();
|
||||||
|
foreach ($ak as $key=>$val) {
|
||||||
|
$request->rights[$val] = (true === IDF_Precondition::accessTabGeneric($request, $key));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -58,12 +68,14 @@ class IDF_Middleware
|
|||||||
function IDF_Middleware_ContextPreProcessor($request)
|
function IDF_Middleware_ContextPreProcessor($request)
|
||||||
{
|
{
|
||||||
$c = array();
|
$c = array();
|
||||||
|
$c['request'] = $request;
|
||||||
if (isset($request->project)) {
|
if (isset($request->project)) {
|
||||||
$c['project'] = $request->project;
|
$c['project'] = $request->project;
|
||||||
$c['isOwner'] = $request->user->hasPerm('IDF.project-owner',
|
$c['isOwner'] = $request->user->hasPerm('IDF.project-owner',
|
||||||
$request->project);
|
$request->project);
|
||||||
$c['isMember'] = $request->user->hasPerm('IDF.project-member',
|
$c['isMember'] = $request->user->hasPerm('IDF.project-member',
|
||||||
$request->project);
|
$request->project);
|
||||||
|
$c = array_merge($c, $request->rights);
|
||||||
}
|
}
|
||||||
return $c;
|
return $c;
|
||||||
}
|
}
|
||||||
|
@ -61,4 +61,53 @@ class IDF_Precondition
|
|||||||
}
|
}
|
||||||
return new Pluf_HTTP_Response_Forbidden($request);
|
return new Pluf_HTTP_Response_Forbidden($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the user can access a given element.
|
||||||
|
*
|
||||||
|
* The rights are:
|
||||||
|
* - 'all' (default)
|
||||||
|
* - 'none'
|
||||||
|
* - 'login'
|
||||||
|
* - 'members'
|
||||||
|
* - 'owners'
|
||||||
|
*
|
||||||
|
* The order of the rights is such that a 'owner' is also a
|
||||||
|
* 'member' and of course a logged in person.
|
||||||
|
*
|
||||||
|
* @param Pluf_HTTP_Request
|
||||||
|
* @param string Control key
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
static public function accessTabGeneric($request, $key)
|
||||||
|
{
|
||||||
|
switch ($request->conf->getVal($key, 'all')) {
|
||||||
|
case 'none':
|
||||||
|
return new Pluf_HTTP_Response_Forbidden($request);
|
||||||
|
case 'login':
|
||||||
|
return Pluf_Precondition::loginRequired($request);
|
||||||
|
case 'members':
|
||||||
|
return self::projectMemberOrOwner($request);
|
||||||
|
case 'owners':
|
||||||
|
return self::projectOwner($request);
|
||||||
|
case 'all':
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static public function accessSource($request)
|
||||||
|
{
|
||||||
|
return self::accessTabGeneric($request, 'source_access_rights');
|
||||||
|
}
|
||||||
|
|
||||||
|
static public function accessIssues($request)
|
||||||
|
{
|
||||||
|
return self::accessTabGeneric($request, 'issues_access_rights');
|
||||||
|
}
|
||||||
|
|
||||||
|
static public function accessDownloads($request)
|
||||||
|
{
|
||||||
|
return self::accessTabGeneric($request, 'downloads_access_rights');
|
||||||
|
}
|
||||||
}
|
}
|
@ -29,21 +29,27 @@ Pluf::loadFunction('Pluf_HTTP_URL_urlForView');
|
|||||||
class IDF_Template_IssueComment extends Pluf_Template_Tag
|
class IDF_Template_IssueComment extends Pluf_Template_Tag
|
||||||
{
|
{
|
||||||
private $project = null;
|
private $project = null;
|
||||||
|
private $request = null;
|
||||||
private $git = null;
|
private $git = null;
|
||||||
|
|
||||||
function start($text, $project)
|
function start($text, $request)
|
||||||
{
|
{
|
||||||
$this->project = $project;
|
$this->project = $request->project;
|
||||||
|
$this->request = $request;
|
||||||
$this->git = new IDF_Git($this->project->getGitRepository());
|
$this->git = new IDF_Git($this->project->getGitRepository());
|
||||||
$text = wordwrap($text, 69, "\n", true);
|
$text = wordwrap($text, 69, "\n", true);
|
||||||
$text = Pluf_esc($text);
|
$text = Pluf_esc($text);
|
||||||
$text = ereg_replace('[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]',
|
$text = ereg_replace('[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]',
|
||||||
'<a href="\\0" rel="nofollow">\\0</a>',
|
'<a href="\\0" rel="nofollow">\\0</a>',
|
||||||
$text);
|
$text);
|
||||||
|
if ($request->rights['hasIssuesAccess']) {
|
||||||
$text = preg_replace_callback('#(issues?|bugs?|tickets?)\s+(\d+)((\s+and|\s+or|,)\s+(\d+)){0,}#im',
|
$text = preg_replace_callback('#(issues?|bugs?|tickets?)\s+(\d+)((\s+and|\s+or|,)\s+(\d+)){0,}#im',
|
||||||
array($this, 'callbackIssues'), $text);
|
array($this, 'callbackIssues'), $text);
|
||||||
|
}
|
||||||
|
if ($request->rights['hasSourceAccess']) {
|
||||||
$text = preg_replace_callback('#(commit\s+)([0-9a-f]{5,40})#im',
|
$text = preg_replace_callback('#(commit\s+)([0-9a-f]{5,40})#im',
|
||||||
array($this, 'callbackCommit'), $text);
|
array($this, 'callbackCommit'), $text);
|
||||||
|
}
|
||||||
echo $text;
|
echo $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@ class IDF_Views_Download
|
|||||||
/**
|
/**
|
||||||
* List the files available for download.
|
* List the files available for download.
|
||||||
*/
|
*/
|
||||||
|
public $index_precond = array('IDF_Precondition::accessDownloads');
|
||||||
public function index($request, $match)
|
public function index($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
@ -75,6 +76,7 @@ class IDF_Views_Download
|
|||||||
/**
|
/**
|
||||||
* View details of a file.
|
* View details of a file.
|
||||||
*/
|
*/
|
||||||
|
public $view_precond = array('IDF_Precondition::accessDownloads');
|
||||||
public function view($request, $match)
|
public function view($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
@ -123,6 +125,7 @@ class IDF_Views_Download
|
|||||||
/**
|
/**
|
||||||
* Download a file.
|
* Download a file.
|
||||||
*/
|
*/
|
||||||
|
public $download_precond = array('IDF_Precondition::accessDownloads');
|
||||||
public function download($request, $match)
|
public function download($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
@ -136,7 +139,8 @@ class IDF_Views_Download
|
|||||||
/**
|
/**
|
||||||
* Submit a new file for download.
|
* Submit a new file for download.
|
||||||
*/
|
*/
|
||||||
public $submit_precond = array('IDF_Precondition::projectMemberOrOwner');
|
public $submit_precond = array('IDF_Precondition::accessDownloads',
|
||||||
|
'IDF_Precondition::projectMemberOrOwner');
|
||||||
public function submit($request, $match)
|
public function submit($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
@ -197,6 +201,7 @@ class IDF_Views_Download
|
|||||||
/**
|
/**
|
||||||
* View list of downloads with a given label.
|
* View list of downloads with a given label.
|
||||||
*/
|
*/
|
||||||
|
public $listLabel_precond = array('IDF_Precondition::accessDownloads');
|
||||||
public function listLabel($request, $match)
|
public function listLabel($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
|
@ -34,6 +34,7 @@ class IDF_Views_Issue
|
|||||||
/**
|
/**
|
||||||
* View list of issues for a given project.
|
* View list of issues for a given project.
|
||||||
*/
|
*/
|
||||||
|
public $index_precond = array('IDF_Precondition::accessIssues');
|
||||||
public function index($request, $match)
|
public function index($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
@ -77,7 +78,8 @@ class IDF_Views_Issue
|
|||||||
*
|
*
|
||||||
* Only open issues are shown.
|
* Only open issues are shown.
|
||||||
*/
|
*/
|
||||||
public $myIssues_precond = array('Pluf_Precondition::loginRequired');
|
public $myIssues_precond = array('IDF_Precondition::accessIssues',
|
||||||
|
'Pluf_Precondition::loginRequired');
|
||||||
public function myIssues($request, $match)
|
public function myIssues($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
@ -124,7 +126,8 @@ class IDF_Views_Issue
|
|||||||
$request);
|
$request);
|
||||||
}
|
}
|
||||||
|
|
||||||
public $create_precond = array('Pluf_Precondition::loginRequired');
|
public $create_precond = array('IDF_Precondition::accessIssues',
|
||||||
|
'Pluf_Precondition::loginRequired');
|
||||||
public function create($request, $match)
|
public function create($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
@ -157,6 +160,7 @@ class IDF_Views_Issue
|
|||||||
$request);
|
$request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public $view_precond = array('IDF_Precondition::accessIssues');
|
||||||
public function view($request, $match)
|
public function view($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
@ -204,6 +208,7 @@ class IDF_Views_Issue
|
|||||||
/**
|
/**
|
||||||
* View list of issues for a given project with a given status.
|
* View list of issues for a given project with a given status.
|
||||||
*/
|
*/
|
||||||
|
public $listStatus_precond = array('IDF_Precondition::accessIssues');
|
||||||
public function listStatus($request, $match)
|
public function listStatus($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
@ -246,6 +251,7 @@ class IDF_Views_Issue
|
|||||||
/**
|
/**
|
||||||
* View list of issues for a given project with a given label.
|
* View list of issues for a given project with a given label.
|
||||||
*/
|
*/
|
||||||
|
public $listLabel_precond = array('IDF_Precondition::accessIssues');
|
||||||
public function listLabel($request, $match)
|
public function listLabel($request, $match)
|
||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
|
@ -39,9 +39,12 @@ class IDF_Views_Project
|
|||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
$team = $prj->getMembershipData();
|
$team = $prj->getMembershipData();
|
||||||
$title = (string) $prj;
|
$title = (string) $prj;
|
||||||
|
$downloads = array();
|
||||||
|
if ($request->rights['hasDownloadsAccess']) {
|
||||||
$tags = IDF_Views_Download::getDownloadTags($prj);
|
$tags = IDF_Views_Download::getDownloadTags($prj);
|
||||||
// the first tag is the featured, the last is the deprecated.
|
// the first tag is the featured, the last is the deprecated.
|
||||||
$downloads = $tags[0]->get_idf_upload_list();
|
$downloads = $tags[0]->get_idf_upload_list();
|
||||||
|
}
|
||||||
return Pluf_Shortcuts_RenderToResponse('project-home.html',
|
return Pluf_Shortcuts_RenderToResponse('project-home.html',
|
||||||
array(
|
array(
|
||||||
'page_title' => $title,
|
'page_title' => $title,
|
||||||
@ -201,4 +204,49 @@ class IDF_Views_Project
|
|||||||
),
|
),
|
||||||
$request);
|
$request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Administrate the access rights to the tabs.
|
||||||
|
*/
|
||||||
|
public $adminTabs_precond = array('IDF_Precondition::projectOwner');
|
||||||
|
public function adminTabs($request, $match)
|
||||||
|
{
|
||||||
|
$prj = $request->project;
|
||||||
|
$title = sprintf(__('%s Tabs Access Rights'), (string) $prj);
|
||||||
|
$extra = array(
|
||||||
|
'conf' => $request->conf,
|
||||||
|
);
|
||||||
|
if ($request->method == 'POST') {
|
||||||
|
$form = new IDF_Form_TabsConf($request->POST, $extra);
|
||||||
|
if ($form->isValid()) {
|
||||||
|
foreach ($form->cleaned_data as $key=>$val) {
|
||||||
|
$request->conf->setVal($key, $val);
|
||||||
|
}
|
||||||
|
$request->user->setMessage(__('The project tabs access rights have been saved.'));
|
||||||
|
$url = Pluf_HTTP_URL_urlForView('IDF_Views_Project::adminTabs',
|
||||||
|
array($prj->shortname));
|
||||||
|
return new Pluf_HTTP_Response_Redirect($url);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$params = array();
|
||||||
|
$keys = array('downloads_access_rights', 'source_access_rights',
|
||||||
|
'issues_access_rights');
|
||||||
|
foreach ($keys as $key) {
|
||||||
|
$_val = $request->conf->getVal($key, false);
|
||||||
|
if ($_val !== false) {
|
||||||
|
$params[$key] = $_val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($params) == 0) {
|
||||||
|
$params = null; //Nothing in the db, so new form.
|
||||||
|
}
|
||||||
|
$form = new IDF_Form_TabsConf($params, $extra);
|
||||||
|
}
|
||||||
|
return Pluf_Shortcuts_RenderToResponse('admin/tabs.html',
|
||||||
|
array(
|
||||||
|
'page_title' => $title,
|
||||||
|
'form' => $form,
|
||||||
|
),
|
||||||
|
$request);
|
||||||
|
}
|
||||||
}
|
}
|
@ -31,6 +31,7 @@ Pluf::loadFunction('Pluf_Shortcuts_GetFormForModel');
|
|||||||
*/
|
*/
|
||||||
class IDF_Views_Source
|
class IDF_Views_Source
|
||||||
{
|
{
|
||||||
|
public $changeLog_precond = array('IDF_Precondition::accessSource');
|
||||||
public function changeLog($request, $match)
|
public function changeLog($request, $match)
|
||||||
{
|
{
|
||||||
$title = sprintf(__('%s Git Change Log'), (string) $request->project);
|
$title = sprintf(__('%s Git Change Log'), (string) $request->project);
|
||||||
@ -49,6 +50,7 @@ class IDF_Views_Source
|
|||||||
$request);
|
$request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public $treeBase_precond = array('IDF_Precondition::accessSource');
|
||||||
public function treeBase($request, $match)
|
public function treeBase($request, $match)
|
||||||
{
|
{
|
||||||
$title = sprintf(__('%s Git Source Tree'), (string) $request->project);
|
$title = sprintf(__('%s Git Source Tree'), (string) $request->project);
|
||||||
@ -78,6 +80,7 @@ class IDF_Views_Source
|
|||||||
$request);
|
$request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public $tree_precond = array('IDF_Precondition::accessSource');
|
||||||
public function tree($request, $match)
|
public function tree($request, $match)
|
||||||
{
|
{
|
||||||
$title = sprintf(__('%s Git Source Tree'), (string) $request->project);
|
$title = sprintf(__('%s Git Source Tree'), (string) $request->project);
|
||||||
@ -149,6 +152,7 @@ class IDF_Views_Source
|
|||||||
return '<span class="breadcrumb">'.implode('<span class="sep">'.$sep.'</span>', $out).'</span>';
|
return '<span class="breadcrumb">'.implode('<span class="sep">'.$sep.'</span>', $out).'</span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public $commit_precond = array('IDF_Precondition::accessSource');
|
||||||
public function commit($request, $match)
|
public function commit($request, $match)
|
||||||
{
|
{
|
||||||
$git = new IDF_Git($request->project->getGitRepository());
|
$git = new IDF_Git($request->project->getGitRepository());
|
||||||
@ -182,6 +186,7 @@ class IDF_Views_Source
|
|||||||
* Get a zip archive of the current commit.
|
* Get a zip archive of the current commit.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
public $download_precond = array('IDF_Precondition::accessSource');
|
||||||
public function download($request, $match)
|
public function download($request, $match)
|
||||||
{
|
{
|
||||||
$commit = trim($match[2]);
|
$commit = trim($match[2]);
|
||||||
|
@ -103,8 +103,8 @@ $cfg['db_database'] = 'website';
|
|||||||
$cfg['installed_apps'] = array('Pluf', 'IDF');
|
$cfg['installed_apps'] = array('Pluf', 'IDF');
|
||||||
$cfg['pluf_use_rowpermission'] = true;
|
$cfg['pluf_use_rowpermission'] = true;
|
||||||
$cfg['middleware_classes'] = array(
|
$cfg['middleware_classes'] = array(
|
||||||
'IDF_Middleware',
|
|
||||||
'Pluf_Middleware_Session',
|
'Pluf_Middleware_Session',
|
||||||
|
'IDF_Middleware',
|
||||||
'Pluf_Middleware_Translation',
|
'Pluf_Middleware_Translation',
|
||||||
);
|
);
|
||||||
$cfg['template_context_processors'] = array('IDF_Middleware_ContextPreProcessor');
|
$cfg['template_context_processors'] = array('IDF_Middleware_ContextPreProcessor');
|
||||||
|
@ -206,4 +206,10 @@ $ctl[] = array('regex' => '#^/p/(\w+)/admin/members/$#',
|
|||||||
'model' => 'IDF_Views_Project',
|
'model' => 'IDF_Views_Project',
|
||||||
'method' => 'adminMembers');
|
'method' => 'adminMembers');
|
||||||
|
|
||||||
|
$ctl[] = array('regex' => '#^/p/(\w+)/admin/tabs/$#',
|
||||||
|
'base' => $base,
|
||||||
|
'priority' => 4,
|
||||||
|
'model' => 'IDF_Views_Project',
|
||||||
|
'method' => 'adminTabs');
|
||||||
|
|
||||||
return $ctl;
|
return $ctl;
|
||||||
|
@ -2,8 +2,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: InDefero\n"
|
"Project-Id-Version: InDefero\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2008-08-06 22:28+0200\n"
|
"POT-Creation-Date: 2008-08-07 15:31+0200\n"
|
||||||
"PO-Revision-Date: 2008-08-06 22:30+0100\n"
|
"PO-Revision-Date: 2008-08-07 15:34+0100\n"
|
||||||
"Last-Translator: Loïc d'Anterroches <titoo@users.sourceforge.net>\n"
|
"Last-Translator: Loïc d'Anterroches <titoo@users.sourceforge.net>\n"
|
||||||
"Language-Team: Translation team <titoo@users.sourceforge.net>\n"
|
"Language-Team: Translation team <titoo@users.sourceforge.net>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -101,6 +101,7 @@ msgid "modification date"
|
|||||||
msgstr "date de modification"
|
msgstr "date de modification"
|
||||||
|
|
||||||
#: IDF/Middleware.php:50
|
#: IDF/Middleware.php:50
|
||||||
|
#: IDF/Middleware.php:51
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "The page <em>%s</em> was not found on the server."
|
msgid "The page <em>%s</em> was not found on the server."
|
||||||
msgstr "Cette page <em>%s</em> n'a pas été trouvée sur le serveur."
|
msgstr "Cette page <em>%s</em> n'a pas été trouvée sur le serveur."
|
||||||
@ -186,48 +187,58 @@ msgid "Here to Help You!"
|
|||||||
msgstr "Ici pour vous aider !"
|
msgstr "Ici pour vous aider !"
|
||||||
|
|
||||||
#: IDF/Views/Project.php:62
|
#: IDF/Views/Project.php:62
|
||||||
|
#: IDF/Views/Project.php:65
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Project Summary"
|
msgid "%s Project Summary"
|
||||||
msgstr "Résumé du projet %s"
|
msgstr "Résumé du projet %s"
|
||||||
|
|
||||||
#: IDF/Views/Project.php:69
|
#: IDF/Views/Project.php:69
|
||||||
|
#: IDF/Views/Project.php:72
|
||||||
msgid "The project has been updated."
|
msgid "The project has been updated."
|
||||||
msgstr "Le projet a été mis à jour."
|
msgstr "Le projet a été mis à jour."
|
||||||
|
|
||||||
#: IDF/Views/Project.php:93
|
#: IDF/Views/Project.php:93
|
||||||
|
#: IDF/Views/Project.php:96
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Issue Tracking Configuration"
|
msgid "%s Issue Tracking Configuration"
|
||||||
msgstr "Configuration du gestionnaire de tickets de %s"
|
msgstr "Configuration du gestionnaire de tickets de %s"
|
||||||
|
|
||||||
#: IDF/Views/Project.php:102
|
#: IDF/Views/Project.php:102
|
||||||
|
#: IDF/Views/Project.php:105
|
||||||
msgid "The issue tracking configuration has been saved."
|
msgid "The issue tracking configuration has been saved."
|
||||||
msgstr "La configuration du gestionnaire de tickets a été sauvegardée."
|
msgstr "La configuration du gestionnaire de tickets a été sauvegardée."
|
||||||
|
|
||||||
#: IDF/Views/Project.php:137
|
#: IDF/Views/Project.php:137
|
||||||
|
#: IDF/Views/Project.php:140
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Downloads Configuration"
|
msgid "%s Downloads Configuration"
|
||||||
msgstr "Configuration des Téléchargements de %s"
|
msgstr "Configuration des Téléchargements de %s"
|
||||||
|
|
||||||
#: IDF/Views/Project.php:146
|
#: IDF/Views/Project.php:146
|
||||||
|
#: IDF/Views/Project.php:149
|
||||||
msgid "The downloads configuration has been saved."
|
msgid "The downloads configuration has been saved."
|
||||||
msgstr "La configuration des téléchargements a été sauvegardée."
|
msgstr "La configuration des téléchargements a été sauvegardée."
|
||||||
|
|
||||||
#: IDF/Views/Project.php:180
|
#: IDF/Views/Project.php:180
|
||||||
|
#: IDF/Views/Project.php:183
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Project Members"
|
msgid "%s Project Members"
|
||||||
msgstr "Membres du projet %s"
|
msgstr "Membres du projet %s"
|
||||||
|
|
||||||
#: IDF/Views/Project.php:189
|
#: IDF/Views/Project.php:189
|
||||||
|
#: IDF/Views/Project.php:192
|
||||||
msgid "The project membership has been saved."
|
msgid "The project membership has been saved."
|
||||||
msgstr "Les membres du projet ont été sauvegardés."
|
msgstr "Les membres du projet ont été sauvegardés."
|
||||||
|
|
||||||
#: IDF/Views/Download.php:44
|
#: IDF/Views/Download.php:44
|
||||||
|
#: IDF/Views/Download.php:45
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Downloads"
|
msgid "%s Downloads"
|
||||||
msgstr "Téléchargements de %s"
|
msgstr "Téléchargements de %s"
|
||||||
|
|
||||||
#: IDF/Views/Download.php:50
|
#: IDF/Views/Download.php:50
|
||||||
#: IDF/Views/Download.php:52
|
#: IDF/Views/Download.php:52
|
||||||
|
#: IDF/Views/Download.php:51
|
||||||
msgid "This table shows the files to download."
|
msgid "This table shows the files to download."
|
||||||
msgstr "Ce tableau présente la liste des fichiers en téléchargement."
|
msgstr "Ce tableau présente la liste des fichiers en téléchargement."
|
||||||
|
|
||||||
@ -237,6 +248,8 @@ msgstr "Ce tableau présente la liste des fichiers en téléchargement."
|
|||||||
#: IDF/Views/Download.php:56
|
#: IDF/Views/Download.php:56
|
||||||
#: IDF/Views/Download.php:212
|
#: IDF/Views/Download.php:212
|
||||||
#: IDF/Views/Download.php:218
|
#: IDF/Views/Download.php:218
|
||||||
|
#: IDF/Views/Download.php:55
|
||||||
|
#: IDF/Views/Download.php:223
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr "Fichier"
|
msgstr "Fichier"
|
||||||
|
|
||||||
@ -252,6 +265,12 @@ msgstr "Fichier"
|
|||||||
#: IDF/Views/Download.php:57
|
#: IDF/Views/Download.php:57
|
||||||
#: IDF/Views/Download.php:213
|
#: IDF/Views/Download.php:213
|
||||||
#: IDF/Views/Download.php:219
|
#: IDF/Views/Download.php:219
|
||||||
|
#: IDF/Views/Download.php:56
|
||||||
|
#: IDF/Views/Download.php:224
|
||||||
|
#: IDF/Views/Issue.php:58
|
||||||
|
#: IDF/Views/Issue.php:111
|
||||||
|
#: IDF/Views/Issue.php:233
|
||||||
|
#: IDF/Views/Issue.php:287
|
||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr "Résumé"
|
msgstr "Résumé"
|
||||||
|
|
||||||
@ -260,6 +279,8 @@ msgstr "Résumé"
|
|||||||
#: IDF/Views/Download.php:58
|
#: IDF/Views/Download.php:58
|
||||||
#: IDF/Views/Download.php:214
|
#: IDF/Views/Download.php:214
|
||||||
#: IDF/Views/Download.php:220
|
#: IDF/Views/Download.php:220
|
||||||
|
#: IDF/Views/Download.php:57
|
||||||
|
#: IDF/Views/Download.php:225
|
||||||
msgid "Size"
|
msgid "Size"
|
||||||
msgstr "Taille"
|
msgstr "Taille"
|
||||||
|
|
||||||
@ -267,6 +288,8 @@ msgstr "Taille"
|
|||||||
#: IDF/Views/Download.php:59
|
#: IDF/Views/Download.php:59
|
||||||
#: IDF/Views/Download.php:215
|
#: IDF/Views/Download.php:215
|
||||||
#: IDF/Views/Download.php:221
|
#: IDF/Views/Download.php:221
|
||||||
|
#: IDF/Views/Download.php:58
|
||||||
|
#: IDF/Views/Download.php:226
|
||||||
msgid "Uploaded"
|
msgid "Uploaded"
|
||||||
msgstr "Mis en ligne"
|
msgstr "Mis en ligne"
|
||||||
|
|
||||||
@ -274,11 +297,14 @@ msgstr "Mis en ligne"
|
|||||||
#: IDF/Views/Download.php:63
|
#: IDF/Views/Download.php:63
|
||||||
#: IDF/Views/Download.php:219
|
#: IDF/Views/Download.php:219
|
||||||
#: IDF/Views/Download.php:225
|
#: IDF/Views/Download.php:225
|
||||||
|
#: IDF/Views/Download.php:62
|
||||||
|
#: IDF/Views/Download.php:230
|
||||||
msgid "No downloads were found."
|
msgid "No downloads were found."
|
||||||
msgstr "Aucun fichier n'a été trouvé."
|
msgstr "Aucun fichier n'a été trouvé."
|
||||||
|
|
||||||
#: IDF/Views/Download.php:81
|
#: IDF/Views/Download.php:81
|
||||||
#: IDF/Views/Download.php:83
|
#: IDF/Views/Download.php:83
|
||||||
|
#: IDF/Views/Download.php:85
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Download %s"
|
msgid "Download %s"
|
||||||
msgstr "Télécharger %s"
|
msgstr "Télécharger %s"
|
||||||
@ -286,6 +312,7 @@ msgstr "Télécharger %s"
|
|||||||
#: IDF/Views/Download.php:94
|
#: IDF/Views/Download.php:94
|
||||||
#: IDF/Views/Download.php:96
|
#: IDF/Views/Download.php:96
|
||||||
#: IDF/Views/Download.php:100
|
#: IDF/Views/Download.php:100
|
||||||
|
#: IDF/Views/Download.php:102
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "The file <a href=\"%1$s\">%2$s</a> has been updated."
|
msgid "The file <a href=\"%1$s\">%2$s</a> has been updated."
|
||||||
msgstr "Le fichier <a href=\"%1$s\">%2$s</a> a été mis à jour."
|
msgstr "Le fichier <a href=\"%1$s\">%2$s</a> a été mis à jour."
|
||||||
@ -295,23 +322,28 @@ msgstr "Le fichier <a href=\"%1$s\">%2$s</a> a été mis à jour."
|
|||||||
#: IDF/gettexttemplates/downloads/index.html.php:3
|
#: IDF/gettexttemplates/downloads/index.html.php:3
|
||||||
#: IDF/Views/Download.php:137
|
#: IDF/Views/Download.php:137
|
||||||
#: IDF/Views/Download.php:143
|
#: IDF/Views/Download.php:143
|
||||||
|
#: IDF/Views/Download.php:147
|
||||||
msgid "New Download"
|
msgid "New Download"
|
||||||
msgstr "Nouveau téléchargement"
|
msgstr "Nouveau téléchargement"
|
||||||
|
|
||||||
#: IDF/Views/Download.php:144
|
#: IDF/Views/Download.php:144
|
||||||
#: IDF/Views/Download.php:146
|
#: IDF/Views/Download.php:146
|
||||||
#: IDF/Views/Download.php:152
|
#: IDF/Views/Download.php:152
|
||||||
|
#: IDF/Views/Download.php:156
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "The <a href=\"%s\">file</a> has been uploaded."
|
msgid "The <a href=\"%s\">file</a> has been uploaded."
|
||||||
msgstr "Le <a href=\"%s\">fichier</a> a été mis en ligne."
|
msgstr "Le <a href=\"%s\">fichier</a> a été mis en ligne."
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:40
|
#: IDF/Views/Issue.php:40
|
||||||
|
#: IDF/Views/Issue.php:41
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Recent Issues"
|
msgid "%s Recent Issues"
|
||||||
msgstr "Tickets récents de %s"
|
msgstr "Tickets récents de %s"
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:49
|
#: IDF/Views/Issue.php:49
|
||||||
#: IDF/Views/Issue.php:103
|
#: IDF/Views/Issue.php:103
|
||||||
|
#: IDF/Views/Issue.php:50
|
||||||
|
#: IDF/Views/Issue.php:105
|
||||||
msgid "This table shows the open recent issues."
|
msgid "This table shows the open recent issues."
|
||||||
msgstr "Ce tableau montre les tickets récents."
|
msgstr "Ce tableau montre les tickets récents."
|
||||||
|
|
||||||
@ -319,6 +351,10 @@ msgstr "Ce tableau montre les tickets récents."
|
|||||||
#: IDF/Views/Issue.php:108
|
#: IDF/Views/Issue.php:108
|
||||||
#: IDF/Views/Issue.php:227
|
#: IDF/Views/Issue.php:227
|
||||||
#: IDF/Views/Issue.php:280
|
#: IDF/Views/Issue.php:280
|
||||||
|
#: IDF/Views/Issue.php:57
|
||||||
|
#: IDF/Views/Issue.php:110
|
||||||
|
#: IDF/Views/Issue.php:232
|
||||||
|
#: IDF/Views/Issue.php:286
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr "Id"
|
msgstr "Id"
|
||||||
|
|
||||||
@ -328,6 +364,10 @@ msgstr "Id"
|
|||||||
#: IDF/Views/Issue.php:282
|
#: IDF/Views/Issue.php:282
|
||||||
#: IDF/Form/IssueCreate.php:70
|
#: IDF/Form/IssueCreate.php:70
|
||||||
#: IDF/Form/IssueUpdate.php:66
|
#: IDF/Form/IssueUpdate.php:66
|
||||||
|
#: IDF/Views/Issue.php:59
|
||||||
|
#: IDF/Views/Issue.php:112
|
||||||
|
#: IDF/Views/Issue.php:234
|
||||||
|
#: IDF/Views/Issue.php:288
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Statut"
|
msgstr "Statut"
|
||||||
|
|
||||||
@ -335,6 +375,10 @@ msgstr "Statut"
|
|||||||
#: IDF/Views/Issue.php:111
|
#: IDF/Views/Issue.php:111
|
||||||
#: IDF/Views/Issue.php:230
|
#: IDF/Views/Issue.php:230
|
||||||
#: IDF/Views/Issue.php:283
|
#: IDF/Views/Issue.php:283
|
||||||
|
#: IDF/Views/Issue.php:60
|
||||||
|
#: IDF/Views/Issue.php:113
|
||||||
|
#: IDF/Views/Issue.php:235
|
||||||
|
#: IDF/Views/Issue.php:289
|
||||||
msgid "Last Updated"
|
msgid "Last Updated"
|
||||||
msgstr "Dernière mise à jour"
|
msgstr "Dernière mise à jour"
|
||||||
|
|
||||||
@ -342,58 +386,73 @@ msgstr "Dernière mise à jour"
|
|||||||
#: IDF/Views/Issue.php:115
|
#: IDF/Views/Issue.php:115
|
||||||
#: IDF/Views/Issue.php:234
|
#: IDF/Views/Issue.php:234
|
||||||
#: IDF/Views/Issue.php:287
|
#: IDF/Views/Issue.php:287
|
||||||
|
#: IDF/Views/Issue.php:64
|
||||||
|
#: IDF/Views/Issue.php:117
|
||||||
|
#: IDF/Views/Issue.php:239
|
||||||
|
#: IDF/Views/Issue.php:293
|
||||||
msgid "No issues were found."
|
msgid "No issues were found."
|
||||||
msgstr "Aucun ticket n'a été trouvé."
|
msgstr "Aucun ticket n'a été trouvé."
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:87
|
#: IDF/Views/Issue.php:87
|
||||||
|
#: IDF/Views/Issue.php:89
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "My Submitted %s Issues"
|
msgid "My Submitted %s Issues"
|
||||||
msgstr "Mes tickets soumis pour %s"
|
msgstr "Mes tickets soumis pour %s"
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:90
|
#: IDF/Views/Issue.php:90
|
||||||
|
#: IDF/Views/Issue.php:92
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "My Working %s Issues"
|
msgid "My Working %s Issues"
|
||||||
msgstr "Mes tickets en cours pour %s"
|
msgstr "Mes tickets en cours pour %s"
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:131
|
#: IDF/Views/Issue.php:131
|
||||||
|
#: IDF/Views/Issue.php:134
|
||||||
msgid "Submit a new issue"
|
msgid "Submit a new issue"
|
||||||
msgstr "Soumettre un nouveau ticket"
|
msgstr "Soumettre un nouveau ticket"
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:143
|
#: IDF/Views/Issue.php:143
|
||||||
|
#: IDF/Views/Issue.php:146
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "<a href=\"%s\">Issue %d</a> has been created."
|
msgid "<a href=\"%s\">Issue %d</a> has been created."
|
||||||
msgstr "Le <a href=\"%s\">ticket %d</a> a été créé."
|
msgstr "Le <a href=\"%s\">ticket %d</a> a été créé."
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:168
|
#: IDF/Views/Issue.php:168
|
||||||
|
#: IDF/Views/Issue.php:172
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Issue <a href=\"%s\">%d</a>: %s"
|
msgid "Issue <a href=\"%s\">%d</a>: %s"
|
||||||
msgstr "Ticket <a href=\"%s\">%d</a> : %s"
|
msgstr "Ticket <a href=\"%s\">%d</a> : %s"
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:184
|
#: IDF/Views/Issue.php:184
|
||||||
|
#: IDF/Views/Issue.php:188
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "<a href=\"%s\">Issue %d</a> has been updated."
|
msgid "<a href=\"%s\">Issue %d</a> has been updated."
|
||||||
msgstr "Le <a href=\"%s\">ticket %d</a> a été mise à jour."
|
msgstr "Le <a href=\"%s\">ticket %d</a> a été mise à jour."
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:211
|
#: IDF/Views/Issue.php:211
|
||||||
|
#: IDF/Views/Issue.php:216
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Closed Issues"
|
msgid "%s Closed Issues"
|
||||||
msgstr "Tickets fermés de %s"
|
msgstr "Tickets fermés de %s"
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:220
|
#: IDF/Views/Issue.php:220
|
||||||
|
#: IDF/Views/Issue.php:225
|
||||||
msgid "This table shows the closed issues."
|
msgid "This table shows the closed issues."
|
||||||
msgstr "Ce tableau montre les tickets fermés."
|
msgstr "Ce tableau montre les tickets fermés."
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:258
|
#: IDF/Views/Issue.php:258
|
||||||
|
#: IDF/Views/Issue.php:264
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s Issues with Label %2$s"
|
msgid "%1$s Issues with Label %2$s"
|
||||||
msgstr "%1$s tickets avec l'étiquette %2$s"
|
msgstr "%1$s tickets avec l'étiquette %2$s"
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:261
|
#: IDF/Views/Issue.php:261
|
||||||
|
#: IDF/Views/Issue.php:267
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s Closed Issues with Label %2$s"
|
msgid "%1$s Closed Issues with Label %2$s"
|
||||||
msgstr "Tickets fermés de %1$s avec l'étiquette %2$s"
|
msgstr "Tickets fermés de %1$s avec l'étiquette %2$s"
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:273
|
#: IDF/Views/Issue.php:273
|
||||||
|
#: IDF/Views/Issue.php:279
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "This table shows the issues with label %s."
|
msgid "This table shows the issues with label %s."
|
||||||
msgstr "Ce tableau montre les tickets avec l'étiquette %s."
|
msgstr "Ce tableau montre les tickets avec l'étiquette %s."
|
||||||
@ -429,16 +488,19 @@ msgid "Project Home"
|
|||||||
msgstr "Page d'Accueil"
|
msgstr "Page d'Accueil"
|
||||||
|
|
||||||
#: IDF/gettexttemplates/base.html.php:9
|
#: IDF/gettexttemplates/base.html.php:9
|
||||||
|
#: IDF/Form/TabsConf.php:36
|
||||||
msgid "Issues"
|
msgid "Issues"
|
||||||
msgstr "Tickets"
|
msgstr "Tickets"
|
||||||
|
|
||||||
#: IDF/gettexttemplates/base.html.php:10
|
#: IDF/gettexttemplates/base.html.php:10
|
||||||
#: IDF/gettexttemplates/downloads/base.html.php:3
|
#: IDF/gettexttemplates/downloads/base.html.php:3
|
||||||
#: IDF/gettexttemplates/admin/base.html.php:6
|
#: IDF/gettexttemplates/admin/base.html.php:6
|
||||||
|
#: IDF/Form/TabsConf.php:34
|
||||||
msgid "Downloads"
|
msgid "Downloads"
|
||||||
msgstr "Téléchargements"
|
msgstr "Téléchargements"
|
||||||
|
|
||||||
#: IDF/gettexttemplates/base.html.php:11
|
#: IDF/gettexttemplates/base.html.php:11
|
||||||
|
#: IDF/Form/TabsConf.php:35
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Source"
|
msgstr "Source"
|
||||||
|
|
||||||
@ -636,6 +698,7 @@ msgstr ""
|
|||||||
#: IDF/gettexttemplates/admin/issue-tracking.html.php:8
|
#: IDF/gettexttemplates/admin/issue-tracking.html.php:8
|
||||||
#: IDF/gettexttemplates/admin/members.html.php:13
|
#: IDF/gettexttemplates/admin/members.html.php:13
|
||||||
#: IDF/gettexttemplates/admin/summary.html.php:8
|
#: IDF/gettexttemplates/admin/summary.html.php:8
|
||||||
|
#: IDF/gettexttemplates/admin/tabs.html.php:5
|
||||||
msgid "Save Changes"
|
msgid "Save Changes"
|
||||||
msgstr "Enregistrer les changements"
|
msgstr "Enregistrer les changements"
|
||||||
|
|
||||||
@ -1214,42 +1277,51 @@ msgid "No changes were entered."
|
|||||||
msgstr "Aucun changement n'a été entré."
|
msgstr "Aucun changement n'a été entré."
|
||||||
|
|
||||||
#: IDF/Form/MembersConf.php:46
|
#: IDF/Form/MembersConf.php:46
|
||||||
|
#: IDF/Form/TabsConf.php:47
|
||||||
msgid "Project owners"
|
msgid "Project owners"
|
||||||
msgstr "Propriétaires du projet"
|
msgstr "Propriétaires du projet"
|
||||||
|
|
||||||
#: IDF/Form/MembersConf.php:54
|
#: IDF/Form/MembersConf.php:54
|
||||||
|
#: IDF/Form/TabsConf.php:46
|
||||||
msgid "Project members"
|
msgid "Project members"
|
||||||
msgstr "Membres du projet"
|
msgstr "Membres du projet"
|
||||||
|
|
||||||
#: IDF/Views/Source.php:36
|
#: IDF/Views/Source.php:36
|
||||||
|
#: IDF/Views/Source.php:37
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Git Change Log"
|
msgid "%s Git Change Log"
|
||||||
msgstr "Changements Git de %s"
|
msgstr "Changements Git de %s"
|
||||||
|
|
||||||
#: IDF/Views/Source.php:54
|
#: IDF/Views/Source.php:54
|
||||||
#: IDF/Views/Source.php:83
|
#: IDF/Views/Source.php:83
|
||||||
|
#: IDF/Views/Source.php:56
|
||||||
|
#: IDF/Views/Source.php:86
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Git Source Tree"
|
msgid "%s Git Source Tree"
|
||||||
msgstr "Arbre des sources Git de %s"
|
msgstr "Arbre des sources Git de %s"
|
||||||
|
|
||||||
#: IDF/Views/Source.php:164
|
#: IDF/Views/Source.php:164
|
||||||
|
#: IDF/Views/Source.php:168
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Commit Details"
|
msgid "%s Commit Details"
|
||||||
msgstr "Détails d'un commit de %s"
|
msgstr "Détails d'un commit de %s"
|
||||||
|
|
||||||
#: IDF/Views/Source.php:165
|
#: IDF/Views/Source.php:165
|
||||||
|
#: IDF/Views/Source.php:169
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Commit Details - %s"
|
msgid "%s Commit Details - %s"
|
||||||
msgstr "Détails d'un commit de %s - %s"
|
msgstr "Détails d'un commit de %s - %s"
|
||||||
|
|
||||||
#: IDF/Views/Download.php:199
|
#: IDF/Views/Download.php:199
|
||||||
#: IDF/Views/Download.php:205
|
#: IDF/Views/Download.php:205
|
||||||
|
#: IDF/Views/Download.php:210
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s Downloads with Label %2$s"
|
msgid "%1$s Downloads with Label %2$s"
|
||||||
msgstr "Téléchargements avec l'étiquette %2$s de %1$s"
|
msgstr "Téléchargements avec l'étiquette %2$s de %1$s"
|
||||||
|
|
||||||
#: IDF/Views/Download.php:207
|
#: IDF/Views/Download.php:207
|
||||||
#: IDF/Views/Download.php:213
|
#: IDF/Views/Download.php:213
|
||||||
|
#: IDF/Views/Download.php:218
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "This table shows the downloads with label %s."
|
msgid "This table shows the downloads with label %s."
|
||||||
msgstr "Ce tableau montre les téléchargements avec l'étiquette %s."
|
msgstr "Ce tableau montre les téléchargements avec l'étiquette %s."
|
||||||
@ -1258,3 +1330,40 @@ msgstr "Ce tableau montre les téléchargements avec l'étiquette %s."
|
|||||||
msgid "<strong>Attention!</strong> This file is marked as deprecated, download it only if you are sure you need this specific version."
|
msgid "<strong>Attention!</strong> This file is marked as deprecated, download it only if you are sure you need this specific version."
|
||||||
msgstr "<strong>Attention !</strong> Ce fichier est marqué comme obsolète, téléchargez ce fichier uniquement si vous avez besoin de cette version."
|
msgstr "<strong>Attention !</strong> Ce fichier est marqué comme obsolète, téléchargez ce fichier uniquement si vous avez besoin de cette version."
|
||||||
|
|
||||||
|
#: IDF/Views/Project.php:215
|
||||||
|
#, php-format
|
||||||
|
msgid "%s Tabs Access Rights"
|
||||||
|
msgstr "Accès aux onglets de %s"
|
||||||
|
|
||||||
|
#: IDF/Views/Project.php:225
|
||||||
|
msgid "The project tabs access rights have been saved."
|
||||||
|
msgstr "Les droits d'accès aux onglets du projet ont été sauvegardés."
|
||||||
|
|
||||||
|
#: IDF/gettexttemplates/admin/base.html.php:7
|
||||||
|
msgid "Tabs Access"
|
||||||
|
msgstr "Accès aux onglets"
|
||||||
|
|
||||||
|
#: IDF/gettexttemplates/admin/tabs.html.php:3
|
||||||
|
msgid "You can configure here the project tabs access rights."
|
||||||
|
msgstr "Vous pouvez configurer ici les droits d'accès aux onglets."
|
||||||
|
|
||||||
|
#: IDF/gettexttemplates/admin/tabs.html.php:4
|
||||||
|
msgid "The form contains some errors. Please correct them to update the access rights."
|
||||||
|
msgstr "Le formulaire contient des erreurs. Merci de les corriger pour mettre à jour les droits d'accès."
|
||||||
|
|
||||||
|
#: IDF/gettexttemplates/admin/tabs.html.php:6
|
||||||
|
msgid "Instructions:"
|
||||||
|
msgstr "Instructions :"
|
||||||
|
|
||||||
|
#: IDF/Form/TabsConf.php:44
|
||||||
|
msgid "Open to all"
|
||||||
|
msgstr "Ouvert à tous"
|
||||||
|
|
||||||
|
#: IDF/Form/TabsConf.php:45
|
||||||
|
msgid "Signed in users"
|
||||||
|
msgstr "Utilisateurs authentifiés"
|
||||||
|
|
||||||
|
#: IDF/Form/TabsConf.php:48
|
||||||
|
msgid "Closed"
|
||||||
|
msgstr "Fermé"
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2008-08-06 22:28+0200\n"
|
"POT-Creation-Date: 2008-08-07 15:31+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -92,7 +92,7 @@ msgstr ""
|
|||||||
msgid "modification date"
|
msgid "modification date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Middleware.php:50
|
#: IDF/Middleware.php:50 IDF/Middleware.php:51
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "The page <em>%s</em> was not found on the server."
|
msgid "The page <em>%s</em> was not found on the server."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -176,54 +176,56 @@ msgstr ""
|
|||||||
msgid "Here to Help You!"
|
msgid "Here to Help You!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Project.php:62
|
#: IDF/Views/Project.php:62 IDF/Views/Project.php:65
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Project Summary"
|
msgid "%s Project Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Project.php:69
|
#: IDF/Views/Project.php:69 IDF/Views/Project.php:72
|
||||||
msgid "The project has been updated."
|
msgid "The project has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Project.php:93
|
#: IDF/Views/Project.php:93 IDF/Views/Project.php:96
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Issue Tracking Configuration"
|
msgid "%s Issue Tracking Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Project.php:102
|
#: IDF/Views/Project.php:102 IDF/Views/Project.php:105
|
||||||
msgid "The issue tracking configuration has been saved."
|
msgid "The issue tracking configuration has been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Project.php:137
|
#: IDF/Views/Project.php:137 IDF/Views/Project.php:140
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Downloads Configuration"
|
msgid "%s Downloads Configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Project.php:146
|
#: IDF/Views/Project.php:146 IDF/Views/Project.php:149
|
||||||
msgid "The downloads configuration has been saved."
|
msgid "The downloads configuration has been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Project.php:180
|
#: IDF/Views/Project.php:180 IDF/Views/Project.php:183
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Project Members"
|
msgid "%s Project Members"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Project.php:189
|
#: IDF/Views/Project.php:189 IDF/Views/Project.php:192
|
||||||
msgid "The project membership has been saved."
|
msgid "The project membership has been saved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:44
|
#: IDF/Views/Download.php:44 IDF/Views/Download.php:45
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Downloads"
|
msgid "%s Downloads"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:50 IDF/Views/Download.php:52
|
#: IDF/Views/Download.php:50 IDF/Views/Download.php:52
|
||||||
|
#: IDF/Views/Download.php:51
|
||||||
msgid "This table shows the files to download."
|
msgid "This table shows the files to download."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:54 IDF/gettexttemplates/source/tree.html.php:6
|
#: IDF/Views/Download.php:54 IDF/gettexttemplates/source/tree.html.php:6
|
||||||
#: IDF/Form/Upload.php:49 IDF/Views/Download.php:56 IDF/Views/Download.php:212
|
#: IDF/Form/Upload.php:49 IDF/Views/Download.php:56 IDF/Views/Download.php:212
|
||||||
#: IDF/Views/Download.php:218
|
#: IDF/Views/Download.php:218 IDF/Views/Download.php:55
|
||||||
|
#: IDF/Views/Download.php:223
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -232,127 +234,138 @@ msgstr ""
|
|||||||
#: IDF/Form/IssueCreate.php:50 IDF/Form/UpdateUpload.php:42
|
#: IDF/Form/IssueCreate.php:50 IDF/Form/UpdateUpload.php:42
|
||||||
#: IDF/Form/IssueUpdate.php:45 IDF/Views/Download.php:57
|
#: IDF/Form/IssueUpdate.php:45 IDF/Views/Download.php:57
|
||||||
#: IDF/Views/Download.php:213 IDF/Views/Download.php:219
|
#: IDF/Views/Download.php:213 IDF/Views/Download.php:219
|
||||||
|
#: IDF/Views/Download.php:56 IDF/Views/Download.php:224 IDF/Views/Issue.php:58
|
||||||
|
#: IDF/Views/Issue.php:111 IDF/Views/Issue.php:233 IDF/Views/Issue.php:287
|
||||||
msgid "Summary"
|
msgid "Summary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:56 IDF/gettexttemplates/source/tree.html.php:9
|
#: IDF/Views/Download.php:56 IDF/gettexttemplates/source/tree.html.php:9
|
||||||
#: IDF/Views/Download.php:58 IDF/Views/Download.php:214
|
#: IDF/Views/Download.php:58 IDF/Views/Download.php:214
|
||||||
#: IDF/Views/Download.php:220
|
#: IDF/Views/Download.php:220 IDF/Views/Download.php:57
|
||||||
|
#: IDF/Views/Download.php:225
|
||||||
msgid "Size"
|
msgid "Size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:57 IDF/Views/Download.php:59
|
#: IDF/Views/Download.php:57 IDF/Views/Download.php:59
|
||||||
#: IDF/Views/Download.php:215 IDF/Views/Download.php:221
|
#: IDF/Views/Download.php:215 IDF/Views/Download.php:221
|
||||||
|
#: IDF/Views/Download.php:58 IDF/Views/Download.php:226
|
||||||
msgid "Uploaded"
|
msgid "Uploaded"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:61 IDF/Views/Download.php:63
|
#: IDF/Views/Download.php:61 IDF/Views/Download.php:63
|
||||||
#: IDF/Views/Download.php:219 IDF/Views/Download.php:225
|
#: IDF/Views/Download.php:219 IDF/Views/Download.php:225
|
||||||
|
#: IDF/Views/Download.php:62 IDF/Views/Download.php:230
|
||||||
msgid "No downloads were found."
|
msgid "No downloads were found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:81 IDF/Views/Download.php:83
|
#: IDF/Views/Download.php:81 IDF/Views/Download.php:83
|
||||||
|
#: IDF/Views/Download.php:85
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Download %s"
|
msgid "Download %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:94 IDF/Views/Download.php:96
|
#: IDF/Views/Download.php:94 IDF/Views/Download.php:96
|
||||||
#: IDF/Views/Download.php:100
|
#: IDF/Views/Download.php:100 IDF/Views/Download.php:102
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "The file <a href=\"%1$s\">%2$s</a> has been updated."
|
msgid "The file <a href=\"%1$s\">%2$s</a> has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:135 IDF/gettexttemplates/downloads/base.html.php:4
|
#: IDF/Views/Download.php:135 IDF/gettexttemplates/downloads/base.html.php:4
|
||||||
#: IDF/gettexttemplates/downloads/index.html.php:3 IDF/Views/Download.php:137
|
#: IDF/gettexttemplates/downloads/index.html.php:3 IDF/Views/Download.php:137
|
||||||
#: IDF/Views/Download.php:143
|
#: IDF/Views/Download.php:143 IDF/Views/Download.php:147
|
||||||
msgid "New Download"
|
msgid "New Download"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:144 IDF/Views/Download.php:146
|
#: IDF/Views/Download.php:144 IDF/Views/Download.php:146
|
||||||
#: IDF/Views/Download.php:152
|
#: IDF/Views/Download.php:152 IDF/Views/Download.php:156
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "The <a href=\"%s\">file</a> has been uploaded."
|
msgid "The <a href=\"%s\">file</a> has been uploaded."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:40
|
#: IDF/Views/Issue.php:40 IDF/Views/Issue.php:41
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Recent Issues"
|
msgid "%s Recent Issues"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:49 IDF/Views/Issue.php:103
|
#: IDF/Views/Issue.php:49 IDF/Views/Issue.php:103 IDF/Views/Issue.php:50
|
||||||
|
#: IDF/Views/Issue.php:105
|
||||||
msgid "This table shows the open recent issues."
|
msgid "This table shows the open recent issues."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:56 IDF/Views/Issue.php:108 IDF/Views/Issue.php:227
|
#: IDF/Views/Issue.php:56 IDF/Views/Issue.php:108 IDF/Views/Issue.php:227
|
||||||
#: IDF/Views/Issue.php:280
|
#: IDF/Views/Issue.php:280 IDF/Views/Issue.php:57 IDF/Views/Issue.php:110
|
||||||
|
#: IDF/Views/Issue.php:232 IDF/Views/Issue.php:286
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:58 IDF/Views/Issue.php:110 IDF/Views/Issue.php:229
|
#: IDF/Views/Issue.php:58 IDF/Views/Issue.php:110 IDF/Views/Issue.php:229
|
||||||
#: IDF/Views/Issue.php:282 IDF/Form/IssueCreate.php:70
|
#: IDF/Views/Issue.php:282 IDF/Form/IssueCreate.php:70
|
||||||
#: IDF/Form/IssueUpdate.php:66
|
#: IDF/Form/IssueUpdate.php:66 IDF/Views/Issue.php:59 IDF/Views/Issue.php:112
|
||||||
|
#: IDF/Views/Issue.php:234 IDF/Views/Issue.php:288
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:59 IDF/Views/Issue.php:111 IDF/Views/Issue.php:230
|
#: IDF/Views/Issue.php:59 IDF/Views/Issue.php:111 IDF/Views/Issue.php:230
|
||||||
#: IDF/Views/Issue.php:283
|
#: IDF/Views/Issue.php:283 IDF/Views/Issue.php:60 IDF/Views/Issue.php:113
|
||||||
|
#: IDF/Views/Issue.php:235 IDF/Views/Issue.php:289
|
||||||
msgid "Last Updated"
|
msgid "Last Updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:63 IDF/Views/Issue.php:115 IDF/Views/Issue.php:234
|
#: IDF/Views/Issue.php:63 IDF/Views/Issue.php:115 IDF/Views/Issue.php:234
|
||||||
#: IDF/Views/Issue.php:287
|
#: IDF/Views/Issue.php:287 IDF/Views/Issue.php:64 IDF/Views/Issue.php:117
|
||||||
|
#: IDF/Views/Issue.php:239 IDF/Views/Issue.php:293
|
||||||
msgid "No issues were found."
|
msgid "No issues were found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:87
|
#: IDF/Views/Issue.php:87 IDF/Views/Issue.php:89
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "My Submitted %s Issues"
|
msgid "My Submitted %s Issues"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:90
|
#: IDF/Views/Issue.php:90 IDF/Views/Issue.php:92
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "My Working %s Issues"
|
msgid "My Working %s Issues"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:131
|
#: IDF/Views/Issue.php:131 IDF/Views/Issue.php:134
|
||||||
msgid "Submit a new issue"
|
msgid "Submit a new issue"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:143
|
#: IDF/Views/Issue.php:143 IDF/Views/Issue.php:146
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "<a href=\"%s\">Issue %d</a> has been created."
|
msgid "<a href=\"%s\">Issue %d</a> has been created."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:168
|
#: IDF/Views/Issue.php:168 IDF/Views/Issue.php:172
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Issue <a href=\"%s\">%d</a>: %s"
|
msgid "Issue <a href=\"%s\">%d</a>: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:184
|
#: IDF/Views/Issue.php:184 IDF/Views/Issue.php:188
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "<a href=\"%s\">Issue %d</a> has been updated."
|
msgid "<a href=\"%s\">Issue %d</a> has been updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:211
|
#: IDF/Views/Issue.php:211 IDF/Views/Issue.php:216
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Closed Issues"
|
msgid "%s Closed Issues"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:220
|
#: IDF/Views/Issue.php:220 IDF/Views/Issue.php:225
|
||||||
msgid "This table shows the closed issues."
|
msgid "This table shows the closed issues."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:258
|
#: IDF/Views/Issue.php:258 IDF/Views/Issue.php:264
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s Issues with Label %2$s"
|
msgid "%1$s Issues with Label %2$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:261
|
#: IDF/Views/Issue.php:261 IDF/Views/Issue.php:267
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s Closed Issues with Label %2$s"
|
msgid "%1$s Closed Issues with Label %2$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Issue.php:273
|
#: IDF/Views/Issue.php:273 IDF/Views/Issue.php:279
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "This table shows the issues with label %s."
|
msgid "This table shows the issues with label %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -389,17 +402,17 @@ msgstr ""
|
|||||||
msgid "Project Home"
|
msgid "Project Home"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/gettexttemplates/base.html.php:9
|
#: IDF/gettexttemplates/base.html.php:9 IDF/Form/TabsConf.php:36
|
||||||
msgid "Issues"
|
msgid "Issues"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/gettexttemplates/base.html.php:10
|
#: IDF/gettexttemplates/base.html.php:10
|
||||||
#: IDF/gettexttemplates/downloads/base.html.php:3
|
#: IDF/gettexttemplates/downloads/base.html.php:3
|
||||||
#: IDF/gettexttemplates/admin/base.html.php:6
|
#: IDF/gettexttemplates/admin/base.html.php:6 IDF/Form/TabsConf.php:34
|
||||||
msgid "Downloads"
|
msgid "Downloads"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/gettexttemplates/base.html.php:11
|
#: IDF/gettexttemplates/base.html.php:11 IDF/Form/TabsConf.php:35
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -587,6 +600,7 @@ msgstr ""
|
|||||||
#: IDF/gettexttemplates/admin/issue-tracking.html.php:8
|
#: IDF/gettexttemplates/admin/issue-tracking.html.php:8
|
||||||
#: IDF/gettexttemplates/admin/members.html.php:13
|
#: IDF/gettexttemplates/admin/members.html.php:13
|
||||||
#: IDF/gettexttemplates/admin/summary.html.php:8
|
#: IDF/gettexttemplates/admin/summary.html.php:8
|
||||||
|
#: IDF/gettexttemplates/admin/tabs.html.php:5
|
||||||
msgid "Save Changes"
|
msgid "Save Changes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1143,40 +1157,43 @@ msgstr ""
|
|||||||
msgid "No changes were entered."
|
msgid "No changes were entered."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Form/MembersConf.php:46
|
#: IDF/Form/MembersConf.php:46 IDF/Form/TabsConf.php:47
|
||||||
msgid "Project owners"
|
msgid "Project owners"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Form/MembersConf.php:54
|
#: IDF/Form/MembersConf.php:54 IDF/Form/TabsConf.php:46
|
||||||
msgid "Project members"
|
msgid "Project members"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Source.php:36
|
#: IDF/Views/Source.php:36 IDF/Views/Source.php:37
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Git Change Log"
|
msgid "%s Git Change Log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Source.php:54 IDF/Views/Source.php:83
|
#: IDF/Views/Source.php:54 IDF/Views/Source.php:83 IDF/Views/Source.php:56
|
||||||
|
#: IDF/Views/Source.php:86
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Git Source Tree"
|
msgid "%s Git Source Tree"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Source.php:164
|
#: IDF/Views/Source.php:164 IDF/Views/Source.php:168
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Commit Details"
|
msgid "%s Commit Details"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Source.php:165
|
#: IDF/Views/Source.php:165 IDF/Views/Source.php:169
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s Commit Details - %s"
|
msgid "%s Commit Details - %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:199 IDF/Views/Download.php:205
|
#: IDF/Views/Download.php:199 IDF/Views/Download.php:205
|
||||||
|
#: IDF/Views/Download.php:210
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%1$s Downloads with Label %2$s"
|
msgid "%1$s Downloads with Label %2$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: IDF/Views/Download.php:207 IDF/Views/Download.php:213
|
#: IDF/Views/Download.php:207 IDF/Views/Download.php:213
|
||||||
|
#: IDF/Views/Download.php:218
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "This table shows the downloads with label %s."
|
msgid "This table shows the downloads with label %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1186,3 +1203,42 @@ msgid ""
|
|||||||
"<strong>Attention!</strong> This file is marked as deprecated, download it "
|
"<strong>Attention!</strong> This file is marked as deprecated, download it "
|
||||||
"only if you are sure you need this specific version."
|
"only if you are sure you need this specific version."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: IDF/Views/Project.php:215
|
||||||
|
#, php-format
|
||||||
|
msgid "%s Tabs Access Rights"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: IDF/Views/Project.php:225
|
||||||
|
msgid "The project tabs access rights have been saved."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: IDF/gettexttemplates/admin/base.html.php:7
|
||||||
|
msgid "Tabs Access"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: IDF/gettexttemplates/admin/tabs.html.php:3
|
||||||
|
msgid "You can configure here the project tabs access rights."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: IDF/gettexttemplates/admin/tabs.html.php:4
|
||||||
|
msgid ""
|
||||||
|
"The form contains some errors. Please correct them to update the access "
|
||||||
|
"rights."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: IDF/gettexttemplates/admin/tabs.html.php:6
|
||||||
|
msgid "Instructions:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: IDF/Form/TabsConf.php:44
|
||||||
|
msgid "Open to all"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: IDF/Form/TabsConf.php:45
|
||||||
|
msgid "Signed in users"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: IDF/Form/TabsConf.php:48
|
||||||
|
msgid "Closed"
|
||||||
|
msgstr ""
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
<a {if $inSummary}class="active" {/if}href="{url 'IDF_Views_Project::admin', array($project.shortname)}">{trans 'Project Summary'}</a> |
|
<a {if $inSummary}class="active" {/if}href="{url 'IDF_Views_Project::admin', array($project.shortname)}">{trans 'Project Summary'}</a> |
|
||||||
<a {if $inMembers}class="active" {/if}href="{url 'IDF_Views_Project::adminMembers', array($project.shortname)}">{trans 'Project Members'}</a> |
|
<a {if $inMembers}class="active" {/if}href="{url 'IDF_Views_Project::adminMembers', array($project.shortname)}">{trans 'Project Members'}</a> |
|
||||||
<a {if $inIssueTracking}class="active" {/if}href="{url 'IDF_Views_Project::adminIssues', array($project.shortname)}">{trans 'Issue Tracking'}</a> |
|
<a {if $inIssueTracking}class="active" {/if}href="{url 'IDF_Views_Project::adminIssues', array($project.shortname)}">{trans 'Issue Tracking'}</a> |
|
||||||
<a {if $inDownloads}class="active" {/if}href="{url 'IDF_Views_Project::adminDownloads', array($project.shortname)}">{trans 'Downloads'}</a>
|
<a {if $inDownloads}class="active" {/if}href="{url 'IDF_Views_Project::adminDownloads', array($project.shortname)}">{trans 'Downloads'}</a> |
|
||||||
|
<a {if $inTabs}class="active" {/if}href="{url 'IDF_Views_Project::adminTabs', array($project.shortname)}">{trans 'Tabs Access'}</a>
|
||||||
</div>
|
</div>
|
||||||
{/block}
|
{/block}
|
||||||
|
45
src/IDF/templates/admin/tabs.html
Normal file
45
src/IDF/templates/admin/tabs.html
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{extends "admin/base.html"}
|
||||||
|
{block docclass}yui-t1{assign $inTabs = true}{/block}
|
||||||
|
{block body}
|
||||||
|
{if $form.errors}
|
||||||
|
<div class="px-message-error">
|
||||||
|
<p>{trans 'The form contains some errors. Please correct them to update the access rights.'}</p>
|
||||||
|
{if $form.get_top_errors}
|
||||||
|
{$form.render_top_errors|unsafe}
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
<form method="post" action=".">
|
||||||
|
<table class="form" summary="">
|
||||||
|
<tr>
|
||||||
|
<th><strong>{$form.f.downloads_access_rights.labelTag}:</strong></th>
|
||||||
|
<td>{if $form.f.downloads_access_rights.errors}{$form.f.downloads_access_rights.fieldErrors}{/if}
|
||||||
|
{$form.f.downloads_access_rights|unsafe}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><strong>{$form.f.issues_access_rights.labelTag}:</strong></th>
|
||||||
|
<td>{if $form.f.issues_access_rights.errors}{$form.f.issues_access_rights.fieldErrors}{/if}
|
||||||
|
{$form.f.issues_access_rights|unsafe}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><strong>{$form.f.source_access_rights.labelTag}:</strong></th>
|
||||||
|
<td>{if $form.f.source_access_rights.errors}{$form.f.source_access_rights.fieldErrors}{/if}
|
||||||
|
{$form.f.source_access_rights|unsafe}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="submit" value="{trans 'Save Changes'}" name="submit" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
{/block}
|
||||||
|
{block context}
|
||||||
|
<div class="issue-submit-info">
|
||||||
|
<p><strong>{trans 'Instructions:'}</strong></p>
|
||||||
|
<p>{blocktrans}You can configure here the project tabs access rights.{/blocktrans}</p>
|
||||||
|
</div>
|
||||||
|
{/block}
|
@ -42,9 +42,9 @@
|
|||||||
<div id="main-tabs">
|
<div id="main-tabs">
|
||||||
{if $project}
|
{if $project}
|
||||||
<a href="{url 'IDF_Views_Project::home', array($project.shortname)}"{block tabhome}{/block}>{trans 'Project Home'}</a>
|
<a href="{url 'IDF_Views_Project::home', array($project.shortname)}"{block tabhome}{/block}>{trans 'Project Home'}</a>
|
||||||
<a href="{url 'IDF_Views_Issue::index', array($project.shortname)}"{block tabissues}{/block}>{trans 'Issues'}</a>
|
{if $hasIssuesAccess} <a href="{url 'IDF_Views_Issue::index', array($project.shortname)}"{block tabissues}{/block}>{trans 'Issues'}</a>{/if}
|
||||||
<a href="{url 'IDF_Views_Download::index', array($project.shortname)}"{block tabdownloads}{/block}>{trans 'Downloads'}</a>
|
{if $hasDownloadsAccess} <a href="{url 'IDF_Views_Download::index', array($project.shortname)}"{block tabdownloads}{/block}>{trans 'Downloads'}</a>{/if}
|
||||||
<a href="{url 'IDF_Views_Source::treeBase', array($project.shortname, 'master')}"{block tabsource}{/block}>{trans 'Source'}</a>
|
{if $hasSourceAccess} <a href="{url 'IDF_Views_Source::treeBase', array($project.shortname, 'master')}"{block tabsource}{/block}>{trans 'Source'}</a>{/if}
|
||||||
{if $isOwner}
|
{if $isOwner}
|
||||||
<a href="{url 'IDF_Views_Project::admin', array($project.shortname)}"{block tabadmin}{/block}>{trans 'Administer'}</a>{/if}{/if}
|
<a href="{url 'IDF_Views_Project::admin', array($project.shortname)}"{block tabadmin}{/block}>{trans 'Administer'}</a>{/if}{/if}
|
||||||
</div>
|
</div>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<p>{blocktrans}Comment <a href="{$url}">{$i}</a> by {$who}, {$c.creation_dtime|date}{/blocktrans}</p>
|
<p>{blocktrans}Comment <a href="{$url}">{$i}</a> by {$who}, {$c.creation_dtime|date}{/blocktrans}</p>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<pre class="issue-comment-text">{if strlen($c.content) > 0}{issuetext $c.content, $project}{else}<i>{trans '(No comments were given for this change.)'}</i>{/if}</pre>
|
<pre class="issue-comment-text">{if strlen($c.content) > 0}{issuetext $c.content, $request}{else}<i>{trans '(No comments were given for this change.)'}</i>{/if}</pre>
|
||||||
|
|
||||||
{if $i> 0 and $c.changedIssue()}
|
{if $i> 0 and $c.changedIssue()}
|
||||||
<div class="issue-changes">
|
<div class="issue-changes">
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
<script type="text/javascript" charset="utf-8">
|
<script type="text/javascript" charset="utf-8">
|
||||||
// <!--
|
// <!--
|
||||||
{hotkey 'Shift+h', 'IDF_Views_Project::home', array($project.shortname)}
|
{hotkey 'Shift+h', 'IDF_Views_Project::home', array($project.shortname)}
|
||||||
{hotkey 'Shift+a', 'IDF_Views_Issue::create', array($project.shortname)}
|
{if $hasIssuesAccess}{hotkey 'Shift+a', 'IDF_Views_Issue::create', array($project.shortname)}
|
||||||
{hotkey 'Shift+i', 'IDF_Views_Issue::index', array($project.shortname)}
|
{hotkey 'Shift+i', 'IDF_Views_Issue::index', array($project.shortname)}{/if}
|
||||||
{hotkey 'Shift+d', 'IDF_Views_Download::index', array($project.shortname)}
|
{if $hasDownloadsAccess}{hotkey 'Shift+d', 'IDF_Views_Download::index', array($project.shortname)}{/if}
|
||||||
{hotkey 'Shift+s', 'IDF_Views_Source::treeBase', array($project.shortname, 'master')}
|
{if $hasSourceAccess}{hotkey 'Shift+s', 'IDF_Views_Source::treeBase', array($project.shortname, 'master')}{/if}
|
||||||
{if !$user.isAnonymous()}
|
{if $hasIssuesAccess and !$user.isAnonymous()}
|
||||||
{hotkey 'Shift+m', 'IDF_Views_Issue::myIssues', array($project.shortname, 'submit')}
|
{hotkey 'Shift+m', 'IDF_Views_Issue::myIssues', array($project.shortname, 'submit')}
|
||||||
{hotkey 'Shift+w', 'IDF_Views_Issue::myIssues', array($project.shortname, 'owner')}
|
{hotkey 'Shift+w', 'IDF_Views_Issue::myIssues', array($project.shortname, 'owner')}
|
||||||
{/if} //-->
|
{/if} //-->
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
{$project.description|markdown}
|
{$project.description|markdown}
|
||||||
{/block}
|
{/block}
|
||||||
{block context}
|
{block context}
|
||||||
{if $downloads.count() > 0}
|
{if count($downloads) > 0}
|
||||||
<p><strong>{trans 'Featured Downloads'}</strong><br />
|
<p><strong>{trans 'Featured Downloads'}</strong><br />
|
||||||
{foreach $downloads as $download}
|
{foreach $downloads as $download}
|
||||||
<span class="label"><a href="{url 'IDF_Views_Download::view', array($project.shortname, $download.id)}" title="{$download.summary}">{$download}</a></span><br />
|
<span class="label"><a href="{url 'IDF_Views_Download::view', array($project.shortname, $download.id)}" title="{$download.summary}">{$download}</a></span><br />
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
{aurl 'url', 'IDF_Views_Source::commit', array($project.shortname, $change.commit)}
|
{aurl 'url', 'IDF_Views_Source::commit', array($project.shortname, $change.commit)}
|
||||||
<tr class="log">
|
<tr class="log">
|
||||||
<td><a href="{$url}">{$change.date|dateago:"wihtout"}</a></td>
|
<td><a href="{$url}">{$change.date|dateago:"wihtout"}</a></td>
|
||||||
<td>{issuetext $change.title, $project}{if $change.full_message}<br /><br />{issuetext $change.full_message, $project}{/if}</td>
|
<td>{issuetext $change.title, $request}{if $change.full_message}<br /><br />{issuetext $change.full_message, $request}{/if}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="extra">
|
<tr class="extra">
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<th><strong>{trans 'Tree:'}</strong></th><td class="mono"><a href="{url 'IDF_Views_Source::treeBase', array($project.shortname, $commit)}" title="{trans 'View corresponding source tree'}">{$cobject.tree}</a><br /><br /></td>
|
<th><strong>{trans 'Tree:'}</strong></th><td class="mono"><a href="{url 'IDF_Views_Source::treeBase', array($project.shortname, $commit)}" title="{trans 'View corresponding source tree'}">{$cobject.tree}</a><br /><br /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th><strong>{trans 'Message:'}</strong></th><td>{issuetext $cobject.title, $project}{if isset($cobject.full_message)}<br /><br />{issuetext $cobject.full_message, $project}{/if}</td>
|
<th><strong>{trans 'Message:'}</strong></th><td>{issuetext $cobject.title, $request}{if isset($cobject.full_message)}<br /><br />{issuetext $cobject.full_message, $request}{/if}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{if count($diff.files)}
|
{if count($diff.files)}
|
||||||
<tr>
|
<tr>
|
||||||
|
Loading…
Reference in New Issue
Block a user