1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-01-17 06:52:27 +01:00

Merge branch 'dev' for release 4.3.2

This commit is contained in:
Sylvain 2020-03-11 12:38:01 +01:00
commit d72b5680b7
66 changed files with 1699 additions and 2154 deletions

View File

@ -1,5 +1,14 @@
# Changelog Fab-manager
## v4.3.2 2020 March 11
- Secure the session cookie
- Improved contextual help with a modal dialog
- Updated translations
- Refactored translations to help merging Crowdin PR
- Updated translation documentation
- Fix a bug: unable to create new availabilities if SLOT_DURATION is not defined
## v4.3.1 2020 March 04
- Updated user's manual for v4.3 (fr)

View File

@ -350,8 +350,6 @@ Application.Controllers.controller('AdminCalendarController', ['$scope', '$state
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('calendar') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
/* PRIVATE SCOPE */
@ -359,12 +357,7 @@ Application.Controllers.controller('AdminCalendarController', ['$scope', '$state
/**
* Kind of constructor: these actions will be realized first when the controller is loaded
*/
const initialize = function () {
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
};
const initialize = function () {};
/**
* Return an enumerable meaninful string for the gender of the provider user
@ -524,18 +517,6 @@ Application.Controllers.controller('AdminCalendarController', ['$scope', '$state
$scope.availabilityDom = null;
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('calendar');
if (tour) { tour.start(); }
}
};
// !!! MUST BE CALLED AT THE END of the controller
return initialize();
}

View File

@ -466,8 +466,6 @@ Application.Controllers.controller('AdminEventsController', ['$scope', '$state',
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('events') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
/* PRIVATE SCOPE */
@ -477,23 +475,6 @@ Application.Controllers.controller('AdminEventsController', ['$scope', '$state',
*/
const initialize = function () {
paginationCheck(eventsPromise, $scope.events);
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('events');
if (tour) { tour.start(); }
}
};
/**

View File

@ -675,8 +675,6 @@ Application.Controllers.controller('InvoicesController', ['$scope', '$state', 'I
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('invoices') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
/* PRIVATE SCOPE */
@ -718,11 +716,6 @@ Application.Controllers.controller('InvoicesController', ['$scope', '$state', 'I
);
}
});
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
};
/**
@ -790,18 +783,6 @@ Application.Controllers.controller('InvoicesController', ['$scope', '$state', 'I
});
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('invoices');
if (tour) { tour.start(); }
}
};
// !!! MUST BE CALLED AT THE END of the controller
return initialize();
}

View File

@ -431,8 +431,6 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('members') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
/* PRIVATE SCOPE */
@ -444,9 +442,6 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
if (!membersPromise[0] || (membersPromise[0].maxMembers <= $scope.members.length)) {
return $scope.member.noMore = true;
}
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
};
/**
@ -499,18 +494,6 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
});
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('members');
if (tour) { tour.start(); }
}
};
// !!! MUST BE CALLED AT THE END of the controller
return initialize();
}

View File

@ -137,8 +137,6 @@ Application.Controllers.controller('OpenAPIClientsController', ['$scope', 'clien
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('open-api') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
};
/* PRIVATE SCOPE */
@ -146,24 +144,7 @@ Application.Controllers.controller('OpenAPIClientsController', ['$scope', 'clien
/**
* Kind of constructor: these actions will be realized first when the controller is loaded
*/
const initialize = function () {
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('open-api');
if (tour) { tour.start(); }
}
};
const initialize = function () {};
// !!! MUST BE CALLED AT THE END of the controller
return initialize();

View File

@ -714,8 +714,6 @@ Application.Controllers.controller('EditPricingController', ['$scope', '$state',
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('pricing') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
/* PRIVATE SCOPE */
@ -726,11 +724,6 @@ Application.Controllers.controller('EditPricingController', ['$scope', '$state',
const initialize = function () {
$scope.trainingCreditsGroups = groupCreditsByPlan($scope.trainingCredits);
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
// adds empty array for plan which hasn't any credits yet
return (function () {
const result = [];
@ -745,18 +738,6 @@ Application.Controllers.controller('EditPricingController', ['$scope', '$state',
})();
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('pricing');
if (tour) { tour.start(); }
}
};
/**
* Retrieve an item index by its ID from the given array of objects
* @param items {Array<{id:number}>}

View File

@ -26,7 +26,7 @@ Application.Controllers.controller('ProjectElementsController', ['$scope', '$sta
/**
* Saves a new component / Update an existing material to the server (form validation callback)
* @param data {Object} component name
* @param [data] {number} component id, in case of update
* @param [id] {number} component id, in case of update
*/
$scope.saveComponent = function (data, id) {
if (id != null) {
@ -49,9 +49,8 @@ Application.Controllers.controller('ProjectElementsController', ['$scope', '$sta
* Creates a new empty entry in the $scope.components array
*/
$scope.addComponent = function () {
$scope.inserted =
{ name: '' };
return $scope.components.push($scope.inserted);
$scope.inserted = { name: '' };
$scope.components.push($scope.inserted);
};
/**
@ -93,9 +92,8 @@ Application.Controllers.controller('ProjectElementsController', ['$scope', '$sta
* Creates a new empty entry in the $scope.themes array
*/
$scope.addTheme = function () {
$scope.inserted =
{ name: '' };
return $scope.themes.push($scope.inserted);
$scope.inserted = { name: '' };
$scope.themes.push($scope.inserted);
};
/**
@ -105,16 +103,16 @@ Application.Controllers.controller('ProjectElementsController', ['$scope', '$sta
*/
$scope.cancelTheme = function (rowform, index) {
if ($scope.themes[index].id != null) {
return rowform.$cancel();
rowform.$cancel();
} else {
return $scope.themes.splice(index, 1);
$scope.themes.splice(index, 1);
}
};
/**
* Saves a new licence / Update an existing licence to the server (form validation callback)
* @param data {Object} licence name and description
* @param [data] {number} licence id, in case of update
* @param [id] {number} licence id, in case of update
*/
$scope.saveLicence = function (data, id) {
if (id != null) {
@ -203,8 +201,6 @@ Application.Controllers.controller('ProjectElementsController', ['$scope', '$sta
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('project-elements') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
};
/* PRIVATE SCOPE */
@ -212,24 +208,7 @@ Application.Controllers.controller('ProjectElementsController', ['$scope', '$sta
/**
* Kind of constructor: these actions will be realized first when the controller is loaded
*/
const initialize = function () {
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('project-elements');
if (tour) { tour.start(); }
}
};
const initialize = function () {};
// !!! MUST BE CALLED AT THE END of the controller
return initialize();

View File

@ -467,8 +467,6 @@ Application.Controllers.controller('SettingsController', ['$scope', '$rootScope'
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('settings') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
/* PRIVATE SCOPE */
@ -521,23 +519,8 @@ Application.Controllers.controller('SettingsController', ['$scope', '$rootScope'
$scope.$watch('advancedSettings.open', function (newValue) {
if (newValue) $scope.codeMirrorEditor.refresh();
})
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('settings');
if (tour) { tour.start(); }
}
};
// init the controller (call at the end !)
return initialize();
}

View File

@ -391,8 +391,6 @@ Application.Controllers.controller('StatisticsController', ['$scope', '$state',
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('statistics') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
/* PRIVATE SCOPE */
@ -408,22 +406,6 @@ Application.Controllers.controller('StatisticsController', ['$scope', '$state',
return $scope.preventRefresh = true;
}
});
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('statistics');
if (tour) { tour.start(); }
}
};
/**

View File

@ -401,8 +401,6 @@ Application.Controllers.controller('TrainingsAdminController', ['$scope', '$stat
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('trainings') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
@ -411,24 +409,8 @@ Application.Controllers.controller('TrainingsAdminController', ['$scope', '$stat
/**
* Kind of constructor: these actions will be realized first when the controller is loaded
*/
const initialize = function () {
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
};
const initialize = function () {};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('trainings');
if (tour) { tour.start(); }
}
};
/**
* Group the trainings availabilities by trainings and by dates and return the resulting tree

View File

@ -12,8 +12,8 @@
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
Application.Controllers.controller('ApplicationController', ['$rootScope', '$scope', '$window', '$locale', '$timeout', 'Session', 'AuthService', 'Auth', '$uibModal', '$state', 'growl', 'Notification', '$interval', 'Setting', '_t', 'Version',
function ($rootScope, $scope, $window, $locale, $timeout, Session, AuthService, Auth, $uibModal, $state, growl, Notification, $interval, Setting, _t, Version) {
Application.Controllers.controller('ApplicationController', ['$rootScope', '$scope', '$window', '$locale', '$timeout', 'Session', 'AuthService', 'Auth', '$uibModal', '$state', 'growl', 'Notification', '$interval', 'Setting', '_t', 'Version', 'Help',
function ($rootScope, $scope, $window, $locale, $timeout, Session, AuthService, Auth, $uibModal, $state, growl, Notification, $interval, Setting, _t, Version, Help) {
/* PRIVATE STATIC CONSTANTS */
// User's notifications will get refreshed every 30s
@ -346,22 +346,7 @@ Application.Controllers.controller('ApplicationController', ['$rootScope', '$sco
$rootScope.login = $scope.login;
// handle F1 key to trigger help
window.addEventListener('keydown', function(e) {
if (e.key === 'F1') {
if ($rootScope.currentUser.role !== 'admin') return;
e.preventDefault();
// we wait a little bit and then, check if a tour has started (by checking for a tour popover).
// if not, we consider that we are on a page that does not provides a tour so we fallback to the default behavior
// -> opening the user's manual
setTimeout(function() {
const tourPopover = document.querySelector('.ui-tour-popup');
if (!tourPopover || (tourPopover.offsetTop === 0 && tourPopover.offsetTop === 0)) {
window.open('https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.3.pdf', '_blank');
}
}, 300);
}
});
window.addEventListener('keydown', Help);
};
/**

View File

@ -1,7 +1,7 @@
'use strict';
Application.Controllers.controller('HomeController', ['$scope', '$stateParams', 'settingsPromise', 'Member', 'uiTourService', '_t',
function ($scope, $stateParams, settingsPromise, Member, uiTourService, _t) {
Application.Controllers.controller('HomeController', ['$scope', '$stateParams', 'settingsPromise', 'Member', 'uiTourService', '_t', 'Help',
function ($scope, $stateParams, settingsPromise, Member, uiTourService, _t, Help) {
/* PUBLIC SCOPE */
// Home page HTML content
@ -41,11 +41,6 @@ Application.Controllers.controller('HomeController', ['$scope', '$stateParams',
// We set the home page content, with the directives replacing the placeholders
$scope.homeContent = insertDirectives(settingsPromise.home_content);
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
// for admins, setup the tour on login
$scope.$watch('currentUser', function (newValue, oldValue) {
if (!oldValue && newValue && newValue.role === 'admin') {
@ -305,20 +300,6 @@ Application.Controllers.controller('HomeController', ['$scope', '$stateParams',
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('welcome') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
};
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('welcome');
if (tour) { tour.start(); }
}
};
// !!! MUST BE CALLED AT THE END of the controller

View File

@ -262,8 +262,6 @@ Application.Controllers.controller('MachinesController', ['$scope', '$state', '_
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('machines') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
}
@ -272,24 +270,7 @@ Application.Controllers.controller('MachinesController', ['$scope', '$state', '_
/**
* Kind of constructor: these actions will be realized first when the controller is loaded
*/
const initialize = function () {
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
}
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('machines');
if (tour) { tour.start(); }
}
};
const initialize = function () {}
// !!! MUST BE CALLED AT THE END of the controller
return initialize();

View File

@ -174,8 +174,6 @@ Application.Controllers.controller('SpacesController', ['$scope', '$state', 'spa
if (Fablab.featureTourDisplay !== 'manual' && $scope.currentUser.profile.tours.indexOf('spaces') < 0) {
uitour.start();
}
// start this tour when an user press F1 - this is contextual help
window.addEventListener('keydown', handleF1);
}
}
@ -184,24 +182,7 @@ Application.Controllers.controller('SpacesController', ['$scope', '$state', 'spa
/**
* Kind of constructor: these actions will be realized first when the controller is loaded
*/
const initialize = function () {
// listen the $destroy event of the controller to remove the F1 key binding
$scope.$on('$destroy', function () {
window.removeEventListener('keydown', handleF1);
});
}
/**
* Callback used to trigger the feature tour when the user press the F1 key.
* @param e {KeyboardEvent}
*/
const handleF1 = function (e) {
if (e.key === 'F1') {
e.preventDefault();
const tour = uiTourService.getTourByName('spaces');
if (tour) { tour.start(); }
}
};
const initialize = function () {}
// !!! MUST BE CALLED AT THE END of the controller
return initialize();

View File

@ -0,0 +1,58 @@
'use strict';
Application.Services.factory('Help', ['$rootScope', '$uibModal', '$state', function ($rootScope, $uibModal, $state) {
const TOURS = {
'app.public.home': 'welcome',
'app.public.machines_list': 'machines',
'app.public.spaces_list': 'spaces',
'app.admin.trainings': 'trainings',
'app.admin.calendar': 'calendar',
'app.admin.members': 'members',
'app.admin.invoices': 'invoices',
'app.admin.pricing': 'pricing',
'app.admin.events': 'events',
'app.admin.project_elements': 'project-elements',
'app.admin.statistics': 'statistics',
'app.admin.settings': 'settings',
'app.admin.open_api_clients': 'open-api'
};
return function (e) {
if (!$rootScope.currentUser || $rootScope.currentUser.role !== 'admin') return;
if (e.key === 'F1') {
e.preventDefault();
// retrieve the tour name, based on the current location
const tourName = TOURS[$state.current.name];
// if no tour, just open the guide
if (tourName === undefined) {
return window.open('https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.3.pdf', '_blank');
}
$uibModal.open({
animation: true,
templateUrl: '<%= asset_path "shared/help_modal.html" %>',
resolve: {
tourName: function () { return tourName; }
},
controller: ['$scope', '$uibModalInstance', 'uiTourService', 'tourName', function ($scope, $uibModalInstance, uiTourService, tourName) {
// start the tour and hide the modal
$scope.onTour = function () {
const tour = uiTourService.getTourByName(tourName);
if (tour) { tour.start(); }
$uibModalInstance.close('tour');
};
// open the user's guide and hide the modal
$scope.onGuide = function () {
$uibModalInstance.close('guide');
};
}]
});
}
};
}]);

View File

@ -44,7 +44,7 @@
<b class="text-info" id="agepicker-from-info">{{agePicker.start}}</b>
<span translate>{{ 'app.admin.statistics.to_age' }}</span>
<b class="text-info" id="agepicker-to-info">{{agePicker.end}}</b>
<span translate>{{ 'app.admin.statistics._years_old' }}</span>
<span translate>{{ 'app.admin.statistics.years_old' }}</span>
</span>
<span class="text-gray" ng-show="!agePicker.start && !agePicker.end" translate>
{{ 'app.admin.statistics.age_filter' }}

View File

@ -0,0 +1,20 @@
<div class="modal-header">
<img ng-src="{{logoBlack.custom_asset_file_attributes.attachment_url}}" alt="{{logo.custom_asset_file_attributes.attachment}}" class="modal-logo"/>
<h1>
<i class="fa fa-question-circle" aria-hidden="true"></i>
<span translate>{{ 'app.shared.help.title' }}</span>
</h1>
</div>
<div class="modal-body">
<p translate>{{ 'app.shared.help.what_to_do' }}</p>
<div class="row text-center">
<button class="btn btn-default" ng-click="onTour()" translate>{{ 'app.shared.help.tour' }}</button>
</div>
<div class="row text-center m-t-lg m-b-md">
<a class="btn btn-default"
ng-click="onGuide()"
href="https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.3.pdf"
target="_blank"
translate>{{ 'app.shared.help.guide' }}</a>
</div>
</div>

View File

@ -159,9 +159,9 @@ class Availability < ActiveRecord::Base
private
def length_must_be_slot_multiple
if end_at < (start_at + Rails.application.secrets.slot_duration.minutes)
errors.add(:end_at, I18n.t('availabilities.length_must_be_slot_multiple', MIN: Rails.application.secrets.slot_duration))
end
return unless end_at < (start_at + ApplicationHelper::SLOT_DURATION.minutes)
errors.add(:end_at, I18n.t('availabilities.length_must_be_slot_multiple', MIN: ApplicationHelper::SLOT_DURATION))
end
def should_be_associated

View File

@ -1,3 +1,5 @@
# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
Rails.application.config.session_store :cookie_store, key: '_fablab_session'
Rails.application.config.session_store :cookie_store, key: '_Fab-manager_session', secure: (Rails.env.production? || Rails.env.staging?)

View File

@ -1,6 +1,6 @@
ach:
#subscription plan duration
duration:
#subscription plan duration
year:
one: 'crwdns3157:1crwdne3157:1'
other: 'crwdns3157:5%{count}crwdne3157:5'
@ -10,13 +10,9 @@ ach:
week:
one: 'crwdns3161:1crwdne3161:1'
other: 'crwdns3161:5%{count}crwdne3161:5'
time:
formats:
# See http://apidock.com/ruby/DateTime/strftime for a list of available directives
hour_minute: "%I:%M %p"
errors:
#CarrierWave
messages:
#CarrierWave
carrierwave_processing_error: "crwdns3165:0crwdne3165:0"
carrierwave_integrity_error: "crwdns3167:0crwdne3167:0"
carrierwave_download_error: "crwdns3169:0crwdne3169:0"
@ -40,55 +36,29 @@ ach:
end_before_start: "crwdns3205:0%{START}crwdne3205:0"
invalid_duration: "crwdns3207:0%{DAYS}crwdne3207:0"
must_be_in_the_past: "crwdns3209:0crwdne3209:0"
activemodel:
errors:
messages:
carrierwave_processing_error: crwdns3211:0crwdne3211:0
carrierwave_integrity_error: crwdns3213:0crwdne3213:0
carrierwave_download_error: crwdns3215:0crwdne3215:0
extension_white_list_error: crwdns3217:0%{extension}crwdnd3217:0%{allowed_types}crwdne3217:0
extension_black_list_error: crwdns3219:0%{extension}crwdnd3219:0%{prohibited_types}crwdne3219:0
rmagick_processing_error: crwdns3221:0%{e}crwdne3221:0
mime_types_processing_error: crwdns3223:0%{e}crwdne3223:0
mini_magick_processing_error: crwdns3225:0%{e}crwdne3225:0
wrong_size: crwdns3227:0%{file_size}crwdne3227:0
size_too_small: crwdns3229:0%{file_size}crwdne3229:0
size_too_big: crwdns3231:0%{file_size}crwdne3231:0
export_not_found: crwdns3233:0crwdne3233:0
percentage_out_of_range: crwdns3235:0crwdne3235:0
cannot_be_blank_at_same_time: crwdns3237:0%{field}crwdne3237:0
cannot_be_in_the_past: crwdns3239:0crwdne3239:0
cannot_be_before_previous_value: crwdns3241:0crwdne3241:0
cannot_overlap: crwdns3243:0crwdne3243:0
cannot_encompass: crwdns3245:0crwdne3245:0
in_closed_period: crwdns3247:0crwdne3247:0
invalid_footprint: crwdns3249:0crwdne3249:0
end_before_start: crwdns3251:0%{START}crwdne3251:0
invalid_duration: crwdns3253:0%{DAYS}crwdne3253:0
must_be_in_the_past: crwdns3255:0crwdne3255:0
apipie:
api_documentation: "crwdns3257:0crwdne3257:0"
#error messages when importing an account from a SSO
omniauth:
#error messages when importing an account from a SSO
email_already_linked_to_another_account_please_input_your_authentication_code: "crwdns3259:0%{OLD_MAIL}crwdne3259:0"
your_username_is_already_linked_to_another_account_unable_to_update_it: "crwdns3261:0%{USERNAME}crwdne3261:0"
your_email_address_is_already_linked_to_another_account_unable_to_update_it: "crwdns3263:0%{EMAIL}crwdne3263:0"
this_account_is_already_linked_to_an_user_of_the_platform: "crwdns3265:0%{NAME}crwdne3265:0"
#availability slots in the calendar
availabilities:
#availability slots in the calendar
not_available: "crwdns3267:0crwdne3267:0"
i_ve_reserved: "crwdns3269:0crwdne3269:0"
length_must_be_slot_multiple: "crwdns3271:0%{MIN}crwdne3271:0"
must_be_associated_with_at_least_1_machine: "crwdns3273:0crwdne3273:0"
#members management
members:
#members management
unable_to_change_the_group_while_a_subscription_is_running: "crwdns3275:0crwdne3275:0"
please_input_the_authentication_code_sent_to_the_address: "crwdns3277:0%{EMAIL}crwdne3277:0"
your_authentication_code_is_not_valid: "crwdns3279:0crwdne3279:0"
current_authentication_method_no_code: "crwdns3281:0crwdne3281:0"
requested_account_does_not_exists: "crwdns3283:0crwdne3283:0"
#PDF invoices generation
invoices:
#PDF invoices generation
refund_invoice_reference: "crwdns3285:0%{REF}crwdne3285:0"
invoice_reference: "crwdns3287:0%{REF}crwdne3287:0"
code: "crwdns3289:0%{CODE}crwdne3289:0"
@ -139,6 +109,7 @@ ach:
subscription_of_NAME_for_DURATION_starting_from_DATE: "crwdns3371:0%{NAME}crwdnd3371:0%{DURATION}crwdnd3371:0%{DATE}crwdne3371:0"
subscription_of_NAME_extended_starting_from_STARTDATE_until_ENDDATE: "crwdns3373:0%{NAME}crwdnd3373:0%{STARTDATE}crwdnd3373:0%{ENDDATE}crwdne3373:0"
and: 'crwdns3375:0crwdne3375:0'
#CVS accounting export (columns headers)
accounting_export:
journal_code: "crwdns3377:0crwdne3377:0"
date: "crwdns3379:0crwdne3379:0"
@ -158,19 +129,19 @@ ach:
Event_reservation: "crwdns3407:0crwdne3407:0"
Space_reservation: "crwdns3409:0crwdne3409:0"
wallet: "crwdns3411:0crwdne3411:0"
#training availabilities
trainings:
#training availabilities
i_ve_reserved: "crwdns3413:0crwdne3413:0"
completed: "crwdns3415:0crwdne3415:0"
#error messages when updating an event
events:
#error messages when updating an event
error_deleting_reserved_price: "crwdns3417:0crwdne3417:0"
other_error: "crwdns3419:0crwdne3419:0"
#event duration
from_STARTDATE_to_ENDDATE: "crwdns3421:0%{STARTDATE}crwdnd3421:0%{ENDDATE}crwdne3421:0"
from_STARTTIME_to_ENDTIME: "crwdns3423:0%{STARTTIME}crwdnd3423:0%{ENDTIME}crwdne3423:0"
#members list export to EXCEL format
export_members:
#members list export to EXCEL format
members: "crwdns3425:0crwdne3425:0"
id: "crwdns3427:0crwdne3427:0"
surname: "crwdns3429:0crwdne3429:0"
@ -201,8 +172,8 @@ ach:
man: "crwdns3479:0crwdne3479:0"
woman: "crwdns3481:0crwdne3481:0"
without_subscriptions: "crwdns3483:0crwdne3483:0"
#machines/trainings/events reservations list to EXCEL format
export_reservations:
#machines/trainings/events reservations list to EXCEL format
reservations: "crwdns3485:0crwdne3485:0"
customer_id: "crwdns3487:0crwdne3487:0"
customer: "crwdns3489:0crwdne3489:0"
@ -214,8 +185,8 @@ ach:
payment_method: "crwdns3501:0crwdne3501:0"
local_payment: "crwdns3503:0crwdne3503:0"
online_payment: "crwdns3505:0crwdne3505:0"
#subscriptions list export to EXCEL format
export_subscriptions:
#subscriptions list export to EXCEL format
subscriptions: "crwdns3507:0crwdne3507:0"
id: "crwdns3509:0crwdne3509:0"
customer: "crwdns3511:0crwdne3511:0"
@ -228,8 +199,8 @@ ach:
payment_method: "crwdns3525:0crwdne3525:0"
local_payment: "crwdns3527:0crwdne3527:0"
online_payment: "crwdns3529:0crwdne3529:0"
#reservation slots export, by type, to EXCEL format
export_availabilities:
#reservation slots export, by type, to EXCEL format
machines: "crwdns3531:0crwdne3531:0"
trainings: "crwdns3533:0crwdne3533:0"
spaces: "crwdns3535:0crwdne3535:0"
@ -244,15 +215,15 @@ ach:
reservations: "crwdns3553:0crwdne3553:0"
available_seats: "crwdns3555:0crwdne3555:0"
api:
#internal app notifications
notifications:
#internal app notifications
deleted_user: "crwdns3557:0crwdne3557:0"
notify_admin_abuse_reported:
an_abuse_was_reported_on_TYPE_ID_NAME_html: "crwdns3559:0%{TYPE}crwdnd3559:0%{ID}crwdnd3559:0%{NAME}crwdne3559:0"
notify_admin_member_create_reservation:
a_RESERVABLE_reservation_was_made_by_USER_html: "crwdns3561:0%{RESERVABLE}crwdnd3561:0%{USER}crwdne3561:0"
notify_admin_profile_complete:
account_imported_from_PROVIDER_UID_has_completed_its_information_html: "crwdns3563:0%{PROVIDER}crwdnd3563:0%{UID}crwdne3563:0"
account_imported_from_PROVIDER_UID_has_completed_its_information_html: "crwdns20158:0%{PROVIDER}crwdnd20158:0%{UID}crwdne20158:0"
notify_admin_slot_is_canceled:
USER_s_reservation_on_the_DATE_was_cancelled_remember_to_generate_a_refund_invoice_if_applicable_html: "crwdns3565:0%{USER}crwdnd3565:0%{DATE}crwdne3565:0"
notify_admin_slot_is_modified:
@ -358,8 +329,8 @@ ach:
click_to_show: "crwdns3687:0crwdne3687:0"
notify_admin_refund_created:
refund_created: "crwdns4559:0%{AMOUNT}crwdnd4559:0%{USER}crwdne4559:0"
#statistics tools for admins
statistics:
#statistics tools for admins
subscriptions: "crwdns3689:0crwdne3689:0"
machines_hours: "crwdns4561:0crwdne4561:0"
spaces: "crwdns3693:0crwdne3693:0"
@ -385,8 +356,8 @@ ach:
revenue: "crwdns3733:0crwdne3733:0"
account_creation: "crwdns3735:0crwdne3735:0"
project_publication: "crwdns3737:0crwdne3737:0"
#statistics exports to the excel file format
export:
#statistics exports to the excel file format
entries: "crwdns3739:0crwdne3739:0"
revenue: "crwdns3741:0crwdne3741:0"
average_age: "crwdns3743:0crwdne3743:0"
@ -400,8 +371,8 @@ ach:
type: "crwdns3759:0crwdne3759:0"
male: "crwdns3761:0crwdne3761:0"
female: "crwdns3763:0crwdne3763:0"
#initial price's category for events, created to replace the old "reduced amount" property
price_category:
#initial price's category for events, created to replace the old "reduced amount" property
reduced_fare: "crwdns3765:0crwdne3765:0"
reduced_fare_if_you_are_under_25_student_or_unemployed: "crwdns3767:0crwdne3767:0"
group:

View File

@ -1,16 +1,16 @@
ach:
app:
admin:
#add a new machine
machines_new:
#add a new machine
declare_a_new_machine: "crwdns6699:0crwdne6699:0"
watch_out_when_creating_a_new_machine_its_prices_are_initialized_at_0_for_all_subscriptions: "crwdns6701:0crwdne6701:0"
consider_changing_them_before_creating_any_reservation_slot: "crwdns6703:0crwdne6703:0"
#machine edition
machines_edit:
#machine edition
machine_edit: "crwdns6705:0crwdne6705:0"
#manage the trainings & machines slots
calendar:
#manage the trainings & machines slots
calendar_management: "crwdns6707:0crwdne6707:0"
trainings: "crwdns6709:0crwdne6709:0"
machines: "crwdns6711:0crwdne6711:0"
@ -30,6 +30,8 @@ ach:
beware_this_cannot_be_reverted: "crwdns6739:0crwdne6739:0"
the_machine_was_successfully_removed_from_the_slot: "crwdns6741:0crwdne6741:0"
deletion_failed: "crwdns6743:0crwdne6743:0"
do_you_really_want_to_remove_PLAN_from_this_slot: "crwdns19746:0{PLAN}crwdne19746:0"
the_plan_was_successfully_removed_from_the_slot: "crwdns19748:0crwdne19748:0"
DATE_slot: "crwdns6745:0{DATE}crwdne6745:0"
what_kind_of_slot_do_you_want_to_create: "crwdns6747:0crwdne6747:0"
training: "crwdns6749:0crwdne6749:0"
@ -38,12 +40,19 @@ ach:
next: "crwdns6755:0crwdne6755:0"
previous: "crwdns6757:0crwdne6757:0"
select_some_machines: "crwdns6759:0crwdne6759:0"
select_all: "crwdns19459:0crwdne19459:0"
select_none: "crwdns19461:0crwdne19461:0"
select_all: "crwdns19750:0crwdne19750:0"
select_none: "crwdns19752:0crwdne19752:0"
manage_machines: "crwdns19754:0crwdne19754:0"
manage_spaces: "crwdns19756:0crwdne19756:0"
manage_trainings: "crwdns19758:0crwdne19758:0"
number_of_tickets: "crwdns6761:0crwdne6761:0"
adjust_the_opening_hours: "crwdns6763:0crwdne6763:0"
to_time: crwdns10109:0crwdne10109:0
restrict_with_labels: "crwdns6767:0crwdne6767:0"
to_time: "crwdns19760:0crwdne19760:0" #eg. from 18:00 to 21:00
restrict_options: "crwdns19762:0crwdne19762:0"
restrict_with_labels: "crwdns19764:0crwdne19764:0"
restrict_for_subscriptions: "crwdns19766:0crwdne19766:0"
select_some_plans: "crwdns19768:0crwdne19768:0"
plans: "crwdns19770:0crwdne19770:0"
recurrence: "crwdns6769:0crwdne6769:0"
enabled: "crwdns6771:0crwdne6771:0"
period: "crwdns6773:0crwdne6773:0"
@ -56,6 +65,7 @@ ach:
select_nb_period: "crwdns6787:0crwdne6787:0"
select_end_date: "crwdns6789:0crwdne6789:0"
about_to_create: "crwdns6791:0TYPE={TYPE}crwdnd6791:0NUMBER={NUMBER}crwdne6791:0"
divided_in_slots: "crwdns20172:0COUNT={COUNT}crwdnd20172:0DURATION={DURATION}crwdne20172:0"
reservable: "crwdns6793:0crwdne6793:0"
labels: "crwdns6795:0crwdne6795:0"
none: "crwdns6797:0crwdne6797:0"
@ -85,11 +95,13 @@ ach:
event_in_the_past: "crwdns6845:0crwdne6845:0"
edit_event: "crwdns6847:0crwdne6847:0"
view_reservations: "crwdns6849:0crwdne6849:0"
legend: "crwdns6851:0crwdne6851:0"
legend: "crwdns20198:0crwdne20198:0"
and: "crwdns6853:0crwdne6853:0"
external_sync: "crwdns19774:0crwdne19774:0"
#import external iCal calendar
icalendar:
icalendar_import: "crwdns6855:0crwdne6855:0"
intro: "crwdns6857:0crwdne6857:0"
intro: "crwdns19776:0crwdne19776:0"
new_import: "crwdns6859:0crwdne6859:0"
color: "crwdns6861:0crwdne6861:0"
text_color: "crwdns6863:0crwdne6863:0"
@ -107,8 +119,8 @@ ach:
confirmation_required: "crwdns6887:0crwdne6887:0"
confirm_delete_import: "crwdns6889:0crwdne6889:0"
delete_success: "crwdns6891:0crwdne6891:0"
#management of the projects' components
project_elements:
#management of the projects' components
name: "crwdns6893:0crwdne6893:0"
projects_elements_management: "crwdns6895:0crwdne6895:0"
materials: "crwdns6897:0crwdne6897:0"
@ -119,9 +131,10 @@ ach:
description: "crwdns6907:0crwdne6907:0"
add_a_new_licence: "crwdns6909:0crwdne6909:0"
manage_abuses: "crwdns6911:0crwdne6911:0"
#track and monitor the trainings
trainings:
#track and monitor the trainings
trainings_monitoring: "crwdns6913:0crwdne6913:0"
plan_session: "crwdns19778:0crwdne19778:0"
trainings: "crwdns6915:0crwdne6915:0"
add_a_new_training: "crwdns6917:0crwdne6917:0"
name: "crwdns6919:0crwdne6919:0"
@ -151,13 +164,13 @@ ach:
status_enabled: "crwdns6967:0crwdne6967:0"
status_disabled: "crwdns6969:0crwdne6969:0"
status_all: "crwdns6971:0crwdne6971:0"
#create a new training
trainings_new:
#create a new training
add_a_new_training: "crwdns6973:0crwdne6973:0"
beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "crwdns6975:0crwdne6975:0"
dont_forget_to_change_them_before_creating_slots_for_this_training: "crwdns6977:0crwdne6977:0"
#events tracking and management
events:
#events tracking and management
events_monitoring: "crwdns6979:0crwdne6979:0"
manage_filters: "crwdns6981:0crwdne6981:0"
fablab_events: "crwdns6983:0crwdne6983:0"
@ -169,8 +182,8 @@ ach:
on_DATE: "crwdns6995:0{DATE}crwdne6995:0"
from_DATE: "crwdns6997:0{DATE}crwdne6997:0"
from_TIME: "crwdns6999:0{TIME}crwdne6999:0"
to_date: crwdns10111:0crwdne10111:0
to_time: crwdns10113:0crwdne10113:0
to_date: "crwdns19780:0crwdne19780:0" #eg: from 01/01 to 01/05
to_time: "crwdns19782:0crwdne19782:0" #eg. from 18:00 to 21:00
title: "crwdns7005:0crwdne7005:0"
dates: "crwdns7007:0crwdne7007:0"
booking: "crwdns7009:0crwdne7009:0"
@ -210,19 +223,31 @@ ach:
do_you_really_want_to_delete_this_price_category: "crwdns7077:0crwdne7077:0"
price_category_successfully_deleted: "crwdns7079:0crwdne7079:0"
price_category_deletion_failed: "crwdns7081:0crwdne7081:0"
#add a new event
events_new:
#add a new event
add_an_event: "crwdns7083:0crwdne7083:0"
none: "crwdns7085:0crwdne7085:0"
every_days: "crwdns7087:0crwdne7087:0"
every_week: "crwdns7089:0crwdne7089:0"
every_month: "crwdns7091:0crwdne7091:0"
every_year: "crwdns7093:0crwdne7093:0"
#edit an existing event
events_edit:
#edit an existing event
edit_the_event: "crwdns7095:0crwdne7095:0"
confirmation_required: "crwdns19784:0crwdne19784:0"
edit_recurring_event: "crwdns19786:0crwdne19786:0"
edit_this_event: "crwdns19788:0crwdne19788:0"
edit_this_and_next: "crwdns19790:0crwdne19790:0"
edit_all: "crwdns19792:0crwdne19792:0"
date_wont_change: "crwdns19794:0crwdne19794:0"
event_successfully_updated: "crwdns20200:0crwdne20200:0"
events_updated: "crwdns19798:0COUNT={COUNT}crwdnd19798:0COUNT={COUNT}crwdne19798:0"
unable_to_update_the_event: "crwdns19800:0crwdne19800:0"
events_not_updated: "crwdns19802:0TOTAL={TOTAL}crwdnd19802:0COUNT={COUNT}crwdnd19802:0COUNT={COUNT}crwdne19802:0"
error_deleting_reserved_price: "crwdns19804:0crwdne19804:0"
other_error: "crwdns19806:0crwdne19806:0"
#event reservations list
event_reservations:
#event reservations list
the_reservations: "crwdns7097:0crwdne7097:0"
user: "crwdns7099:0crwdne7099:0"
payment_date: "crwdns7101:0crwdne7101:0"
@ -232,8 +257,8 @@ ach:
no_reservations_for_now: "crwdns7109:0crwdne7109:0"
back_to_monitoring: "crwdns7111:0crwdne7111:0"
canceled: "crwdns7113:0crwdne7113:0"
#subscriptions, prices, credits and coupons management
pricing:
#subscriptions, prices, credits and coupons management
pricing_management: "crwdns7115:0crwdne7115:0"
subscriptions: "crwdns7117:0crwdne7117:0"
trainings: "crwdns7119:0crwdne7119:0"
@ -262,7 +287,7 @@ ach:
hours: "crwdns7165:0{DURATION}crwdne7165:0"
related_subscriptions: "crwdns7167:0crwdne7167:0"
please_specify_a_number: "crwdns7169:0crwdne7169:0"
none: crwdns7171:0crwdne7171:0
none: "crwdns19808:0crwdne19808:0" #grammar concordance with training.
an_error_occurred_while_saving_the_number_of_credits: "crwdns7173:0crwdne7173:0"
an_error_occurred_while_deleting_credit_with_the_TRAINING: "crwdns7175:0{TRAINING}crwdne7175:0"
an_error_occurred_unable_to_find_the_credit_to_revoke: "crwdns7177:0crwdne7177:0"
@ -312,23 +337,23 @@ ach:
status_enabled: "crwdns7265:0crwdne7265:0"
status_disabled: "crwdns7267:0crwdne7267:0"
status_all: "crwdns7269:0crwdne7269:0"
#ajouter un code promotionnel
coupons_new:
#ajouter un code promotionnel
add_a_coupon: "crwdns7271:0crwdne7271:0"
unable_to_create_the_coupon_check_code_already_used: "crwdns7273:0crwdne7273:0"
unable_to_create_the_coupon_check_code_already_used: "crwdns20202:0crwdne20202:0"
#mettre à jour un code promotionnel
coupons_edit:
#mettre à jour un code promotionnel
coupon: "crwdns7275:0crwdne7275:0"
unable_to_update_the_coupon_an_error_occurred: "crwdns7277:0crwdne7277:0"
plans:
#add a subscription plan on the platform
new:
#add a subscription plan on the platform
add_a_subscription_plan: "crwdns7279:0crwdne7279:0"
unable_to_create_the_subscription_please_try_again: "crwdns7281:0crwdne7281:0"
successfully_created_subscriptions_dont_forget_to_redefine_prices: "crwdns7283:0crwdne7283:0"
unable_to_save_this_user_check_that_there_isnt_an_already_a_user_with_the_same_name: "crwdns7285:0crwdne7285:0"
#edit a subscription plan / machine slots prices
edit:
#edit a subscription plan / machine slots prices
subscription_plan: "crwdns7287:0crwdne7287:0"
prices: "crwdns7289:0crwdne7289:0"
copy_prices_from: "crwdns7291:0crwdne7291:0"
@ -339,8 +364,8 @@ ach:
space: "crwdns7301:0crwdne7301:0"
unable_to_save_subscription_changes_please_try_again: "crwdns7303:0crwdne7303:0"
subscription_successfully_changed: "crwdns7305:0crwdne7305:0"
#list of all invoices & invoicing parameters
invoices:
#list of all invoices & invoicing parameters
invoices: "crwdns7307:0crwdne7307:0"
accounting_periods: "crwdns7309:0crwdne7309:0"
invoices_list: "crwdns7311:0crwdne7311:0"
@ -386,7 +411,7 @@ ach:
year: "crwdns7391:0crwdne7391:0"
month: "crwdns7393:0crwdne7393:0"
day: "crwdns7395:0crwdne7395:0"
num_of_invoice: "crwdns7397:0crwdne7397:0"
num_of_invoice: "crwdns20196:0crwdne20196:0"
online_sales: "crwdns7399:0crwdne7399:0"
wallet: "crwdns7401:0crwdne7401:0"
refund: "crwdns7403:0crwdne7403:0"
@ -438,7 +463,7 @@ ach:
description: "crwdns7495:0crwdne7495:0"
description_optional: "crwdns7497:0crwdne7497:0"
will_appear_on_the_refund_invoice: "crwdns7499:0crwdne7499:0"
none: "crwdns7501:0crwdne7501:0"
none: "crwdns19810:0crwdne19810:0" #grammar concordance with payment mean
by_cash: "crwdns7503:0crwdne7503:0"
by_cheque: "crwdns7505:0crwdne7505:0"
by_transfer: "crwdns7507:0crwdne7507:0"
@ -556,8 +581,8 @@ ach:
debit_euro: "crwdns7729:0crwdne7729:0"
credit_euro: "crwdns7731:0crwdne7731:0"
lettering: "crwdns7733:0crwdne7733:0"
#management of users, labels, groups, and so on
members:
#management of users, labels, groups, and so on
users_management: "crwdns7735:0crwdne7735:0"
members: "crwdns7737:0crwdne7737:0"
subscriptions: "crwdns7739:0crwdne7739:0"
@ -632,15 +657,15 @@ ach:
status_enabled: "crwdns7871:0crwdne7871:0"
status_disabled: "crwdns7873:0crwdne7873:0"
status_all: "crwdns7875:0crwdne7875:0"
member_filter_all: "crwdns19463:0crwdne19463:0"
member_filter_not_confirmed: "crwdns19465:0crwdne19465:0"
member_filter_inactive_for_3_years: "crwdns19467:0crwdne19467:0"
member_filter_all: "crwdns19812:0crwdne19812:0"
member_filter_not_confirmed: "crwdns19814:0crwdne19814:0"
member_filter_inactive_for_3_years: "crwdns19816:0crwdne19816:0"
#add a member
members_new:
#add a member
add_a_member: "crwdns7877:0crwdne7877:0"
user_is_an_organization: "crwdns7879:0crwdne7879:0"
#members bulk import
members_import:
#members bulk import
import_members: "crwdns7881:0crwdne7881:0"
info: "crwdns7883:0crwdne7883:0"
required_fields: "crwdns7885:0crwdne7885:0"
@ -664,10 +689,10 @@ ach:
update_on_id: "crwdns7921:0crwdne7921:0"
update_on_username: "crwdns7923:0crwdne7923:0"
update_on_email: "crwdns7925:0crwdne7925:0"
#import results
members_import_result:
#import results
import_results: "crwdns7927:0crwdne7927:0"
import_details: "crwdns7929:0#{ID}crwdnd7929:0{DATE}crwdnd7929:0{USER}crwdne7929:0"
import_details: "crwdns20204:0{ID}crwdnd20204:0{DATE}crwdnd20204:0{USER}crwdne20204:0"
results: "crwdns7931:0crwdne7931:0"
pending: "crwdns7933:0crwdne7933:0"
status_create: "crwdns7935:0crwdne7935:0"
@ -675,8 +700,8 @@ ach:
success: "crwdns7939:0crwdne7939:0"
failed: "crwdns7941:0crwdne7941:0"
error_details: "crwdns7943:0crwdne7943:0"
#edit a member
members_edit:
#edit a member
subscription: "crwdns7945:0crwdne7945:0"
duration: "crwdns7947:0crwdne7947:0"
expires_at: "crwdns7949:0crwdne7949:0"
@ -718,8 +743,8 @@ ach:
a_problem_occurred_while_taking_the_subscription: "crwdns8021:0crwdne8021:0"
wallet: "crwdns8023:0crwdne8023:0"
to_credit: 'crwdns8025:0crwdne8025:0'
#add a new administrator to the platform
admins_new:
#add a new administrator to the platform
add_an_administrator: "crwdns8027:0crwdne8027:0"
administrator_successfully_created_he_will_receive_his_connection_directives_by_email: "crwdns8029:0GENDER={GENDER}crwdnd8029:0GENDER={GENDER}crwdne8029:0"
failed_to_create_admin: "crwdns8031:0crwdne8031:0"
@ -736,34 +761,33 @@ ach:
birth_date: "crwdns8053:0crwdne8053:0"
address: "crwdns8055:0crwdne8055:0"
phone_number: "crwdns8057:0crwdne8057:0"
#add a new authentication provider (SSO)
authentication_new:
#add a new authentication provider (SSO)
local_database: "crwdns8059:0crwdne8059:0"
o_auth2: "crwdns8061:0crwdne8061:0"
add_a_new_authentication_provider: "crwdns8063:0crwdne8063:0"
a_local_database_provider_already_exists_unable_to_create_another: "crwdns8065:0crwdne8065:0"
local_provider_successfully_saved: "crwdns8067:0crwdne8067:0"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "crwdns8069:0crwdne8069:0"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "crwdns20206:0crwdne20206:0"
security_issue_detected: "crwdns8071:0crwdne8071:0"
beware_the_oauth2_authenticatoin_provider_you_are_about_to_add_isnt_using_HTTPS: "crwdns8073:0crwdne8073:0"
this_is_a_serious_security_issue_on_internet_and_should_never_be_used_except_for_testing_purposes: "crwdns8075:0crwdne8075:0"
do_you_really_want_to_continue: "crwdns8077:0crwdne8077:0"
unsecured_oauth2_provider_successfully_added: "crwdns8079:0crwdne8079:0"
oauth2_provider_successfully_added: "crwdns8081:0crwdne8081:0"
#edit an authentication provider (SSO)
authentication_edit:
#edit an authentication provider (SSO)
provider: "crwdns8083:0crwdne8083:0"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "crwdns8085:0crwdne8085:0"
provider_successfully_updated: "crwdns8087:0crwdne8087:0"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "crwdns20208:0crwdne20208:0"
provider_successfully_updated: "crwdns20210:0crwdne20210:0"
an_error_occurred_unable_to_update_the_provider: "crwdns8089:0crwdne8089:0"
#statistics tables
statistics:
#statistics tables
statistics: "crwdns8091:0crwdne8091:0"
evolution: "crwdns8093:0crwdne8093:0"
age_filter: "crwdns8095:0crwdne8095:0"
from_age: "crwdns8097:0crwdne8097:0" #context: age. eg: from 8 to 40 years old
to_age: "crwdns8099:0crwdne8099:0" #context: age. eg: from 8 to 40 years old
_years_old: "crwdns8101:0crwdne8101:0"
from_age: "crwdns8097:0crwdne8097:0" #eg. from 8 to 40 years old
to_age: "crwdns8099:0crwdne8099:0" #eg. from 8 to 40 years old
start: "crwdns8103:0crwdne8103:0"
end: "crwdns8105:0crwdne8105:0"
custom_filter: "crwdns8107:0crwdne8107:0"
@ -771,12 +795,12 @@ ach:
criterion: "crwdns8111:0crwdne8111:0"
value: "crwdns8113:0crwdne8113:0"
exclude: "crwdns8115:0crwdne8115:0"
from_date: crwdns10115:0crwdne10115:0
to_date: crwdns10117:0crwdne10117:0
from_date: "crwdns19818:0crwdne19818:0" #eg: from 01/01 to 01/05
to_date: "crwdns19820:0crwdne19820:0" #eg: from 01/01 to 01/05
entries: "crwdns8121:0crwdne8121:0"
revenue_: "crwdns8123:0crwdne8123:0"
average_age: "crwdns8125:0crwdne8125:0"
years_old: "crwdns8127:0crwdne8127:0"
years_old: "crwdns20212:0crwdne20212:0"
total: "crwdns8129:0crwdne8129:0"
available_hours: "crwdns8131:0crwdne8131:0"
available_tickets: "crwdns8133:0crwdne8133:0"
@ -797,14 +821,16 @@ ach:
man: "crwdns8163:0crwdne8163:0"
woman: "crwdns8165:0crwdne8165:0"
export_is_running_you_ll_be_notified_when_its_ready: "crwdns8167:0crwdne8167:0"
create_plans_to_start: "crwdns20160:0crwdne20160:0"
click_here: "crwdns20162:0crwdne20162:0"
#statistics graphs
stats_graphs:
#statistics graphs
statistics: "crwdns8169:0crwdne8169:0"
data: "crwdns8171:0crwdne8171:0"
day: "crwdns8173:0crwdne8173:0"
week: "crwdns8175:0crwdne8175:0"
from_date: crwdns10119:0crwdne10119:0
to_date: crwdns10121:0crwdne10121:0
from_date: "crwdns19822:0crwdne19822:0" #eg: from 01/01 to 01/05
to_date: "crwdns19824:0crwdne19824:0" #eg: from 01/01 to 01/05
month: "crwdns8181:0crwdne8181:0"
start: "crwdns8183:0crwdne8183:0"
end: "crwdns8185:0crwdne8185:0"
@ -816,8 +842,8 @@ ach:
week_of_START_to_END: "crwdns8197:0{START}crwdnd8197:0{END}crwdne8197:0"
no_data_for_this_period: "crwdns8199:0crwdne8199:0"
date: "crwdns8201:0crwdne8201:0"
#global application parameters and customization
settings:
#global application parameters and customization
title: "crwdns8203:0crwdne8203:0"
customize_the_application: "crwdns8205:0crwdne8205:0"
general: "crwdns8207:0crwdne8207:0"
@ -829,7 +855,7 @@ ach:
neutral: "crwdns8219:0crwdne8219:0"
eg: "crwdns8221:0crwdne8221:0"
about: "crwdns8223:0crwdne8223:0"
the_team: "crwdns19469:0crwdne19469:0"
the_team: "crwdns19826:0crwdne19826:0"
male_preposition: "crwdns8225:0crwdne8225:0"
female_preposition: "crwdns8227:0crwdne8227:0"
neutral_preposition: "crwdns8229:0crwdne8229:0"
@ -866,9 +892,9 @@ ach:
leave_it_empty_to_not_bring_up_any_news_on_the_home_page: "crwdns8291:0crwdne8291:0"
twitter_stream: "crwdns8293:0crwdne8293:0"
name_of_the_twitter_account: "crwdns8295:0crwdne8295:0"
link: "crwdns19471:0crwdne19471:0"
link_to_about: 'crwdns19473:0crwdne19473:0'
content: "crwdns19475:0crwdne19475:0"
link: "crwdns19828:0crwdne19828:0"
link_to_about: 'crwdns19830:0crwdne19830:0'
content: "crwdns19832:0crwdne19832:0"
title_of_the_about_page: "crwdns8297:0crwdne8297:0"
shift_enter_to_force_carriage_return: "crwdns8299:0crwdne8299:0"
input_the_main_content: "crwdns8301:0crwdne8301:0"
@ -902,22 +928,22 @@ ach:
space_explications_alert: "crwdns8357:0crwdne8357:0"
main_color: "crwdns8359:0crwdne8359:0"
secondary_color: "crwdns8361:0crwdne8361:0"
customize_home_page: "crwdns19477:0crwdne19477:0"
reset_home_page: "crwdns19479:0crwdne19479:0"
confirmation_required: "crwdns19481:0crwdne19481:0"
confirm_reset_home_page: "crwdns19483:0crwdne19483:0"
home_items: "crwdns19485:0crwdne19485:0"
item_news: "crwdns19487:0crwdne19487:0"
item_projects: "crwdns19489:0crwdne19489:0"
item_twitter: "crwdns19491:0crwdne19491:0"
item_members: "crwdns19493:0crwdne19493:0"
item_events: "crwdns19495:0crwdne19495:0"
home_content: "crwdns19497:0crwdne19497:0"
home_content_reset: "crwdns19499:0crwdne19499:0"
home_css: "crwdns19501:0crwdne19501:0"
customize_home_page: "crwdns19834:0crwdne19834:0"
reset_home_page: "crwdns19836:0crwdne19836:0"
confirmation_required: "crwdns19838:0crwdne19838:0"
confirm_reset_home_page: "crwdns19840:0crwdne19840:0"
home_items: "crwdns19842:0crwdne19842:0"
item_news: "crwdns19844:0crwdne19844:0"
item_projects: "crwdns19846:0crwdne19846:0"
item_twitter: "crwdns19848:0crwdne19848:0"
item_members: "crwdns19850:0crwdne19850:0"
item_events: "crwdns19852:0crwdne19852:0"
home_content: "crwdns19854:0crwdne19854:0"
home_content_reset: "crwdns19856:0crwdne19856:0"
home_css: "crwdns19858:0crwdne19858:0"
home_blogpost: "crwdns8363:0crwdne8363:0"
twitter_name: "crwdns8365:0crwdne8365:0"
link_name: "crwdns19503:0crwdne19503:0"
link_name: "crwdns19860:0crwdne19860:0"
about_title: "crwdns8367:0crwdne8367:0"
about_body: "crwdns8369:0crwdne8369:0"
about_contacts: "crwdns8371:0crwdne8371:0"
@ -940,13 +966,13 @@ ach:
display_name: "crwdns8405:0crwdne8405:0"
display_name_enable: "crwdns8407:0crwdne8407:0"
machines_sort_by: "crwdns8409:0crwdne8409:0"
fab_analytics: "crwdns19505:0crwdne19505:0"
fab_analytics: "crwdns19862:0crwdne19862:0"
elements_ordering: "crwdns8411:0crwdne8411:0"
machines_order: "crwdns8413:0crwdne8413:0"
display_machines_sorted_by: "crwdns8415:0crwdne8415:0"
advanced: "crwdns19507:0crwdne19507:0"
customize_home_page_css: "crwdns19509:0crwdne19509:0"
home_css_notice_html: "crwdns19511:0crwdne19511:0"
advanced: "crwdns19864:0crwdne19864:0"
customize_home_page_css: "crwdns19866:0crwdne19866:0"
home_css_notice_html: "crwdns19868:0crwdne19868:0"
sort_by:
default: "crwdns8417:0crwdne8417:0"
name: "crwdns8419:0crwdne8419:0"
@ -962,29 +988,30 @@ ach:
publish_will_notify: "crwdns8437:0crwdne8437:0"
publish: "crwdns8439:0crwdne8439:0"
users_notified: "crwdns8441:0crwdne8441:0"
about_analytics: "crwdns19513:0crwdne19513:0"
read_more: "crwdns19515:0crwdne19515:0"
about_analytics: "crwdns19870:0crwdne19870:0"
read_more: "crwdns19872:0crwdne19872:0"
analytics:
intro_analytics_html: "crwdns19517:0crwdne19517:0"
version: "crwdns19519:0crwdne19519:0"
members: "crwdns19521:0crwdne19521:0"
admins: "crwdns19523:0crwdne19523:0"
availabilities: "crwdns19525:0crwdne19525:0"
reservations: "crwdns19527:0crwdne19527:0"
plans: "crwdns19529:0crwdne19529:0"
spaces: "crwdns19531:0crwdne19531:0"
online_payment: "crwdns19533:0crwdne19533:0"
invoices: "crwdns19535:0crwdne19535:0"
openlab: "crwdns19537:0crwdne19537:0"
title: "crwdns19874:0crwdne19874:0"
intro_analytics_html: "crwdns19876:0crwdne19876:0"
version: "crwdns19878:0crwdne19878:0"
members: "crwdns19880:0crwdne19880:0"
admins: "crwdns19882:0crwdne19882:0"
availabilities: "crwdns19884:0crwdne19884:0"
reservations: "crwdns19886:0crwdne19886:0"
plans: "crwdns19888:0crwdne19888:0"
spaces: "crwdns19890:0crwdne19890:0"
online_payment: "crwdns19892:0crwdne19892:0"
invoices: "crwdns19894:0crwdne19894:0"
openlab: "crwdns19896:0crwdne19896:0"
open_api_clients:
add_new_client: "crwdns8443:0crwdne8443:0"
api_documentation: "crwdns8445:0crwdne8445:0"
open_api_clients: "crwdns8447:0crwdne8447:0"
name: "crwdns8449:0crwdne8449:0"
calls_count: "crwdns8451:0crwdne8451:0"
calls_count: "crwdns20214:0crwdne20214:0"
token: "crwdns8453:0crwdne8453:0"
created_at: "crwdns8455:0crwdne8455:0"
reset_token: "crwdns8457:0crwdne8457:0"
reset_token: "crwdns20216:0crwdne20216:0"
client_name: "crwdns8459:0crwdne8459:0"
confirmation_required: "crwdns8461:0crwdne8461:0"
do_you_really_want_to_delete_this_open_api_client: "crwdns8463:0crwdne8463:0"
@ -993,18 +1020,18 @@ ach:
client_successfully_updated: "crwdns8469:0crwdne8469:0"
client_successfully_deleted: "crwdns8471:0crwdne8471:0"
access_successfully_revoked: "crwdns8473:0crwdne8473:0"
#create a new space
space_new:
#create a new space
add_a_new_space: "crwdns8475:0crwdne8475:0"
watch_out_when_creating_a_new_space_its_prices_are_initialized_at_0_for_all_subscriptions: "crwdns8477:0crwdne8477:0"
consider_changing_its_prices_before_creating_any_reservation_slot: "crwdns8479:0crwdne8479:0"
add_this_space: "crwdns8481:0crwdne8481:0"
#modify an exiting space
space_edit:
#modify an exiting space
edit_the_space_NAME: "crwdns8483:0{NAME}crwdne8483:0"
validate_the_changes: "crwdns8485:0crwdne8485:0"
#process and delete abuses reports
manage_abuses:
#process and delete abuses reports
abuses_list: "crwdns8487:0crwdne8487:0"
no_reports: "crwdns8489:0crwdne8489:0"
published_by: "crwdns8491:0crwdne8491:0"
@ -1014,3 +1041,192 @@ ach:
report_will_be_destroyed: "crwdns8499:0crwdne8499:0"
report_removed: "crwdns8501:0crwdne8501:0"
failed_to_remove: "crwdns8503:0crwdne8503:0"
#feature tour
tour:
conclusion:
title: "crwdns19898:0crwdne19898:0"
content: "crwdns20174:0crwdne20174:0"
trainings:
welcome:
title: "crwdns19902:0crwdne19902:0"
content: "crwdns19904:0crwdne19904:0"
trainings:
title: "crwdns19906:0crwdne19906:0"
content: "crwdns20218:0crwdne20218:0"
filter:
title: "crwdns19910:0crwdne19910:0"
content: "crwdns19912:0crwdne19912:0"
tracking:
title: "crwdns19914:0crwdne19914:0"
content: "crwdns19916:0crwdne19916:0"
calendar:
welcome:
title: "crwdns19918:0crwdne19918:0"
content: "crwdns19920:0crwdne19920:0"
agenda:
title: "crwdns19922:0crwdne19922:0"
content: "crwdns19924:0crwdne19924:0"
export:
title: "crwdns19926:0crwdne19926:0"
content: "crwdns19928:0crwdne19928:0"
import:
title: "crwdns19930:0crwdne19930:0"
content: "crwdns19932:0crwdne19932:0"
members:
welcome:
title: "crwdns19934:0crwdne19934:0"
content: "crwdns19936:0crwdne19936:0"
list:
title: "crwdns19938:0crwdne19938:0"
content: "crwdns19940:0crwdne19940:0"
search:
title: "crwdns19942:0crwdne19942:0"
content: "crwdns19944:0crwdne19944:0"
filter:
title: "crwdns19946:0crwdne19946:0"
content: "crwdns19948:0crwdne19948:0"
actions:
title: "crwdns19950:0crwdne19950:0"
content: "crwdns19952:0crwdne19952:0"
exports:
title: "crwdns19954:0crwdne19954:0"
content: "crwdns19956:0crwdne19956:0"
import:
title: "crwdns19958:0crwdne19958:0"
content: "crwdns19960:0crwdne19960:0"
admins:
title: "crwdns19962:0crwdne19962:0"
content: "crwdns19964:0crwdne19964:0"
groups:
title: "crwdns19966:0crwdne19966:0"
content: "crwdns20164:0crwdne20164:0"
labels:
title: "crwdns19970:0crwdne19970:0"
content: "crwdns19972:0crwdne19972:0"
sso:
title: "crwdns19974:0crwdne19974:0"
content: "crwdns19976:0crwdne19976:0"
invoices:
welcome:
title: "crwdns19978:0crwdne19978:0"
content: "crwdns19980:0crwdne19980:0"
list:
title: "crwdns19982:0crwdne19982:0"
content: "crwdns19984:0crwdne19984:0"
chained:
title: "crwdns19986:0crwdne19986:0"
content: "crwdns19988:0crwdne19988:0"
download:
title: "crwdns19990:0crwdne19990:0"
content: "crwdns19992:0crwdne19992:0"
refund:
title: "crwdns19994:0crwdne19994:0"
content: "crwdns19996:0crwdne19996:0"
settings:
title: "crwdns19998:0crwdne19998:0"
content: "crwdns20000:0crwdne20000:0"
codes:
title: "crwdns20002:0crwdne20002:0"
content: "crwdns20004:0crwdne20004:0"
export:
title: "crwdns20006:0crwdne20006:0"
content: "crwdns20008:0crwdne20008:0"
periods:
title: "crwdns20010:0crwdne20010:0"
content: "crwdns20012:0crwdne20012:0"
pricing:
welcome:
title: "crwdns20014:0crwdne20014:0"
content: "crwdns20016:0crwdne20016:0"
new_plan:
title: "crwdns20018:0crwdne20018:0"
content: "crwdns20020:0crwdne20020:0"
trainings:
title: "crwdns20022:0crwdne20022:0"
content: "crwdns20024:0crwdne20024:0"
machines:
title: "crwdns20026:0crwdne20026:0"
content: "crwdns20028:0crwdne20028:0"
spaces:
title: "crwdns20030:0crwdne20030:0"
content: "crwdns20032:0crwdne20032:0"
credits:
title: "crwdns20034:0crwdne20034:0"
content: "crwdns20036:0crwdne20036:0"
coupons:
title: "crwdns20038:0crwdne20038:0"
content: "crwdns20040:0crwdne20040:0"
events:
welcome:
title: "crwdns20042:0crwdne20042:0"
content: "crwdns20044:0crwdne20044:0"
list:
title: "crwdns20046:0crwdne20046:0"
content: "crwdns20048:0crwdne20048:0"
filter:
title: "crwdns20050:0crwdne20050:0"
content: "crwdns20052:0crwdne20052:0"
categories:
title: "crwdns20054:0crwdne20054:0"
content: "crwdns20056:0crwdne20056:0"
themes:
title: "crwdns20058:0crwdne20058:0"
content: "crwdns20060:0crwdne20060:0"
ages:
title: "crwdns20062:0crwdne20062:0"
content: "crwdns20064:0crwdne20064:0"
prices:
title: "crwdns20066:0crwdne20066:0"
content: "crwdns20068:0crwdne20068:0"
project_elements:
welcome:
title: "crwdns20070:0crwdne20070:0"
content: "crwdns20072:0crwdne20072:0"
abuses:
title: "crwdns20074:0crwdne20074:0"
content: "crwdns20076:0crwdne20076:0"
statistics:
welcome:
title: "crwdns20078:0crwdne20078:0"
content: "crwdns20080:0crwdne20080:0"
export:
title: "crwdns20082:0crwdne20082:0"
content: "crwdns20084:0crwdne20084:0"
trending:
title: "crwdns20086:0crwdne20086:0"
content: "crwdns20088:0crwdne20088:0"
settings:
welcome:
title: "crwdns20090:0crwdne20090:0"
content: "crwdns20092:0crwdne20092:0"
home:
title: "crwdns20094:0crwdne20094:0"
content: "crwdns20096:0crwdne20096:0"
components:
title: "crwdns20098:0crwdne20098:0"
content: "crwdns20100:0crwdne20100:0"
codeview:
title: "crwdns20102:0crwdne20102:0"
content: "crwdns20104:0crwdne20104:0"
reset:
title: "crwdns20106:0crwdne20106:0"
content: "crwdns20108:0crwdne20108:0"
css:
title: "crwdns20110:0crwdne20110:0"
content: "crwdns20112:0crwdne20112:0"
about:
title: "crwdns20114:0crwdne20114:0"
content: "crwdns20116:0crwdne20116:0"
privacy:
title: "crwdns20118:0crwdne20118:0"
content: "crwdns20120:0crwdne20120:0"
draft:
title: "crwdns20122:0crwdne20122:0"
content: "crwdns20124:0crwdne20124:0"
open_api:
welcome:
title: "crwdns20126:0crwdne20126:0"
content: "crwdns20128:0crwdne20128:0"
doc:
title: "crwdns20130:0crwdne20130:0"
content: "crwdns20132:0crwdne20132:0"

View File

@ -1,18 +1,16 @@
en:
app:
admin:
#add a new machine
machines_new:
# add a new machine
declare_a_new_machine: "Declare a new machine"
watch_out_when_creating_a_new_machine_its_prices_are_initialized_at_0_for_all_subscriptions: "Watch out! When creating a new machine, its prices are initialized at 0 for all subscriptions."
consider_changing_them_before_creating_any_reservation_slot: "Consider changing them before creating any reservation slot."
#machine edition
machines_edit:
# machine edition
machine_edit: "Edit a machine"
#manage the trainings & machines slots
calendar:
# manage the trainings & machines slots
calendar_management: "Calendar management"
trainings: "Trainings"
machines: "Machines"
@ -49,7 +47,7 @@ en:
manage_trainings: "Click here to add or remove trainings."
number_of_tickets: "Number of tickets: "
adjust_the_opening_hours: "Adjust the opening hours"
to_time: "to" # eg. from 18:00 to 21:00
to_time: "to" #eg. from 18:00 to 21:00
restrict_options: "Restriction options"
restrict_with_labels: "Restrict this slot with labels"
restrict_for_subscriptions: "Restrict this slot for subscription users"
@ -97,10 +95,10 @@ en:
event_in_the_past: "Unable to create a slot in the past."
edit_event: "Edit the event"
view_reservations: "View reservations"
legend: "legend"
legend: "Legend"
and: "and"
external_sync: "Calendar synchronization"
# import external iCal calendar
icalendar:
icalendar_import: "iCalendar import"
intro: "Fab-manager allows to automatically import calendar events, at RFC 5545 iCalendar format, from external URL. These URL are synchronized every hours and the events are shown in the public calendar. You can trigger a synchronisation too, by clicking on the corresponding button, in front of each import."
@ -121,9 +119,8 @@ en:
confirmation_required: "Confirmation required"
confirm_delete_import: "Do you really want to delete this iCalendar import?"
delete_success: "iCalendar import successfully deleted"
#management of the projects' components
project_elements:
# management of the projects' components
name: "Name"
projects_elements_management: "Projects elements management"
materials: "Materials"
@ -134,9 +131,8 @@ en:
description: "Description"
add_a_new_licence: "Add a new licence"
manage_abuses: "Manage the reports"
#track and monitor the trainings
trainings:
# track and monitor the trainings
trainings_monitoring: "Trainings monitoring"
plan_session: "Schedule a new session"
trainings: "Trainings"
@ -168,15 +164,13 @@ en:
status_enabled: "Enabled"
status_disabled: "Disabled"
status_all: "All"
#create a new training
trainings_new:
# create a new training
add_a_new_training: "Add a new training"
beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "Beware, when creating a training, its reservation prices are initialized at zero."
dont_forget_to_change_them_before_creating_slots_for_this_training: "Don't forget to change them before creating slots for this training."
#events tracking and management
events:
# events tracking and management
events_monitoring: "Events monitoring"
manage_filters: "Manage filters"
fablab_events: "Fablab events"
@ -188,8 +182,8 @@ en:
on_DATE: "on {DATE}"
from_DATE: "from {DATE}"
from_TIME: "from {TIME}"
to_date: "to" # eg: from 01/01 to 01/05
to_time: "to" # eg. from 18:00 to 21:00
to_date: "to" #eg: from 01/01 to 01/05
to_time: "to" #eg. from 18:00 to 21:00
title: "Title"
dates: "Dates"
booking: "Booking"
@ -229,18 +223,16 @@ en:
do_you_really_want_to_delete_this_price_category: "Do you really want to delete this price category?"
price_category_successfully_deleted: "Price category successfully deleted."
price_category_deletion_failed: "Price category deletion failed."
#add a new event
events_new:
# add a new event
add_an_event: "Add an event"
none: "None"
every_days: "Every days"
every_week: "Every week"
every_month: "Every month"
every_year: "Every year"
#edit an existing event
events_edit:
# edit an existing event
edit_the_event: "Edit the event"
confirmation_required: "Confirmation required"
edit_recurring_event: "You're about to update a periodic event. What do you want to update ?"
@ -248,15 +240,14 @@ en:
edit_this_and_next: "This event and the following"
edit_all: "All events"
date_wont_change: "Warning: you have changed the event date. This modification won't be propagated to other occurrences of the periodic event."
event_successfully_updated: "Event successfully updated"
event_successfully_updated: "Event successfully updated."
events_updated: "The event, and {COUNT, plural, =1{one other} other{{COUNT} others}}, have been updated"
unable_to_update_the_event: "Unable to update the event"
events_not_updated: "On {TOTAL} events, {COUNT, plural, =1{one was not updated} other{{COUNT} were not deleted}}."
error_deleting_reserved_price: "Unable to delete the requested price because it is associated with some reservations"
other_error: "An unexpected error occurred while updating the event"
#event reservations list
event_reservations:
# event reservations list
the_reservations: "Reservations:"
user: "User"
payment_date: "Payment date"
@ -266,9 +257,8 @@ en:
no_reservations_for_now: "No reservation for now."
back_to_monitoring: "Back to monitoring"
canceled: "Canceled"
#subscriptions, prices, credits and coupons management
pricing:
# subscriptions, prices, credits and coupons management
pricing_management: "Pricing management"
subscriptions: "Subscriptions"
trainings: "Trainings"
@ -297,7 +287,7 @@ en:
hours: "Slots of {DURATION} minutes"
related_subscriptions: "Related subscriptions"
please_specify_a_number: "Please specify a number."
none: "None" # grammar concordance with training.
none: "None" #grammar concordance with training.
an_error_occurred_while_saving_the_number_of_credits: "An error occurred while saving the number of credits."
an_error_occurred_while_deleting_credit_with_the_TRAINING: "An error occurred while deleting credit with the {TRAINING}."
an_error_occurred_unable_to_find_the_credit_to_revoke: "An error occurred : unable to find the credit to revoke."
@ -347,26 +337,23 @@ en:
status_enabled: "Enabled"
status_disabled: "Disabled"
status_all: "All"
#ajouter un code promotionnel
coupons_new:
# ajouter un code promotionnel
add_a_coupon: "Add a coupon"
unable_to_create_the_coupon_check_code_already_used: "Unable to create the coupon. Please check that the code is not already used"
unable_to_create_the_coupon_check_code_already_used: "Unable to create the coupon. Please check that the code is not already used."
#mettre à jour un code promotionnel
coupons_edit:
# mettre à jour un code promotionnel
coupon: "Coupon:"
unable_to_update_the_coupon_an_error_occurred: "Unable to update the coupon: an error occurred."
plans:
#add a subscription plan on the platform
new:
# add a subscription plan on the platform
add_a_subscription_plan: "Add a subscription plan"
unable_to_create_the_subscription_please_try_again: "Unable to create the subscription plan. Please try again."
successfully_created_subscriptions_dont_forget_to_redefine_prices: "Subscription(s) successfully created. Don't forget to redefine prices."
unable_to_save_this_user_check_that_there_isnt_an_already_a_user_with_the_same_name: "Unable to save this user. Check that there isn't an already defined user with the same name."
#edit a subscription plan / machine slots prices
edit:
# edit a subscription plan / machine slots prices
subscription_plan: "Subscription plan:"
prices: "Prices"
copy_prices_from: "Copy prices from"
@ -377,9 +364,8 @@ en:
space: "Space"
unable_to_save_subscription_changes_please_try_again: "Unable to save subscription changes. Please try again."
subscription_successfully_changed: "Subscription successfully changed."
#list of all invoices & invoicing parameters
invoices:
# list of all invoices & invoicing parameters
invoices: "Invoices"
accounting_periods: "Accounting periods"
invoices_list: "Invoices list"
@ -425,7 +411,7 @@ en:
year: "Year"
month: "Month"
day: "Day"
num_of_invoice: "# of invoice"
num_of_invoice: "Num. of invoice"
online_sales: "Online sales"
wallet: "Wallet"
refund: "Refund"
@ -477,7 +463,7 @@ en:
description: "Description"
description_optional: "Description (optional):"
will_appear_on_the_refund_invoice: "Will appear on the refund invoice."
none: "None" # grammar concordance with payment mean
none: "None" #grammar concordance with payment mean
by_cash: "By cash"
by_cheque: "By cheque"
by_transfer: "By transfer"
@ -595,9 +581,8 @@ en:
debit_euro: "Euro debit"
credit_euro: "Euro credit"
lettering: "Lettering"
#management of users, labels, groups, and so on
members:
# management of users, labels, groups, and so on
users_management: "Users management"
members: "Members"
subscriptions: "Subscriptions"
@ -675,14 +660,12 @@ en:
member_filter_all: "All"
member_filter_not_confirmed: "Unconfirmed"
member_filter_inactive_for_3_years: "Inactive for 3 years"
#add a member
members_new:
# add a member
add_a_member: "Add a member"
user_is_an_organization: "User is an organization"
#members bulk import
members_import:
# members bulk import
import_members: "Import members"
info: "You can upload a CSV file to create new members or update existing ones. Your file must user the identifiers below to specify the group, the trainings and the tags of the members."
required_fields: "Your file must contain, at least, the following information for each user to create: email, name, first name and group. If the password is empty, it will be generated. On updates, the empty fields will be kept as is."
@ -706,11 +689,10 @@ en:
update_on_id: "ID"
update_on_username: "Username"
update_on_email: "Email address"
#import results
members_import_result:
# import results
import_results: "Import results"
import_details: "Import #{ID}, of {DATE}, initiated by {USER}"
import_details: "Import # {ID}, of {DATE}, initiated by {USER}"
results: "Results"
pending: "Pending..."
status_create: "Creating a new user"
@ -718,9 +700,8 @@ en:
success: "Success"
failed: "Failed"
error_details: "Error's details:"
#edit a member
members_edit:
# edit a member
subscription: "Subscription"
duration: "Duration:"
expires_at: "Expires at:"
@ -762,9 +743,8 @@ en:
a_problem_occurred_while_taking_the_subscription: "A problem occurred while taking the subscription"
wallet: "Wallet"
to_credit: 'Credit'
#add a new administrator to the platform
admins_new:
# add a new administrator to the platform
add_an_administrator: "Add an administrator"
administrator_successfully_created_he_will_receive_his_connection_directives_by_email: "Administrator successfully created. {GENDER, select, female{She} other{He}} receive {GENDER, select, female{her} other{his}} connection directives by e-mail."
failed_to_create_admin: "Unable to create the administrator:"
@ -781,37 +761,33 @@ en:
birth_date: "Date of birth"
address: "Address"
phone_number: "Phone number"
#add a new authentication provider (SSO)
authentication_new:
# add a new authentication provider (SSO)
local_database: "Local Database"
o_auth2: "OAuth 2.0"
add_a_new_authentication_provider: "Add a new authentication provider"
a_local_database_provider_already_exists_unable_to_create_another: "A \"Local Database\" provider already exists. Unable to create another."
local_provider_successfully_saved: "Local provider successfully saved."
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "It is required to set the matching between User.uid and the API to add this provider"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "It is required to set the matching between User.uid and the API to add this provider."
security_issue_detected: "Security issue detected"
beware_the_oauth2_authenticatoin_provider_you_are_about_to_add_isnt_using_HTTPS: "Beware: the OAuth 2 provider you are about to add isn't using HTTPS."
this_is_a_serious_security_issue_on_internet_and_should_never_be_used_except_for_testing_purposes: "This is a serious security issue on internet and should never be used except for testing purposes."
do_you_really_want_to_continue: "Do you really want to continue?"
unsecured_oauth2_provider_successfully_added: "Unsecured OAuth 2.0 provider successfully added."
oauth2_provider_successfully_added: "OAuth 2.0 provider successfully added."
#edit an authentication provider (SSO)
authentication_edit:
# edit an authentication provider (SSO)
provider: "Provider :"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "It is required to set the matching between User.uid and the API to add this provider"
provider_successfully_updated: "Provider successfully updated"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "It is required to set the matching between User.uid and the API to add this provider."
provider_successfully_updated: "Provider successfully updated."
an_error_occurred_unable_to_update_the_provider: "An error occurred: unable to update the provider."
#statistics tables
statistics:
# statistics tables
statistics: "Statistics"
evolution: "Evolution"
age_filter: "Age filter"
from_age: "From" # eg. from 8 to 40 years old
to_age: "to" # eg. from 8 to 40 years old
_years_old: "years old"
from_age: "From" #eg. from 8 to 40 years old
to_age: "to" #eg. from 8 to 40 years old
start: "Start:"
end: "End:"
custom_filter: "Custom filter"
@ -819,12 +795,12 @@ en:
criterion: "Criterion:"
value: "Value:"
exclude: "Exclude"
from_date: "From" # eg: from 01/01 to 01/05
to_date: "to" # eg: from 01/01 to 01/05
from_date: "From" #eg: from 01/01 to 01/05
to_date: "to" #eg: from 01/01 to 01/05
entries: "Entries:"
revenue_: "Revenue:"
average_age: "Average age:"
years_old: "Years old"
years_old: "years old"
total: "Total"
available_hours: "Hours available for booking:"
available_tickets: "Tickets available for booking:"
@ -847,15 +823,14 @@ en:
export_is_running_you_ll_be_notified_when_its_ready: "Export is running. You'll be notified when it's ready."
create_plans_to_start: "Start by creating new subscription plans."
click_here: "Click here to create your first one."
#statistics graphs
stats_graphs:
# statistics graphs
statistics: "Statistics"
data: "Data"
day: "Day"
week: "Week"
from_date: "From" # eg: from 01/01 to 01/05
to_date: "to" # eg: from 01/01 to 01/05
from_date: "From" #eg: from 01/01 to 01/05
to_date: "to" #eg: from 01/01 to 01/05
month: "Month"
start: "Start:"
end: "End:"
@ -867,9 +842,8 @@ en:
week_of_START_to_END: "Week of {START} to {END}"
no_data_for_this_period: "No data for this period"
date: "Date"
#global application parameters and customization
settings:
# global application parameters and customization
title: "Title"
customize_the_application: "Customize the application"
general: "General"
@ -1029,16 +1003,15 @@ en:
online_payment: "Is the online payment module active?"
invoices: "Is the invoicing module active?"
openlab: "Is the project sharing module (OpenLab) active?"
open_api_clients:
add_new_client: "Create new API client"
api_documentation: "API documentation"
open_api_clients: "OpenAPI clients"
name: "Name"
calls_count: "calls count"
calls_count: "Calls count"
token: "Token"
created_at: "Creation date"
reset_token: "revoke access"
reset_token: "Revoke access"
client_name: "Client's name"
confirmation_required: "Confirmation required"
do_you_really_want_to_delete_this_open_api_client: "Do you really want to delete this OpenAPI client?"
@ -1047,21 +1020,18 @@ en:
client_successfully_updated: "Client successfully updated."
client_successfully_deleted: "Client successfully deleted."
access_successfully_revoked: "Access successfully revoked."
#create a new space
space_new:
# create a new space
add_a_new_space: "Add a new space"
watch_out_when_creating_a_new_space_its_prices_are_initialized_at_0_for_all_subscriptions: "Watch out! When creating a new space, its prices are initialized at 0 for all subscriptions."
consider_changing_its_prices_before_creating_any_reservation_slot: "Consider changing its prices before creating any reservation slot."
add_this_space: "Add this space"
#modify an exiting space
space_edit:
# modify an exiting space
edit_the_space_NAME: "Edit the space: {NAME}"
validate_the_changes: "Validate the changes"
#process and delete abuses reports
manage_abuses:
# process and delete abuses reports
abuses_list: "Reports list"
no_reports: "No reports for now"
published_by: "published by"
@ -1071,7 +1041,7 @@ en:
report_will_be_destroyed: "Once the report has been processed, it will be deleted. This can't be undone, continue?"
report_removed: "The report has been deleted"
failed_to_remove: "An error occurred, unable to delete the report"
#feature tour
tour:
conclusion:
title: "Thank you for your attention"
@ -1082,7 +1052,7 @@ en:
content: "Here you can create, modify and delete trainings. It is also the place where you can validate the training courses followed by your members."
trainings:
title: "Manage trainings"
content: "<p>When creating a training, you can define a default number of places. However, the number of actual places may be modified for each session.</p><p>The training sessions are scheduled from the administrator tab [Calendar].</p><p>Another thing: it is possible to associate one or more machines with a training. This makes it a prerequisite for the reservation of these machines.</p>"
content: "<p>When creating a training, you can define a default number of places. However, the number of actual places may be modified for each session.</p><p>The training sessions are scheduled from the administrator tab « Calendar ».</p><p>Another thing: it is possible to associate one or more machines with a training. This makes it a prerequisite for the reservation of these machines.</p>"
filter:
title: "Filter"
content: "By default, only active courses are displayed here. Display the others by choosing another filter here."

View File

@ -1,18 +1,16 @@
es:
app:
admin:
#add a new machine
machines_new:
#add a new machine
declare_a_new_machine: "Declara una nueva máquina"
watch_out_when_creating_a_new_machine_its_prices_are_initialized_at_0_for_all_subscriptions: "Cuidado al crear una nueva máquina, los precios están inicializados a 0 para todas las subscripciones."
consider_changing_them_before_creating_any_reservation_slot: "Considera cambiarlos antes de crear cualquier ranura de reserva."
#machine edition
machines_edit:
#machine edition
machine_edit: "Editar una máquina"
#manage the trainings & machines slots
calendar:
#manage the trainings & machines slots
calendar_management: "Administración de calendario"
trainings: "Formación"
machines: "Máquinas"
@ -49,7 +47,7 @@ es:
manage_trainings: "Click here to add or remove trainings."
number_of_tickets: "Número de tickets: "
adjust_the_opening_hours: "Ajustar el horario de apertura"
to_time: "a" # eg. from 18:00 to 21:00
to_time: "a" #eg. from 18:00 to 21:00
restrict_options: "Restriction options"
restrict_with_labels: "Restringir este horario con etiquetas"
restrict_for_subscriptions: "Restrict this slot for subscription users"
@ -97,10 +95,10 @@ es:
event_in_the_past: "Unable to create a slot in the past."
edit_event: "Edit the event"
view_reservations: "Ver reservas"
legend: "leyenda"
legend: "Leyenda"
and: "y"
external_sync: "Calendar synchronization"
#import external iCal calendar
icalendar:
icalendar_import: "iCalendar import"
intro: "Fab-manager allows to automatically import calendar events, at RFC 5545 iCalendar format, from external URL. These URL are synchronized every hours and the events are shown in the public calendar. You can trigger a synchronisation too, by clicking on the corresponding button, in front of each import."
@ -121,9 +119,8 @@ es:
confirmation_required: "Confirmation required"
confirm_delete_import: "Do you really want to delete this iCalendar import?"
delete_success: "iCalendar import successfully deleted"
#management of the projects' components
project_elements:
#management of the projects' components
name: "Name"
projects_elements_management: "Gestión de elementos de proyectos"
materials: "Materials"
@ -134,9 +131,8 @@ es:
description: "Description"
add_a_new_licence: "Agregar una nueva licencia"
manage_abuses: "Administrar informes"
#track and monitor the trainings
trainings:
#track and monitor the trainings
trainings_monitoring: "Trainings monitoring"
plan_session: "Schedule a new session"
trainings: "Trainings"
@ -168,15 +164,13 @@ es:
status_enabled: "Enabled"
status_disabled: "Disabled"
status_all: "All"
#create a new training
trainings_new:
#create a new training
add_a_new_training: "Add a new training"
beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "Tenga cuidado, al crear una formación, sus precios de reserva se inicializan en cero."
dont_forget_to_change_them_before_creating_slots_for_this_training: "No olvides cambiarlos antes de crear espacios para esta formación."
#events tracking and management
events:
#events tracking and management
events_monitoring: "Monitoreo de eventos"
manage_filters: "Administrar filtros"
fablab_events: "Eventos de Fablab"
@ -188,8 +182,8 @@ es:
on_DATE: "on {DATE}"
from_DATE: "Desde {DATE}"
from_TIME: "Desde {TIME}"
to_date: "to" # eg: from 01/01 to 01/05
to_time: "to" # eg: from 18:00 to 21:00
to_date: "to" #eg: from 01/01 to 01/05
to_time: "to" #eg. from 18:00 to 21:00
title: "Title"
dates: "Dates"
booking: "Booking"
@ -229,18 +223,16 @@ es:
do_you_really_want_to_delete_this_price_category: "¿Desea realmente eliminar esta categoría de precios?"
price_category_successfully_deleted: "Categoría de precio eliminada correctamente."
price_category_deletion_failed: "Error al eliminar la categoría de precio."
#add a new event
events_new:
#add a new event
add_an_event: "Add an event"
none: "Nada"
every_days: "Todos los dias"
every_week: "Cada semana"
every_month: "Cada mes"
every_year: "Cada año"
#edit an existing event
events_edit:
#edit an existing event
edit_the_event: "Editar el evento"
confirmation_required: "Confirmation required"
edit_recurring_event: "You're about to update a periodic event. What do you want to update ?"
@ -248,15 +240,14 @@ es:
edit_this_and_next: "This event and the following"
edit_all: "All events"
date_wont_change: "Warning: you have changed the event date. This modification won't be propagated to other occurrences of the periodic event."
event_successfully_updated: "Event successfully updated"
event_successfully_updated: "Event successfully updated."
events_updated: "The event, and {COUNT, plural, =1{one other} other{{COUNT} others}}, have been updated"
unable_to_update_the_event: "Unable to update the event"
events_not_updated: "On {TOTAL} events, {COUNT, plural, =1{one was not updated} other{{COUNT} were not deleted}}."
error_deleting_reserved_price: "No se puede eliminar el precio solicitado porque está asociado con algunas reservas."
other_error: "Se ha producido un error inesperado al actualizar el evento."
#event reservations list
event_reservations:
#event reservations list
the_reservations: "Reservas :"
user: "User"
payment_date: "Fecha de pago"
@ -266,9 +257,8 @@ es:
no_reservations_for_now: "No hay reservas por ahora."
back_to_monitoring: "Volver a monitorizar"
canceled: "cancelada"
#subscriptions, prices, credits and coupons management
pricing:
#subscriptions, prices, credits and coupons management
pricing_management: "Gestión de precios"
subscriptions: "Suscripciones"
trainings: "Formaciones"
@ -297,7 +287,7 @@ es:
hours: "Slots of {DURATION} minutes"
related_subscriptions: "Suscripciónes relacionada"
please_specify_a_number: "Por favor, especifique un número."
none: "Nada"
none: "Nada" #grammar concordance with training.
an_error_occurred_while_saving_the_number_of_credits: "Se ha producido un error al guardar el número de créditos."
an_error_occurred_while_deleting_credit_with_the_TRAINING: "Se ha producido un error al eliminar el crédito con la {TRAINING}."
an_error_occurred_unable_to_find_the_credit_to_revoke: "Se ha producido un error: no se puede encontrar el crédito a revocar."
@ -347,26 +337,23 @@ es:
status_enabled: "Enabled"
status_disabled: "Disabled"
status_all: "All"
#ajouter un code promotionnel
coupons_new:
#ajouter un code promotionnel
add_a_coupon: "Añadir un cupón"
unable_to_create_the_coupon_check_code_already_used: "No se puede crear el cupón. Compruebe que el código no esté ya utilizado"
unable_to_create_the_coupon_check_code_already_used: "No se puede crear el cupón. Compruebe que el código no esté ya utilizado."
#mettre à jour un code promotionnel
coupons_edit:
#mettre à jour un code promotionnel
coupon: "Coupon:"
unable_to_update_the_coupon_an_error_occurred: "No se puede actualizar el cupón: se ha producido un error."
plans:
#add a subscription plan on the platform
new:
#add a subscription plan on the platform
add_a_subscription_plan: "Agregar un plan de suscripción"
unable_to_create_the_subscription_please_try_again: "No se puede crear el plan de suscripción. Por favor, inténtelo de nuevo."
successfully_created_subscriptions_dont_forget_to_redefine_prices: "Suscripción(es) creada correctamente. No olvide redefinir los precios."
unable_to_save_this_user_check_that_there_isnt_an_already_a_user_with_the_same_name: "No se puede guardar este usuario. Compruebe que no hay un usuario ya definido con el mismo nombre."
#edit a subscription plan / machine slots prices
edit:
#edit a subscription plan / machine slots prices
subscription_plan: "Plan de suscripción:"
prices: "Precios"
copy_prices_from: "Copia los precios desde"
@ -377,9 +364,8 @@ es:
space: "Espacio"
unable_to_save_subscription_changes_please_try_again: "No se pueden guardar los cambios de suscripción. Por favor, inténtelo de nuevo."
subscription_successfully_changed: "Suscripción cambiada correctamente."
#list of all invoices & invoicing parameters
invoices:
#list of all invoices & invoicing parameters
invoices: "Facturas"
accounting_periods: "Accounting periods"
invoices_list: "Lista de facturas"
@ -425,7 +411,7 @@ es:
year: "Año"
month: "Mes"
day: "Día"
num_of_invoice: "# de factura"
num_of_invoice: "Num. of invoice"
online_sales: "Ventas en línea"
wallet: "Cartera"
refund: "Reembolso"
@ -477,7 +463,7 @@ es:
description: "Descripción"
description_optional: "Descripción (opcional):"
will_appear_on_the_refund_invoice: "Aparecerá en la factura de reembolso."
none: "Nada" # grammar note: concordancia con medio de pago
none: "Nada" #grammar concordance with payment mean
by_cash: "En efectivo"
by_cheque: "Mediante cheque"
by_transfer: "Por transferencia"
@ -568,7 +554,7 @@ es:
general_space_code: "Accounting code for all spaces"
accounting_Space_label: "Spaces label"
general_space_label: "Account label for all spaces"
codes_customization_success: "Customization of the accounting codes successfully saved."
codes_customization_success: "Customization of accounting codes successfully saved."
export_accounting_data: "Export accounting data"
export_to: "Export to the accounting software"
export_is_running: "Exportando, será notificado cuando esté listo."
@ -579,7 +565,7 @@ es:
encoding: "Encoding"
separator: "Separator"
dateFormat: "Date format"
labelMaxLength: "Label (max)"
labelMaxLength: "Label maximum length"
decimalSeparator: "Decimal separator"
exportInvoicesAtZero: "Export invoices equal to 0"
columns: "Columns"
@ -595,9 +581,8 @@ es:
debit_euro: "Euro debit"
credit_euro: "Euro credit"
lettering: "Lettering"
#management of users, labels, groups, and so on
members:
#management of users, labels, groups, and so on
users_management: "Gestión de usuarios"
members: "Miembros"
subscriptions: "Subscriptions"
@ -675,14 +660,12 @@ es:
member_filter_all: "All"
member_filter_not_confirmed: "Unconfirmed"
member_filter_inactive_for_3_years: "Inactive for 3 years"
#add a member
members_new:
#add a member
add_a_member: "Agregar un miembro"
user_is_an_organization: "El usuario es una organización"
#members bulk import
members_import:
#members bulk import
import_members: "Import members"
info: "You can upload a CSV file to create new members or update existing ones. Your file must user the identifiers below to specify the group, the trainings and the tags of the members."
required_fields: "Your file must contain, at least, the following information for each user to create: email, name, first name and group. If the password is empty, it will be generated. On updates, the empty fields will be kept as is."
@ -706,11 +689,10 @@ es:
update_on_id: "ID"
update_on_username: "Username"
update_on_email: "Email address"
#import results
members_import_result:
#import results
import_results: "Import results"
import_details: "Import #{ID}, of {DATE}, initiated by {USER}"
import_details: "Import # {ID}, of {DATE}, initiated by {USER}"
results: "Results"
pending: "Pending..."
status_create: "Creating a new user"
@ -718,9 +700,8 @@ es:
success: "Success"
failed: "Failed"
error_details: "Error's details:"
#edit a member
members_edit:
#edit a member
subscription: "Subscription"
duration: "Duración:"
expires_at: "Caduca en:"
@ -762,9 +743,8 @@ es:
a_problem_occurred_while_taking_the_subscription: "Se ha producido un problema al realizar la suscripción."
wallet: "Wallet"
to_credit: 'Credit'
#add a new administrator to the platform
admins_new:
#add a new administrator to the platform
add_an_administrator: "Agregar un administrador"
administrator_successfully_created_he_will_receive_his_connection_directives_by_email: "administrador creado correctamente. {GENDER, select, female{She} other{He}} receive {GENDER, select, female{her} other{his}} directivas de conexión por e-mail."
failed_to_create_admin: "No se puede crear el administrador :"
@ -781,37 +761,33 @@ es:
birth_date: "Date of birth"
address: "Address"
phone_number: "Phone number"
#add a new authentication provider (SSO)
authentication_new:
# add a new authentication provider (SSO)
local_database: "Base de datos local"
o_auth2: "OAuth 2.0"
add_a_new_authentication_provider: "Agregar un nuevo proveedor de autenticación"
a_local_database_provider_already_exists_unable_to_create_another: "A proveedor de \"Base de datos local\" ya existe. No se puede crear otro."
local_provider_successfully_saved: "Proveedor local guardado correctamente."
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "Es necesario establecer la coincidencia entre User.uid y la API para agregar este proveedor"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "Es necesario establecer la coincidencia entre User.uid y la API para agregar este proveedor."
security_issue_detected: "Se ha detectado un problema de seguridad"
beware_the_oauth2_authenticatoin_provider_you_are_about_to_add_isnt_using_HTTPS: "Tenga cuidado: el proveedor de OAuth 2 que va a agregar no está usando HTTPS."
this_is_a_serious_security_issue_on_internet_and_should_never_be_used_except_for_testing_purposes: "Este es un grave problema de seguridad en Internet y nunca debe utilizarse excepto para fines de prueba."
do_you_really_want_to_continue: "¿De verdad quieres continuar?"
unsecured_oauth2_provider_successfully_added: "Proveedor de OAuth 2.0 no seguro, se ha agregado correctamente."
oauth2_provider_successfully_added: "OAuth 2.0 proveedor agregado correctamente."
#edit an authentication provider (SSO)
authentication_edit:
#edit an authentication provider (SSO)
provider: "Proveedor :"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "Es necesario establecer la coincidencia entre User.uid y la API para agregar este proveedor"
provider_successfully_updated: "Proveedor actualizado correctamente"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "Es necesario establecer la coincidencia entre User.uid y la API para agregar este proveedor."
provider_successfully_updated: "Proveedor actualizado correctamente."
an_error_occurred_unable_to_update_the_provider: "Se ha producido un error: no se puede actualizar el proveedor."
#statistics tables
statistics:
#statistics tables
statistics: "Statistics"
evolution: "Evolución"
age_filter: "Filtro de edad"
from_age: "Desde" #context: age. eg: from 8 to 40 years old
to_age: "a" #context: age. eg: from 8 to 40 years old
_years_old: "años"
from_age: "Desde" #eg. from 8 to 40 years old
to_age: "a" #eg. from 8 to 40 years old
start: "Principio:"
end: "Final:"
custom_filter: "Filtro personalizado"
@ -819,8 +795,8 @@ es:
criterion: "Criterio:"
value: "Valor:"
exclude: "Excluir"
from_date: "From" # eg: from 01/01 to 01/05
to_date: "to" # eg: from 01/01 to 01/05
from_date: "From" #eg: from 01/01 to 01/05
to_date: "to" #eg: from 01/01 to 01/05
entries: "Entradas:"
revenue_: "Ingresos:"
average_age: "Edad media:"
@ -847,15 +823,14 @@ es:
export_is_running_you_ll_be_notified_when_its_ready: "Export is running. You'll be notified when it's ready."
create_plans_to_start: "Start by creating new subscription plans."
click_here: "Click here to create your first one."
#statistics graphs
stats_graphs:
#statistics graphs
statistics: "Statistics"
data: "Datos"
day: "Dia"
week: "Semana"
from_date: "From" # eg: from 01/01 to 01/05
to_date: "to" # eg: from 01/01 to 01/05
from_date: "From" #eg: from 01/01 to 01/05
to_date: "to" #eg: from 01/01 to 01/05
month: "Month"
start: "Inicio:"
end: "Final:"
@ -867,9 +842,8 @@ es:
week_of_START_to_END: "Semana del {START} a {END}"
no_data_for_this_period: "No hay datos para este periodo"
date: "Date"
#global application parameters and customization
settings:
# global application parameters and customization
title: "Título"
customize_the_application: "Personalizar la aplicación"
general: "General"
@ -1029,7 +1003,6 @@ es:
online_payment: "Is the online payment module active?"
invoices: "Is the invoicing module active?"
openlab: "Is the project sharing module (OpenLab) active?"
open_api_clients:
add_new_client: "Crear un nuevo cliente de API"
api_documentation: "Documentation API"
@ -1038,7 +1011,7 @@ es:
calls_count: "Número de llamadas"
token: "Token"
created_at: "Fecha de creación"
reset_token: "revocar el acceso"
reset_token: "Revocar el acceso"
client_name: "Nombre del cliente"
confirmation_required: "Confirmation required"
do_you_really_want_to_delete_this_open_api_client: "¿Desea realmente eliminar este cliente OpenAPI?"
@ -1047,21 +1020,18 @@ es:
client_successfully_updated: "Cliente actualizado correctamente."
client_successfully_deleted: "Cliente borrado correctamente."
access_successfully_revoked: "Acceso revocado correctamente."
#create a new space
space_new:
# create a new space
add_a_new_space: "Añadir un espacio nuevo"
watch_out_when_creating_a_new_space_its_prices_are_initialized_at_0_for_all_subscriptions: "¡Cuidado! Al crear un nuevo espacio, sus precios se inicializan en 0 para todas las suscripciones."
consider_changing_its_prices_before_creating_any_reservation_slot: "Considere cambiar sus precios antes de crear cualquier espacio de reserva."
add_this_space: "Añadir este espacio"
#modify an exiting space
space_edit:
# modify an exiting space
edit_the_space_NAME: "Edit the space: {NAME}"
validate_the_changes: "Validar los cambios"
#process and delete abuses reports
manage_abuses:
# process and delete abuses reports
abuses_list: "Lista de informes"
no_reports: "No informes por ahora"
published_by: "published by"
@ -1071,7 +1041,7 @@ es:
report_will_be_destroyed: "Once the report has been processed, it will be deleted. This can't be undone, continue?"
report_removed: "The report has been deleted"
failed_to_remove: "An error occurred, unable to delete the report"
#feature tour
tour:
conclusion:
title: "Thank you for your attention"
@ -1082,7 +1052,7 @@ es:
content: "Here you can create, modify and delete trainings. It is also the place where you can validate the training courses followed by your members."
trainings:
title: "Manage trainings"
content: "<p>When creating a training, you can define a default number of places. However, the number of actual places may be modified for each session.</p><p>The training sessions are scheduled from the administrator tab [Calendar].</p><p>Another thing: it is possible to associate one or more machines with a training. This makes it a prerequisite for the reservation of these machines.</p>"
content: "<p>When creating a training, you can define a default number of places. However, the number of actual places may be modified for each session.</p><p>The training sessions are scheduled from the administrator tab « Calendar ».</p><p>Another thing: it is possible to associate one or more machines with a training. This makes it a prerequisite for the reservation of these machines.</p>"
filter:
title: "Filter"
content: "By default, only active courses are displayed here. Display the others by choosing another filter here."

View File

@ -1,18 +1,16 @@
fr:
app:
admin:
#add a new machine
machines_new:
# ajout d'une nouvelle machine
declare_a_new_machine: "Déclarer une nouvelle machine"
watch_out_when_creating_a_new_machine_its_prices_are_initialized_at_0_for_all_subscriptions: "Attention, lors de la création d'une machine, ses tarifs de réservation sont initialisés à zero pour tous les abonnements."
consider_changing_them_before_creating_any_reservation_slot: "Pensez à les modifier avant de créer des créneaux pour cette machine."
#machine edition
machines_edit:
# edition d'une machine
machine_edit: "Modifier une machine"
#manage the trainings & machines slots
calendar:
# gestion des créneaux machines et formations
calendar_management: "Gestion du calendrier"
trainings: "Formations"
machines: "Machines"
@ -49,7 +47,7 @@ fr:
manage_trainings: "Cliquez-ici pour ajouter ou supprimer des formations."
number_of_tickets: "Nombre de places : "
adjust_the_opening_hours: "Ajuster l'horaire"
to_time: "à" # eg. from 18:00 to 21:00
to_time: "à" #eg. from 18:00 to 21:00
restrict_options: "Options de restriction"
restrict_with_labels: "Restreindre ce créneau avec des étiquettes"
restrict_for_subscriptions: "Restreindre ce créneau pour les abonnements"
@ -100,7 +98,7 @@ fr:
legend: "Légende"
and: "et"
external_sync: "Synchronisation d'agendas"
#import external iCal calendar
icalendar:
icalendar_import: "Import iCalendar"
intro: "Fab-manager vous permet d'importer automatiquement des évènements de calendrier, au format iCalendar RFC 5545, depuis des URL externes. Ces URL seront synchronisée toutes les heures et les évènements seront affichés dans le calendrier publique. Vous pouvez aussi déclencher une synchronisation en cliquant sur le bouton correspondant, en face de chaque import."
@ -121,9 +119,8 @@ fr:
confirmation_required: "Confirmation requise"
confirm_delete_import: "Êtes-vous sur de vouloir supprimer cet import iCalendar ?"
delete_success: "L'import iCalendar a bien été supprimé"
#management of the projects' components
project_elements:
# gestion des éléments constituant les projets
name: "Nom"
projects_elements_management: "Gestion des éléments projets"
materials: "Matériaux"
@ -134,9 +131,8 @@ fr:
description: "Description"
add_a_new_licence: "Ajouter une nouvelle licence"
manage_abuses: "Gérer les signalements"
#track and monitor the trainings
trainings:
# suivre et surveiller les formations
trainings_monitoring: "Suivi formations"
plan_session: "Planifier une nouvelle session"
trainings: "Formations"
@ -152,7 +148,7 @@ fr:
NUMBER_reservation: "{NUMBER} {NUMBER, plural, =0{réservation} one{réservation} other{réservations}}"
none: "Aucune"
training_validation: "Validation formation"
training_of_the_DATE_TIME_html : "Formation du <strong>{DATE} - {TIME}</strong>"
training_of_the_DATE_TIME_html: "Formation du <strong>{DATE} - {TIME}</strong>"
you_can_validate_the_training_of_the_following_members: "Vous pouvez valider la formation des membres suivants :"
deleted_user: "Utilisateur supprimé"
no_reservation: "Aucune réservation"
@ -168,15 +164,13 @@ fr:
status_enabled: "Actifs"
status_disabled: "Désactivés"
status_all: "Tous"
#create a new training
trainings_new:
# créer une nouvelle formation
add_a_new_training: "Ajouter une nouvelle formation"
beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "Attention, lors de la création d'une formation, ses tarifs de réservation sont initialisés à zero."
dont_forget_to_change_them_before_creating_slots_for_this_training: "Pensez à les modifier avant de créer des créneaux pour cette formation."
#events tracking and management
events:
# gestion et suivi des évènements
events_monitoring: "Suivi des évènements"
manage_filters: "Gérer les filtres"
fablab_events: "Les évènements du Fab Lab"
@ -188,8 +182,8 @@ fr:
on_DATE: "le {DATE}"
from_DATE: "du {DATE}"
from_TIME: "de {TIME}"
to_date: "au" # eg: from 01/01 to 01/05
to_time: "à" # eg. from 18:00 to 21:00
to_date: "au" #eg: from 01/01 to 01/05
to_time: "à" #eg. from 18:00 to 21:00
title: "Titre"
dates: "Dates"
booking: "Réservations"
@ -229,18 +223,16 @@ fr:
do_you_really_want_to_delete_this_price_category: "Êtes vous sur de vouloir supprimer cette catégorie tarifaire ?"
price_category_successfully_deleted: "Catégorie tarifaire supprimée avec succès."
price_category_deletion_failed: "Échec de la suppression de la catégorie tarifaire."
#add a new event
events_new:
# ajouter un nouvel évènement
add_an_event: "Ajouter un évènement"
none: "Aucune"
every_days: "Tous les jours"
every_week: "Chaque semaine"
every_month: "Chaque mois"
every_year: "Chaque année"
#edit an existing event
events_edit:
# modifier un évènement existant
edit_the_event: "Éditer l'évènement"
confirmation_required: "Confirmation requise"
edit_recurring_event: "Vous êtes sur le point de modifier un évènement périodique. Que voulez-vous modifier ?"
@ -248,15 +240,14 @@ fr:
edit_this_and_next: "Cet évènement et tous les suivants"
edit_all: "Tous les évènements"
date_wont_change: "Attention : vous avez modifié la date de l'évènement. Cette modification ne sera pas être répercutée sur les autres occurrences de l'évènement périodique."
event_successfully_updated: "L'évènement a bien été modifié."
event_successfully_updated: "Lévénement a bien été modifié."
events_updated: "L'évènement, ainsi {COUNT, plural, =1{qu'un autre} other{que {COUNT} autres}}, ont été modifiés"
unable_to_update_the_event: "L'évènement n'a pu être modifié"
events_not_updated: "Sur {TOTAL} évènements, {COUNT, plural, =1{un n'a pas pu être modifié} other{{COUNT} n'ont pas pu être modifiés}}."
error_deleting_reserved_price: "Impossible de supprimer le tarif demandé car il est associé à des réservations"
other_error: "Une erreur inattendue est survenue lors de la mise à jour de l'évènement"
#event reservations list
event_reservations:
# liste des réservations sur un évènement
the_reservations: "Les réservations :"
user: "Utilisateur"
payment_date: "Date de paiement"
@ -266,9 +257,8 @@ fr:
no_reservations_for_now: "Aucune réservation pour le moment."
back_to_monitoring: "Retour au suivi"
canceled: "Annulée"
#subscriptions, prices, credits and coupons management
pricing:
# gestion des abonnements, des tarifs, des crédits et des codes promo
pricing_management: "Gestion de la tarification"
subscriptions: "Abonnements"
trainings: "Formations"
@ -297,7 +287,7 @@ fr:
hours: "Créneaux de {DURATION} minutes"
related_subscriptions: "Abonnements associés"
please_specify_a_number: "Veuillez spécifier un nombre."
none: "Aucune" # grammar concordance with training.
none: "Aucune" #grammar concordance with training.
an_error_occurred_while_saving_the_number_of_credits: "Une erreur est survenue lors de l'enregistrement du nombre de crédits."
an_error_occurred_while_deleting_credit_with_the_TRAINING: "Une erreur est survenue lors de la suppression du crédit avec la {TRAINING}."
an_error_occurred_unable_to_find_the_credit_to_revoke: "Une erreur est survenue : impossible de retrouver le crédit à enlever."
@ -347,26 +337,23 @@ fr:
status_enabled: "Actifs"
status_disabled: "Désactivés"
status_all: "Tous"
#ajouter un code promotionnel
coupons_new:
# ajouter un code promotionnel
add_a_coupon: "Ajouter un code promotionnel"
unable_to_create_the_coupon_check_code_already_used: "Impossible de créer le code promotionnel. Vérifiez que le code n'est pas utilisé."
#mettre à jour un code promotionnel
coupons_edit:
# mettre à jour un code promotionnel
coupon: "Code promo :"
unable_to_update_the_coupon_an_error_occurred: "Impossible de mettre à jour le code promotionnel : une erreur est survenue."
plans:
#add a subscription plan on the platform
new:
# ajouter une formule d'abonnement sur la plate-forme
add_a_subscription_plan: "Ajouter une formule d'abonnement"
unable_to_create_the_subscription_please_try_again: "L'abonnement n'a pas pu être créé. Veuillez réessayer."
successfully_created_subscriptions_dont_forget_to_redefine_prices: "Création du/des abonnement(s) réussie. N'oubliez pas de redéfinir les tarifs."
unable_to_save_this_user_check_that_there_isnt_an_already_a_user_with_the_same_name: "Impossible d'enregistrer cet utilisateur. Vérifiez qu'il n'existe pas déjà un utilisateur du même nom."
#edit a subscription plan / machine slots prices
edit:
# modifier une formule d'abonnement / les prix des créneaux machines
subscription_plan: "Formule d'abonnement :"
prices: "Tarifs"
copy_prices_from: "Copier les prix depuis"
@ -377,9 +364,8 @@ fr:
space: "Espace"
unable_to_save_subscription_changes_please_try_again: "Les modifications de l'abonnement n'ont pas pu être enregistrées. Veuillez réessayer."
subscription_successfully_changed: "Modification de l'abonnement réussie."
#list of all invoices & invoicing parameters
invoices:
# liste de toutes les factures & paramètres de facturation
invoices: "Factures"
accounting_periods: "Périodes comptables"
invoices_list: "Liste des factures"
@ -425,7 +411,7 @@ fr:
year: "Année"
month: "Mois"
day: "Jour"
num_of_invoice: "N° de facture"
num_of_invoice: "Num. of invoice"
online_sales: "Vente en ligne"
wallet: "Porte-monnaie"
refund: "Remboursement"
@ -449,7 +435,7 @@ fr:
add_a_notice_regarding_the_online_sales_only_if_the_invoice_is_concerned: "Ajoute une information relative à la vente en ligne, uniquement si cela concerne la facture."
this_will_never_be_added_when_a_refund_notice_is_present: "Ceci ne sera jamais cumulé avec une information de remboursement."
eg_XVL_will_add_VL_to_the_invoices_settled_with_stripe: '(ex. X[/VL] ajoutera "/VL" aux factures réglées avec stripe)'
add_a_notice_regarding_refunds_only_if_the_invoice_is_concerned: "Ajoute une information relative aux remboursements, uniquement si cela concerne la facture. "
add_a_notice_regarding_refunds_only_if_the_invoice_is_concerned: "Ajoute une information relative aux remboursements, uniquement si cela concerne la facture."
this_will_never_be_added_when_an_online_sales_notice_is_present: "Ceci ne sera jamais cumulé avec une information de vente en ligne."
eg_RA_will_add_A_to_the_refund_invoices: '(ex. R[/A] ajoutera "/A" aux factures de remboursement)'
add_a_notice_regarding_the_wallet_only_if_the_invoice_is_concerned: "Ajoute une information relative au paiement par le porte-monnaie, uniquement si cela concerne la facture."
@ -477,7 +463,7 @@ fr:
description: "Description"
description_optional: "Description (optionnelle) :"
will_appear_on_the_refund_invoice: "Apparaîtra sur la facture de remboursement."
none: "Aucun" # grammar concordance with payment mean
none: "Aucun" #grammar concordance with payment mean
by_cash: "En espèces"
by_cheque: "Par chèque"
by_transfer: "Par virement"
@ -595,9 +581,8 @@ fr:
debit_euro: "Débit euro"
credit_euro: "Crédit euro"
lettering: "Lettrage"
#management of users, labels, groups, and so on
members:
# gestion des utilisateurs, des groupes, des étiquettes, etc.
users_management: "Gestion des utilisateurs"
members: "Membres"
subscriptions: "Abonnements"
@ -675,18 +660,16 @@ fr:
member_filter_all: "Tous"
member_filter_not_confirmed: "Non confirmés"
member_filter_inactive_for_3_years: "Inactifs depuis 3 ans"
#add a member
members_new:
# ajouter un membre
add_a_member: "Ajouter un membre"
user_is_an_organization: "L'utilisateur est une structure"
#members bulk import
members_import:
# import massif de members
import_members: "Importer des membres"
info: "Vous pouvez téléverser un fichier CSV afin de créer des nouveaux membres ou de mettre à jour les existants. Votre fichier doit utiliser les identifiants ci-dessous pour spécifier le groupe, les formations et les étiquettes des membres."
required_fields: "Votre fichier doit obligatoirement comporter, au minimum, les informations suivantes pour chaque utilisateur à créer : courriel, nom, prénom et groupe. Si le mot passe n'est pas rempli, il sera généré automatiquement. Lors d'une mise à jour, les champs non remplis seront gardés tel quels."
about_example: "Merci de vous référer au fichier d'exemple fourni pour générer un fichier CSV au bon format. Attention à l'utiliser l'encodage Unicode UTF-8"
about_example: "Merci de vous référer au fichier d'exemple fourni pour générer un fichier CSV au bon format. Attention à l'utiliser l'encodage Unicode UTF-8."
groups: "Groupes"
group_name: "Nom du groupe"
group_identifier: "Identifiant à utiliser"
@ -706,11 +689,10 @@ fr:
update_on_id: "ID"
update_on_username: "Pseudonyme"
update_on_email: "Adresse de courriel"
#import results
members_import_result:
# résultats de l'import
import_results: "Résultats de l'import"
import_details: "Import n°{ID}, du {DATE}, initié par {USER}"
import_details: "Import n° {ID}, du {DATE}, initié par {USER}"
results: "Résultats"
pending: "En cours..."
status_create: "Création d'un nouvel utilisateur"
@ -718,9 +700,8 @@ fr:
success: "Succès"
failed: "Échec"
error_details: "Détails de l'erreur :"
#edit a member
members_edit:
# modifier un membre
subscription: "Abonnement"
duration: "Durée :"
expires_at: "Expire le :"
@ -762,9 +743,8 @@ fr:
a_problem_occurred_while_taking_the_subscription: "Il y a eu un problème lors de la souscription à l'abonnement"
wallet: "Porte-monnaie"
to_credit: 'Créditer'
#add a new administrator to the platform
admins_new:
# ajouter un nouvel administrateur à la plate-forme
add_an_administrator: "Ajouter un administrateur"
administrator_successfully_created_he_will_receive_his_connection_directives_by_email: "L'administrateur a bien été créé. {GENDER, select, female{Elle} other{Il}} recevra ses instructions de connexion par email."
failed_to_create_admin: "Impossible de créer l'administrateur :"
@ -781,9 +761,8 @@ fr:
birth_date: "Date de naissance"
address: "Adresse"
phone_number: "Numéro de téléphone"
#add a new authentication provider (SSO)
authentication_new:
# ajouter un nouveau fournisseur d'authentification (SSO)
local_database: "Base de données locale"
o_auth2: "OAuth 2.0"
add_a_new_authentication_provider: "Ajouter un fournisseur d'authentification"
@ -796,22 +775,19 @@ fr:
do_you_really_want_to_continue: "Êtes vous sur de vouloir continuer ?"
unsecured_oauth2_provider_successfully_added: "Le fournisseur OAuth 2.0 (non sécurisé) a bien été enregistré."
oauth2_provider_successfully_added: "Le fournisseur OAuth 2.0 a bien été enregistré."
#edit an authentication provider (SSO)
authentication_edit:
# modifier un fournisseur d'authentification (SSO)
provider: "Fournisseur :"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "Il est obligatoire d'établir la correspondance entre User.uid et l'API pour pouvoir ajouter ce fournisseur."
provider_successfully_updated: "Le fournisseur a bien été mis à jour."
an_error_occurred_unable_to_update_the_provider: "Une error est survenue : impossible de mettre à jour le fournisseur."
#statistics tables
statistics:
# tableau de statistiques
statistics: "Statistiques"
evolution: "évolution"
evolution: "Évolution"
age_filter: "Filtre d'âge"
from_age: "De" # eg: from 8 to 40 years old
to_age: "à" # eg: from 8 to 40 years old
_years_old: "ans"
from_age: "De" #eg. from 8 to 40 years old
to_age: "à" #eg. from 8 to 40 years old
start: "Début :"
end: "Fin :"
custom_filter: "Filtre personnalisé"
@ -819,8 +795,8 @@ fr:
criterion: "Critère :"
value: "Valeur :"
exclude: "Exclure"
from_date: "Du" # eg: from 01/01 to 01/05
to_date: "au" # eg: from 01/01 to 01/05
from_date: "Du" #eg: from 01/01 to 01/05
to_date: "au" #eg: from 01/01 to 01/05
entries: "Entrées :"
revenue_: "Chiffre d'affaires :"
average_age: "Âge moyen :"
@ -847,15 +823,14 @@ fr:
export_is_running_you_ll_be_notified_when_its_ready: "L'export est en cours. Vous serez notifié lorsqu'il sera prêt."
create_plans_to_start: "Pour commencer, créez de nouvelles formules d'abonnement."
click_here: "Cliquez ici pour créer votre première formule."
#statistics graphs
stats_graphs:
# graphiques de statistiques
statistics: "Statistiques"
data: "Données"
day: "Jour"
week: "Semaine"
from_date: "Du" # eg: from 01/01 to 01/05
to_date: "au" # eg: from 01/01 to 01/05
from_date: "Du" #eg: from 01/01 to 01/05
to_date: "au" #eg: from 01/01 to 01/05
month: "Mois"
start: "Début :"
end: "Fin :"
@ -867,9 +842,8 @@ fr:
week_of_START_to_END: "Semaine du {START} au {END}"
no_data_for_this_period: "Pas de données pour cette période"
date: "Date"
#global application parameters and customization
settings:
# paramètres globaux de l'application et personnalisation
title: "Titre"
customize_the_application: "Personnalisation de l'application"
general: "Général"
@ -905,7 +879,7 @@ fr:
change_the_logo: "Changer le logo"
logo_black_background: "Logo (font noir)"
favicon: "Favicon"
change_the_favicon: "Changer la favicon"
change_the_favicon: "Changer la favicon"
main_colour: "Couleur principale :"
primary: "Primaire"
secondary_colour: "Couleur secondaire :"
@ -991,7 +965,7 @@ fr:
display_machine_reservation_user_name: "Afficher le nom de l'utilisateur ayant réservé une machine"
display_name: "Afficher le nom"
display_name_enable: "l'affichage du nom"
machines_sort_by: "l'odre d'affichage des machines"
machines_sort_by: "l'ordre d'affichage des machines"
fab_analytics: "Fab Analytics"
elements_ordering: "Ordre d'affichage des éléments"
machines_order: "Ordre des machines"
@ -1029,7 +1003,6 @@ fr:
online_payment: "Le module de paiement par carte bancaire est-il actif ?"
invoices: "Le module est facturation est-il actif ?"
openlab: "Le module de partage de projets (OpenLab) est-il actif ?"
open_api_clients:
add_new_client: "Créer un compte client"
api_documentation: "Documentation de l'API"
@ -1042,26 +1015,23 @@ fr:
client_name: "Nom du client"
confirmation_required: "Confirmation requise"
do_you_really_want_to_delete_this_open_api_client: "Voulez vous vraiment supprimer ce compte client OpenAPI ?"
do_you_really_want_to_revoke_this_open_api_access: "Voulez vous vraiment revoquer l'accès de ce compte OpenAPI ? Une confirmation aura pour effet la génération d'un nouveau token."
do_you_really_want_to_revoke_this_open_api_access: "Voulez vous vraiment révoquer l'accès de ce compte OpenAPI ? Une confirmation aura pour effet la génération d'un nouveau jeton."
client_successfully_created: "Le compte client a bien été créé."
client_successfully_updated: "Les modifications ont été enregistrées."
client_successfully_deleted: "Le compte client a bien été supprimé."
access_successfully_revoked: "L'accès a bien été revoqué."
access_successfully_revoked: "L'accès a bien été révoqué."
#create a new space
space_new:
# créer un nouvel espace
add_a_new_space: "Ajouter un nouvel espace"
watch_out_when_creating_a_new_space_its_prices_are_initialized_at_0_for_all_subscriptions: "Attention, lors de la création d'un espace, ses tarifs de réservation sont initialisés à zero pour tous les abonnements."
consider_changing_its_prices_before_creating_any_reservation_slot: "Pensez à modifier ces prix avant de créer des créneaux pour cet espace."
add_this_space: "Ajouter cet espace"
#modify an exiting space
space_edit:
# modifier un espace existant
edit_the_space_NAME: "Modifier l'espace : {NAME}"
validate_the_changes: "Valider les modifications"
#process and delete abuses reports
manage_abuses:
# traiter et supprimer les rapports d'abus
abuses_list: "Liste des signalements"
no_reports: "Aucun signalement pour le moment"
published_by: "publié par"
@ -1071,6 +1041,7 @@ fr:
report_will_be_destroyed: "Une fois le signalement traité, le rapport sera supprimé. Cette action est irréversible, continuer ?"
report_removed: "Le rapport a bien été supprimé"
failed_to_remove: "Une erreur est survenue, impossible de supprimer le rapport"
#feature tour
tour:
conclusion:
title: "Merci de votre attention"
@ -1081,7 +1052,7 @@ fr:
content: "Ici vous pourrez créer, modifier et supprimer des formations. C'est également l'endroit où vous pourrez valider les formations suivies par vos membres."
trainings:
title: "Gérer les formations"
content: "<p>Lors de la création d'une formation, vous pouvez définir un nombre de places par défaut. Néanmoins, le nombre de places effectives pourra être modifié pour chaque session.</p><p>La programmation des sessions de formation se fait depuis l'onglet administrateur [Agenda].</p><p>D'autre part, il est possible d'associer une ou plusieurs machines à une formation. Cela permet d'en faire un pré-requis pour la réservation de ces machines.</p>"
content: "<p>Lors de la création d'une formation, vous pouvez définir un nombre de places par défaut. Néanmoins, le nombre de places effectives pourra être modifié pour chaque session.</p><p>La programmation des sessions de formation se fait depuis l'onglet administrateur « Agenda ».</p><p>D'autre part, il est possible d'associer une ou plusieurs machines à une formation. Cela permet d'en faire un pré-requis pour la réservation de ces machines.</p>"
filter:
title: "Filtre"
content: "Par défaut, seules les formations actives sont affichées ici. Affichez les autres en choisissant un autre filtre ici."
@ -1144,7 +1115,7 @@ fr:
content: "Par défaut, ce tableau liste l'ensemble des factures et avoirs émis via Fab-manager. Vous pouvez trier la liste dans un ordre différent en cliquant sur l'entête de chaque colonne."
chained:
title: "Indicateur de chaînage"
content: "<p>Cette icône assure l'inaltérablité des données comptables de la facture sur cette ligne, conformément à la loi de finances française de 2018 contre la fraude à la TVA.</p><p>Si une icône rouge apparaît au lieu de celle-ci, merci de contactez immédiatement le support technique.</p>"
content: "<p>Cette icône assure l'inaltérabilité des données comptables de la facture sur cette ligne, conformément à la loi de finances française de 2018 contre la fraude à la TVA.</p><p>Si une icône rouge apparaît au lieu de celle-ci, merci de contactez immédiatement le support technique.</p>"
download:
title: "Télécharger"
content: "Cliquez ici pour télécharger la facture au format PDF."
@ -1184,7 +1155,7 @@ fr:
content: "<p>Les crédits vous permettent d'offrir certains services aux utilisateurs qui souscrivent à un abonnement.</p><p>Vous pouvez, par exemple, offrir 2h d'imprimante 3D pour tous les abonnements annuels ; ou une formation au choix pour les abonnés étudiants, etc.</p>"
coupons:
title: "Codes promotionnels"
content: "Créez et gérez des codes promotionnels permettant d'offir des réductions ponctuelles à leurs détenteurs."
content: "Créez et gérez des codes promotionnels permettant d'offrir des réductions ponctuelles à leurs détenteurs."
events:
welcome:
title: "Évènements"

View File

@ -1,18 +1,16 @@
pt:
app:
admin:
#add a new machine
machines_new:
# add a new machine
declare_a_new_machine: "Criar nova máquina"
watch_out_when_creating_a_new_machine_its_prices_are_initialized_at_0_for_all_subscriptions: "Cuidado! Ao criar uma nova máquina, os preços são inicializados em 0 para todas as assinaturas."
consider_changing_them_before_creating_any_reservation_slot: "Concidere alterá-lo antes de criar qualquer slot de reserva."
#machine edition
machines_edit:
# machine edition
machine_edit: "Editar máquina"
#manage the trainings & machines slots
calendar:
# manage the trainings & machines slots
calendar_management: "Gerenciamento do calendário"
trainings: "Treinamentos"
machines: "Máquinas"
@ -49,7 +47,7 @@ pt:
manage_trainings: "Click here to add or remove trainings."
number_of_tickets: "Número de vagas: "
adjust_the_opening_hours: "Ajustar o horário de funcionamento"
to_time: "ás" # eg. from 18:00 to 21:00
to_time: "ás" #eg. from 18:00 to 21:00
restrict_options: "Restriction options"
restrict_with_labels: "Restrinja este slot com etiquetas"
restrict_for_subscriptions: "Restrict this slot for subscription users"
@ -97,10 +95,10 @@ pt:
event_in_the_past: "Unable to create a slot in the past."
edit_event: "Edit the event"
view_reservations: "Ver reservas"
legend: "legenda"
legend: "Legenda"
and: "and"
external_sync: "Calendar synchronization"
#import external iCal calendar
icalendar:
icalendar_import: "iCalendar import"
intro: "Fab-manager allows to automatically import calendar events, at RFC 5545 iCalendar format, from external URL. These URL are synchronized every hours and the events are shown in the public calendar. You can trigger a synchronisation too, by clicking on the corresponding button, in front of each import."
@ -121,9 +119,8 @@ pt:
confirmation_required: "Confirmation required"
confirm_delete_import: "Do you really want to delete this iCalendar import?"
delete_success: "iCalendar import successfully deleted"
#management of the projects' components
project_elements:
# management of the projects' components
name: "Name"
projects_elements_management: "Gerenciar projetos e elementos"
materials: "Materials"
@ -134,9 +131,8 @@ pt:
description: "Description"
add_a_new_licence: "Adicionar uma nova licença"
manage_abuses: "Gerenciar relatórios"
#track and monitor the trainings
trainings:
# track and monitor the trainings
trainings_monitoring: "Trainings monitoring"
plan_session: "Schedule a new session"
trainings: "Treinamentos"
@ -152,7 +148,7 @@ pt:
NUMBER_reservation: "{NUMBER} {NUMBER, plural, one{reserva} other{reservas}}"
none: "Vazio"
training_validation: "Validação de treinamentos"
training_of_the_DATE_TIME_html : "Training of the <strong>{DATE} - {TIME}</strong>"
training_of_the_DATE_TIME_html: "Training of the <strong>{DATE} - {TIME}</strong>"
you_can_validate_the_training_of_the_following_members: "Você pode validar um treinamento dos seguintes membros:"
deleted_user: "Deleted user"
no_reservation: "Sem reservas"
@ -168,15 +164,13 @@ pt:
status_enabled: "Ativos"
status_disabled: "Desabilitados"
status_all: "Todos"
#create a new training
trainings_new:
# create a new training
add_a_new_training: "Adicionar um novo treinamento"
beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "Cuidado, ao criar um treinamento, seu preço de reserva é inicializado em zero."
dont_forget_to_change_them_before_creating_slots_for_this_training: "Não se esqueça de alterá-lo antes de criar slots para este treinamento."
#events tracking and management
events:
# events tracking and management
events_monitoring: "Monitoramento de eventos"
manage_filters: "Gerenciar filtros"
fablab_events: "Eventos do FabLab"
@ -188,8 +182,8 @@ pt:
on_DATE: "No {DATE}"
from_DATE: "Em {DATE}"
from_TIME: "Ás {TIME}"
to_date: "to" # eg: from 01/01 to 01/05
to_time: "to" # eg. from 18:00 to 21:00
to_date: "to" #eg: from 01/01 to 01/05
to_time: "to" #eg. from 18:00 to 21:00
title: "Title"
dates: "Dates"
booking: "Reserva"
@ -229,18 +223,16 @@ pt:
do_you_really_want_to_delete_this_price_category: "Você realmente quer deletar este preço de categoria?"
price_category_successfully_deleted: "Preço de categoria deletado com sucesso."
price_category_deletion_failed: "Falha ao deletar preço de categoria."
#add a new event
events_new:
# add a new event
add_an_event: "Add an event"
none: "Vazio"
every_days: "Todos os dias"
every_week: "Toda semana"
every_month: "Todo mês"
every_year: "Todo ano"
#edit an existing event
events_edit:
# edit an existing event
edit_the_event: "Editar evento"
confirmation_required: "Confirmation required"
edit_recurring_event: "You're about to update a periodic event. What do you want to update ?"
@ -248,15 +240,14 @@ pt:
edit_this_and_next: "This event and the following"
edit_all: "All events"
date_wont_change: "Warning: you have changed the event date. This modification won't be propagated to other occurrences of the periodic event."
event_successfully_updated: "Event successfully updated"
event_successfully_updated: "Event successfully updated."
events_updated: "The event, and {COUNT, plural, =1{one other} other{{COUNT} others}}, have been updated"
unable_to_update_the_event: "Unable to update the event"
events_not_updated: "On {TOTAL} events, {COUNT, plural, =1{one was not updated} other{{COUNT} were not deleted}}."
error_deleting_reserved_price: "Não permitido deletar o preço requisitado, pois está associado a algumas reservas"
other_error: "Um erro inesperado ocorreu enquanto o evento era atualizado"
#event reservations list
event_reservations:
# event reservations list
the_reservations: "Reservas :"
user: "User"
payment_date: "Data de pagamento"
@ -266,9 +257,8 @@ pt:
no_reservations_for_now: "Nenhuma reserva."
back_to_monitoring: "Voltar ao monitoramento"
canceled: "cancelada"
#subscriptions, prices, credits and coupons management
pricing:
# subscriptions, prices, credits and coupons management
pricing_management: "Gerenciamento de preços"
subscriptions: "Inscrições"
trainings: "Treinamentos"
@ -297,7 +287,7 @@ pt:
hours: "Slots of {DURATION} minutes"
related_subscriptions: "Assinaturas relacionadas"
please_specify_a_number: "Por favor especifique um número."
none: "Vazio" # grammar concordance with training.
none: "Vazio" #grammar concordance with training.
an_error_occurred_while_saving_the_number_of_credits: "Um erro ocorreu enquanto era salvo o número de créditos."
an_error_occurred_while_deleting_credit_with_the_TRAINING: "Um erro ocorreu enquanto o crédito era deletado do {TRAINING}."
an_error_occurred_unable_to_find_the_credit_to_revoke: "Um erro ocorreu : incapaz de encontrar o crédito para revogar."
@ -347,26 +337,23 @@ pt:
status_enabled: "Ativos"
status_disabled: "Desabilitados"
status_all: "Todos"
#ajouter un code promotionnel
coupons_new:
# ajouter un code promotionnel
add_a_coupon: "Adicionar cupom"
unable_to_create_the_coupon_check_code_already_used: "Impossível criar cupom. Por favor certifique-se que o código já não foi utilizado"
unable_to_create_the_coupon_check_code_already_used: "Impossível criar cupom. Por favor certifique-se que o código já não foi utilizado."
#mettre à jour un code promotionnel
coupons_edit:
# mettre à jour un code promotionnel
coupon: "Coupon:"
unable_to_update_the_coupon_an_error_occurred: "Impossível atualizar cupom: um erro ocorreu."
plans:
#add a subscription plan on the platform
new:
# add a subscription plan on the platform
add_a_subscription_plan: "Adicionar plano de assinatura"
unable_to_create_the_subscription_please_try_again: "Não é possível criar plano de assinatura. por favor tente novamente."
successfully_created_subscriptions_dont_forget_to_redefine_prices: "Assinaturas criadas com sucesso. Não se esqueça de redefinir os preços."
unable_to_save_this_user_check_that_there_isnt_an_already_a_user_with_the_same_name: "Impossível salvar este usuário. Certifique-se que ele não possui o mesmo nome de outro usuário."
#edit a subscription plan / machine slots prices
edit:
# edit a subscription plan / machine slot prices
subscription_plan: "Plano de assinatura:"
prices: "Preços"
copy_prices_from: "Copiar preços de"
@ -377,9 +364,8 @@ pt:
space: "Espaço"
unable_to_save_subscription_changes_please_try_again: "Impossível salvar mudanças da assinatura. Por favor tente novamente."
subscription_successfully_changed: "Assinatura alterada com sucesso."
#list of all invoices & invoicing parameters
invoices:
# list of all invoices & invoicing parameters
invoices: "Faturas"
accounting_periods: "Accounting periods"
invoices_list: "Lista de faturas"
@ -425,7 +411,7 @@ pt:
year: "Ano"
month: "Mês"
day: "Dia"
num_of_invoice: "# da fatura"
num_of_invoice: "Num. of invoice"
online_sales: "Vendas online"
wallet: "Carteira"
refund: "Restituição"
@ -477,7 +463,7 @@ pt:
description: "Descrição"
description_optional: "Descrição (optional):"
will_appear_on_the_refund_invoice: "Aparecerá na fatura de reembolso."
none: "Vazio" # grammar concordance with payment mean
none: "Vazio" #grammar concordance with payment mean
by_cash: "Em dinheiro"
by_cheque: "Em cheque"
by_transfer: "Por transferência"
@ -595,9 +581,8 @@ pt:
debit_euro: "Euro debit"
credit_euro: "Euro credit"
lettering: "Lettering"
#management of users, labels, groups, and so on
members:
# management of users, labels, groups, and so on
users_management: "Gerenciamento de usuários"
members: "Membros"
subscriptions: "Subscriptions"
@ -675,14 +660,12 @@ pt:
member_filter_all: "All"
member_filter_not_confirmed: "Unconfirmed"
member_filter_inactive_for_3_years: "Inactive for 3 years"
#add a member
members_new:
# add a member
add_a_member: "Adicionar membro"
user_is_an_organization: "Usuário é uma organização"
#members bulk import
members_import:
# members bulk import
import_members: "Import members"
info: "You can upload a CSV file to create new members or update existing ones. Your file must user the identifiers below to specify the group, the trainings and the tags of the members."
required_fields: "Your file must contain, at least, the following information for each user to create: email, name, first name and group. If the password is empty, it will be generated. On updates, the empty fields will be kept as is."
@ -706,11 +689,10 @@ pt:
update_on_id: "ID"
update_on_username: "Username"
update_on_email: "Email address"
#import results
members_import_result:
# import results
import_results: "Import results"
import_details: "Import #{ID}, of {DATE}, initiated by {USER}"
import_details: "Import # {ID}, of {DATE}, initiated by {USER}"
results: "Results"
pending: "Pending..."
status_create: "Creating a new user"
@ -718,9 +700,8 @@ pt:
success: "Success"
failed: "Failed"
error_details: "Error's details:"
#edit a member
members_edit:
# edit a member
subscription: "Subscription"
duration: "Duração:"
expires_at: "Experia em:"
@ -762,9 +743,8 @@ pt:
a_problem_occurred_while_taking_the_subscription: "Ocorreu um problema ao fazer a assinatura"
wallet: "Wallet"
to_credit: 'Credit'
#add a new administrator to the platform
admins_new:
# add a new administrator to the platform
add_an_administrator: "Adicionar administrador"
administrator_successfully_created_he_will_receive_his_connection_directives_by_email: "Administrator criado com sucesso. {GENDER, select, female{Ela} other{Ele}} receberá {GENDER, select, female{sua} other{seu}} diretivas de conexão por e-mail."
failed_to_create_admin: "Não é possível criar administrador:"
@ -781,37 +761,33 @@ pt:
birth_date: "Date of birth"
address: "Address"
phone_number: "Phone number"
#add a new authentication provider (SSO)
authentication_new:
# add a new authentication provider (SSO)
local_database: "Local Database"
o_auth2: "OAuth 2.0"
add_a_new_authentication_provider: "Adicionar novo provedor de autenticação"
a_local_database_provider_already_exists_unable_to_create_another: "Um provedor \"Local Database\" já existe. Não foi possível criar outro."
local_provider_successfully_saved: "Provedor local salvo com sucesso."
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "É necessário definir a correspondência entre User.uid ea API para adicionar este fornecedor"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "É necessário definir a correspondência entre User.uid ea API para adicionar este fornecedor."
security_issue_detected: "Erro de segurança detectado"
beware_the_oauth2_authenticatoin_provider_you_are_about_to_add_isnt_using_HTTPS: "Cuidado: o provedor OAuth 2 que você está prestes a adicionar não está usando HTTPS."
this_is_a_serious_security_issue_on_internet_and_should_never_be_used_except_for_testing_purposes: "Este é um problema de segurança grave na Internet e nunca deve ser usado, exceto para fins de teste."
do_you_really_want_to_continue: "Você realmente deseja continuar?"
unsecured_oauth2_provider_successfully_added: "Provedor OAuth 2.0 não seguro adicionado com êxito."
oauth2_provider_successfully_added: "Provedor OAuth 2.0 adicionado com sucesso."
#edit an authentication provider (SSO)
authentication_edit:
# edit an authentication provider (SSO)
provider: "Provedor :"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "É necessário definir a correspondência entre User.uid ea API para adicionar este fornecedor"
provider_successfully_updated: "Provedor modificado com sucesso"
it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "É necessário definir a correspondência entre User.uid ea API para adicionar este fornecedor."
provider_successfully_updated: "Provider successfully updated."
an_error_occurred_unable_to_update_the_provider: "Um erro ocorreu: não é possível atualizar provedor."
#statistics tables
statistics:
# statistics tables
statistics: "Statistics"
evolution: "Evolução"
age_filter: "Filtro de idade"
from_age: "Dos" # eg: from 8 to 40 years old
to_age: "aos" # eg: from 8 to 40 years old
_years_old: "anos de idade"
from_age: "Dos" #eg. from 8 to 40 years old
to_age: "aos" #eg. from 8 to 40 years old
start: "Início:"
end: "Fim:"
custom_filter: "Filtro customizado"
@ -819,12 +795,12 @@ pt:
criterion: "Critério:"
value: "Valor:"
exclude: "Excluir"
from_date: "From" # eg: from 01/01 to 01/05
to_date: "to" # eg: from 01/01 to 01/05
from_date: "From" #eg: from 01/01 to 01/05
to_date: "to" #eg: from 01/01 to 01/05
entries: "Entradas:"
revenue_: "Receita:"
average_age: "Idade média:"
years_old: "Anos de idade"
years_old: "anos de idade"
total: "Total"
available_hours: "Horas disponíveis para reserva:"
available_tickets: "Vagas disponíveis para reserva:"
@ -847,15 +823,14 @@ pt:
export_is_running_you_ll_be_notified_when_its_ready: "Export is running. You'll be notified when it's ready."
create_plans_to_start: "Start by creating new subscription plans."
click_here: "Click here to create your first one."
#statistics graphs
stats_graphs:
# statistics graphs
statistics: "Statistics"
data: "Dado"
day: "Dia"
week: "Semana"
from_date: "From" # eg: from 01/01 to 01/05
to_date: "to" # eg: from 01/01 to 01/05
from_date: "From" #eg: from 01/01 to 01/05
to_date: "to" #eg: from 01/01 to 01/05
month: "Month"
start: "Início:"
end: "Fim:"
@ -867,9 +842,8 @@ pt:
week_of_START_to_END: "Semana de {START} á {END}"
no_data_for_this_period: "Nenhum dado para este período"
date: "Date"
#global application parameters and customization
settings:
# global application parameters and customization
title: "Title"
customize_the_application: "Customizar a aplicação"
general: "Geral"
@ -987,23 +961,23 @@ pt:
default_value_is_24_hours: "Se o campo estiver vazio: 24 horas."
visibility_yearly: "visibilidade máxima para assinantes anuais"
visibility_others: "visibilidade máxima para outros membros"
confidentiality: "Confidentiality"
display_machine_reservation_user_name: "Display the full name of the user who booked a machine slot"
display_name: "Display the name"
display_name_enable: "name display"
machines_sort_by: "machines display order"
confidentiality: "Confidencialidade"
display_machine_reservation_user_name: "Exibir o nome completo do usuário que reservou um slot de máquina"
display_name: "Nome de exibição"
display_name_enable: "exibição de nome"
machines_sort_by: "ordem de exibição das máquinas"
fab_analytics: "Fab Analytics"
elements_ordering: "Elements ordering"
machines_order: "Machines order"
display_machines_sorted_by: "Display machines sorted by"
elements_ordering: "Ordenação de elementos"
machines_order: "Ordem das máquinas"
display_machines_sorted_by: "Exibir máquinas ordenadas por"
advanced: "Advanced settings"
customize_home_page_css: "Customise the stylesheet og the home page"
home_css_notice_html: "You can customize the stylesheet which will apply to the home page, using the <a href=\"https://sass-lang.com/documentation\" target=\"_blank\">SASS</a> syntax. These styles will be automatically subordinated to the <code>.home-page</code> selector to prevent any risk of breaking the application. Meanwhile please be careful, any changes in the home page editor at the top of the page may broke your styles, always refer to the HTML code."
sort_by:
default: "Default"
name: "Nome"
created_at: "Creation date"
updated_at: "Last update date"
created_at: "Data de criação"
updated_at: "Última Data de Atualização"
privacy:
title: "Política de privacidade"
input_the_dpo: "Input the contact of the Data Protection Officer"
@ -1029,7 +1003,6 @@ pt:
online_payment: "Is the online payment module active?"
invoices: "Is the invoicing module active?"
openlab: "Is the project sharing module (OpenLab) active?"
open_api_clients:
add_new_client: "Criar novo cliente de API"
api_documentation: "Documentação da API"
@ -1038,7 +1011,7 @@ pt:
calls_count: "Contagem de chamadas"
token: "Token"
created_at: "Data de criação"
reset_token: "revogar acesso"
reset_token: "Revogar acesso"
client_name: "Nome do cliente"
confirmation_required: "Confirmation required"
do_you_really_want_to_delete_this_open_api_client: "Deseja realmente excluir este cliente OpenAPI??"
@ -1047,21 +1020,18 @@ pt:
client_successfully_updated: "Cliente alterado com sucesso."
client_successfully_deleted: "Cliente excluído com sucesso."
access_successfully_revoked: "Acesso revogado com sucesso."
#create a new space
space_new:
# create a new space
add_a_new_space: "Adicionar um novo espaço"
watch_out_when_creating_a_new_space_its_prices_are_initialized_at_0_for_all_subscriptions: "Cuidado! Ao criar um novo espaço, seus preços são inicializados em 0 para todas as assinaturas."
consider_changing_its_prices_before_creating_any_reservation_slot: "Considere alterar seus preços antes de criar qualquer slot de reserva."
add_this_space: "Adicionar este espaço"
#modify an exiting space
space_edit:
# modify an exiting space
edit_the_space_NAME: "Editar o espaço: {NAME}"
validate_the_changes: "Validar mudanças"
#process and delete abuses reports
manage_abuses:
# process and delete abuses reports
abuses_list: "Lista de relatórios"
no_reports: "Não há relatos de agora"
published_by: "published by"
@ -1071,7 +1041,7 @@ pt:
report_will_be_destroyed: "Once the report has been processed, it will be deleted. This can't be undone, continue?"
report_removed: "The report has been deleted"
failed_to_remove: "An error occurred, unable to delete the report"
#feature tour
tour:
conclusion:
title: "Thank you for your attention"
@ -1082,7 +1052,7 @@ pt:
content: "Here you can create, modify and delete trainings. It is also the place where you can validate the training courses followed by your members."
trainings:
title: "Manage trainings"
content: "<p>When creating a training, you can define a default number of places. However, the number of actual places may be modified for each session.</p><p>The training sessions are scheduled from the administrator tab [Calendar].</p><p>Another thing: it is possible to associate one or more machines with a training. This makes it a prerequisite for the reservation of these machines.</p>"
content: "<p>When creating a training, you can define a default number of places. However, the number of actual places may be modified for each session.</p><p>The training sessions are scheduled from the administrator tab « Calendar ».</p><p>Another thing: it is possible to associate one or more machines with a training. This makes it a prerequisite for the reservation of these machines.</p>"
filter:
title: "Filter"
content: "By default, only active courses are displayed here. Display the others by choosing another filter here."

View File

@ -1,8 +1,8 @@
ach:
app:
logged:
#user's profile completion page when logging from an SSO provider
profile_completion:
#user's profile completion page when logging from an SSO provider
confirm_your_new_account: "crwdns8505:0crwdne8505:0"
you_ve_just_created_a_new_account_on_the_fablab_by_logging_from: "crwdns8507:0GENDER={GENDER}crwdnd8507:0NAME={NAME}crwdne8507:0"
we_need_some_more_details: "crwdns8509:0crwdne8509:0"
@ -43,9 +43,9 @@ ach:
#dashboard: public profile
profile:
empty: 'crwdns8577:0crwdne8577:0'
#dashboard: edit my profile
settings:
#dashboard: edit my profile
last_activity_on_: "crwdns8579:0crwdne8579:0"
last_activity_on_: "crwdns20238:0{DATE}crwdne20238:0"
i_want_to_change_group: "crwdns8581:0crwdne8581:0"
your_subscription_expires_on_: "crwdns8583:0crwdne8583:0"
no_subscriptions: "crwdns8585:0crwdne8585:0"
@ -91,8 +91,8 @@ ach:
_click_on_the_synchronization_button_opposite_: "crwdns8665:0crwdne8665:0"
_disconnect_then_reconnect_: "crwdns8667:0crwdne8667:0"
_for_your_changes_to_take_effect: "crwdns8669:0crwdne8669:0"
#dashboard: my projects
projects:
#dashboard: my projects
you_dont_have_any_projects: "crwdns8671:0crwdne8671:0"
add_a_project: "crwdns8673:0crwdne8673:0"
author: "crwdns8675:0crwdne8675:0"
@ -103,33 +103,33 @@ ach:
machines: "crwdns8685:0crwdne8685:0"
materials: "crwdns8687:0crwdne8687:0"
collaborators: "crwdns8689:0crwdne8689:0"
#dashboard: my trainings
trainings:
#dashboard: my trainings
your_next_trainings: "crwdns8691:0crwdne8691:0"
your_previous_trainings: "crwdns8693:0crwdne8693:0"
your_approved_trainings: "crwdns8695:0crwdne8695:0"
no_trainings: "crwdns8697:0crwdne8697:0"
#dashboard: my events
events:
#dashboard: my events
your_next_events: "crwdns8699:0crwdne8699:0"
no_events_to_come: "crwdns8701:0crwdne8701:0"
your_previous_events: "crwdns8703:0crwdne8703:0"
no_passed_events: "crwdns8705:0crwdne8705:0"
NUMBER_normal_places_reserved: "crwdns8707:0NUMBER={NUMBER}crwdnd8707:0NUMBER={NUMBER}crwdne8707:0"
NUMBER_of_NAME_places_reserved: "crwdns8709:0NUMBER={NUMBER}crwdnd8709:0NUMBER={NUMBER}crwdnd8709:0NAME={NAME}crwdnd8709:0NAME={NAME}crwdne8709:0"
#dashboard: my invoices
invoices:
#dashboard: my invoices
reference_number: "crwdns8711:0crwdne8711:0"
date: "crwdns8713:0crwdne8713:0"
price: "crwdns8715:0crwdne8715:0"
download_the_invoice: "crwdns8717:0crwdne8717:0"
download_the_credit_note: "crwdns8719:0crwdne8719:0"
no_invoices_for_now: "crwdns8721:0crwdne8721:0"
#public profil of a member
members_show:
#public profil of a member
members_list: "crwdns8723:0crwdne8723:0"
#list of members accepting to be contacted
members:
#list of members accepting to be contacted
the_fablab_members: "crwdns8725:0crwdne8725:0"
display_more_members: "crwdns8727:0crwdne8727:0"
no_members_for_now: "crwdns8729:0crwdne8729:0"
@ -137,16 +137,16 @@ ach:
user: "crwdns8733:0crwdne8733:0"
pseudonym: "crwdns8735:0crwdne8735:0"
email_address: "crwdns8737:0crwdne8737:0"
#add a new project
projects_new:
#add a new project
add_a_new_project: "crwdns8739:0crwdne8739:0"
#modify an existing project
projects_edit:
#modify an existing project
edit_the_project: "crwdns8741:0crwdne8741:0"
rough_draft: "crwdns8743:0crwdne8743:0"
publish: "crwdns8745:0crwdne8745:0"
#book a machine
machines_reserve:
#book a machine
machine_planning: "crwdns8747:0crwdne8747:0"
i_ve_reserved: "crwdns8749:0crwdne8749:0"
not_available: "crwdns8751:0crwdne8751:0"
@ -157,17 +157,17 @@ ach:
reservation_was_cancelled_successfully: "crwdns8761:0crwdne8761:0"
cancellation_failed: "crwdns8763:0crwdne8763:0"
a_problem_occured_during_the_payment_process_please_try_again_later: "crwdns8765:0crwdne8765:0"
#book a training
trainings_reserve:
#book a training
trainings_planning: "crwdns8767:0crwdne8767:0"
planning_of: "crwdns8769:0crwdne8769:0"
planning_of: "crwdns20194:0crwdne20194:0" #eg. Planning of 3d printer training
all_trainings: "crwdns8771:0crwdne8771:0"
cancel_my_selection: "crwdns8773:0crwdne8773:0"
i_change: "crwdns8775:0crwdne8775:0"
i_shift: "crwdns8777:0crwdne8777:0"
i_ve_reserved: "crwdns8779:0crwdne8779:0"
#book a space
space_reserve:
#book a space
planning_of_space_NAME: "crwdns8781:0{NAME}crwdne8781:0"
i_ve_reserved: "crwdns8783:0crwdne8783:0"
i_shift: "crwdns8785:0crwdne8785:0"

View File

@ -1,8 +1,8 @@
en:
app:
logged:
#user's profile completion page when logging from an SSO provider
profile_completion:
# user's profile completion page when logging from an SSO provider
confirm_your_new_account: "Confirm your new account"
you_ve_just_created_a_new_account_on_the_fablab_by_logging_from: "You've just created a new account on {GENDER, select, neutral{} other{the}} {NAME}, by logging from"
we_need_some_more_details: "To finalize the platform setup, we need some more details"
@ -39,14 +39,13 @@ en:
_click_on_the_synchronization_button_opposite_: "click on the synchronization button opposite"
_disconnect_then_reconnect_: "disconnect then reconnect"
_for_your_changes_to_take_effect: "for your changes to take effect."
dashboard:
# dashboard: public profile
#dashboard: public profile
profile:
empty: ''
#dashboard: edit my profile
settings:
# dashboard: edit my profile
last_activity_on_: "Last activity on"
last_activity_on_: "Last activity on {DATE}"
i_want_to_change_group: "I want to change group!"
your_subscription_expires_on_: "Your subscription expires on"
no_subscriptions: "No subscriptions"
@ -92,8 +91,8 @@ en:
_click_on_the_synchronization_button_opposite_: "click on the synchronization button opposite"
_disconnect_then_reconnect_: "disconnect then reconnect"
_for_your_changes_to_take_effect: "for your changes to take effect."
#dashboard: my projects
projects:
# dashboard: my projects
you_dont_have_any_projects: "You don't have any projects."
add_a_project: "Add a project"
author: "Author"
@ -104,35 +103,33 @@ en:
machines: "Machines"
materials: "Materials"
collaborators: "Collaborators"
#dashboard: my trainings
trainings:
# dashboard: my trainings
your_next_trainings: "Your next trainings"
your_previous_trainings: "Your previous trainings"
your_approved_trainings: "Your approved trainings"
no_trainings: "No trainings"
#dashboard: my events
events:
# dashboard: my events
your_next_events: "Your next events"
no_events_to_come: "No events to come"
your_previous_events: "Your previous events"
no_passed_events: "No passed events"
NUMBER_normal_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{normal place reserved} other{normal places reserved}}"
NUMBER_of_NAME_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{of {NAME} place reserved} other{of {NAME} places reserved}}"
#dashboard: my invoices
invoices:
# dashboard: my invoices
reference_number: "Reference number"
date: "Date"
price: "Price"
download_the_invoice: "Download the invoice"
download_the_credit_note: "Download the refund invoice"
no_invoices_for_now: "No invoices for now."
#public profil of a member
members_show:
# public profil of a member
members_list: "Members list"
#list of members accepting to be contacted
members:
# list of members accepting to be contacted
the_fablab_members: "The Fab Lab members"
display_more_members: "Display more members..."
no_members_for_now: "No members for now"
@ -140,19 +137,16 @@ en:
user: "User"
pseudonym: "Pseudonym"
email_address: "Email address"
#add a new project
projects_new:
# add a new project
add_a_new_project: "Add a new project"
#modify an existing project
projects_edit:
# modify an existing project
edit_the_project: "Edit the project"
rough_draft: "Draft"
publish: "Publish"
#book a machine
machines_reserve:
# book a machine
machine_planning: "Machine planning"
i_ve_reserved: "I've reserved"
not_available: "Not available"
@ -163,24 +157,21 @@ en:
reservation_was_cancelled_successfully: "Reservation was cancelled successfully."
cancellation_failed: "Cancellation failed."
a_problem_occured_during_the_payment_process_please_try_again_later: "A problem occurred during the payment process. Please try again later."
#book a training
trainings_reserve:
# book a training
trainings_planning: "Trainings planning"
planning_of: "Planning of" # followed by the training name (eg. "Planning of 3d printer training")
planning_of: "Planning of " #eg. Planning of 3d printer training
all_trainings: "All trainings"
cancel_my_selection: "Cancel my selection"
i_change: "I change"
i_shift: "I shift"
i_ve_reserved: "I've reserved"
#book a space
space_reserve:
# book a space
planning_of_space_NAME: "Planning of the {NAME} space"
i_ve_reserved: "I've reserved"
i_shift: "I shift"
i_change: "I change"
notifications:
notifications_center: "Notifications center"
mark_all_as_read: "Mark all as read"

View File

@ -1,8 +1,8 @@
es:
app:
logged:
#user's profile completion page when logging from an SSO provider
profile_completion:
# user's profile completion page when logging from an SSO provider
confirm_your_new_account: "Confirme su nueva cuenta"
you_ve_just_created_a_new_account_on_the_fablab_by_logging_from: "Acaba de crear una nueva cuenta en {GENDER, select, male{el} female{la} neutral{} other{las}} {NAME}, al iniciar sesión desde"
we_need_some_more_details: "Para finalizar la configuración de la plataforma, necesitamos algunos detalles más."
@ -39,14 +39,13 @@ es:
_click_on_the_synchronization_button_opposite_: "click on the synchronization button opposite"
_disconnect_then_reconnect_: "disconnect then reconnect"
_for_your_changes_to_take_effect: "for your changes to take effect."
dashboard:
# dashboard: public profile
#dashboard: public profile
profile:
empty: ''
#dashboard: edit my profile
settings:
# dashboard: edit my profile
last_activity_on_: "Última vez activo"
last_activity_on_: "Última vez activo {DATE}"
i_want_to_change_group: "Quiero cambiar de grupo"
your_subscription_expires_on_: "su suscripción acaba el"
no_subscriptions: "Sin suscripciones"
@ -92,8 +91,8 @@ es:
_click_on_the_synchronization_button_opposite_: "haz clic en el botón de sincronización"
_disconnect_then_reconnect_: "reconectarse"
_for_your_changes_to_take_effect: "para que sus cambios sean aplicados."
#dashboard: my projects
projects:
# dashboard: my projects
you_dont_have_any_projects: "Aún no tiene proyectos."
add_a_project: "Add a project"
author: "Autor"
@ -104,35 +103,33 @@ es:
machines: "Machines"
materials: "Materials"
collaborators: "Collaborators"
#dashboard: my trainings
trainings:
# dashboard: my trainings
your_next_trainings: "Sus próximos cursos"
your_previous_trainings: "Sus cursos anteriores"
your_approved_trainings: "Sus cursos aprobados"
no_trainings: "No trainings"
#dashboard: my events
events:
# dashboard: my events
your_next_events: "Sus próximos eventos"
no_events_to_come: "No hay próximos eventos"
your_previous_events: "Sus eventos anteriores"
no_passed_events: "No passed events"
NUMBER_normal_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{normal place reserved} other{normal places reserved}}"
NUMBER_of_NAME_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{of {NAME} place reserved} other{of {NAME} places reserved}}"
#dashboard: my invoices
invoices:
# dashboard: my invoices
reference_number: "Numero de referencia"
date: "Date"
price: "Price"
download_the_invoice: "Download the invoice"
download_the_credit_note: "Download the refund invoice"
no_invoices_for_now: "No invoices for now."
#public profil of a member
members_show:
# public profil of a member
members_list: "Lista de miembros"
#list of members accepting to be contacted
members:
# list of members accepting to be contacted
the_fablab_members: "Los miembros del fablab"
display_more_members: "Ver más miembros"
no_members_for_now: "Aún no hay miembros"
@ -140,19 +137,16 @@ es:
user: "User"
pseudonym: "Pseudonym"
email_address: "Email address"
#add a new project
projects_new:
# add a new project
add_a_new_project: "Añadir nuevo proyecto"
#modify an existing project
projects_edit:
# modify an existing project
edit_the_project: "Editar proyecto"
rough_draft: "Draft"
publish: "Publicar"
#book a machine
machines_reserve:
# book a machine
machine_planning: "Planning de la máquina"
i_ve_reserved: "He reservado"
not_available: "No disponible"
@ -163,24 +157,21 @@ es:
reservation_was_cancelled_successfully: "Reservation was cancelled successfully."
cancellation_failed: "Cancellation failed."
a_problem_occured_during_the_payment_process_please_try_again_later: "A problem occurred during the payment process. Please try again later."
#book a training
trainings_reserve:
# book a training
trainings_planning: "Plan de curso"
planning_of: "Plan de " # followed by the training name (eg. "Planning of 3d printer training")
planning_of: "Plan de " #eg. Planning of 3d printer training
all_trainings: "Todos los cursos"
cancel_my_selection: "Cancelar mi selección"
i_change: "I change"
i_shift: "I shift"
i_ve_reserved: "He reservado"
#book a space
space_reserve:
# book a space
planning_of_space_NAME: "Planes de {NAME} "
i_ve_reserved: "he reservado"
i_shift: "reemplazo"
i_change: "cambio"
notifications:
notifications_center: "Centro de notificaciones"
mark_all_as_read: "Marcar como leido"

View File

@ -1,8 +1,8 @@
fr:
app:
logged:
#user's profile completion page when logging from an SSO provider
profile_completion:
# page de complétion du profil utilisateur, à la première connexion depuis un SSO
confirm_your_new_account: "Confirmez votre nouveau compte"
you_ve_just_created_a_new_account_on_the_fablab_by_logging_from: "Vous venez de créer un nouveau compte sur {GENDER, select, male{le} female{la} neutral{} other{les}} {NAME}, en vous connectant depuis"
we_need_some_more_details: "Afin de finaliser le paramétrage de la plate-forme, nous avons besoin de quelques renseignements supplémentaires"
@ -37,15 +37,14 @@ fr:
sync_my_profile: "Synchroniser mon profil"
once_your_data_are_up_to_date_: "Une fois vos données à jour,"
_click_on_the_synchronization_button_opposite_: "cliquez sur le bouton de synchronisation ci-contre"
_disconnect_then_reconnect_: "déconnectez-vous puis re-connectez vous"
_disconnect_then_reconnect_: "déconnectez-vous puis reconnectez vous"
_for_your_changes_to_take_effect: "pour que les modifications soient prises en compte."
dashboard:
# tableau de bord: profile publique
#dashboard: public profile
profile:
empty: ''
#dashboard: edit my profile
settings:
# tableau de bord : éditer mon profil
last_activity_on_: "Dernière activité le {DATE}"
i_want_to_change_group: "Je veux changer de groupe !"
your_subscription_expires_on_: "Votre abonnement expire le"
@ -90,10 +89,10 @@ fr:
sync_my_profile: "Synchroniser mon profil"
once_your_data_are_up_to_date_: "Une fois vos données à jour,"
_click_on_the_synchronization_button_opposite_: "cliquez sur le bouton de synchronisation ci-contre"
_disconnect_then_reconnect_: "déconnectez-vous puis re-connectez vous"
_disconnect_then_reconnect_: "déconnectez-vous puis reconnectez vous"
_for_your_changes_to_take_effect: "pour que les modifications soient prises en compte."
#dashboard: my projects
projects:
# tableau de bord : mes projets
you_dont_have_any_projects: "Vous n'avez aucun projet."
add_a_project: "Ajouter un projet"
author: "Auteur"
@ -104,35 +103,33 @@ fr:
machines: "Machines"
materials: "Matériaux"
collaborators: "Les collaborateurs"
#dashboard: my trainings
trainings:
# tableau de bord : mes formations
your_next_trainings: "Vos prochaines formations"
your_previous_trainings: "Vos formations passées"
your_approved_trainings: "Vos formations validées"
no_trainings: "Aucune formation"
#dashboard: my events
events:
# tableau de bord : mes évènements
your_next_events: "Vos prochains évènements"
no_events_to_come: "Aucun évènement à venir"
your_previous_events: "Vos évènements passés"
no_passed_events: "Aucun évènement passé"
NUMBER_normal_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{place normale réservée} other{places normales réservées}}"
NUMBER_of_NAME_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{place {NAME} réservée} other{places {NAME} réservées}}"
#dashboard: my invoices
invoices:
# tableau de bord : mes factures
reference_number: "Référence"
date: "Date"
price: "Prix"
download_the_invoice: "Télécharger la facture"
download_the_credit_note: "Télécharger l'avoir"
no_invoices_for_now: "Aucune facture pour le moment."
#public profil of a member
members_show:
# profil public d'un membre
members_list: "Liste des membres"
#list of members accepting to be contacted
members:
# liste des membres qui acceptent d'être contactés
the_fablab_members: "Les membres du Fab Lab"
display_more_members: "Afficher plus de membres..."
no_members_for_now: "Pas de membres pour le moment"
@ -140,19 +137,16 @@ fr:
user: "Utilisateur"
pseudonym: "Pseudonyme"
email_address: "Adresse électronique"
#add a new project
projects_new:
# ajouter un nouveau projet
add_a_new_project: "Ajouter un nouveau projet"
#modify an existing project
projects_edit:
# modifier un projet existant
edit_the_project: "Éditer le projet"
rough_draft: "Brouillon"
publish: "Publier"
#book a machine
machines_reserve:
# réserver une machine
machine_planning: "Planning machine"
i_ve_reserved: "J'ai réservé"
not_available: "Non disponible"
@ -163,24 +157,21 @@ fr:
reservation_was_cancelled_successfully: "La réservation a bien été annulée."
cancellation_failed: "Échec de l'annulation."
a_problem_occured_during_the_payment_process_please_try_again_later: "Un problème est survenu pendant le processus de paiement. Merci de réessayer ultérieurement."
#book a training
trainings_reserve:
# réserver une formation
trainings_planning: "Planning formations"
planning_of: "Planning de la" # suivi du nom de la formation (eg. "Planning de la formation imprimante 3d")
planning_of: "Planning of " #eg. Planning of 3d printer training
all_trainings: "Toutes les formations"
cancel_my_selection: "Annuler ma sélection"
i_change: "Je change"
i_shift: "Je déplace"
i_ve_reserved: "J'ai réservé"
#book a space
space_reserve:
# réserver un espace
planning_of_space_NAME: "Planning de l'espace {NAME}"
i_ve_reserved: "J'ai réservé"
i_shift: "Je déplace"
i_change: "Je change"
notifications:
notifications_center: "Centre de notifications"
mark_all_as_read: "Tout marquer comme lu"

View File

@ -1,8 +1,8 @@
pt:
app:
logged:
#user's profile completion page when logging from an SSO provider
profile_completion:
# user's profile completion page when logging from an SSO provider
confirm_your_new_account: "Confirme sua nova conta"
you_ve_just_created_a_new_account_on_the_fablab_by_logging_from: "Você acabou de criar uma nova conta como {GENDER, select, male{o} female{a} neutral{} other{do}} {NAME}"
we_need_some_more_details: "Para finalizar a configuração da plataforma, precisamos de mais detalhes"
@ -39,14 +39,13 @@ pt:
_click_on_the_synchronization_button_opposite_: "click on the synchronization button opposite"
_disconnect_then_reconnect_: "disconnect then reconnect"
_for_your_changes_to_take_effect: "for your changes to take effect."
dashboard:
# dashboard: public profile
#dashboard: public profile
profile:
empty: ''
#dashboard: edit my profile
settings:
# dashboard: edit my profile
last_activity_on_: "Última atividade em"
last_activity_on_: "Última atividade em {DATE}"
i_want_to_change_group: "Eu quero trocar de grupo!"
your_subscription_expires_on_: "Sua inscrição expira em"
no_subscriptions: "Sem inscrições"
@ -92,8 +91,8 @@ pt:
_click_on_the_synchronization_button_opposite_: "clique no botão de sincronização"
_disconnect_then_reconnect_: "disconecte e se conecte novamente"
_for_your_changes_to_take_effect: "para que suas alterações tenham efeitos."
#dashboard: my projects
projects:
# dashboard: my projects
you_dont_have_any_projects: "Você não tem nenhum projeto."
add_a_project: "Add a project"
author: "Autor"
@ -104,35 +103,33 @@ pt:
machines: "Machines"
materials: "Materials"
collaborators: "Collaborators"
#dashboard: my trainings
trainings:
# dashboard: my trainings
your_next_trainings: "Seus próximos treinamentos"
your_previous_trainings: "Seus treinamentos anteriores"
your_approved_trainings: "Seus treinamentos aprovados"
no_trainings: "No trainings"
#dashboard: my events
events:
# dashboard: my events
your_next_events: "Seus próximos eventos"
no_events_to_come: "Sem eventos futuros"
your_previous_events: "Seus eventos anteriores"
no_passed_events: "No passed events"
NUMBER_normal_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{lugar normal reservado} other{lugares normais reservados}}"
NUMBER_of_NAME_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{{NAME} lugar reservado} other{{NAME} lugares reservados}}"
#dashboard: my invoices
invoices:
# dashboard: my invoices
reference_number: "Número de referência"
date: "Date"
price: "Price"
download_the_invoice: "Download the invoice"
download_the_credit_note: "Download the refund invoice"
no_invoices_for_now: "No invoices for now."
#public profil of a member
members_show:
# public profil of a member
members_list: "Lista de membros"
#list of members accepting to be contacted
members:
# list of members accepting to be contacted
the_fablab_members: "Membros do FabLab"
display_more_members: "Mostrar mais membros..."
no_members_for_now: "Sem membros"
@ -140,19 +137,16 @@ pt:
user: "User"
pseudonym: "Pseudonym"
email_address: "Email address"
#add a new project
projects_new:
# add a new project
add_a_new_project: "Adicionar novo projeto"
#modify an existing project
projects_edit:
# modify an existing project
edit_the_project: "Editar projeto"
rough_draft: "Draft"
publish: "Publicar"
#book a machine
machines_reserve:
# book a machine
machine_planning: "Planejamento de máquinas"
i_ve_reserved: "Eu tenho reserva"
not_available: "Não disponível"
@ -163,24 +157,21 @@ pt:
reservation_was_cancelled_successfully: "Reservation was cancelled successfully."
cancellation_failed: "Cancellation failed."
a_problem_occured_during_the_payment_process_please_try_again_later: "A problem occurred during the payment process. Please try again later."
#book a training
trainings_reserve:
# book a training
trainings_planning: "Planos de treinamento"
planning_of: "Planejamento de" # followed by the training name (eg. "Planning of 3d printer training")
planning_of: "Planejamento de " #eg. Planning of 3d printer training
all_trainings: "Todos treinamentos"
cancel_my_selection: "Cancelar minha seleção"
i_change: "I change"
i_shift: "I shift"
i_ve_reserved: "Eu reservei"
#book a space
space_reserve:
# book a space
planning_of_space_NAME: "Plano de {NAME} espaço"
i_ve_reserved: "Eu reservei"
i_shift: "Eu troco"
i_change: "Eu altero"
notifications:
notifications_center: "Centro de notificações"
mark_all_as_read: "Marcar todas como lidas"

View File

@ -1,8 +1,8 @@
ach:
app:
public:
#header and "about" page
common:
#header and "about" page
about_the_fablab: "crwdns8805:0GENDER={GENDER}crwdnd8805:0NAME={NAME}crwdne8805:0"
return: "crwdns8807:0crwdne8807:0"
#cookies
@ -20,6 +20,8 @@ ach:
my_events: "crwdns8827:0crwdne8827:0"
my_invoices: "crwdns8829:0crwdne8829:0"
my_wallet: "crwdns8831:0crwdne8831:0"
#contextual help
help: "crwdns19580:0crwdne19580:0"
#login/logout
sign_out: "crwdns8833:0crwdne8833:0"
sign_up: "crwdns8835:0crwdne8835:0"
@ -38,15 +40,15 @@ ach:
subscriptions: "crwdns8857:0crwdne8857:0"
public_calendar: "crwdns8859:0crwdne8859:0"
#left menu (admin)
trainings_monitoring: "crwdns8861:0crwdne8861:0"
manage_the_calendar: "crwdns8863:0crwdne8863:0"
manage_the_users: "crwdns8865:0crwdne8865:0"
manage_the_invoices: "crwdns8867:0crwdne8867:0"
trainings_monitoring: "crwdns19582:0crwdne19582:0"
manage_the_calendar: "crwdns19584:0crwdne19584:0"
manage_the_users: "crwdns19586:0crwdne19586:0"
manage_the_invoices: "crwdns19588:0crwdne19588:0"
subscriptions_and_prices: "crwdns8869:0crwdne8869:0"
manage_the_events: "crwdns8871:0crwdne8871:0"
manage_the_machines: "crwdns8873:0crwdne8873:0"
manage_the_spaces: "crwdns8875:0crwdne8875:0"
manage_the_projects_elements: "crwdns8877:0crwdne8877:0"
manage_the_events: "crwdns19590:0crwdne19590:0"
manage_the_machines: "crwdns19592:0crwdne19592:0"
manage_the_spaces: "crwdns19594:0crwdne19594:0"
manage_the_projects_elements: "crwdns19596:0crwdne19596:0"
statistics: "crwdns8879:0crwdne8879:0"
customization: "crwdns8881:0crwdne8881:0"
open_api_clients: "crwdns8883:0crwdne8883:0"
@ -91,7 +93,7 @@ ach:
used_for_reservation: "crwdns8959:0crwdne8959:0"
used_for_profile: "crwdns8961:0crwdne8961:0"
public_profile: "crwdns8963:0crwdne8963:0"
you_will_receive_confirmation_instructions_by_email_detailed: "crwdns19539:0crwdne19539:0"
you_will_receive_confirmation_instructions_by_email_detailed: "crwdns19598:0crwdne19598:0"
#password modification modal
change_your_password: "crwdns8965:0crwdne8965:0"
your_new_password: "crwdns8967:0crwdne8967:0"
@ -99,39 +101,39 @@ ach:
#connection modal
connection: "crwdns8971:0crwdne8971:0"
password_forgotten: "crwdns8973:0crwdne8973:0"
confirm_my_account: "crwdns19541:0crwdne19541:0"
not_registered_to_the_fablab: "crwdns8975:0crwdne8975:0"
confirm_my_account: "crwdns19600:0crwdne19600:0"
not_registered_to_the_fablab: "crwdns20240:0crwdne20240:0"
create_an_account: "crwdns8977:0crwdne8977:0"
wrong_email_or_password: "crwdns8979:0crwdne8979:0"
caps_lock_is_on: "crwdns8981:0crwdne8981:0"
#confirmation modal
you_will_receive_confirmation_instructions_by_email: crwdns19543:0crwdne19543:0
you_will_receive_confirmation_instructions_by_email: "crwdns19602:0crwdne19602:0"
#forgotten password modal
your_email_address_is_unknown: "crwdns8983:0crwdne8983:0"
you_will_receive_in_a_moment_an_email_with_instructions_to_reset_your_password: "crwdns8985:0crwdne8985:0"
#Fab-manager's version
version: "crwdns8987:0crwdne8987:0"
upgrade_fabmanager: "crwdns19545:0crwdne19545:0"
current_version: "crwdns19547:0{VERSION}crwdne19547:0"
upgrade_to: "crwdns19549:0{VERSION}crwdne19549:0"
read_more: "crwdns19551:0crwdne19551:0"
security_version_html: "crwdns19553:0crwdne19553:0"
how_to: "crwdns19555:0crwdne19555:0"
upgrade_fabmanager: "crwdns19604:0crwdne19604:0"
current_version: "crwdns19606:0{VERSION}crwdne19606:0"
upgrade_to: "crwdns19608:0{VERSION}crwdne19608:0"
read_more: "crwdns19610:0crwdne19610:0"
security_version_html: "crwdns19612:0crwdne19612:0"
how_to: "crwdns19614:0crwdne19614:0"
#Notifications
and_NUMBER_other_notifications: "crwdns8989:0NUMBER={NUMBER}crwdnd8989:0NUMBER={NUMBER}crwdne8989:0"
#about page
about:
#about page
read_the_fablab_policy: "crwdns8991:0crwdne8991:0"
read_the_fablab_s_general_terms_and_conditions: "crwdns8993:0crwdne8993:0"
your_fablab_s_contacts: "crwdns8995:0crwdne8995:0"
privacy_policy: "crwdns8997:0crwdne8997:0"
#'privacy policy' page
privacy:
#'privacy policy' page
title: "crwdns8999:0crwdne8999:0"
dpo: "crwdns9001:0crwdne9001:0"
last_update: "crwdns9003:0crwdne9003:0"
#home page
home:
#home page
latest_documented_projects: "crwdns9005:0crwdne9005:0"
follow_us: "crwdns9007:0crwdne9007:0"
latest_tweets: "crwdns9009:0crwdne9009:0"
@ -146,14 +148,15 @@ ach:
from_time_to_time: "crwdns9025:0{START}crwdnd9025:0{END}crwdne9025:0"
free_entry: "crwdns9027:0crwdne9027:0"
free_admission: "crwdns9029:0crwdne9029:0"
full_price: "crwdns9031:0crwdne9031:0"
full_price: "crwdns20242:0crwdne20242:0"
event_full: "crwdns9033:0crwdne9033:0"
still_available: "crwdns9035:0crwdne9035:0"
still_available: "crwdns20244:0crwdne20244:0"
all_day: "crwdns20246:0crwdne20246:0"
#projects gallery
projects_list:
#projects gallery
the_fablab_projects: "crwdns9037:0crwdne9037:0"
add_a_project: "crwdns9039:0crwdne9039:0"
search_over_the_whole_network: "crwdns9041:0crwdne9041:0"
search_over_the_whole_network: "crwdns19616:0crwdne19616:0"
tooltip_openlab_projects_switch: "crwdns9043:0crwdne9043:0"
openlab_search_not_available_at_the_moment: "crwdns9045:0crwdne9045:0"
project_search_result_is_empty: "crwdns9047:0crwdne9047:0"
@ -167,8 +170,8 @@ ach:
all_materials: "crwdns9063:0crwdne9063:0"
load_next_projects: "crwdns9065:0crwdne9065:0"
rough_draft: "crwdns9067:0crwdne9067:0"
#details of a projet
projects_show:
#details of a projet
rough_draft: "crwdns9069:0crwdne9069:0"
project_description: "crwdns9071:0crwdne9071:0"
by_name: "crwdns9073:0{NAME}crwdne9073:0"
@ -196,17 +199,18 @@ ach:
message_is_required: "crwdns9117:0crwdne9117:0"
report: "crwdns9119:0crwdne9119:0"
do_you_really_want_to_delete_this_project: "crwdns9121:0crwdne9121:0"
#list of machines
machines_list:
#list of machines
the_fablab_s_machines: "crwdns9123:0crwdne9123:0"
add_a_machine: "crwdns9125:0crwdne9125:0"
new_availability: "crwdns19618:0crwdne19618:0"
book: "crwdns9127:0crwdne9127:0"
_or_the_: "crwdns9129:0crwdne9129:0"
status_enabled: "crwdns9131:0crwdne9131:0"
status_disabled: "crwdns9133:0crwdne9133:0"
status_all: "crwdns9135:0crwdne9135:0"
#details of a machine
machines_show:
#details of a machine
book_this_machine: "crwdns9137:0crwdne9137:0"
technical_specifications: "crwdns9139:0crwdne9139:0"
files_to_download: "crwdns9141:0crwdne9141:0"
@ -216,20 +220,20 @@ ach:
do_you_really_want_to_delete_this_machine: "crwdns9149:0crwdne9149:0"
unauthorized_operation: "crwdns9151:0crwdne9151:0"
the_machine_cant_be_deleted_because_it_is_already_reserved_by_some_users: "crwdns9153:0crwdne9153:0"
#list of trainings
trainings_list:
#list of trainings
book: "crwdns9155:0crwdne9155:0"
the_trainings: "crwdns9157:0crwdne9157:0"
#details of a training
training_show:
#details of a training
book_this_training: "crwdns9159:0crwdne9159:0"
do_you_really_want_to_delete_this_training: "crwdns9161:0crwdne9161:0"
unauthorized_operation: "crwdns9163:0crwdne9163:0"
confirmation_required: "crwdns9165:0crwdne9165:0"
the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users: "crwdns9167:0crwdne9167:0"
#summary of the subscriptions
plans:
#summary of the subscriptions
subscriptions: "crwdns9169:0crwdne9169:0"
subscriptions: "crwdns19620:0crwdne19620:0"
i_choose_that_plan: "crwdns9171:0crwdne9171:0"
i_subscribe_online: "crwdns9173:0crwdne9173:0"
i_already_subscribed: "crwdns9175:0crwdne9175:0"
@ -255,9 +259,9 @@ ach:
subscription_confirmation: "crwdns9215:0crwdne9215:0"
here_is_the_NAME_subscription_summary: "crwdns9217:0{NAME}crwdne9217:0"
confirm_payment_of_html: "crwdns9219:0ROLE={ROLE}crwdnd9219:0AMOUNT={AMOUNT}crwdne9219:0" #(contexte : validate a payment of $20,00)
online_payment_disabled: "crwdns9221:0crwdne9221:0"
online_payment_disabled: "crwdns20248:0crwdne20248:0"
#Fablab's events list
events_list:
#Fablab's events list
the_fablab_s_events: "crwdns9223:0crwdne9223:0"
all_categories: "crwdns9225:0crwdne9225:0"
for_all: "crwdns9227:0crwdne9227:0"
@ -269,9 +273,10 @@ ach:
add_an_event: "crwdns9239:0crwdne9239:0"
load_the_next_events: "crwdns9241:0crwdne9241:0"
full_price_: "crwdns9243:0crwdne9243:0"
to_date: crwdns10123:0crwdne10123:0
to_date: "crwdns19622:0crwdne19622:0" #eg. from 01/01 to 01/05
all_themes: "crwdns19624:0crwdne19624:0"
#details and booking of an event
events_show:
#details and booking of an event
event_description: "crwdns9247:0crwdne9247:0"
downloadable_documents: "crwdns9249:0crwdne9249:0"
information_and_booking: "crwdns9251:0crwdne9251:0"
@ -280,8 +285,8 @@ ach:
ending: "crwdns9257:0crwdne9257:0"
opening_hours: "crwdns9259:0crwdne9259:0"
all_day: "crwdns9261:0crwdne9261:0"
from_time: crwdns10125:0crwdne10125:0
to_time: crwdns10127:0crwdne10127:0
from_time: "crwdns19626:0crwdne19626:0" #eg. from 18:00 to 21:00
to_time: "crwdns19628:0crwdne19628:0" #eg. from 18:00 to 21:00
full_price_: "crwdns9267:0crwdne9267:0"
tickets_still_availables: "crwdns9269:0crwdne9269:0"
sold_out: "crwdns9271:0crwdne9271:0"
@ -297,31 +302,31 @@ ach:
book: "crwdns9291:0crwdne9291:0"
confirm_and_pay: "crwdns9293:0crwdne9293:0"
confirm_payment_of_html: "crwdns9295:0ROLE={ROLE}crwdnd9295:0AMOUNT={AMOUNT}crwdne9295:0" #(contexte : validate a payment of $20,00)
online_payment_disabled: "crwdns9297:0crwdne9297:0"
online_payment_disabled: "crwdns20250:0crwdne20250:0"
please_select_a_member_first: "crwdns9299:0crwdne9299:0"
change_the_reservation: "crwdns9301:0crwdne9301:0"
you_can_shift_this_reservation_on_the_following_slots: "crwdns9303:0crwdne9303:0"
confirmation_required: "crwdns9305:0crwdne9305:0"
do_you_really_want_to_delete_this_event: "crwdns9307:0crwdne9307:0"
delete_recurring_event: "crwdns19557:0crwdne19557:0"
delete_this_event: "crwdns19559:0crwdne19559:0"
delete_this_and_next: "crwdns19561:0crwdne19561:0"
delete_all: "crwdns19563:0crwdne19563:0"
event_successfully_deleted: "crwdns9309:0crwdne9309:0"
events_deleted: "crwdns19565:0COUNT={COUNT}crwdnd19565:0COUNT={COUNT}crwdne19565:0"
unable_to_delete_the_event: "crwdns19567:0crwdne19567:0"
events_not_deleted: "crwdns19569:0TOTAL={TOTAL}crwdnd19569:0COUNT={COUNT}crwdnd19569:0COUNT={COUNT}crwdnd19569:0COUNT={COUNT}crwdne19569:0"
delete_recurring_event: "crwdns19630:0crwdne19630:0"
delete_this_event: "crwdns19632:0crwdne19632:0"
delete_this_and_next: "crwdns19634:0crwdne19634:0"
delete_all: "crwdns19636:0crwdne19636:0"
event_successfully_deleted: "crwdns20252:0crwdne20252:0"
events_deleted: "crwdns19638:0COUNT={COUNT}crwdnd19638:0COUNT={COUNT}crwdne19638:0"
unable_to_delete_the_event: "crwdns19640:0crwdne19640:0"
events_not_deleted: "crwdns19642:0TOTAL={TOTAL}crwdnd19642:0COUNT={COUNT}crwdnd19642:0COUNT={COUNT}crwdnd19642:0COUNT={COUNT}crwdne19642:0"
cancel_the_reservation: "crwdns9313:0crwdne9313:0"
do_you_really_want_to_cancel_this_reservation_this_apply_to_all_booked_tickets: "crwdns9315:0crwdne9315:0"
reservation_was_successfully_cancelled: "crwdns9317:0crwdne9317:0"
reservation_was_successfully_cancelled: "crwdns20254:0crwdne20254:0"
cancellation_failed: "crwdns9319:0crwdne9319:0"
event_is_over: "crwdns9321:0crwdne9321:0"
event_is_over: "crwdns20256:0crwdne20256:0"
thanks_for_coming: "crwdns9323:0crwdne9323:0"
view_event_list: "crwdns9325:0crwdne9325:0"
share_on_facebook: "crwdns9327:0crwdne9327:0"
share_on_twitter: "crwdns9329:0crwdne9329:0"
#public calendar
calendar:
#public calendar
calendar: "crwdns9331:0crwdne9331:0"
show_unavailables: "crwdns9333:0crwdne9333:0"
filter_calendar: "crwdns9335:0crwdne9335:0"
@ -330,16 +335,17 @@ ach:
spaces: "crwdns9341:0crwdne9341:0"
events: "crwdns9343:0crwdne9343:0"
externals: "crwdns9345:0crwdne9345:0"
#list of spaces
spaces_list:
#list of spaces
the_spaces: "crwdns9347:0crwdne9347:0"
new_availability: "crwdns19644:0crwdne19644:0"
add_a_space: "crwdns9349:0crwdne9349:0"
status_enabled: "crwdns9351:0crwdne9351:0"
status_disabled: "crwdns9353:0crwdne9353:0"
status_all: "crwdns9355:0crwdne9355:0"
book: "crwdns9357:0crwdne9357:0"
#display the details of a space
space_show:
#display the details of a space
book_this_space: "crwdns9359:0crwdne9359:0"
unauthorized_operation: "crwdns9361:0crwdne9361:0"
confirmation_required: "crwdns9363:0crwdne9363:0"
@ -348,3 +354,82 @@ ach:
characteristics: "crwdns9369:0crwdne9369:0"
files_to_download: "crwdns9371:0crwdne9371:0"
projects_using_the_space: "crwdns9373:0crwdne9373:0"
tour:
conclusion:
title: "crwdns19646:0crwdne19646:0"
content: "crwdns20176:0crwdne20176:0"
welcome:
welcome:
title: "crwdns19650:0crwdne19650:0"
content: "crwdns19652:0crwdne19652:0"
home:
title: "crwdns19654:0crwdne19654:0"
content: "crwdns19656:0crwdne19656:0"
machines:
title: "crwdns19658:0crwdne19658:0"
content: "crwdns19660:0crwdne19660:0"
trainings:
title: "crwdns19662:0crwdne19662:0"
content: "crwdns19664:0crwdne19664:0"
spaces:
title: "crwdns19666:0crwdne19666:0"
content: "crwdns19668:0crwdne19668:0"
events:
title: "crwdns19670:0crwdne19670:0"
content: "crwdns19672:0crwdne19672:0"
calendar:
title: "crwdns19674:0crwdne19674:0"
content: "crwdns19676:0crwdne19676:0"
projects:
title: "crwdns19678:0crwdne19678:0"
content: "crwdns20258:0crwdne20258:0"
plans:
title: "crwdns19682:0crwdne19682:0"
content: "crwdns19684:0crwdne19684:0"
admin:
title: "crwdns19686:0crwdne19686:0"
content: "crwdns19688:0crwdne19688:0"
about:
title: "crwdns19690:0crwdne19690:0"
content: "crwdns19692:0crwdne19692:0"
notifications:
title: "crwdns19694:0crwdne19694:0"
content: "crwdns19696:0crwdne19696:0"
profile:
title: "crwdns19698:0crwdne19698:0"
content: "crwdns19700:0crwdne19700:0"
news:
title: "crwdns19702:0crwdne19702:0"
content: "crwdns20264:0crwdne20264:0"
last_projects:
title: "crwdns19706:0crwdne19706:0"
content: "crwdns19708:0crwdne19708:0"
last_tweet:
title: "crwdns19710:0crwdne19710:0"
content: "crwdns20266:0crwdne20266:0"
last_members:
title: "crwdns19714:0crwdne19714:0"
content: "crwdns19716:0crwdne19716:0"
next_events:
title: "crwdns19718:0crwdne19718:0"
content: "crwdns19720:0crwdne19720:0"
customize:
title: "crwdns19722:0crwdne19722:0"
content: "crwdns19724:0crwdne19724:0"
version:
title: "crwdns19726:0crwdne19726:0"
content: "crwdns19728:0crwdne19728:0"
machines:
welcome:
title: "crwdns19730:0crwdne19730:0"
content: "crwdns19732:0crwdne19732:0"
view:
title: "crwdns19734:0crwdne19734:0"
content: "crwdns19736:0crwdne19736:0"
spaces:
welcome:
title: "crwdns19738:0crwdne19738:0"
content: "crwdns19740:0crwdne19740:0"
view:
title: "crwdns19742:0crwdne19742:0"
content: "crwdns19744:0crwdne19744:0"

View File

@ -1,19 +1,17 @@
en:
app:
public:
#header and "about" page
common:
# header and "about" page
about_the_fablab: "About {GENDER, select, male{the} female{the} neutral{} other{the}} {NAME}"
return: "Return"
# cookies
#cookies
cookies:
about_cookies: "This website uses cookies for audience measurement purposes."
learn_more: "Learn more"
accept: "Accept cookies"
decline: "Refuse"
# dashboard sections
#dashboard sections
dashboard: "Dashboard"
my_profile: "My Profile"
my_settings: "My Settings"
@ -22,21 +20,17 @@ en:
my_events: "My Events"
my_invoices: "My Invoices"
my_wallet: "My Wallet"
# contextual help
#contextual help
help: "Help"
# login/logout
#login/logout
sign_out: "Sign Out"
sign_up: "Sign Up"
sign_in: "Sign In"
# left menu
#left menu
notifications: "Notifications"
admin: "Admin"
reduce_panel: "Reduce panel"
# left menu (public)
#left menu (public)
home: "Home"
reserve_a_machine: "Reserve a Machine"
trainings_registrations: "Trainings registrations"
@ -45,8 +39,7 @@ en:
projects_gallery: "Projects gallery"
subscriptions: "Subscriptions"
public_calendar: "Calendar"
# left menu (admin)
#left menu (admin)
trainings_monitoring: "Trainings"
manage_the_calendar: "Calendar"
manage_the_users: "Users"
@ -59,8 +52,7 @@ en:
statistics: "Statistics"
customization: "Customization"
open_api_clients: "OpenAPI clients"
# account creation modal
#account creation modal
create_your_account: "Create your account"
man: "Man"
woman: "Woman"
@ -102,29 +94,24 @@ en:
used_for_profile: "This data will only be displayed on your profile"
public_profile: "You will have a public profile and other users will be able to associate you in their projects"
you_will_receive_confirmation_instructions_by_email_detailed: "You will receive an email with instructions about how to confirm your account in a few minutes."
# password modification modal
#password modification modal
change_your_password: "Change your password"
your_new_password: "Your new password"
your_password_was_successfully_changed: "Your password was successfully changed."
# connection modal
#connection modal
connection: "Connection"
password_forgotten: "Forgotten password?"
confirm_my_account: "Confirm my e-mail"
not_registered_to_the_fablab: "Not registered to the Fablab?"
not_registered_to_the_fablab: "Not registered to the FabLab?"
create_an_account: "Create an account"
wrong_email_or_password: "Wrong e-mail or password."
caps_lock_is_on: "Caps lock key is on."
# confirmation modal
you_will_receive_confirmation_instructions_by_email: You will receive confirmation instructions by email.
# forgotten password modal
#confirmation modal
you_will_receive_confirmation_instructions_by_email: "You will receive confirmation instructions by email."
#forgotten password modal
your_email_address_is_unknown: "Your e-mail address is unknown."
you_will_receive_in_a_moment_an_email_with_instructions_to_reset_your_password: "You will receive in a moment, an e-mail with instructions to reset your password."
# Fab-manager's version
#Fab-manager's version
version: "Version:"
upgrade_fabmanager: "Upgrade Fab-manager"
current_version: "You are currently using version {VERSION} of Fab-manager."
@ -132,33 +119,28 @@ en:
read_more: "View the details of this release"
security_version_html: "<strong>Your current version is vulnerable!</strong><br> A later version, currently available, includes security fixes. Upgrade as soon as possible!"
how_to: "How to upgrade?"
# Notifications
#Notifications
and_NUMBER_other_notifications: "and {NUMBER, plural, =0{no other notifications} =1{one other notification} other{{NUMBER} other notifications}}..."
#about page
about:
# about page
read_the_fablab_policy: "Read the FabLab policy"
read_the_fablab_s_general_terms_and_conditions: "Read the FabLab's general terms and conditions"
your_fablab_s_contacts: "Your FabLab's contacts"
privacy_policy: "Privacy policy"
#'privacy policy' page
privacy:
# 'privacy policy' page
title: "Privacy policy"
dpo: "Data protection officer"
last_update: "Last update,"
#home page
home:
# home page
latest_documented_projects: "The latest documented projects"
follow_us: "Follow Us"
latest_tweets: "The latest tweets"
latest_registered_members: "Latest registered members"
create_an_account: "Create an account"
discover_members: "Discover members"
# next events summary on the home page
#next events summary on the home page
fablab_s_next_events: "Fablab's next events"
every_events: "Every events"
from_date_to_date: "From {START} to {END}"
@ -166,12 +148,12 @@ en:
from_time_to_time: "From {START} to {END}"
free_entry: "Free entry"
free_admission: "Free admission"
full_price: "Full price"
full_price: "Full price: "
event_full: "Event full"
still_available: "Available place(s)"
still_available: "Available place(s): "
all_day: "All day"
#projects gallery
projects_list:
# projects gallery
the_fablab_projects: "The Fab Lab projects"
add_a_project: "Add a project"
search_over_the_whole_network: "Search over the whole Fab-manager network"
@ -188,9 +170,8 @@ en:
all_materials: "All materials"
load_next_projects: "Load next projects"
rough_draft: "Rough draft"
#details of a projet
projects_show:
# details of a projet
rough_draft: "Draft"
project_description: "Project description"
by_name: "By {NAME}"
@ -218,9 +199,8 @@ en:
message_is_required: "Message is required."
report: "Report"
do_you_really_want_to_delete_this_project: "Do you really want to delete this project?"
#list of machines
machines_list:
# list of machines
the_fablab_s_machines: "The FabLab's machines"
add_a_machine: "Add a machine"
new_availability: "Open reservations"
@ -229,9 +209,8 @@ en:
status_enabled: "Enabled"
status_disabled: "Disabled"
status_all: "All"
#details of a machine
machines_show:
# details of a machine
book_this_machine: "Book this machine"
technical_specifications: "Technical specifications"
files_to_download: "Files to download"
@ -241,22 +220,19 @@ en:
do_you_really_want_to_delete_this_machine: "Do you really want to delete this machine?"
unauthorized_operation: "Unauthorized operation"
the_machine_cant_be_deleted_because_it_is_already_reserved_by_some_users: "The machine can't be deleted because it's already reserved by some users."
#list of trainings
trainings_list:
# list of trainings
book: "Book"
the_trainings: "The trainings"
#details of a training
training_show:
# details of a training
book_this_training: "Book this training"
do_you_really_want_to_delete_this_training: "Do you really want to delete this training?"
unauthorized_operation: "Unauthorized operation"
confirmation_required: "Confirmation required"
the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users: "The training can't be deleted because it's already reserved by some users."
#summary of the subscriptions
plans:
# summary of the subscriptions
subscriptions: "Subscriptions"
i_choose_that_plan: "I choose that plan"
i_subscribe_online: "I subscribe online"
@ -282,11 +258,10 @@ en:
an_error_occured_during_the_payment_process_please_try_again_later: "An error occurred during the payment process. Please try again later."
subscription_confirmation: "Subscription confirmation"
here_is_the_NAME_subscription_summary: "Here is the {NAME}'s subscription summary:"
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" # (contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the Fablab's reception directly."
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" #(contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the FabLab's reception directly."
#Fablab's events list
events_list:
# Fablab's events list
the_fablab_s_events: "The Fablab's events"
all_categories: "All categories"
for_all: "For all"
@ -298,11 +273,10 @@ en:
add_an_event: "Add an event"
load_the_next_events: "Load the next events..."
full_price_: "Full price:"
to_date: "to" # eg. from 01/01 to 01/05
to_date: "to" #eg. from 01/01 to 01/05
all_themes: "All themes"
#details and booking of an event
events_show:
# details and booking of an event
event_description: "Event description"
downloadable_documents: "Downloadable documents"
information_and_booking: "Information and booking"
@ -311,8 +285,8 @@ en:
ending: "Ending:"
opening_hours: "Opening hours:"
all_day: "All day"
from_time: "From" # eg. from 18:00 to 21:00
to_time: "to" # eg. from 18:00 to 21:00
from_time: "From" #eg. from 18:00 to 21:00
to_time: "to" #eg. from 18:00 to 21:00
full_price_: "Full price:"
tickets_still_availables: "Tickets still available:"
sold_out: "Sold out."
@ -327,8 +301,8 @@ en:
canceled_reservation_SEATS: "Reservation canceled ({SEATS} seats)"
book: "Book"
confirm_and_pay: "Confirm and pay"
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" # (contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the Fablab's reception directly."
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" #(contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the FabLab's reception directly."
please_select_a_member_first: "Please select a member first"
change_the_reservation: "Change the reservation"
you_can_shift_this_reservation_on_the_following_slots: "You can shift this reservation on the following slots:"
@ -338,22 +312,21 @@ en:
delete_this_event: "Only this event"
delete_this_and_next: "This event and the following"
delete_all: "All events"
event_successfully_deleted: "Event successfully deleted"
event_successfully_deleted: "Event successfully deleted."
events_deleted: "The event, and {COUNT, plural, =1{one other} other{{COUNT} others}}, have been deleted"
unable_to_delete_the_event: "Unable to delete the event, it may be booked by a member"
events_not_deleted: "On {TOTAL} events, {COUNT, plural, =1{one was not deleted} other{{COUNT} were not deleted}}. Some reservations may exists on {COUNT, plural, =1{it} other{them}}."
cancel_the_reservation: "Cancel the reservation"
do_you_really_want_to_cancel_this_reservation_this_apply_to_all_booked_tickets: "Do you really want to cancel this reservation? This apply to ALL booked tickets."
reservation_was_successfully_cancelled: "Reservation was successfully cancelled"
reservation_was_successfully_cancelled: "Reservation was successfully cancelled."
cancellation_failed: "Cancellation failed."
event_is_over: "The event is over"
event_is_over: "The event is over."
thanks_for_coming: "Thanks for coming!"
view_event_list: "View events to come"
share_on_facebook: "Share on Facebook"
share_on_twitter: "Share on Twitter"
#public calendar
calendar:
# public calendar
calendar: "Calendar"
show_unavailables: "Show unavailable slots"
filter_calendar: "Filter calendar"
@ -362,9 +335,8 @@ en:
spaces: "Spaces"
events: "Events"
externals: "Other calendars"
#list of spaces
spaces_list:
# list of spaces
the_spaces: "The spaces"
new_availability: "Open reservations"
add_a_space: "Add a space"
@ -372,9 +344,8 @@ en:
status_disabled: "Disabled"
status_all: "All"
book: "Book"
#display the details of a space
space_show:
# display the details of a space
book_this_space: "Book this space"
unauthorized_operation: "Unauthorized operation"
confirmation_required: "Confirmation required"
@ -383,7 +354,6 @@ en:
characteristics: "Characteristics"
files_to_download: "Files to download"
projects_using_the_space: "Projects using the space"
tour:
conclusion:
title: "Thank you for your attention"
@ -412,7 +382,7 @@ en:
content: "Visualize at a glance everything that is scheduled for the next coming weeks (events, training, machines available, etc.)."
projects:
title: "Projects"
content: "<p>Document and share all your creations with the community.</p><p>If you use OpenLab, you will also be able to consult the projects of the entire Fab-Manager network. <a href='mailto:contact@fab-manager.com'>Contact-us</a> to get your access, it's free!</p>"
content: "<p>Document and share all your creations with the community.</p><p>If you use OpenLab, you will also be able to consult the projects of the entire Fab-manager network. <a href='mailto:contact@fab-manager.com'>Contact-us</a> to get your access, it's free!</p>"
plans:
title: "Subscriptions"
content: "Subscriptions provide a way to segment your prices and provide benefits to regular users."
@ -430,13 +400,13 @@ en:
content: "<p>Find your personal information here as well as all your activity on Fab-manager.</p><p>This space is also available for all your members.</p>"
news:
title: "News"
content: "<p>This space allows you to display the latest news from your structure.</p><p>You can easily change its content from [Customization]> [Home page].</p>"
content: "<p>This space allows you to display the latest news from your structure.</p><p>You can easily change its content from « Customization », « Home page ».</p>"
last_projects:
title: "Last projects"
content: "<p>This carousel scrolls through the latest projects documented by your members.</p>"
last_tweet:
title: "Last tweet"
content: "<p>Le dernier tweet de votre flux Twitter peut s'afficher ici.</p><p>Configure it from [Customization]> [Home page].</p>"
content: "<p>The last tweet of your Tweeter feed can be shown here.</p><p>Configure it from « Customization », « Home page ».</p>"
last_members:
title: "Last members"
content: "The last registered members who have validated their address and agreed to be contacted will be shown here."

View File

@ -1,19 +1,17 @@
es:
app:
public:
#header and "about" page
common:
# header and "about" page
about_the_fablab: "Acerca de {GENDER, select, male{el} female{la} neutral{} other{las}} {NAME}"
return: "Volver"
# cookies
#cookies
cookies:
about_cookies: "Este sitio web utiliza cookies para medir la audiencia."
learn_more: "Saber más"
accept: "Aceptar cookies"
decline: "Rechazar"
# dashboard sections
#dashboard sections
dashboard: "Panel"
my_profile: "My Perfil"
my_settings: "Mis ajustes"
@ -22,21 +20,17 @@ es:
my_events: "Mis eventos"
my_invoices: "Mis facturas"
my_wallet: "Mi cartera"
# contextual help
#contextual help
help: "Help"
# login/logout
#login/logout
sign_out: "Salir"
sign_up: "Registrarse"
sign_in: "Ingresar"
# left menu
#left menu
notifications: "Notificaciones"
admin: "Administrador"
reduce_panel: "Reducir panel"
# left menu (public)
#left menu (public)
home: "Menú principal"
reserve_a_machine: "Reservar una máquina"
trainings_registrations: "Registro de cursos"
@ -45,8 +39,7 @@ es:
projects_gallery: "Galería de proyectos"
subscriptions: "Suscripciones"
public_calendar: "Agenda"
# left menu (admin)
#left menu (admin)
trainings_monitoring: "Cursos"
manage_the_calendar: "Agenda"
manage_the_users: "Usuarios"
@ -59,8 +52,7 @@ es:
statistics: "Estadísticas"
customization: "Customización"
open_api_clients: "Clientes OpenAPI"
# account creation modal
#account creation modal
create_your_account: "Crear su cuenta"
man: "Hombre"
woman: "Mujer"
@ -102,29 +94,24 @@ es:
used_for_profile: "This data will only be displayed on your profile"
public_profile: "You will have a public profile and other users will be able to associate you in their projects"
you_will_receive_confirmation_instructions_by_email_detailed: "Recibirá un correo electrónico con instrucciones sobre cómo confirmar su cuenta en unos minutos."
# password modification modal
#password modification modal
change_your_password: "Cambiar contraseña"
your_new_password: "Nueva contraseña"
your_password_was_successfully_changed: "Su contraseña ha sido cambiada con éxito."
# connection modal
#connection modal
connection: "Conexión"
password_forgotten: "¿Ha olvidado su contraseña?"
confirm_my_account: "Confirmar mi E-mail"
not_registered_to_the_fablab: "¿No está registrado en el fablab todavía?"
not_registered_to_the_fablab: "¿No está registrado en el FabLab todavía?"
create_an_account: "Crear una cuenta"
wrong_email_or_password: "E-mail o contraseña incorrecta."
caps_lock_is_on: "Las mayusculas están activadas."
# confirmation modal
#confirmation modal
you_will_receive_confirmation_instructions_by_email: "Recibirá las instrucciones de confirmación por email."
# forgotten password modal
#forgotten password modal
your_email_address_is_unknown: "Se desconoce su email."
you_will_receive_in_a_moment_an_email_with_instructions_to_reset_your_password: "En un momento recibirá las instrucciones para restablecer su contraseña en su mail."
# Fab-manager's version
#Fab-manager's version
version: "Version:"
upgrade_fabmanager: "Upgrade Fab-manager"
current_version: "You are currently using version {VERSION} of Fab-manager."
@ -132,33 +119,28 @@ es:
read_more: "View the details of this release"
security_version_html: "<strong>Your current version is vulnerable!</strong><br> A later version, currently available, includes security fixes. Upgrade as soon as possible!"
how_to: "How to upgrade?"
# Notifications
#Notifications
and_NUMBER_other_notifications: "y {NUMBER, plural, =0{no other notifications} =1{one other notification} otras{{NUMBER} other notifications}}..."
#about page
about:
#about page
read_the_fablab_policy: "Leer la politica del FabLab"
read_the_fablab_s_general_terms_and_conditions: "Leer los terminos y condiciones del FabLab"
your_fablab_s_contacts: "Sus contactos del FabLab"
privacy_policy: "Política de privacidad"
#'privacy policy' page
privacy:
#'privacy policy' page
title: "Política de privacidad"
dpo: "Oficial de protección de datos"
last_update: "Última actualización,"
#home page
home:
# home page
latest_documented_projects: "Los últimos proyectos documentados"
follow_us: "Siguenos"
latest_tweets: "Los últimos tweets"
latest_registered_members: "Miembros más recientes"
create_an_account: "Crear una cuenta"
discover_members: "Descubrir miembros"
# next events summary on the home page
#next events summary on the home page
fablab_s_next_events: "Próximos eventos del FabLab"
every_events: "Todos los eventos"
from_date_to_date: "Desde {START} hasta {END}"
@ -166,12 +148,12 @@ es:
from_time_to_time: "Desde {START} hasta {END}"
free_entry: "Entrada gratuita"
free_admission: "Admisión gratuita"
full_price: "Precio final"
full_price: "Precio completo: "
event_full: "Evento lleno"
still_available: "Available place(s)"
still_available: "Asiento(s) disponible(s): "
all_day: "Todo el día"
#projects gallery
projects_list:
# projects gallery
the_fablab_projects: "Los proyectos del FabLab"
add_a_project: "Añadir un proyecto"
search_over_the_whole_network: "Buscar en toda la red de FabLab"
@ -188,9 +170,8 @@ es:
all_materials: "Todo el material"
load_next_projects: "Cargar más proyectos"
rough_draft: "Borrador"
#details of a projet
projects_show:
# details of a projet
rough_draft: "Draft"
project_description: "Descripción de proyecto"
by_name: "Por {NAME}"
@ -218,9 +199,8 @@ es:
message_is_required: "El mensaje es obligatorio."
report: "Reportar"
do_you_really_want_to_delete_this_project: "¿Está seguro de querer eliminar este proyecto?"
#list of machines
machines_list:
# list of machines
the_fablab_s_machines: "Las máquinas del FabLab"
add_a_machine: "Añadir una máquina"
new_availability: "Open reservations"
@ -229,9 +209,8 @@ es:
status_enabled: "Activas"
status_disabled: "No activas"
status_all: "Todas"
#details of a machine
machines_show:
# details of a machine
book_this_machine: "Alquilar máquina"
technical_specifications: "Technical specifications"
files_to_download: "Archivos a descargar"
@ -241,22 +220,19 @@ es:
do_you_really_want_to_delete_this_machine: "¿Está seguro de querer eliminar esta máquina?"
unauthorized_operation: "Unauthorized operation"
the_machine_cant_be_deleted_because_it_is_already_reserved_by_some_users: "La máquina no puede borrarse porque está siendo usada o ha sido reservada por algún usuario."
#list of trainings
trainings_list:
# list of trainings
book: "Reservar"
the_trainings: "Lista de cursos"
#details of a training
training_show:
# details of a training
book_this_training: "reservar plaza en este curso"
do_you_really_want_to_delete_this_training: "Está seguro de querer eliminar este curso?"
unauthorized_operation: "Operación no autorizada"
confirmation_required: "Confirmation required"
the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users: "El curso no puede borrarse porque ya ha sido reservado por algún usuario."
#summary of the subscriptions
plans:
# summary of the subscriptions
subscriptions: "Suscripciones"
i_choose_that_plan: "Elijo este plan"
i_subscribe_online: "Suscribirme online"
@ -283,26 +259,24 @@ es:
subscription_confirmation: "Confirmar suscripción"
here_is_the_NAME_subscription_summary: "Resumen de la suscrpición de {NAME}:"
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" #(contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the Fablab's reception directly."
online_payment_disabled: "Payment by credit card is not available. Please contact the FabLab's reception directly."
#Fablab's events list
events_list:
# Fablab's events list
the_fablab_s_events: "Los eventos del FabLab"
all_categories: "Todas las categorías"
for_all: "Para todo"
sold_out: "Sold Out"
cancelled: "Cancelled"
free_admission: "Free admission"
still_available: "available place(s)"
still_available: "asiento(s) disponible(s)"
free_entry: "Free entry"
add_an_event: "Add an event"
load_the_next_events: "Cargar los próximos eventos..."
full_price_: "Full price:"
to_date: "to" # eg. from 01/01 to 01/05
full_price_: "Precio completo:"
to_date: "to" #eg. from 01/01 to 01/05
all_themes: "All themes"
#details and booking of an event
events_show:
# details and booking of an event
event_description: "Descripción del evento"
downloadable_documents: "Archivos descargables"
information_and_booking: "Información y reservas"
@ -310,10 +284,10 @@ es:
beginning: "Empieza:"
ending: "Termina:"
opening_hours: "Hora de apertura:"
all_day: "All day"
from_time: "From" # eg. from 18:00 to 21:00
to_time: "to" # eg. from 18:00 to 21:00
full_price_: "Full price:"
all_day: "Todo el día"
from_time: "From" #eg. from 18:00 to 21:00
to_time: "to" #eg. from 18:00 to 21:00
full_price_: "Precio completo:"
tickets_still_availables: "Entradas disponibles:"
sold_out: "Entradas vendidas."
free_entry: "Entrada gratuita"
@ -328,7 +302,7 @@ es:
book: "Reservar"
confirm_and_pay: "Confirm and pay"
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" #(contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the Fablab's reception directly."
online_payment_disabled: "Payment by credit card is not available. Please contact the FabLab's reception directly."
please_select_a_member_first: "Please select a member first"
change_the_reservation: "Cambiar la reserva"
you_can_shift_this_reservation_on_the_following_slots: "Puede cambiar la reserva en los siguientes campos:"
@ -338,22 +312,21 @@ es:
delete_this_event: "Only this event"
delete_this_and_next: "This event and the following"
delete_all: "All events"
event_successfully_deleted: "Event successfully deleted"
event_successfully_deleted: "Event successfully deleted."
events_deleted: "The event, and {COUNT, plural, =1{one other} other{{COUNT} others}}, have been deleted"
unable_to_delete_the_event: "Unable to delete the event, it may be booked by a member"
events_not_deleted: "On {TOTAL} events, {COUNT, plural, =1{one was not deleted} other{{COUNT} were not deleted}}. Some reservations may exists on {COUNT, plural, =1{it} other{them}}."
cancel_the_reservation: "Cancel the reservation"
do_you_really_want_to_cancel_this_reservation_this_apply_to_all_booked_tickets: "Do you really want to cancel this reservation? This apply to ALL booked tickets."
reservation_was_successfully_cancelled: "Reservation was successfully cancelled"
reservation_was_successfully_cancelled: "Reservation was successfully cancelled."
cancellation_failed: "Cancellation failed."
event_is_over: "The event is over"
event_is_over: "The event is over."
thanks_for_coming: "Thanks for coming!"
view_event_list: "View events to come"
share_on_facebook: "Share on Facebook"
share_on_twitter: "Share on Twitter"
#public calendar
calendar:
# public calendar
calendar: "Calendario"
show_unavailables: "Mostrar campos inválidos"
filter_calendar: "Filtrar calendario"
@ -362,9 +335,8 @@ es:
spaces: "Espacios"
events: "Eventos"
externals: "Otros calendarios"
#list of spaces
spaces_list:
# list of spaces
the_spaces: "Espacios"
new_availability: "Open reservations"
add_a_space: "Añadir espacios"
@ -372,9 +344,8 @@ es:
status_disabled: "No activos"
status_all: "Todos"
book: "Reservar"
#display the details of a space
space_show:
# display the details of a space
book_this_space: "Reservar este espacio"
unauthorized_operation: "Operación no autorizada"
confirmation_required: "Confirmación requerida"
@ -383,7 +354,6 @@ es:
characteristics: "Características"
files_to_download: "Archivos para descargar"
projects_using_the_space: "Proyectos que usan el espacio"
tour:
conclusion:
title: "Thank you for your attention"
@ -412,7 +382,7 @@ es:
content: "Visualize at a glance everything that is scheduled for the next coming weeks (events, training, machines available, etc.)."
projects:
title: "Projects"
content: "<p>Document and share all your creations with the community.</p><p>If you use OpenLab, you will also be able to consult the projects of the entire Fab-Manager network. <a href='mailto:contact@fab-manager.com'>Contact-us</a> to get your access, it's free!</p>"
content: "<p>Document and share all your creations with the community.</p><p>If you use OpenLab, you will also be able to consult the projects of the entire Fab-manager network. <a href='mailto:contact@fab-manager.com'>Contact-us</a> to get your access, it's free!</p>"
plans:
title: "Subscriptions"
content: "Subscriptions provide a way to segment your prices and provide benefits to regular users."
@ -430,13 +400,13 @@ es:
content: "<p>Find your personal information here as well as all your activity on Fab-manager.</p><p>This space is also available for all your members.</p>"
news:
title: "News"
content: "<p>This space allows you to display the latest news from your structure.</p><p>You can easily change its content from [Customization]> [Home page].</p>"
content: "<p>This space allows you to display the latest news from your structure.</p><p>You can easily change its content from « Customization », « Home page ».</p>"
last_projects:
title: "Last projects"
content: "<p>This carousel scrolls through the latest projects documented by your members.</p>"
last_tweet:
title: "Last tweet"
content: "<p>Le dernier tweet de votre flux Twitter peut s'afficher ici.</p><p>Configure it from [Customization]> [Home page].</p>"
content: "<p>The last tweet of your Tweeter feed can be shown here.</p><p>Configure it from « Customization », « Home page ».</p>"
last_members:
title: "Last members"
content: "The last registered members who have validated their address and agreed to be contacted will be shown here."

View File

@ -1,19 +1,17 @@
fr:
app:
public:
#header and "about" page
common:
# en-tête et page "à propos"
about_the_fablab: "A propos {GENDER, select, male{du} female{de la} neutral{} other{des}} {NAME}"
return: "Retour"
# cookies
#cookies
cookies:
about_cookies: "Ce site web utilise des cookies à des fins de mesure d'audience."
learn_more: "En savoir plus"
accept: "Accepter les cookies"
decline: "Refuser"
# sections du tableau de bord
#dashboard sections
dashboard: "Tableau de bord"
my_profile: "Mon profil"
my_settings: "Mes paramètres"
@ -22,21 +20,17 @@ fr:
my_events: "Mes évènements"
my_invoices: "Mes factures"
my_wallet: "Mon porte-monnaie"
# aide contextuelle
#contextual help
help: "Aide"
# connexion / déconnexion
#login/logout
sign_out: "Se déconnecter"
sign_up: "S'inscrire"
sign_in: "Se connecter"
# menu de gauche
#left menu
notifications: "Notifications"
admin: "Admin"
reduce_panel: "Réduire le volet"
# menu de gauche (partie publique)
#left menu (public)
home: "Accueil"
reserve_a_machine: "Réserver une machine"
trainings_registrations: "Inscriptions formations"
@ -45,8 +39,7 @@ fr:
projects_gallery: "Galerie de projets"
subscriptions: "Abonnements"
public_calendar: "Agenda"
# menu de gauche (partie admin)
#left menu (admin)
trainings_monitoring: "Formations"
manage_the_calendar: "Agenda"
manage_the_users: "Utilisateurs"
@ -59,8 +52,7 @@ fr:
statistics: "Statistiques"
customization: "Personnalisation"
open_api_clients: "Clients OpenAPI"
# fenêtre de création de compte
#account creation modal
create_your_account: "Créer votre compte"
man: "Homme"
woman: "Femme"
@ -102,29 +94,24 @@ fr:
used_for_profile: "Cette donnée sera seulement affichée sur votre profil"
public_profile: "Vous aurez un profil public et les autres utilisateurs pourront vous associer à leurs projets"
you_will_receive_confirmation_instructions_by_email_detailed: "Vous allez recevoir dans quelques minutes un email comportant des instructions pour confirmer votre compte."
# fenêtre de changement de mot de passe
#password modification modal
change_your_password: "Modifier votre mot de passe"
your_new_password: "Votre nouveau mot de passe"
your_password_was_successfully_changed: "Votre mot de passe a bien été modifié."
# fenêtre de connexion
#connection modal
connection: "Connexion"
password_forgotten: "Mot de passe oublié ?"
confirm_my_account: "Confirmer mon adresse de courriel"
not_registered_to_the_fablab: "Vous n'êtes pas inscrit au FAB LAB ?"
not_registered_to_the_fablab: "Vous n'êtes pas inscrit au FabLab ?"
create_an_account: "Créer un compte"
wrong_email_or_password: "Adresse courriel ou mot de passe incorrect."
caps_lock_is_on: "La touche de verrouillage des majuscules est activée."
# fenêtre d'envoi des instructions de confirmation
you_will_receive_confirmation_instructions_by_email: Vous recevrez les instructions de confirmation par email.
# mot de passe oublié
#confirmation modal
you_will_receive_confirmation_instructions_by_email: "Vous recevrez les instructions de confirmation par email."
#forgotten password modal
your_email_address_is_unknown: "Votre adresse de courriel est inconnue."
you_will_receive_in_a_moment_an_email_with_instructions_to_reset_your_password: "Vous allez recevoir sous quelques minutes un courriel vous indiquant comment réinitialiser votre mot de passe."
# Fab-manager's version
#Fab-manager's version
version: "Version :"
upgrade_fabmanager: "Mettez à jour Fab-manager"
current_version: "Vous utilisez actuellement la version {VERSION} de Fab-manager."
@ -132,33 +119,28 @@ fr:
read_more: "Voir les détails de cette version"
security_version_html: "<strong>Votre version actuelle est vulnérable !</strong><br> Une version ultérieure, actuellement disponible, inclut des correctifs de sécurité. Mettez à jour dès que possible !"
how_to: "Comment mettre à jour ?"
# Notifications
#Notifications
and_NUMBER_other_notifications: "et {NUMBER, plural, =0{aucune autre notification} =1{une autre notification} other{{NUMBER} autres notifications}}..."
#about page
about:
# page à propos
read_the_fablab_policy: "Consulter les règles d'utilisation du Fab Lab"
read_the_fablab_s_general_terms_and_conditions: "Consulter les conditions générales de vente du Fab Lab"
your_fablab_s_contacts: "Vos contacts au Fab Lab"
privacy_policy: "Politique de confidentialité"
#'privacy policy' page
privacy:
# page 'politique de confidentialité'
title: "Politique de confidentialité"
dpo: "Délégué à la protection des données"
last_update: "Dernière mise à jour,"
#home page
home:
# page d'accueil
latest_documented_projects: "Les derniers projets documentés"
follow_us: "Suivez-nous"
latest_tweets: "Les derniers tweets"
latest_registered_members: "Derniers membres inscrits"
create_an_account: "Créer un compte"
discover_members: "Découvrir les membres"
# résumé des prochains évènements sur la page d'acceuil
#next events summary on the home page
fablab_s_next_events: "Les prochains évènements du Fab Lab"
every_events: "Tous les évènements"
from_date_to_date: "du {START} au {END}"
@ -168,15 +150,15 @@ fr:
free_admission: "Entrée gratuite"
full_price: "Plein tarif : "
event_full: "Événement complet"
still_available: "Place(s) disponible(s) :"
still_available: "Place(s) disponible(s) : "
all_day: "Toute la journée"
#projects gallery
projects_list:
# galerie des projets
the_fablab_projects: "Les projets du FabLab"
add_a_project: "Ajouter un projet"
search_over_the_whole_network: "Chercher sur tout le réseau Fab-manager"
tooltip_openlab_projects_switch: "La recherche sur tout le réseau vous permet de rechercher parmis les projets de tous les Fab-managers utilisant cette fonctionnalité !"
openlab_search_not_available_at_the_moment: "La recherche sur tout le réseau n'est pas disponible pour le moment. Vous pouvez cependant effectuer une recherche parmis les projets de cette plateforme."
tooltip_openlab_projects_switch: "La recherche sur tout le réseau vous permet de rechercher parmi les projets de tous les Fab-managers utilisant cette fonctionnalité !"
openlab_search_not_available_at_the_moment: "La recherche sur tout le réseau n'est pas disponible pour le moment. Vous pouvez cependant effectuer une recherche parmi les projets de cette plateforme."
project_search_result_is_empty: "Il n'y a pas de projets correspondant à vos critères de recherche."
reset_all_filters: "Réinitialiser tous les filtres"
search: "Rechercher"
@ -188,9 +170,8 @@ fr:
all_materials: "Tous les matériaux"
load_next_projects: "Charger les projets suivants"
rough_draft: "Brouillon"
#details of a projet
projects_show:
# détails d'un projet
rough_draft: "Brouillon"
project_description: "Description du projet"
by_name: "Par {NAME}"
@ -198,7 +179,7 @@ fr:
share_on_facebook: "Partager sur Facebook"
share_on_twitter: "Partager sur Twitter"
deleted_user: "Utilisateur supprimé"
posted_on_: "posté le"
posted_on_: "Posté le"
CAD_file_to_download: "{COUNT, plural, =0{Aucun fichier CAO} =1{Fichier CAO à télécharger} other{Fichiers CAO à télécharger}}"
machines_and_materials: "Machines et matériaux"
collaborators: "Les collaborateurs"
@ -218,9 +199,8 @@ fr:
message_is_required: "Le message est requis."
report: "Signaler"
do_you_really_want_to_delete_this_project: "Êtes-vous sur de vouloir supprimer ce projet ?"
#list of machines
machines_list:
# liste des machines
the_fablab_s_machines: "Les machines du FabLab"
add_a_machine: "Ajouter une machine"
new_availability: "Ouvrir des réservations"
@ -229,9 +209,8 @@ fr:
status_enabled: "Actives"
status_disabled: "Désactivées"
status_all: "Toutes"
#details of a machine
machines_show:
# détail d'une machine
book_this_machine: "Réserver cette machine"
technical_specifications: "Caractéristiques techniques"
files_to_download: "Fichiers à télécharger"
@ -241,22 +220,19 @@ fr:
do_you_really_want_to_delete_this_machine: "Êtes-vous sur de vouloir supprimer cette machine ?"
unauthorized_operation: "Opération non autorisée"
the_machine_cant_be_deleted_because_it_is_already_reserved_by_some_users: "La machine ne peut pas être supprimée car elle a déjà été réservée par des utilisateurs."
#list of trainings
trainings_list:
# liste des formations
book: "Réserver"
the_trainings: "Les formations"
#details of a training
training_show:
# détails d'une formation
book_this_training: "Réserver cette formation"
do_you_really_want_to_delete_this_training: "Êtes-vous sur de vouloir supprimer cette formation ?"
unauthorized_operation: "Opération non autorisée"
confirmation_required: "Confirmation requise"
the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users: "La formation ne peut pas être supprimée car elle a déjà été réservée par des utilisateurs."
#summary of the subscriptions
plans:
# page récapitulative des abonnements
subscriptions: "Les abonnements"
i_choose_that_plan: "Je choisis cette formule"
i_subscribe_online: "Je m'abonne en ligne"
@ -282,11 +258,10 @@ fr:
an_error_occured_during_the_payment_process_please_try_again_later: "Il y a eu un problème lors de la procédure de paiement. Veuillez réessayer plus tard."
subscription_confirmation: "Validation de l'abonnement"
here_is_the_NAME_subscription_summary: "Voici le récapitulatif de l'abonnement de {NAME} :"
confirm_payment_of_html: "{ROLE, select, admin{Encaisser} other{Payer}} : {AMOUNT}" # (contexte : valider un paiement de 20,00 €)
online_payment_disabled: "Le paiement par carte bancaire n'est pas disponible. Merci de contacter directement l'accueil du Fablab."
confirm_payment_of_html: "{ROLE, select, admin{Encaisser} other{Payer}} : {AMOUNT}" #(contexte : validate a payment of $20,00)
online_payment_disabled: "Le paiement par carte bancaire n'est pas disponible. Merci de contacter directement l'accueil du FabLab."
#Fablab's events list
events_list:
# liste des évènements du fablab
the_fablab_s_events: "Les évènements du Fab Lab"
all_categories: "Toutes les catégories"
for_all: "Tout public"
@ -298,11 +273,10 @@ fr:
add_an_event: "Ajouter un évènement"
load_the_next_events: "Charger les évènements suivants..."
full_price_: "Plein tarif :"
to_date: "au" # eg. from 01/01 to 01/05
to_date: "au" #eg. from 01/01 to 01/05
all_themes: "Toutes les thématiques"
#details and booking of an event
events_show:
# détails d'un événement et réservation
event_description: "Description de l'évènement"
downloadable_documents: "Documents à télécharger"
information_and_booking: "Informations et réservation"
@ -311,11 +285,11 @@ fr:
ending: "Fin :"
opening_hours: "Horaires :"
all_day: "Toute la journée"
from_time: "De" # eg. from 18:00 to 21:00
to_time: "à" # eg. from 18:00 to 21:00
from_time: "De" #eg. from 18:00 to 21:00
to_time: "à" #eg. from 18:00 to 21:00
full_price_: "Plein tarif :"
tickets_still_availables: "Places encore disponibles :"
sold_out: "Événement complet"
sold_out: "Événement complet."
free_entry: "Accès libre"
cancelled: "Annulé"
ticket: "{NUMBER, plural, =0{place} one{place} other{places}}"
@ -327,18 +301,18 @@ fr:
canceled_reservation_SEATS: "Réservation annulée ({SEATS} places)"
book: "Réserver"
confirm_and_pay: "Valider et payer"
confirm_payment_of_html: "{ROLE, select, admin{Encaisser} other{Payer}} : {AMOUNT}" # (contexte : valider un paiement de 20,00 €)
online_payment_disabled: "Le payment par carte bancaire n'est pas disponible. Merci de contacter directement l'accueil du Fablab."
confirm_payment_of_html: "{ROLE, select, admin{Encaisser} other{Payer}} : {AMOUNT}" #(contexte : validate a payment of $20,00)
online_payment_disabled: "Le paiement par carte bancaire n'est pas disponible. Merci de contacter directement l'accueil du FabLab."
please_select_a_member_first: "Veuillez tout d'abord sélectionner un membre"
change_the_reservation: "Modifier la réservation"
you_can_shift_this_reservation_on_the_following_slots: "Vous pouvez déplacer cette réservation sur les créneaux suivants :"
confirmation_required: "Confirmation requise"
do_you_really_want_to_delete_this_event: "Voulez-vous vraiment supprimer cet évènement ?"
do_you_really_want_to_delete_this_event: "Voulez-vous vraiment supprimer cet évènement ?"
delete_recurring_event: "Vous êtes sur le point de supprimer un évènement périodique. Que voulez-vous supprimer ?"
delete_this_event: "Uniquement cet évènement"
delete_this_and_next: "Cet évènement et tous les suivants"
delete_all: "Tous les évènements"
event_successfully_deleted: "L'évènement a bien été supprimé."
event_successfully_deleted: "Lévénement a bien été supprimé."
events_deleted: "L'évènement, ainsi {COUNT, plural, =1{qu'un autre} other{que {COUNT} autres}}, ont été supprimés"
unable_to_delete_the_event: "L'évènement n'a pu être supprimé, probablement car il est déjà réservé par un membre"
events_not_deleted: "Sur {TOTAL} évènements, {COUNT, plural, =1{un n'a pas pu être supprimé} other{{COUNT} n'ont pas pu être supprimés}}. Il est possible que des réservations existent sur {COUNT, plural, =1{celui-ci} other{ceux-ci}}."
@ -346,14 +320,13 @@ fr:
do_you_really_want_to_cancel_this_reservation_this_apply_to_all_booked_tickets: "Êtes vous sur de vouloir annuler cette réservation? Ceci s'applique à TOUTES les places réservées."
reservation_was_successfully_cancelled: "La réservation a bien été annulée."
cancellation_failed: "L'annulation a échoué."
event_is_over: "L'évènement est terminé."
event_is_over: "L'événement est terminé."
thanks_for_coming: "Merci d'avoir participé !"
view_event_list: "Voir les évènements à venir"
share_on_facebook: "Partager sur Facebook"
share_on_twitter: "Partager sur Twitter"
#public calendar
calendar:
# calendrier publique
calendar: "Calendrier"
show_unavailables: "Afficher les créneaux non disponibles"
filter_calendar: "Filtrer le calendrier"
@ -362,9 +335,8 @@ fr:
spaces: "Espaces"
events: "Évènements"
externals: "Autres calendriers"
#list of spaces
spaces_list:
# liste des espaces
the_spaces: "Les espaces"
new_availability: "Ouvrir des réservations"
add_a_space: "Ajouter un espace"
@ -372,9 +344,8 @@ fr:
status_disabled: "Désactivés"
status_all: "Tous"
book: "Réserver"
#display the details of a space
space_show:
# affichage des détails d'un espace
book_this_space: "Réserver cet espace"
unauthorized_operation: "Opération non autorisée"
confirmation_required: "Confirmation requise"
@ -383,7 +354,6 @@ fr:
characteristics: "Caractéristiques"
files_to_download: "Fichiers à télécharger"
projects_using_the_space: "Projets utilisant l'espace"
tour:
conclusion:
title: "Merci de votre attention"
@ -412,7 +382,7 @@ fr:
content: "Visualisez en un clin d'oeil tout ce qui est prévu au programme des prochaines semaines (évènements, formations, machines disponibles, etc.)."
projects:
title: "Projets"
content: "<p>Documentez et partagez toutes vos réalisations avec la communauté.</p><p>Si vous utilisez OpenLab, vous pourrez également consulter les projets de l'ensemble du réseau Fab-Manager. <a href='mailto:contact@fab-manager.com'>Contactez-nous</a> pour obtenir votre accès, c'est gratuit !</p>"
content: "<p>Documentez et partagez toutes vos réalisations avec la communauté.</p><p>Si vous utilisez OpenLab, vous pourrez également consulter les projets de l'ensemble du réseau Fab-manager. <a href='mailto:contact@fab-manager.com'>Contactez-nous</a> pour obtenir votre accès, c'est gratuit !</p>"
plans:
title: "Abonnements"
content: "Les abonnements offrent un moyen de segmenter vos tarifs et d'accorder des avantages aux utilisateurs réguliers."
@ -430,13 +400,13 @@ fr:
content: "<p>Retrouvez ici vos informations personnelles ainsi que toute votre activité sur Fab-manager.</p><p>Cet espace est également disponible pour tous vos membres.</p>"
news:
title: "Les brèves"
content: "<p>Cet espace vous permet d'afficher les dernières actualités de votre structure.</p><p>Vous pouvez facilement changer son contenu depuis [Personnalisation] > [Page d'accueil].</p>"
content: "<p>Cet espace vous permet d'afficher les dernières actualités de votre structure.</p><p>Vous pouvez facilement changer son contenu depuis « Personnalisation », « Page d'accueil ».</p>"
last_projects:
title: "les derniers projets"
content: "<p>Ce carousel fait défiler les derniers projets documentés par vos membres.</p>"
last_tweet:
title: "Dernier tweet"
content: "<p>Le dernier tweet de votre flux Twitter peut s'afficher ici.</p><p>Configurez-le depuis [Personnalisation] > [Page d'accueil].</p>"
content: "<p>Le dernier tweet de votre flux Twitter peut être affiché ici.</p><p>Configurez-le à partir de « Personnalisation », « Page d'accueil ».</p>"
last_members:
title: "Derniers membres"
content: "Les derniers membres inscrits qui ont validé leur adresse et accepté d'être contactés, seront affichés ici."

View File

@ -1,19 +1,17 @@
pt:
app:
public:
#header and "about" page
common:
# header and "about" page
about_the_fablab: "Sobre {GENDER, select, male{o} female{a} neutral{} other{do}} {NAME}"
return: "Voltar"
# cookies
#cookies
cookies:
about_cookies: "Este site usa cookies para fins de medição de audiência."
learn_more: "Saber mais"
accept: "Aceitar cookies"
decline: "Recusar"
# dashboard sections
#dashboard sections
dashboard: "Dashboard"
my_profile: "Meu Perfil"
my_settings: "Minhas Configurações"
@ -22,21 +20,17 @@ pt:
my_events: "Meus Eventos"
my_invoices: "Minhas Contas"
my_wallet: "Minha Carteira"
# contextual help
#contextual help
help: "Help"
# login/logout
#login/logout
sign_out: "Sair"
sign_up: "Cadastrar"
sign_in: "Entrar"
# left menu
#left menu
notifications: "Nofificações"
admin: "Admin"
reduce_panel: "Reduzir painel"
# left menu (public)
#left menu (public)
home: "Início"
reserve_a_machine: "Reservar Máquina"
trainings_registrations: "Registro de treinamentos"
@ -45,8 +39,7 @@ pt:
projects_gallery: "Galeria de Projetos"
subscriptions: "Assinaturas"
public_calendar: "Agenda"
# left menu (admin)
#left menu (admin)
trainings_monitoring: "Treinamentos"
manage_the_calendar: "Agenda"
manage_the_users: "Uusuários"
@ -59,8 +52,7 @@ pt:
statistics: "Estatísticas"
customization: "Customizações"
open_api_clients: "OpenAPI clients"
# account creation modal
#account creation modal
create_your_account: "Criar sua conta"
man: "Masculino"
woman: "Feminino"
@ -102,29 +94,24 @@ pt:
used_for_profile: "This data will only be displayed on your profile"
public_profile: "You will have a public profile and other users will be able to associate you in their projects"
you_will_receive_confirmation_instructions_by_email_detailed: "Você receberá um email com instruções sobre como confirmar sua conta em alguns minutos."
# password modification modal
#password modification modal
change_your_password: "Mudar sua senha"
your_new_password: "Sua nova senha"
your_password_was_successfully_changed: "Sua senha foi mudada com sucesso."
# connection modal
#connection modal
connection: "Login"
password_forgotten: "Esqueceu sua senha?"
confirm_my_account: "Confirmar sua conta"
not_registered_to_the_fablab: "Ainda não registrado no Fablab?"
not_registered_to_the_fablab: "Ainda não registrado no FabLab?"
create_an_account: "Criar conta"
wrong_email_or_password: "E-mail ou senha incorretos."
caps_lock_is_on: "A tecla Caps Lock está ativada."
# confirmation modal
you_will_receive_confirmation_instructions_by_email: Você receberá instruções de confirmação por e-mail.
# forgotten password modal
#confirmation modal
you_will_receive_confirmation_instructions_by_email: "Você receberá instruções de confirmação por e-mail."
#forgotten password modal
your_email_address_is_unknown: "Seu e-mail não está cadastrado."
you_will_receive_in_a_moment_an_email_with_instructions_to_reset_your_password: "Você irá receber um e-mail com as instruções para resetar sua senha."
# Fab-manager's version
#Fab-manager's version
version: "Versão:"
upgrade_fabmanager: "Upgrade Fab-manager"
current_version: "You are currently using version {VERSION} of Fab-manager."
@ -132,33 +119,28 @@ pt:
read_more: "View the details of this release"
security_version_html: "<strong>Your current version is vulnerable!</strong><br> A later version, currently available, includes security fixes. Upgrade as soon as possible!"
how_to: "How to upgrade?"
# Notifications
#Notifications
and_NUMBER_other_notifications: "and {NUMBER, plural, =0{no other notifications} =1{one other notification} other{{NUMBER} other notifications}}..."
#about page
about:
# about page
read_the_fablab_policy: "Ler a política do FabLab"
read_the_fablab_s_general_terms_and_conditions: "Ler os termos e condições do FabLab"
your_fablab_s_contacts: "Nossos contatos"
privacy_policy: "Política de privacidade"
#'privacy policy' page
privacy:
# 'privacy policy' page
title: "Política de privacidade"
dpo: "Oficial de proteção de dados"
last_update: "Última atualização,"
#home page
home:
# home page
latest_documented_projects: "Últimos projetos documentados"
follow_us: "Siga nos"
latest_tweets: "Os últimos tweets"
latest_registered_members: "Últimos membros registrados"
create_an_account: "Criar uma conta"
discover_members: "Ver membros"
# next events summary on the home page
#next events summary on the home page
fablab_s_next_events: "Próximos eventos do FabLab"
every_events: "Todos Eventos"
from_date_to_date: "De {START} até {END}"
@ -166,12 +148,12 @@ pt:
from_time_to_time: "Das {START} até {END}"
free_entry: "Entrada franca"
free_admission: "Admissão grátis"
full_price: "Valor inteira"
full_price: "Valor inteira: "
event_full: "Evento lotado"
still_available: "Locais disponíveis"
still_available: "Locais disponíveis: "
all_day: "O dia inteiro"
#projects gallery
projects_list:
# projects gallery
the_fablab_projects: "Projetos do Fab Lab"
add_a_project: "Adicionar projeto"
search_over_the_whole_network: "Pesquisar em todos os FabLabs"
@ -188,9 +170,8 @@ pt:
all_materials: "Todos os materiais"
load_next_projects: "Carregar próximos projetos"
rough_draft: "Rascunho"
#details of a projet
projects_show:
# details of a projet
rough_draft: "Draft"
project_description: "Descrição do projeto"
by_name: "Por {NAME}"
@ -218,9 +199,8 @@ pt:
message_is_required: "Menssagem é obrigatório."
report: "Enviar"
do_you_really_want_to_delete_this_project: "Você quer realmente deletar esse projeto?"
#list of machines
machines_list:
# list of machines
the_fablab_s_machines: "Lista de máquinas no FabLab"
add_a_machine: "Adicionar uma máquina"
new_availability: "Open reservations"
@ -229,9 +209,8 @@ pt:
status_enabled: "Ativo"
status_disabled: "Desabilitado"
status_all: "Todos"
#details of a machine
machines_show:
# details of a machine
book_this_machine: "Reservar essa máquina"
technical_specifications: "Technical specifications"
files_to_download: "Arquivos para download"
@ -241,22 +220,19 @@ pt:
do_you_really_want_to_delete_this_machine: "Você realmente quer deletar essa máquina?"
unauthorized_operation: "Operação não autorizada"
the_machine_cant_be_deleted_because_it_is_already_reserved_by_some_users: "Esta máquina não pode ser deletada, pois já está em reservada por alguns usuários."
#list of trainings
trainings_list:
# list of trainings
book: "Book"
the_trainings: "Os treinamentos"
#details of a training
training_show:
# details of a training
book_this_training: "Reservar este treinamento"
do_you_really_want_to_delete_this_training: "Você realmente quer deletar esse treinamento?"
unauthorized_operation: "Operação não autorizada"
confirmation_required: "Confirmation required"
the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users: "O treinamento não pode ser deletado pois já foi reservado por alguns usuários."
#summary of the subscriptions
plans:
# summary of the subscriptions
subscriptions: "Assinaturas"
i_choose_that_plan: "Eu escolho esse plano"
i_subscribe_online: "Me inscrever online"
@ -282,11 +258,10 @@ pt:
an_error_occured_during_the_payment_process_please_try_again_later: "Um erro ocorreu durante o processo de pagamento. Por favor tente novamente mais tarde."
subscription_confirmation: "Inscrição confirmada"
here_is_the_NAME_subscription_summary: "Aqui é o sumário de inscrição do {NAME}:"
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" # (contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the Fablab's reception directly."
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" #(contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the FabLab's reception directly."
#Fablab's events list
events_list:
# Fablab's events list
the_fablab_s_events: "Eventos do Fablab"
all_categories: "Todas categorias"
for_all: "Para todos"
@ -297,12 +272,11 @@ pt:
free_entry: "Entrada franca"
add_an_event: "Add an event"
load_the_next_events: "Load the next events..."
full_price_: "Full price:"
to_date: "to" # eg. from 01/01 to 01/05
full_price_: "Valor inteira:"
to_date: "to" #eg. from 01/01 to 01/05
all_themes: "All themes"
#details and booking of an event
events_show:
# details and booking of an event
event_description: "Descrição do evento"
downloadable_documents: "Documentos para download"
information_and_booking: "Informações e reservas"
@ -310,10 +284,10 @@ pt:
beginning: "Início:"
ending: "Término:"
opening_hours: "Abre ás:"
all_day: "All day"
from_time: "From" # eg. from 18:00 to 21:00
to_time: "to" # eg. from 18:00 to 21:00
full_price_: "Full price:"
all_day: "O dia inteiro"
from_time: "From" #eg. from 18:00 to 21:00
to_time: "to" #eg. from 18:00 to 21:00
full_price_: "Valor inteira:"
tickets_still_availables: "Tickets ainda disponíveis:"
sold_out: "Esgotado."
free_entry: "Entrada franca"
@ -327,33 +301,32 @@ pt:
canceled_reservation_SEATS: "Reservation canceled ({SEATS} seats)"
book: "Reservar"
confirm_and_pay: "Confirm and pay"
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" # (contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the Fablab's reception directly."
confirm_payment_of_html: "{ROLE, select, admin{Cash} other{Pay}}: {AMOUNT}" #(contexte : validate a payment of $20,00)
online_payment_disabled: "Payment by credit card is not available. Please contact the FabLab's reception directly."
please_select_a_member_first: "Please select a member first"
change_the_reservation: "Alterar reserva"
you_can_shift_this_reservation_on_the_following_slots: "Você pode alterar essa reserva nos campos a seguir:"
confirmation_required: "Confirmação obrigatória"
do_you_really_want_to_delete_this_event: "Vocêrealmente deseja remover este evento?"
do_you_really_want_to_delete_this_event: "Vocêrealmente deseja remover este evento?"
delete_recurring_event: "You're about to delete a periodic event. What do you want to do?"
delete_this_event: "Only this event"
delete_this_and_next: "This event and the following"
delete_all: "All events"
event_successfully_deleted: "Evento excluído com sucesso"
event_successfully_deleted: "Evento excluído com sucesso."
events_deleted: "The event, and {COUNT, plural, =1{one other} other{{COUNT} others}}, have been deleted"
unable_to_delete_the_event: "Unable to delete the event, it may be booked by a member"
events_not_deleted: "On {TOTAL} events, {COUNT, plural, =1{one was not deleted} other{{COUNT} were not deleted}}. Some reservations may exists on {COUNT, plural, =1{it} other{them}}."
cancel_the_reservation: "Cancel the reservation"
do_you_really_want_to_cancel_this_reservation_this_apply_to_all_booked_tickets: "Do you really want to cancel this reservation? This apply to ALL booked tickets."
reservation_was_successfully_cancelled: "Reservation was successfully cancelled"
cancellation_failed: "Cancellation failed." #translation_missin
event_is_over: "The event is over"
reservation_was_successfully_cancelled: "Reservation was successfully cancelled."
cancellation_failed: "Cancellation failed."
event_is_over: "The event is over."
thanks_for_coming: "Thanks for coming!"
view_event_list: "View events to come"
share_on_facebook: "Share on Facebook"
share_on_twitter: "Share on Twitter"
#public calendar
calendar:
# public calendar
calendar: "Calendário"
show_unavailables: "Mostrar slots não disponíveis"
filter_calendar: "Filtrar calendário"
@ -362,9 +335,8 @@ pt:
spaces: "Espaços"
events: "Eventos"
externals: "Outras agendas"
#list of spaces
spaces_list:
# list of spaces
the_spaces: "Os espaços"
new_availability: "Open reservations"
add_a_space: "Adicionar espaço"
@ -372,9 +344,8 @@ pt:
status_disabled: "Desabilitado"
status_all: "Todos"
book: "Reservar"
#display the details of a space
space_show:
# display the details of a space
book_this_space: "Marcar este espaço"
unauthorized_operation: "Operação não autorizada"
confirmation_required: "Confirmação obrigatória"
@ -383,7 +354,6 @@ pt:
characteristics: "Características"
files_to_download: "Arquivo para download"
projects_using_the_space: "Projetos usando espaço"
tour:
conclusion:
title: "Thank you for your attention"
@ -412,7 +382,7 @@ pt:
content: "Visualize at a glance everything that is scheduled for the next coming weeks (events, training, machines available, etc.)."
projects:
title: "Projects"
content: "<p>Document and share all your creations with the community.</p><p>If you use OpenLab, you will also be able to consult the projects of the entire Fab-Manager network. <a href='mailto:contact@fab-manager.com'>Contact-us</a> to get your access, it's free!</p>"
content: "<p>Document and share all your creations with the community.</p><p>If you use OpenLab, you will also be able to consult the projects of the entire Fab-manager network. <a href='mailto:contact@fab-manager.com'>Contact-us</a> to get your access, it's free!</p>"
plans:
title: "Subscriptions"
content: "Subscriptions provide a way to segment your prices and provide benefits to regular users."
@ -430,13 +400,13 @@ pt:
content: "<p>Find your personal information here as well as all your activity on Fab-manager.</p><p>This space is also available for all your members.</p>"
news:
title: "News"
content: "<p>This space allows you to display the latest news from your structure.</p><p>You can easily change its content from [Customization]> [Home page].</p>"
content: "<p>This space allows you to display the latest news from your structure.</p><p>You can easily change its content from « Customization », « Home page ».</p>"
last_projects:
title: "Last projects"
content: "<p>This carousel scrolls through the latest projects documented by your members.</p>"
last_tweet:
title: "Last tweet"
content: "<p>Le dernier tweet de votre flux Twitter peut s'afficher ici.</p><p>Configure it from [Customization]> [Home page].</p>"
content: "<p>The last tweet of your Tweeter feed can be shown here.</p><p>Configure it from « Customization », « Home page ».</p>"
last_members:
title: "Last members"
content: "The last registered members who have validated their address and agreed to be contacted will be shown here."

View File

@ -1,8 +1,8 @@
ach:
app:
shared:
#translations of common buttons
buttons:
#translations of common buttons
confirm_changes: "crwdns9375:0crwdne9375:0"
consult: "crwdns9377:0crwdne9377:0"
edit: "crwdns9379:0crwdne9379:0"
@ -22,8 +22,8 @@ ach:
you_will_lose_any_unsaved_modification_if_you_quit_this_page: "crwdns9405:0crwdne9405:0"
you_will_lose_any_unsaved_modification_if_you_reload_this_page: "crwdns9407:0crwdne9407:0"
payment_card_error: "crwdns9409:0crwdne9409:0"
#user edition form
user:
#user edition form
man: "crwdns9411:0crwdne9411:0"
woman: "crwdns9413:0crwdne9413:0"
add_an_avatar: "crwdns9415:0crwdne9415:0"
@ -62,8 +62,8 @@ ach:
used_for_invoicing: "crwdns9481:0crwdne9481:0"
used_for_reservation: "crwdns9483:0crwdne9483:0"
used_for_profile: "crwdns9485:0crwdne9485:0"
#project edition form
project:
#project edition form
name: "crwdns9487:0crwdne9487:0"
name_is_required: "crwdns9489:0crwdne9489:0"
illustration: "crwdns9491:0crwdne9491:0"
@ -91,8 +91,8 @@ ach:
themes: "crwdns9535:0crwdne9535:0"
tags: "crwdns9537:0crwdne9537:0"
save_as_draft: "crwdns9539:0crwdne9539:0"
#machine edition form
machine:
#machine edition form
name: "crwdns9541:0crwdne9541:0"
name_is_required: "crwdns9543:0crwdne9543:0"
illustration: "crwdns9545:0crwdne9545:0"
@ -106,28 +106,28 @@ ach:
add_an_attachment: "crwdns9561:0crwdne9561:0"
disable_machine: "crwdns9563:0crwdne9563:0"
validate_your_machine: "crwdns9565:0crwdne9565:0"
#frame to select a plan to subscribe
plan_subscribe:
#frame to select a plan to subscribe
subscribe_online: "crwdns9567:0crwdne9567:0"
do_not_subscribe: "crwdns9569:0crwdne9569:0"
#admin: choose a member to interact with
member_select:
#admin: choose a member to interact with
select_a_member: "crwdns9571:0crwdne9571:0"
start_typing: "crwdns9573:0crwdne9573:0"
#stripe payment modal
stripe:
#stripe payment modal
online_payment: "crwdns9575:0crwdne9575:0"
i_have_read_and_accept_: "crwdns9577:0crwdne9577:0"
_the_general_terms_and_conditions: "crwdns9579:0crwdne9579:0"
credit_amount_for_pay_reservation: "crwdns9581:0{amount}crwdnd9581:0{currency}crwdne9581:0"
client_credit_amount_for_pay_reservation: "crwdns9583:0{amount}crwdnd9583:0{currency}crwdne9583:0"
confirm_payment_of_: "crwdns9585:0{AMOUNT}crwdne9585:0"
#dialog of on site payment for reservations
valid_reservation_modal:
#dialog of on site payment for reservations
booking_confirmation: "crwdns9587:0crwdne9587:0"
here_is_the_summary_of_the_slots_to_book_for_the_current_user: "crwdns9589:0crwdne9589:0"
#event edition form
event:
#event edition form
title: "crwdns9591:0crwdne9591:0"
title_is_required: "crwdns9593:0crwdne9593:0"
matching_visual: "crwdns9595:0crwdne9595:0"
@ -151,8 +151,8 @@ ach:
tickets_available: "crwdns9631:0crwdne9631:0"
event_theme: "crwdns9633:0crwdne9633:0"
age_range: "crwdns9635:0crwdne9635:0"
#subscription plan edition form
plan:
#subscription plan edition form
general_information: "crwdns9637:0crwdne9637:0"
name: "crwdns9639:0crwdne9639:0"
name_is_required: "crwdns9641:0crwdne9641:0"
@ -193,8 +193,8 @@ ach:
email_address_is_required: "crwdns9711:0crwdne9711:0"
disabled: "crwdns9713:0crwdne9713:0"
disable_plan_will_not_unsubscribe_users: "crwdns9715:0crwdne9715:0"
#training edition form
trainings:
#training edition form
name: "crwdns9717:0crwdne9717:0"
name_is_required: "crwdns9719:0crwdne9719:0"
illustration: "crwdns9721:0crwdne9721:0"
@ -207,18 +207,18 @@ ach:
number_of_tickets: "crwdns9735:0crwdne9735:0"
public_page: "crwdns9737:0crwdne9737:0"
disable_training: "crwdns9739:0crwdne9739:0"
#partial form to edit/create an user (admin view)
user_admin:
#partial form to edit/create an user (admin view)
user: "crwdns9741:0crwdne9741:0"
incomplete_profile: "crwdns9743:0crwdne9743:0"
user_profile: "crwdns9745:0crwdne9745:0"
warning_incomplete_user_profile_probably_imported_from_sso: "crwdns9747:0crwdne9747:0"
group: "crwdns9749:0crwdne9749:0"
group_is_required: "crwdns9751:0crwdne9751:0"
group_is_required: "crwdns20220:0crwdne20220:0"
trainings: "crwdns9753:0crwdne9753:0"
tags: "crwdns9755:0crwdne9755:0"
#partial form to edit/create an authentication provider (SSO)
authentication:
#partial form to edit/create an authentication provider (SSO)
name: "crwdns9757:0crwdne9757:0"
provider_name_is_required: "crwdns9759:0crwdne9759:0"
authentication_type: "crwdns9761:0crwdne9761:0"
@ -229,8 +229,8 @@ ach:
expected_data_type: "crwdns9771:0crwdne9771:0"
input_format: "crwdns9773:0crwdne9773:0"
mappings: "crwdns9775:0crwdne9775:0"
#edition/creation form of an OAuth2 authentication provider
oauth2:
#edition/creation form of an OAuth2 authentication provider
common_url: "crwdns9777:0crwdne9777:0"
common_url_is_required: "crwdns9779:0crwdne9779:0"
provided_url_is_not_a_valid_url: "crwdns9781:0crwdne9781:0"
@ -253,25 +253,25 @@ ach:
api_endpoint_url: "crwdns9815:0crwdne9815:0"
api_type: "crwdns9817:0crwdne9817:0"
api_fields: "crwdns9819:0crwdne9819:0"
#machine/training slot modification modal
confirm_modify_slot_modal:
#machine/training slot modification modal
change_the_slot: "crwdns9821:0crwdne9821:0"
do_you_want_to_change_your_booking_slot_initially_planned_at: "crwdns9823:0crwdne9823:0"
do_you_want_to_change_NAME_s_booking_slot_initially_planned_at: "crwdns9825:0{NAME}crwdne9825:0"
cancel_this_reservation: "crwdns9827:0crwdne9827:0"
i_want_to_change_date: "crwdns9829:0crwdne9829:0"
#modal introducing that a training is requested before booking a machine
request_training_modal:
#modal introducing that a training is requested before booking a machine
to_book_the_MACHINE_you_must_have_completed_the_TRAINING: "crwdns9831:0{MACHINE}crwdnd9831:0{TRAINING}crwdne9831:0"
register_for_the_training: "crwdns9833:0crwdne9833:0"
i_dont_want_to_register_now: "crwdns9835:0crwdne9835:0"
#modal introducing that a user must wait for his training being validated before booking a machine
training_reservation_modal:
#modal introducing that a user must wait for his training being validated before booking a machine
machine_reservation: "crwdns9837:0crwdne9837:0"
you_must_wait_for_your_training_is_being_validated_by_the_fablab_team_to_book_this_machine: "crwdns9839:0crwdne9839:0"
your_training_will_occur_: "crwdns9841:0crwdne9841:0"
#user public profile
public_profile:
#user public profile
last_activity_html: "crwdns9843:0{DATE}crwdne9843:0"
to_come: "crwdns9845:0crwdne9845:0"
approved: "crwdns9847:0crwdne9847:0"
@ -285,8 +285,8 @@ ach:
email_address: "crwdns9863:0crwdne9863:0"
trainings: "crwdns9865:0crwdne9865:0"
no_trainings: "crwdns9867:0crwdne9867:0"
#wallet
wallet:
#wallet
wallet: 'crwdns9869:0crwdne9869:0'
your_wallet_amount: 'crwdns9871:0crwdne9871:0'
wallet_amount: 'crwdns9873:0crwdne9873:0'
@ -308,10 +308,10 @@ ach:
to_credit: 'crwdns9905:0crwdne9905:0'
wallet_credit_successfully: "crwdns9907:0crwdne9907:0"
a_problem_occurred_for_wallet_credit: "crwdns9909:0crwdne9909:0"
amount_is_required: "crwdns9911:0crwdne9911:0"
amount_is_required: "crwdns20222:0crwdne20222:0"
amount_minimum_1: "crwdns9913:0crwdne9913:0"
amount_confirm_is_required: "crwdns9915:0crwdne9915:0"
amount_confirm_does_not_match: "crwdns9917:0crwdne9917:0"
amount_confirm_is_required: "crwdns20224:0crwdne20224:0"
amount_confirm_does_not_match: "crwdns20226:0crwdne20226:0"
you_have_amount_in_wallet: "crwdns9919:0{amount}crwdnd9919:0{currency}crwdne9919:0"
client_have_amount_in_wallet: "crwdns9921:0{amount}crwdnd9921:0{currency}crwdne9921:0"
wallet_pay_reservation: "crwdns9923:0crwdne9923:0"
@ -321,8 +321,8 @@ ach:
debit_reservation_machine: "crwdns9931:0crwdne9931:0"
debit_reservation_event: "crwdns9933:0crwdne9933:0"
warning_uneditable_credit: "crwdns9935:0crwdne9935:0"
#promotional coupon (creation/edition form)
coupon:
#promotional coupon (creation/edition form)
name: "crwdns9937:0crwdne9937:0"
name_is_required: "crwdns9939:0crwdne9939:0"
code: "crwdns9941:0crwdne9941:0"
@ -344,8 +344,8 @@ ach:
max_usages: "crwdns9973:0crwdne9973:0"
max_usages_must_be_equal_or_greater_than_0: "crwdns9975:0crwdne9975:0"
enabled: "crwdns9977:0crwdne9977:0"
#coupon (input zone for users)
coupon_input:
#coupon (input zone for users)
i_have_a_coupon: "crwdns9979:0crwdne9979:0"
code_: "crwdns9981:0crwdne9981:0"
the_coupon_has_been_applied_you_get_PERCENT_discount: "crwdns9983:0{PERCENT}crwdne9983:0"
@ -357,8 +357,8 @@ ach:
unable_to_apply_the_coupon_because_amount_exceeded: "crwdns9995:0crwdne9995:0"
unable_to_apply_the_coupon_because_undefined: "crwdns9997:0crwdne9997:0"
unable_to_apply_the_coupon_because_rejected: "crwdns9999:0crwdne9999:0"
#form to create/edit a space
space:
#form to create/edit a space
name: "crwdns10001:0crwdne10001:0"
name_is_required: "crwdns10003:0crwdne10003:0"
illustration: "crwdns10005:0crwdne10005:0"
@ -373,8 +373,8 @@ ach:
default_places: "crwdns10023:0crwdne10023:0"
default_places_is_required: "crwdns10025:0crwdne10025:0"
disable_space: "crwdns10027:0crwdne10027:0"
#shopping cart module for reservations
cart:
#module de panier d'achat de réservations
summary: "crwdns10029:0crwdne10029:0"
select_one_or_more_slots_in_the_calendar: "crwdns10031:0SINGLE={SINGLE}crwdne10031:0"
you_ve_just_selected_the_slot: "crwdns10033:0crwdne10033:0"
@ -404,15 +404,35 @@ ach:
tags_of_the_destination_slot: "crwdns10081:0crwdne10081:0"
confirm_my_modification: "crwdns10083:0crwdne10083:0"
your_booking_slot_was_successfully_moved_from_: "crwdns10085:0crwdne10085:0"
to_date: crwdns10129:0crwdne10129:0
please_select_a_member_first: 'crwdns10089:0crwdne10089:0'
unable_to_select_plan_if_slots_in_the_past: 'crwdns19571:0crwdne19571:0'
to_date: "crwdns20134:0crwdne20134:0" #eg. from 01/01 to 01/05
please_select_a_member_first: "crwdns10089:0crwdne10089:0"
unable_to_select_plan_if_slots_in_the_past: "crwdns20136:0crwdne20136:0"
unable_to_change_the_reservation: "crwdns10091:0crwdne10091:0"
confirmation_required: "crwdns10093:0crwdne10093:0"
do_you_really_want_to_cancel_this_reservation: "crwdns10095:0crwdne10095:0"
reservation_was_cancelled_successfully: "crwdns10097:0crwdne10097:0"
cancellation_failed: "crwdns10099:0crwdne10099:0"
confirm_payment_of_html: "crwdns10101:0ROLE={ROLE}crwdnd10101:0AMOUNT={AMOUNT}crwdne10101:0" #(context: confirm my payment of $20.00)
confirm_payment_of_html: "crwdns10101:0ROLE={ROLE}crwdnd10101:0AMOUNT={AMOUNT}crwdne10101:0" #eg. confirm my payment of $20.00
a_problem_occurred_during_the_payment_process_please_try_again_later: "crwdns10103:0crwdne10103:0"
none: "crwdns10105:0crwdne10105:0"
online_payment_disabled: "crwdns10107:0crwdne10107:0"
online_payment_disabled: "crwdns20228:0crwdne20228:0"
slot_restrict_plans: "crwdns20138:0crwdne20138:0"
slot_restrict_subscriptions_must_select_plan: "crwdns20140:0crwdne20140:0"
slot_restrict_plans_of_others_groups: "crwdns20142:0crwdne20142:0"
selected_plan_dont_match_slot: "crwdns20144:0crwdne20144:0"
user_plan_dont_match_slot: "crwdns20146:0crwdne20146:0"
no_plan_match_slot: "crwdns20148:0crwdne20148:0"
slot_at_same_time: "crwdns20150:0crwdne20150:0"
do_you_really_want_to_book_slot_at_same_time: "crwdns20152:0crwdne20152:0"
unable_to_book_slot_because_really_have_reservation_at_same_time: "crwdns20154:0crwdne20154:0"
#feature-tour modal
tour:
previous: "crwdns20166:0crwdne20166:0"
next: "crwdns20168:0crwdne20168:0"
end: "crwdns20170:0crwdne20170:0"
#help modal
help:
title: "crwdns20230:0crwdne20230:0"
what_to_do: "crwdns20232:0crwdne20232:0"
tour: "crwdns20234:0crwdne20234:0"
guide: "crwdns20236:0crwdne20236:0"

View File

@ -1,8 +1,8 @@
en:
app:
shared:
#translations of common buttons
buttons:
# translations of common buttons
confirm_changes: "Confirm changes"
consult: "Consult"
edit: "Edit"
@ -18,14 +18,12 @@ en:
"yes": "Yes"
"no": "No"
apply: "Apply"
messages:
you_will_lose_any_unsaved_modification_if_you_quit_this_page: "You will lose any unsaved modification if you quit this page"
you_will_lose_any_unsaved_modification_if_you_reload_this_page: "You will lose any unsaved modification if you reload this page"
payment_card_error: "A problem has occurred with your credit card:"
#user edition form
user:
# user edition form
man: "Man"
woman: "Woman"
add_an_avatar: "Add an avatar"
@ -64,9 +62,8 @@ en:
used_for_invoicing: "This data will be used for billing purposes"
used_for_reservation: "This data will be used in case of change on one of your bookings"
used_for_profile: "This data will only be displayed on your profile"
#project edition form
project:
# project edition form
name: "Name"
name_is_required: "Name is required."
illustration: "Visual"
@ -94,9 +91,8 @@ en:
themes: "Themes"
tags: "Tags"
save_as_draft: "Save as draft"
#machine edition form
machine:
# machine edition form
name: "Name"
name_is_required: "Name is required."
illustration: "Visual"
@ -110,33 +106,28 @@ en:
add_an_attachment: "Add an attachment"
disable_machine: "Disable machine"
validate_your_machine: "Validate your machine"
#frame to select a plan to subscribe
plan_subscribe:
# frame to select a plan to subscribe
subscribe_online: "subscribe online"
do_not_subscribe: "do not subscribe"
#admin: choose a member to interact with
member_select:
# admin: choose a member to interact with
select_a_member: "Select a member"
start_typing: "Start typing..."
#stripe payment modal
stripe:
# stripe payment modal
online_payment: "Online payment"
i_have_read_and_accept_: "I have read, and accept"
_the_general_terms_and_conditions: "the general terms and conditions."
credit_amount_for_pay_reservation: "{amount} {currency} remains to be paid to confirm your reservation"
client_credit_amount_for_pay_reservation: "{amount} {currency} remains to be paid to confirm reservation of client"
confirm_payment_of_: "Pay: {AMOUNT}"
#dialog of on site payment for reservations
valid_reservation_modal:
# dialog of on site payment for reservations
booking_confirmation: "Booking confirmation"
here_is_the_summary_of_the_slots_to_book_for_the_current_user: "Here is the summary of the slots to book for the current user:"
#event edition form
event:
# event edition form
title: "Title"
title_is_required: "Title is required."
matching_visual: "Matching visual"
@ -160,9 +151,8 @@ en:
tickets_available: "Tickets available"
event_theme: "Event theme"
age_range: "Age range"
#subscription plan edition form
plan:
# subscription plan edition form
general_information: "General information"
name: "Name"
name_is_required: "Name is required"
@ -203,9 +193,8 @@ en:
email_address_is_required: "Email address is required."
disabled: "Disable subscription"
disable_plan_will_not_unsubscribe_users: "Beware: disabling this plan won't unsubscribe users having active subscriptions with it."
#training edition form
trainings:
# training edition form
name: "Name"
name_is_required: "Name is required."
illustration: "Illustration"
@ -218,20 +207,18 @@ en:
number_of_tickets: "Number of tickets"
public_page: "Show in training lists"
disable_training: "Disable the training"
#partial form to edit/create an user (admin view)
user_admin:
# partial form to edit/create an user (admin view)
user: "User"
incomplete_profile: "Incomplete profile"
user_profile: "User profile"
warning_incomplete_user_profile_probably_imported_from_sso: "Warning: This user's profile is incomplete. As \"single sign-on\" (SSO) authentication is currently enabled, it may probably be an imported but non merged account. Do not modify it unless you know what your doing."
group: "Group"
group_is_required: "Group is required"
group_is_required: "Group is required."
trainings: "Trainings"
tags: "Tags"
#partial form to edit/create an authentication provider (SSO)
authentication:
# partial form to edit/create an authentication provider (SSO)
name: "Name"
provider_name_is_required: "Provider name is required."
authentication_type: "Authentication type"
@ -242,9 +229,8 @@ en:
expected_data_type: "Expected data type"
input_format: "Input format"
mappings: "Mappings"
#edition/creation form of an OAuth2 authentication provider
oauth2:
# edition/creation form of an OAuth2 authentication provider
common_url: "Common URL"
common_url_is_required: "Common URL is required."
provided_url_is_not_a_valid_url: "Provided URL is not a valid URL."
@ -267,29 +253,25 @@ en:
api_endpoint_url: "API endpoint URL"
api_type: "API type"
api_fields: "API fields"
#machine/training slot modification modal
confirm_modify_slot_modal:
# machine/training slot modification modal
change_the_slot: "Change the slot"
do_you_want_to_change_your_booking_slot_initially_planned_at: "Do you want to change your booking slot, initially planned at:"
do_you_want_to_change_NAME_s_booking_slot_initially_planned_at: "Do you want to change {NAME}'s booking slot, initially planned at:"
cancel_this_reservation: "Cancel this reservation"
i_want_to_change_date: "I want to change date"
#modal introducing that a training is requested before booking a machine
request_training_modal:
# modal introducing that a training is requested before booking a machine
to_book_the_MACHINE_you_must_have_completed_the_TRAINING: "To book the \"{MACHINE}\" you must have completed the {TRAINING}."
register_for_the_training: "Enroll in the training"
i_dont_want_to_register_now: "I don't want to enroll now"
#modal introducing that a user must wait for his training being validated before booking a machine
training_reservation_modal:
# modal introducing that a user must wait for his training being validated before booking a machine
machine_reservation: "Machine reservation"
you_must_wait_for_your_training_is_being_validated_by_the_fablab_team_to_book_this_machine: "You must wait for your training is being validated by the FabLab team to book this machine."
your_training_will_occur_: "Your training will occur"
#user public profile
public_profile:
# user public profile
last_activity_html: "Last activity <br><strong>on {DATE}</strong>"
to_come: "to come"
approved: "approved"
@ -303,9 +285,8 @@ en:
email_address: "Email address"
trainings: "Trainings"
no_trainings: "No trainings"
#wallet
wallet:
# wallet
wallet: 'Wallet'
your_wallet_amount: 'Your amount available'
wallet_amount: 'Amount available'
@ -327,10 +308,10 @@ en:
to_credit: 'Credit'
wallet_credit_successfully: "Wallet of user is credited successfully."
a_problem_occurred_for_wallet_credit: "A problem is occurred while taking the credit of wallet"
amount_is_required: "The amount is required"
amount_is_required: "The amount is required."
amount_minimum_1: "The amount minimum is 1"
amount_confirm_is_required: "The amount confirmation is required"
amount_confirm_does_not_match: "The amount confirmation does not match"
amount_confirm_is_required: "The amount confirmation is required."
amount_confirm_does_not_match: "The amount confirmation does not match."
you_have_amount_in_wallet: "You have {amount} {currency} in your wallet"
client_have_amount_in_wallet: "Client has {amount} {currency} in wallet"
wallet_pay_reservation: "You can pay direct your reservation"
@ -340,9 +321,8 @@ en:
debit_reservation_machine: "Debit by reservation of machine"
debit_reservation_event: "Debit by reservation of event"
warning_uneditable_credit: "Warning: once validated, the credited amount won't be editable anymore."
#promotional coupon (creation/edition form)
coupon:
# promotional coupon (creation/edition form)
name: "Name"
name_is_required: "Name is required."
code: "Code"
@ -364,9 +344,8 @@ en:
max_usages: "Maximum usages allowed"
max_usages_must_be_equal_or_greater_than_0: "The maximum usages allowed must be greater than 0."
enabled: "Active"
#coupon (input zone for users)
coupon_input:
# coupon (input zone for users)
i_have_a_coupon: "I have a coupon!"
code_: "Code:"
the_coupon_has_been_applied_you_get_PERCENT_discount: "The coupon has been applied. You get a {PERCENT}% discount."
@ -378,9 +357,8 @@ en:
unable_to_apply_the_coupon_because_amount_exceeded: "Unable to apply the coupon: the discount exceed the total amount of this purchase."
unable_to_apply_the_coupon_because_undefined: "Unable to apply the coupon: an unexpected error occurred, please contact the Fablab's manager."
unable_to_apply_the_coupon_because_rejected: "This code does not exists."
#form to create/edit a space
space:
# form to create/edit a space
name: "Name"
name_is_required: "Name is required."
illustration: "Illustration"
@ -395,13 +373,12 @@ en:
default_places: "Default maximum tickets"
default_places_is_required: "Default maximum tickets is required."
disable_space: "Disable space"
#shopping cart module for reservations
cart:
# module de panier d'achat de réservations
summary: "Summary"
select_one_or_more_slots_in_the_calendar: "Select one {SINGLE, select, true{slot} other{or more slots}} in the calendar"
you_ve_just_selected_the_slot: "You've just selected the slot:"
datetime_to_time: "{START_DATETIME} to {END_TIME}" # eg: Thursday, September 4 1986 8:30 PM to 10:00 PM
datetime_to_time: "{START_DATETIME} to {END_TIME}" #eg: Thursday, September 4 1986 8:30 PM to 10:00 PM
cost_of_TYPE: "Cost of {TYPE, select, Machine{a machine hour} Training{the training} other{the element}}"
offer_this_slot: "Offer this slot"
confirm_this_slot: "Confirm this slot"
@ -427,18 +404,18 @@ en:
tags_of_the_destination_slot: "Tags of the destination slot:"
confirm_my_modification: "Confirm my modification"
your_booking_slot_was_successfully_moved_from_: "Your booking slot was successfully moved from"
to_date: "to" # eg. from 01/01 to 01/05
please_select_a_member_first: 'Please select a member first'
unable_to_select_plan_if_slots_in_the_past: 'Unable to select a plan if any of the selected slots is in the past'
to_date: "to" #eg. from 01/01 to 01/05
please_select_a_member_first: "Please select a member first"
unable_to_select_plan_if_slots_in_the_past: "Unable to select a plan if any of the selected slots is in the past"
unable_to_change_the_reservation: "Unable to change the reservation"
confirmation_required: "Confirmation required"
do_you_really_want_to_cancel_this_reservation: "Do you really want to cancel this reservation?"
reservation_was_cancelled_successfully: "Reservation was cancelled successfully."
cancellation_failed: "Cancellation failed."
confirm_payment_of_html: "{ROLE, select, admin{Payment on site} other{Pay}}: {AMOUNT}" # eg. confirm my payment of $20.00
confirm_payment_of_html: "{ROLE, select, admin{Payment on site} other{Pay}}: {AMOUNT}" #eg. confirm my payment of $20.00
a_problem_occurred_during_the_payment_process_please_try_again_later: "A problem occurred during the payment process. Please try again later."
none: "None"
online_payment_disabled: "Online payment is not available. Please contact the Fablab reception directly."
online_payment_disabled: "Online payment is not available. Please contact the FabLab's reception directly."
slot_restrict_plans: "This slot is restricted for the plans below:"
slot_restrict_subscriptions_must_select_plan: "The slot is restricted for the subscribers. Please select a plan first."
slot_restrict_plans_of_others_groups: "The slot is restricted for the subscribers of others groups."
@ -448,8 +425,14 @@ en:
slot_at_same_time: "Conflict with others reservations"
do_you_really_want_to_book_slot_at_same_time: "Do you really want to book this slot? Other bookings take place at the same time"
unable_to_book_slot_because_really_have_reservation_at_same_time: "Unable to book this slot because the following reservation occurs at the same time."
# feature-tour modal
tour:
previous: "Previous"
next: "Next"
end: "End the tour"
# help modal
help:
title: "Help"
what_to_do: "What do you want to do?"
tour: "Start the feature tour"
guide: "Open the user's manual"

View File

@ -1,8 +1,8 @@
es:
app:
shared:
#translations of common buttons
buttons:
# translations of common buttons
confirm_changes: "Confirmar cambios"
consult: "Consultar"
edit: "Editar"
@ -18,14 +18,12 @@ es:
"yes": "Sí"
"no": "No"
apply: "Aplicar"
messages:
you_will_lose_any_unsaved_modification_if_you_quit_this_page: "Si cierra la página se perderán todas las modificaciones que no se hayan guardado"
you_will_lose_any_unsaved_modification_if_you_reload_this_page: "Si recarga la página se perderán todas las modificaciones que no se hayan guardado"
payment_card_error: "A problem has occurred with your credit card:"
#user edition form
user:
# user edition form
man: "Man"
woman: "Woman"
add_an_avatar: "Añadir un avatar"
@ -64,9 +62,8 @@ es:
used_for_invoicing: "This data will be used for billing purposes"
used_for_reservation: "This data will be used in case of change on one of your bookings"
used_for_profile: "This data will only be displayed on your profile"
#project edition form
project:
# project edition form
name: "Name"
name_is_required: "Name is required."
illustration: "Ilustración"
@ -94,9 +91,8 @@ es:
themes: "Themes"
tags: "Tags"
save_as_draft: "Save as draft"
#machine edition form
machine:
# machine edition form
name: "Nombre"
name_is_required: "Se requiere un nombre."
illustration: "Ilustración"
@ -110,33 +106,28 @@ es:
add_an_attachment: "añadir archivo adjunto"
disable_machine: "Disable machine"
validate_your_machine: "Validar su máquina"
#frame to select a plan to subscribe
plan_subscribe:
# frame to select a plan to subscribe
subscribe_online: "suscribirse online"
do_not_subscribe: "no suscribe"
#admin: choose a member to interact with
member_select:
# admin: choose a member to interact with
select_a_member: "Selecciona un miembro"
start_typing: "Empezar a escribir..."
#stripe payment modal
stripe:
# stripe payment modal
online_payment: "Online payment"
i_have_read_and_accept_: "He leido y acepto"
_the_general_terms_and_conditions: "Los términos y condiciones."
credit_amount_for_pay_reservation: "{amount} {currency} falta por pagar para efectuar su reserva"
client_credit_amount_for_pay_reservation: "{amount} {currency} falta por pagar para efectuar la reserva del cliente"
confirm_payment_of_: "Pay: {AMOUNT}"
#dialog of on site payment for reservations
valid_reservation_modal:
#dialog of on site payment for reservations
booking_confirmation: "Confirmar reserva"
here_is_the_summary_of_the_slots_to_book_for_the_current_user: "Resumen de los espacios reservados por el usuario actual:"
#event edition form
event:
# event edition form
title: "Title"
title_is_required: "Se requiere un título."
matching_visual: "Coincidencia visual"
@ -160,9 +151,8 @@ es:
tickets_available: "Entradas disponibles"
event_theme: "Tema del evento"
age_range: "Rango de edades"
#subscription plan edition form
plan:
# subscription plan edition form
general_information: "Información general"
name: "Nombre"
name_is_required: "Se requiere un nombre."
@ -173,7 +163,7 @@ es:
type_is_required: "Se requiere un tipo."
group: "Grupo"
transversal_all_groups: "Transversal (todos los grupos)"
group_is_required: "Se requiere un tipo."
group_is_required: "Se requiere un grupo."
number_of_periods: "Numero de periodos"
number_of_periods_is_required: "El numero de periodos es obligatorio."
period: "Periodo"
@ -203,9 +193,8 @@ es:
email_address_is_required: "Se requiere un mail."
disabled: "Disable subscription"
disable_plan_will_not_unsubscribe_users: "Beware: disabling this plan won't unsubscribe users having active subscriptions with it."
#training edition form
trainings:
# training edition form
name: "Nombre"
name_is_required: "Se requiere un nombre."
illustration: "Ilustración"
@ -218,20 +207,18 @@ es:
number_of_tickets: "Número de entradas"
public_page: "Hacer curso público"
disable_training: "Disable the training"
#partial form to edit/create an user (admin view)
user_admin:
# partial form to edit/create an user (admin view)
user: "User"
incomplete_profile: "Incomplete profile"
user_profile: "Profil utilisateur"
warning_incomplete_user_profile_probably_imported_from_sso: "Advertencia: Este perfil de usuario está incompleto. Como el método de autenticación SSO está activo, puede que la cuenta sea importada pero no fusionada. No la modifique a no ser que sepa lo que hace."
group: "Grupo"
group_is_required: "Se requiere un grupo"
group_is_required: "Se requiere un grupo."
trainings: "Cursos"
tags: "Tags"
#partial form to edit/create an authentication provider (SSO)
authentication:
# partial form to edit/create an authentication provider (SSO)
name: "Nombre"
provider_name_is_required: "Se requiere el nombre del proveedor."
authentication_type: "Tipo de autenticación"
@ -242,9 +229,8 @@ es:
expected_data_type: "Tipo de datos esperado"
input_format: "Formato de entrada"
mappings: "Mapeos"
#edition/creation form of an OAuth2 authentication provider
oauth2:
#edition/creation form of an OAuth2 authentication provider
common_url: "URL común"
common_url_is_required: "se requiere una URL común."
provided_url_is_not_a_valid_url: "La URL cedida no es válida."
@ -267,29 +253,25 @@ es:
api_endpoint_url: "API final de URL"
api_type: "Tipo de API"
api_fields: "Campos de API"
#machine/training slot modification modal
confirm_modify_slot_modal:
# machine/training slot modification modal
change_the_slot: "Cambiar la ranura"
do_you_want_to_change_your_booking_slot_initially_planned_at: "Desea cambiar su reserva efectuada inicialmente el:"
do_you_want_to_change_NAME_s_booking_slot_initially_planned_at: "Desea cambiar la reserva de {NAME} , efectuada inicialmente el:"
cancel_this_reservation: "Cancelar reserva"
i_want_to_change_date: "Quiero cambiar la fecha"
#modal introducing that a training is requested before booking a machine
request_training_modal:
# modal introducing that a training is requested before booking a machine
to_book_the_MACHINE_you_must_have_completed_the_TRAINING: "Para reservar \"{MACHINE}\" debes haber completado el curso: {TRAINING}."
register_for_the_training: "Apuntarse al curso"
i_dont_want_to_register_now: "No quiero apuntarme aún"
#modal introducing that a user must wait for his training being validated before booking a machine
training_reservation_modal:
# modal introducing that a user must wait for his training being validated before booking a machine
machine_reservation: "Reserva de máquina"
you_must_wait_for_your_training_is_being_validated_by_the_fablab_team_to_book_this_machine: "Debes esperar a que el Fablab valide tu curso para reservar la máquina."
your_training_will_occur_: "Tu curso será realizado"
#user public profile
public_profile:
# user public profile
last_activity_html: "Last activity <br><strong>on {DATE}</strong>"
to_come: "por llegar"
approved: "aprobada"
@ -303,9 +285,8 @@ es:
email_address: "Email address"
trainings: "Trainings"
no_trainings: "No trainings"
#wallet
wallet:
#wallet
wallet: 'Cartera'
your_wallet_amount: 'Su dinero disponible'
wallet_amount: 'Cantidad disponible'
@ -327,10 +308,10 @@ es:
to_credit: 'Credito'
wallet_credit_successfully: "La cartera del usuario ha sido acreditada con éxito."
a_problem_occurred_for_wallet_credit: "Ocurrió un problema mientras se acreditaba la cartera"
amount_is_required: "Se requiere la cantidad"
amount_is_required: "Se requiere la cantidad."
amount_minimum_1: "La cantidad mínima es 1"
amount_confirm_is_required: "Debe confirmarse la cantidad"
amount_confirm_does_not_match: "La confirmación de la cantidad no coincide"
amount_confirm_is_required: "Debe confirmarse la cantidad."
amount_confirm_does_not_match: "La confirmación de la cantidad no coincide."
you_have_amount_in_wallet: "Tiene {amount} {currency} en su cartera"
client_have_amount_in_wallet: "El cliente tiene {amount} {currency} en su cartera"
wallet_pay_reservation: "Puede pagar directamente su reserva"
@ -340,9 +321,8 @@ es:
debit_reservation_machine: "Débito por reserva de máquina"
debit_reservation_event: "Débito por reserva de evento"
warning_uneditable_credit: "ADVERTENCIA: una vez validada la reserva no podrá modificarse el pago."
#promotional coupon (creation/edition form)
coupon:
# promotional coupon (creation/edition form)
name: "Nombre"
name_is_required: "Name is required."
code: "Código"
@ -364,9 +344,8 @@ es:
max_usages: "Usos máximos permitidos"
max_usages_must_be_equal_or_greater_than_0: "El número de usos máximos permitidos debe ser mayor que 0."
enabled: "Activo"
#coupon (input zone for users)
coupon_input:
# coupon (input zone for users)
i_have_a_coupon: "I have a coupon!"
code_: "Code:"
the_coupon_has_been_applied_you_get_PERCENT_discount: "Se ha aplicado el cupón {PERCENT}% de descuento."
@ -378,9 +357,8 @@ es:
unable_to_apply_the_coupon_because_amount_exceeded: "No se puede aplicar el cupón: el descuento excede el monto total de esta compra."
unable_to_apply_the_coupon_because_undefined: "No se puede aplicar el cupón: se ha producido un error inesperado, póngase en contacto con el gerente del Fablab."
unable_to_apply_the_coupon_because_rejected: "Este código no existe."
#form to create/edit a space
space:
# form to create/edit a space
name: "Nombre"
name_is_required: "Se requiere un nombre."
illustration: "Ilustración"
@ -395,9 +373,8 @@ es:
default_places: "Máximo de entradas predeterminado"
default_places_is_required: "Se requiere un máximo de entradas predeterminado."
disable_space: "Disable space"
#shopping cart module for reservations
cart:
# module de panier d'achat de réservations
summary: "Resumen"
select_one_or_more_slots_in_the_calendar: "Selecciona uno {SINGLE, select, true{slot} other{or more slots}} en el calendario"
you_ve_just_selected_the_slot: "Acaba de seleccionar el espacio :"
@ -427,18 +404,18 @@ es:
tags_of_the_destination_slot: "Etiquetas del espacio final:"
confirm_my_modification: "Confirmar modificación"
your_booking_slot_was_successfully_moved_from_: "Tu reserva de espacio ha sido reemplazada con éxito"
to_date: "a" # eg: from 01/01 to 01/05
to_date: "a" #eg. from 01/01 to 01/05
please_select_a_member_first: "Por favor, selecciona un miembro de la lista"
unable_to_select_plan_if_slots_in_the_past: 'No se puede seleccionar un plan si alguno de los espacios seleccionados está en el pasado'
unable_to_select_plan_if_slots_in_the_past: "No se puede seleccionar un plan si alguno de los espacios seleccionados está en el pasado"
unable_to_change_the_reservation: "Imposible cambiar reserva"
confirmation_required: "Confirmación requerida"
do_you_really_want_to_cancel_this_reservation: "¿Está seguro de querer cancelar la reserva?"
reservation_was_cancelled_successfully: "La reserva se ha cancelado con éxito."
cancellation_failed: "Cancelación fallida."
confirm_payment_of_html: "{ROLE, select, admin{Payment on site} other{Pay}}: {AMOUNT}" #(context: confirm my payment of $20.00)
confirm_payment_of_html: "{ROLE, select, admin{Payment on site} other{Pay}}: {AMOUNT}" #eg. confirm my payment of $20.00
a_problem_occurred_during_the_payment_process_please_try_again_later: "A problem occurred during the payment process. Please try again later."
none: "Ninguno"
online_payment_disabled: "El pago en línea no está disponible. Póngase en contacto directamente con la recepción de Fablab."
online_payment_disabled: "El pago en línea no está disponible. Póngase en contacto directamente con la recepción de FabLab."
slot_restrict_plans: "This slot is restricted for the plans below:"
slot_restrict_subscriptions_must_select_plan: "The slot is restricted for the subscribers. Please select a plan first."
slot_restrict_plans_of_others_groups: "The slot is restricted for the subscribers of others groups."
@ -448,8 +425,14 @@ es:
slot_at_same_time: "Conflict with others reservations"
do_you_really_want_to_book_slot_at_same_time: "Do you really want to book this slot? Other bookings take place at the same time"
unable_to_book_slot_because_really_have_reservation_at_same_time: "Unable to book this slot because the following reservation occurs at the same time."
#feature-tour modal
tour:
previous: "Previous"
next: "Next"
end: "End the tour"
#help modal
help:
title: "Help"
what_to_do: "What do you want to do?"
tour: "Start the feature tour"
guide: "Open the user's manual"

View File

@ -1,8 +1,8 @@
fr:
app:
shared:
#translations of common buttons
buttons:
# traductions de boutons communs
confirm_changes: "Valider les modifications"
consult: "Consulter"
edit: "Éditer"
@ -18,14 +18,12 @@ fr:
"yes": "Oui"
"no": "Non"
apply: "Appliquer"
messages:
you_will_lose_any_unsaved_modification_if_you_quit_this_page: "Vous perdrez les modifications non enregistrées si vous quittez cette page"
you_will_lose_any_unsaved_modification_if_you_reload_this_page: "Vous perdrez les modifications non enregistrées si vous rechargez cette page"
payment_card_error: "Un problème est survenu avec votre carte bancaire :"
#user edition form
user:
# formulaire d'édition du profil utilisateur
man: "Homme"
woman: "Femme"
add_an_avatar: "Ajouter un avatar"
@ -59,14 +57,13 @@ fr:
phone_number: "Numéro de téléphone"
phone_number_is_required: "Le numéro de téléphone est requis."
i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "J'autorise les utilisateurs du Fab Lab inscrits sur le site à me contacter"
i_accept_to_receive_information_from_the_fablab: "J'accepte de recevoir des informations du Fab Lab"
i_accept_to_receive_information_from_the_fablab: "I accept to receive information from the FabLab"
used_for_statistics: "Cette donnée sera utilisée à des fins statistiques"
used_for_invoicing: "Cette donnée sera utilisée à des fins de facturation"
used_for_reservation: "Cette donnée sera utilisée en cas de changement sur une de vos réservations"
used_for_profile: "Cette donnée sera seulement affichée sur votre profil"
#project edition form
project:
# formulaire d'étition d'un projet
name: "Nom"
name_is_required: "Le nom est requis."
illustration: "Illustration"
@ -94,9 +91,8 @@ fr:
themes: "Thématiques"
tags: "Étiquettes"
save_as_draft: "Enregistrer comme brouillon"
#machine edition form
machine:
# formulaire d'édition d'une machine
name: "Nom"
name_is_required: "Le nom est requis."
illustration: "Visuel"
@ -110,33 +106,28 @@ fr:
add_an_attachment: "Ajouter une pièce jointe"
disable_machine: "Désactiver la machine"
validate_your_machine: "Valider votre machine"
#frame to select a plan to subscribe
plan_subscribe:
# cadre de souscription à un abonnement
subscribe_online: "je m'abonne en ligne"
do_not_subscribe: "je ne souhaite pas m'abonner"
#admin: choose a member to interact with
member_select:
# admin : choisir un membre avec lequel interagir
select_a_member: "Sélectionnez un membre"
start_typing: "Commencez à écrire..."
#stripe payment modal
stripe:
# fenêtre de paiement stripe
online_payment: "Paiement en ligne"
i_have_read_and_accept_: "J'ai bien pris connaissance, et accepte"
_the_general_terms_and_conditions: "les conditions générales de vente."
credit_amount_for_pay_reservation: "Il vous reste {amount} {currency} à payer pour valider votre réservation"
client_credit_amount_for_pay_reservation: "Il reste {amount} {currency} à payer pour valider la réservation"
confirm_payment_of_: "Payer : {AMOUNT}"
#dialog of on site payment for reservations
valid_reservation_modal:
# fenêtre de paiement sur place d'une réservation
booking_confirmation: "Validation réservation"
here_is_the_summary_of_the_slots_to_book_for_the_current_user: "Voici le récapitulatif des créneaux à réserver pour l'utilisateur courant :"
#event edition form
event:
# formulaire d'édition d'un événement
title: "Titre"
title_is_required: "Le titre est requis."
matching_visual: "Visuel associé"
@ -160,9 +151,8 @@ fr:
tickets_available: "Places disponibles"
event_theme: "Thème de l'évènement"
age_range: "Tranche d'âge"
#subscription plan edition form
plan:
# formulaire d'édition d'une formule d'abonnement
general_information: "Informations générales"
name: "Nom"
name_is_required: "Le nom est requis"
@ -203,9 +193,8 @@ fr:
email_address_is_required: "L'adresse e-mail est requise."
disabled: "Désactiver l'abonnement"
disable_plan_will_not_unsubscribe_users: "Attention : désactiver l'abonnement ne désabonnera pas les utilisateurs ayant actuellement cet abonnement actif."
#training edition form
trainings:
# formulaire d'édition d'une formation
name: "Nom"
name_is_required: "Le nom est requis."
illustration: "Visuel"
@ -218,9 +207,8 @@ fr:
number_of_tickets: "Nombre de places"
public_page: "Afficher dans la liste de formation"
disable_training: "Désactiver la formation"
#partial form to edit/create an user (admin view)
user_admin:
# formulaire partiel d'édition/création utilisateur (vue admin)
user: "Utilisateur"
incomplete_profile: "Profil incomplet"
user_profile: "Profil utilisateur"
@ -229,9 +217,8 @@ fr:
group_is_required: "Le groupe est requis."
trainings: "Formations"
tags: "Étiquettes"
#partial form to edit/create an authentication provider (SSO)
authentication:
# formulaire partiel d'édition/création d'un fournisseur d'authentification (SSO)
name: "Nom"
provider_name_is_required: "Le nom du fournisseur est requis."
authentication_type: "Type d'authentification"
@ -242,9 +229,8 @@ fr:
expected_data_type: "Type de données attendues"
input_format: "Format d'entrée"
mappings: "Correspondances"
#edition/creation form of an OAuth2 authentication provider
oauth2:
# formulaire d'édition/création d'un fournisseur d'authentification de type OAuth2
common_url: "URL commune"
common_url_is_required: "L'URL commune est requise."
provided_url_is_not_a_valid_url: "L'URL fournie n'est pas une URL valide."
@ -267,29 +253,25 @@ fr:
api_endpoint_url: "Terminaison/URL de l'API"
api_type: "Type d'API"
api_fields: "Champ de l'API"
#machine/training slot modification modal
confirm_modify_slot_modal:
# fenêtre de modification d'un créneau de réservation machine/formation
change_the_slot: "Modifier le créneau"
do_you_want_to_change_your_booking_slot_initially_planned_at: "Souhaitez-vous changer votre créneau de réservation initialement prévu au :"
do_you_want_to_change_NAME_s_booking_slot_initially_planned_at: "Souhaitez-vous changer le créneau de réservation de {NAME}, initialement prévu au :"
cancel_this_reservation: "Annuler cette réservation"
i_want_to_change_date: "Je veux changer de date"
#modal introducing that a training is requested before booking a machine
request_training_modal:
# fenêtre présentant l'obligation de participer à une formation avant de réserver une machine
to_book_the_MACHINE_you_must_have_completed_the_TRAINING: "Pour réserver la machine \"{MACHINE}\" vous devez avoir suivi la {TRAINING}."
register_for_the_training: "S'inscrire à la formation"
i_dont_want_to_register_now: "Je ne souhaite pas m'inscrire pour l'instant"
#modal introducing that a user must wait for his training being validated before booking a machine
training_reservation_modal:
# fenêtre présentant l'obligation d'attendre la validation de la formation pour réserver une machine
machine_reservation: "Réservation machine"
you_must_wait_for_your_training_is_being_validated_by_the_fablab_team_to_book_this_machine: "Il faut attendre que votre formation soit validée par l'équipe du Fab Lab pour réserver cette machine."
your_training_will_occur_: "Votre formation aura lieu le"
#user public profile
public_profile:
# profil publique d'un utilisateur
last_activity_html: "Dernière activité <br><strong>le {DATE}</strong>"
to_come: "à venir"
approved: "validée"
@ -303,9 +285,8 @@ fr:
email_address: "Adresse électronique"
trainings: "Formations"
no_trainings: "Aucune formation"
#wallet
wallet:
# porte-monnaie
wallet: 'Porte-monnaie'
your_wallet_amount: 'Votre montant disponible'
wallet_amount: 'Montant disponible'
@ -340,9 +321,8 @@ fr:
debit_reservation_machine: "Payer un reservation de machine"
debit_reservation_event: "Payer un reservation d'évenement"
warning_uneditable_credit: "Attention : une fois validé, le montant crédité ne sera plus modifiable."
#promotional coupon (creation/edition form)
coupon:
# code promotionnel (formulaire de création/édition)
name: "Nom"
name_is_required: "le nom est requis."
code: "Code"
@ -364,9 +344,8 @@ fr:
max_usages: "Nombre maximum d'utilisations autorisées"
max_usages_must_be_equal_or_greater_than_0: "Le nombre d'utilisations maximum doit être supérieur ou égal à 0."
enabled: "Activé"
#coupon (input zone for users)
coupon_input:
# code promotionnel (zone de saisie pour les utilisateurs)
i_have_a_coupon: "J'ai un code promo !"
code_: "Code :"
the_coupon_has_been_applied_you_get_PERCENT_discount: "Le code promo a bien été appliqué. Vous bénéficiez d'une remise de {PERCENT} %."
@ -378,9 +357,8 @@ fr:
unable_to_apply_the_coupon_because_amount_exceeded: "Impossible d'appliquer la réduction : la réduction dépasse le total de cet achat."
unable_to_apply_the_coupon_because_undefined: "Impossible d'appliquer la réduction : une erreur inattendue s'est produite, veuillez contacter le gestionnaire du Fablab."
unable_to_apply_the_coupon_because_rejected: "Ce code promo n'existe pas."
#form to create/edit a space
space:
# formulaire de création/modification d'un espace
name: "Nom"
name_is_required: "Le nom est requis."
illustration: "Visuel"
@ -395,13 +373,12 @@ fr:
default_places: "Maximum de places par défaut"
default_places_is_required: "Le nombre de places maximum par défaut est requis."
disable_space: "Désactiver l'espace"
#shopping cart module for reservations
cart:
# module de panier d'achat de réservations
summary: "Résumé"
select_one_or_more_slots_in_the_calendar: "Sélectionnez un {SINGLE, select, true{créneau} other{ou plusieurs créneaux}} dans le calendrier"
you_ve_just_selected_the_slot: "Vous venez de sélectionner le créneau :"
datetime_to_time: "{START_DATETIME} à {END_TIME}" # eg: Thursday, September 4 1986 8:30 PM to 10:00 PM
datetime_to_time: "{START_DATETIME} à {END_TIME}" #eg: Thursday, September 4 1986 8:30 PM to 10:00 PM
cost_of_TYPE: "Coût de {TYPE, select, Machine{l'heure machine} Training{la formation} other{l'élément}}"
offer_this_slot: "Offrir ce créneau"
confirm_this_slot: "Valider ce créneau"
@ -427,7 +404,7 @@ fr:
tags_of_the_destination_slot: "Étiquettes du créneau de destination :"
confirm_my_modification: "Valider ma modification"
your_booking_slot_was_successfully_moved_from_: "Votre créneau de réservation a bien été déplacé du"
to_date: "au" # eg. from 01/01 to 01/05
to_date: "au" #eg. from 01/01 to 01/05
please_select_a_member_first: "Veuillez tout d'abord sélectionner un membre"
unable_to_select_plan_if_slots_in_the_past: "Impossible de sélectionner un abonnement si l'un des créneaux sélectionné est dans le passé"
unable_to_change_the_reservation: "Impossible de modifier la réservation"
@ -435,12 +412,12 @@ fr:
do_you_really_want_to_cancel_this_reservation: "Êtes-vous sur de vouloir annuler cette réservation ?"
reservation_was_cancelled_successfully: "La réservation a bien été annulée."
cancellation_failed: "L'annulation a échouée."
confirm_payment_of_html: "{ROLE, select, admin{Paiement sur place} other{Payer}} : {AMOUNT}" # eg. valider mon paiement de 20,00 €
confirm_payment_of_html: "{ROLE, select, admin{Paiement sur place} other{Payer}} : {AMOUNT}" #eg. confirm my payment of $20.00
a_problem_occurred_during_the_payment_process_please_try_again_later: "Il y a eu un problème lors de la procédure de paiement. Veuillez réessayer plus tard."
none: "Aucune"
online_payment_disabled: "Le payment par carte bancaire n'est pas disponible. Merci de contacter directement l'accueil du Fablab."
slot_restrict_plans: "Ce créneau est restreint pour les formules d'abonnement ci-desous:"
slot_restrict_subscriptions_must_select_plan: "Le créneau est restreint pour les abonnés. Veuillez tout d'abord sélectionner une formule d'abonnement"
online_payment_disabled: "Le paiement par carte bancaire n'est pas disponible. Merci de contacter directement l'accueil du FabLab."
slot_restrict_plans: "Ce créneau est restreint pour les formules d'abonnement ci-dessous:"
slot_restrict_subscriptions_must_select_plan: "Le créneau est restreint pour les abonnés. Veuillez tout d'abord sélectionner une formule d'abonnement."
slot_restrict_plans_of_others_groups: "Ce créneau est restreint pour les abonnés d'autres groupes."
selected_plan_dont_match_slot: "L'abonnement sélectionné ne correspondent pas ce créneau"
user_plan_dont_match_slot: "L'abonnement du membre ne correspondent pas ce créneau"
@ -448,8 +425,14 @@ fr:
slot_at_same_time: "Conflit avec d'autres réservations"
do_you_really_want_to_book_slot_at_same_time: "Êtes-vous sûr de réserver ce créneau ? D'autres réservations ont lieu en même temps"
unable_to_book_slot_because_really_have_reservation_at_same_time: "Impossible de réserver ce créneau car les réservations ci-dessous ont lieu en même temps."
#feature-tour modal
tour:
previous: "Précédent"
next: "Suivant"
end: "Terminer la visite"
#help modal
help:
title: "Aide"
what_to_do: "Que voulez-vous faire ?"
tour: "Lancer la visite guidée"
guide: "Ouvrir le manuel de l'utilisateur"

View File

@ -1,8 +1,8 @@
pt:
app:
shared:
#translations of common buttons
buttons:
# translations of common buttons
confirm_changes: "Confirmar mudanças"
consult: "Consultar"
edit: "Editar"
@ -18,14 +18,12 @@ pt:
"yes": "Sim"
"no": "Não"
apply: "Aplicar"
messages:
you_will_lose_any_unsaved_modification_if_you_quit_this_page: "Você irá perder todas as modificações não salvas se sair desta página"
you_will_lose_any_unsaved_modification_if_you_reload_this_page: "Você irá perder todas as modificações não salvas se recarregar desta página"
payment_card_error: "A problem has occurred with your credit card:"
#user edition form
user:
# user edition form
man: "Man"
woman: "Woman"
add_an_avatar: "Adicionar avatar"
@ -64,9 +62,8 @@ pt:
used_for_invoicing: "This data will be used for billing purposes"
used_for_reservation: "This data will be used in case of change on one of your bookings"
used_for_profile: "This data will only be displayed on your profile"
#project edition form
project:
# project edition form
name: "Name"
name_is_required: "Name is required."
illustration: "Ilustração"
@ -94,9 +91,8 @@ pt:
themes: "Themes"
tags: "Tags"
save_as_draft: "Save as draft"
#machine edition form
machine:
# machine edition form
name: "Nome"
name_is_required: "Nome é obrigatório."
illustration: "Ilustração"
@ -110,33 +106,28 @@ pt:
add_an_attachment: "Adicionar anexo"
disable_machine: "Desativar máquina"
validate_your_machine: "Validar sua máquina"
#frame to select a plan to subscribe
plan_subscribe:
# frame to select a plan to subscribe
subscribe_online: "Inscrição online"
do_not_subscribe: "não inscrito"
#admin: choose a member to interact with
member_select:
# admin: choose a member to interact with
select_a_member: "Selecionar um membro"
start_typing: "Escrevendo..."
#stripe payment modal
stripe:
# stripe payment modal
online_payment: "Online payment"
i_have_read_and_accept_: "Eu li e aceito"
_the_general_terms_and_conditions: "os termos e condições."
credit_amount_for_pay_reservation: "{amount} {currency} a ser pago para confirmar sua inscrição"
client_credit_amount_for_pay_reservation: "{amount} {currency} a ser pago para confirmar a inscrição do cliente"
confirm_payment_of_: "Pay: {AMOUNT}"
#dialog of on site payment for reservations
valid_reservation_modal:
# dialog of on site payment for reservations
booking_confirmation: "Confirmação de reserva"
here_is_the_summary_of_the_slots_to_book_for_the_current_user: "Aqui está um resumo das reservas para o usuário atual:"
#event edition form
event:
# event edition form
title: "Title"
title_is_required: "Título é obrigatório."
matching_visual: "Correspondência visual"
@ -160,9 +151,8 @@ pt:
tickets_available: "Tickets disponíveis"
event_theme: "Tema do evento"
age_range: "Faixa etária"
#subscription plan edition form
plan:
# subscription plan edition form
general_information: "Informação geral"
name: "Nome"
name_is_required: "Nome é obrigatório."
@ -203,9 +193,8 @@ pt:
email_address_is_required: "Email é obrigatório."
disabled: "Disable subscrição"
disable_plan_will_not_unsubscribe_users: "Aviso: desativar a assinatura não desautorizará os usuários que atualmente possuem esta assinatura ativa."
#training edition form
trainings:
# training edition form
name: "Nome"
name_is_required: "Nome é obrigatório."
illustration: "Ilustração"
@ -218,20 +207,18 @@ pt:
number_of_tickets: "Número de vagas"
public_page: "Mostrar na lista de treinamentos"
disable_training: "Desativar treinamento"
#partial form to edit/create an user (admin view)
user_admin:
# partial form to edit/create an user (admin view)
user: "User"
incomplete_profile: "Incomplete profile"
user_profile: "Perfil de usuário"
warning_incomplete_user_profile_probably_imported_from_sso: "Atenção: Esse perfil de usuário está incompleto. As \"single sign-on\" (SSO) authentication is currently enabled, it may probably be an imported but non merged account. Do not modify it unless you know what your doing."
group: "Grupo"
group_is_required: "Grupo é obrigatório"
group_is_required: "Grupo é obrigatório."
trainings: "Treinamentos"
tags: "Tags"
#partial form to edit/create an authentication provider (SSO)
authentication:
# partial form to edit/create an authentication provider (SSO)
name: "Nome"
provider_name_is_required: "Nome da provider é obrigatório."
authentication_type: "Tipo de autenticação"
@ -242,9 +229,8 @@ pt:
expected_data_type: "Esperado tipo de dado"
input_format: "Insira o formato"
mappings: "Mapeamentos"
#edition/creation form of an OAuth2 authentication provider
oauth2:
# edition/creation form of an OAuth2 authentication provider
common_url: "Common URL"
common_url_is_required: "Common URL is required."
provided_url_is_not_a_valid_url: "Provided URL is not a valid URL."
@ -267,29 +253,25 @@ pt:
api_endpoint_url: "API endpoint URL"
api_type: "API tipo"
api_fields: "API linhas"
#machine/training slot modification modal
confirm_modify_slot_modal:
# machine/training slot modification modal
change_the_slot: "Alterar o slot"
do_you_want_to_change_your_booking_slot_initially_planned_at: "Você deseja alterar seu agendamento, inicialmente marcado para:"
do_you_want_to_change_NAME_s_booking_slot_initially_planned_at: "Você deseja alterar o agendamento do usuário {NAME}, inicialmente marcado para:"
cancel_this_reservation: "Cancelar essa reserva"
i_want_to_change_date: "Eu quero alterar a data"
#modal introducing that a training is requested before booking a machine
request_training_modal:
# modal introducing that a training is requested before booking a machine
to_book_the_MACHINE_you_must_have_completed_the_TRAINING: "Para agendar \"{MACHINE}\" você deve completar o treinamento {TRAINING}."
register_for_the_training: "Inscrever-se no treinamento"
i_dont_want_to_register_now: "Não desejo me inscrever agora"
#modal introducing that a user must wait for his training being validated before booking a machine
training_reservation_modal:
# modal introducing that a user must wait for his training being validated before booking a machine
machine_reservation: "Reserva de máquina"
you_must_wait_for_your_training_is_being_validated_by_the_fablab_team_to_book_this_machine: "Você deve esperar que seu treinamento seja validado pela equipe do FabLab para reservar esta máquina."
your_training_will_occur_: "Seu treinamento ocorrerá"
#user public profile
public_profile:
# user public profile
last_activity_html: "Última atividade <br><strong>em {DATE}</strong>"
to_come: "vir"
approved: "aprovado"
@ -303,9 +285,8 @@ pt:
email_address: "Email address"
trainings: "Trainings"
no_trainings: "No trainings"
#wallet
wallet:
# wallet
wallet: 'Carteira'
your_wallet_amount: 'Seus créditos disponíveis'
wallet_amount: 'Crédito disponível'
@ -327,10 +308,10 @@ pt:
to_credit: 'Crédito'
wallet_credit_successfully: "Carteira de usuário creditada com sucesso."
a_problem_occurred_for_wallet_credit: "Um erro ocorreu ao creditar a carteira"
amount_is_required: "A quantia é obrigatório"
amount_is_required: "A quantia é obrigatório."
amount_minimum_1: "A quantia mínima é 1"
amount_confirm_is_required: "A confirmação da quantia é obrigatório"
amount_confirm_does_not_match: "A confirmação da quantia não é a mesma da quantia"
amount_confirm_is_required: "A confirmação da quantia é obrigatório."
amount_confirm_does_not_match: "A confirmação da quantia não é a mesma da quantia."
you_have_amount_in_wallet: "Você tem {amount} {currency} em sua carteira"
client_have_amount_in_wallet: "O cliente possui {amount} {currency} em sua carteira"
wallet_pay_reservation: "Você pode pagar diretamente sua reserva"
@ -340,9 +321,8 @@ pt:
debit_reservation_machine: "Débito por reserva de máquina"
debit_reservation_event: "Débito por reserva de evento"
warning_uneditable_credit: "Aviso: uma vez validado, o valor creditado não será mais editado."
#promotional coupon (creation/edition form)
coupon:
# promotional coupon (creation/edition form)
name: "Nome"
name_is_required: "Name is required."
code: "Código"
@ -364,9 +344,8 @@ pt:
max_usages: "Máximo de usos permitido"
max_usages_must_be_equal_or_greater_than_0: "Os usos máximos permitidos devem ser maiores que 0."
enabled: "Ativo"
#coupon (input zone for users)
coupon_input:
# coupon (input zone for users)
i_have_a_coupon: "Eu tenho um cupom!"
code_: "Código:"
the_coupon_has_been_applied_you_get_PERCENT_discount: "O cupom foi aplicado. Você recebeu {PERCENT}% de desconto."
@ -378,30 +357,28 @@ pt:
unable_to_apply_the_coupon_because_amount_exceeded: "Não é possível aplicar o cupom: o desconto excede o valor total desta compra."
unable_to_apply_the_coupon_because_undefined: "Não é possível aplicar o cupom: um erro inesperado aconteceu, por favor entre em contato com o FabLab."
unable_to_apply_the_coupon_because_rejected: "Este código não existe."
#form to create/edit a space
space:
# form to create/edit a space
name: "Nome"
name_is_required: "Nome é obrigatório."
illustration: "Ilustração"
add_an_illustration: "Adicionar ilustração"
description: "Descrição"
description_is_required: "Descrição é obrigatório."
characteristics: "Características"
characteristics_are_required: "Características são obrigatórias."
attached_files_pdf: "Arquivos anexos (pdf)"
attach_a_file: "Anexar arquivo"
add_an_attachment: "Adicionar um anexo"
default_places: "Tickets máximo padrão"
default_places_is_required: "Tickets máximo padrão é obrigatório."
disable_space: "Desativar espaço"
name: "Nome"
name_is_required: "Nome é obrigatório."
illustration: "Ilustração"
add_an_illustration: "Adicionar ilustração"
description: "Descrição"
description_is_required: "Descrição é obrigatório."
characteristics: "Características"
characteristics_are_required: "Características são obrigatórias."
attached_files_pdf: "Arquivos anexos (pdf)"
attach_a_file: "Anexar arquivo"
add_an_attachment: "Adicionar um anexo"
default_places: "Tickets máximo padrão"
default_places_is_required: "Tickets máximo padrão é obrigatório."
disable_space: "Desativar espaço"
#shopping cart module for reservations
cart:
# module de panier d'achat de réservations
summary: "Sumário"
select_one_or_more_slots_in_the_calendar: "Selecionar um {SINGLE, select, true{slot} other{ou mais slots}} no calendário"
you_ve_just_selected_the_slot: "Você selecionou apenas o slot:"
datetime_to_time: "{START_DATETIME} até {END_TIME}" # eg: Thursday, September 4 1986 8:30 PM to 10:00 PM
datetime_to_time: "{START_DATETIME} até {END_TIME}" #eg: Thursday, September 4 1986 8:30 PM to 10:00 PM
cost_of_TYPE: "Custo de {TYPE, select, Machine{máquina hora} Training{o treinamento} other{o elemento}}"
offer_this_slot: "Oferecer este slot"
confirm_this_slot: "Confirmar este slot"
@ -427,18 +404,18 @@ pt:
tags_of_the_destination_slot: "Tags do slot de destino:"
confirm_my_modification: "Confirmar minha modificação"
your_booking_slot_was_successfully_moved_from_: "Seu slot de reserva foi movido com sucesso para"
to_date: "até" # eg. from 01/01 to 01/05
to_date: "até" #eg. from 01/01 to 01/05
please_select_a_member_first: "Por favor selecione o membro primeiramente"
unable_to_select_plan_if_slots_in_the_past: 'Não é possível selecionar um plano se algum dos slots selecionados estiver no passado'
unable_to_select_plan_if_slots_in_the_past: "Não é possível selecionar um plano se algum dos slots selecionados estiver no passado"
unable_to_change_the_reservation: "Não permitido alterar esta reserva"
confirmation_required: "Confirmação é obrigatória"
do_you_really_want_to_cancel_this_reservation: "Você realmente quer cancelar essa reserva?"
reservation_was_cancelled_successfully: "Reserva a foi cancelada com sucesso."
cancellation_failed: "Cancelamento falhou."
confirm_payment_of_html: "{ROLE, select, admin{Pagamento pelo site} other{Pagar}}: {AMOUNT}" # (context: confirm my payment of $20.00)
confirm_payment_of_html: "{ROLE, select, admin{Pagamento pelo site} other{Pagar}}: {AMOUNT}" #eg. confirm my payment of $20.00
a_problem_occurred_during_the_payment_process_please_try_again_later: "Um problema ocorreu durante o processo de pagamento. Por favor tente novamente mais tarde."
none: "Vazio"
online_payment_disabled: "O pagamento online não está disponível. Entre em contato diretamente com a recepção do Fablab."
online_payment_disabled: "O pagamento online não está disponível. Entre em contato diretamente com a recepção do FabLab."
slot_restrict_plans: "This slot is restricted for the plans below:"
slot_restrict_subscriptions_must_select_plan: "The slot is restricted for the subscribers. Please select a plan first."
slot_restrict_plans_of_others_groups: "The slot is restricted for the subscribers of others groups."
@ -448,8 +425,14 @@ pt:
slot_at_same_time: "Conflict with others reservations"
do_you_really_want_to_book_slot_at_same_time: "Do you really want to book this slot? Other bookings take place at the same time"
unable_to_book_slot_because_really_have_reservation_at_same_time: "Unable to book this slot because the following reservation occurs at the same time."
#feature-tour modal
tour:
previous: "Previous"
next: "Next"
end: "End the tour"
#help modal
help:
title: "Ajuda"
what_to_do: "What do you want to do?"
tour: "Start the feature tour"
guide: "Open the user's manual"

View File

@ -0,0 +1,12 @@
ach:
time:
formats:
# See http://apidock.com/ruby/DateTime/strftime for a list of available directives
hour_minute: "%I:%M %p"
errors: &errors
messages: &errors_messages
activemodel:
errors:
<<: *errors

View File

@ -0,0 +1,12 @@
en:
time:
formats:
# See http://apidock.com/ruby/DateTime/strftime for a list of available directives
hour_minute: "%I:%M %p"
errors: &errors
messages: &errors_messages
activemodel:
errors:
<<: *errors

View File

@ -0,0 +1,12 @@
es:
time:
formats:
# See http://apidock.com/ruby/DateTime/strftime for a list of available directives
hour_minute: "%I:%M %p"
errors: &errors
messages: &errors_messages
activemodel:
errors:
<<: *errors

View File

@ -0,0 +1,12 @@
fr:
time:
formats:
# Liste des directives disponibles sur http://apidock.com/ruby/DateTime/strftime
hour_minute: "%H:%M"
errors: &errors
messages: &errors_messages
activemodel:
errors:
<<: *errors

View File

@ -0,0 +1,12 @@
pt:
time:
formats:
# See http://apidock.com/ruby/DateTime/strftime for a list of available directives
hour_minute: "%I:%M %p"
errors: &errors
messages: &errors_messages
activemodel:
errors:
<<: *errors

View File

@ -14,16 +14,16 @@ ach:
not_found_in_database: "crwdns3787:0crwdne3787:0"
timeout: "crwdns3789:0crwdne3789:0"
unauthenticated: "crwdns3791:0crwdne3791:0"
unconfirmed: "crwdns3793:0crwdne3793:0"
unconfirmed: "crwdns19573:0crwdne19573:0"
mailer:
confirmation_instructions:
action: crwdns3795:0crwdne3795:0
instruction: crwdns3797:0crwdne3797:0
action: "crwdns20182:0crwdne20182:0"
instruction: "crwdns20184:0crwdne20184:0"
subject: "crwdns3799:0crwdne3799:0"
reset_password_instructions:
action: crwdns3801:0crwdne3801:0
instruction: crwdns3803:0crwdne3803:0
ignore_otherwise: crwdns3805:0crwdne3805:0
action: "crwdns20186:0crwdne20186:0"
instruction: "crwdns20188:0crwdne20188:0"
ignore_otherwise: "crwdns20190:0crwdne20190:0"
subject: "crwdns3807:0crwdne3807:0"
unlock_instructions:
subject: "crwdns3809:0crwdne3809:0"
@ -53,10 +53,10 @@ ach:
unlocked: "crwdns3847:0crwdne3847:0"
errors:
messages:
already_confirmed: "crwdns3849:0crwdne3849:0"
already_confirmed: "crwdns19575:0crwdne19575:0"
confirmation_period_expired: "crwdns3851:0%{period}crwdne3851:0"
expired: "crwdns3853:0crwdne3853:0"
not_found: "crwdns3855:0crwdne3855:0"
not_found: "crwdns19577:0crwdne19577:0"
not_locked: "crwdns3857:0crwdne3857:0"
not_saved:
one: "crwdns3859:1%{resource}crwdne3859:1"

View File

@ -18,13 +18,13 @@ en:
unconfirmed: "You have to confirm your account before continuing. Please click on the link below the form."
mailer:
confirmation_instructions:
action:
instruction:
action: "Confirm my email address"
instruction: "You can finalize your registration by confirming your email address. Please click on the following link:"
subject: "Confirmation instructions"
reset_password_instructions:
action:
instruction:
ignore_otherwise:
action: "Change my password"
instruction: "Someone asked for a link to change your password. You can do it through the link below."
ignore_otherwise: "If you have not made this request, please ignore this message."
subject: "Reset password instructions"
unlock_instructions:
subject: "Unlock Instructions"

View File

@ -1,5 +1,4 @@
# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
#Additional translations at https://github.com/plataformatec/devise/wiki/I18n
es:
devise:
confirmations:
@ -15,16 +14,16 @@ es:
not_found_in_database: "mail o contraseña inválidos."
timeout: "Su sesión ha expirado. Por favor, inicie sesión de nuevo."
unauthenticated: "Necesita iniciar sesión o registrarse antes de contiunar."
unconfirmed: "Debe confirmar su cuenta antes de continuar. Por favor haga clic en el enlace abajo del formulario."
unconfirmed: "You have to confirm your account before continuing. Please click on the link below the form."
mailer:
confirmation_instructions:
action:
instruction:
action: "Confirm my email address"
instruction: "You can finalize your registration by confirming your email address. Please click on the following link:"
subject: "Instrucciones de confirmación"
reset_password_instructions:
action:
instruction:
ignore_otherwise:
action: "Change my password"
instruction: "Someone asked for a link to change your password. You can do it through the link below."
ignore_otherwise: "If you have not made this request, please ignore this message."
subject: "Instrucciones para restablecer contraseña"
unlock_instructions:
subject: "Desbloquear instrucciones"
@ -54,10 +53,10 @@ es:
unlocked: "Tu cuenta se ha desbloqueado con éxito. Por favor inicie sesión para continuar."
errors:
messages:
already_confirmed: "Ya se confirmó, intente iniciar sesión."
already_confirmed: "This email was already confirmed, please try signing in."
confirmation_period_expired: "Necesita ser confirmado dentro de %{period}, por favor, solicite uno nuevo"
expired: "ha expirado, por favor, solicite uno nuevo"
not_found: "Este correo no esta associado con ninguna cuenta."
not_found: "This email was not found"
not_locked: "no estaba bloqueado"
not_saved:
one: "un error prohibió que %{resource} fuese guardado:"

View File

@ -1,5 +1,4 @@
# Autres traductions disponibles sur https://github.com/plataformatec/devise/wiki/I18n
#Additional translations at https://github.com/plataformatec/devise/wiki/I18n
fr:
devise:
confirmations:
@ -9,22 +8,22 @@ fr:
failure:
already_authenticated: "Vous êtes déjà connecté(e)."
inactive: "Votre compte nest pas encore activé."
invalid: "Adresse courriel ou mot de passe incorrect."
invalid_token: "Jeton d'authentification incorrect."
invalid: "E-mail ou mot de passe incorrect."
locked: "Votre compte est verrouillé."
last_attempt: "Vous avez encore une tentative avant que votre compte soit verrouillé."
not_found_in_database: "E-mail ou mot de passe incorrect."
timeout: "Votre session est périmée, veuillez vous reconnecter pour continuer."
unauthenticated: "Vous devez vous connecter ou vous enregistrer pour continuer."
unconfirmed: "Vous devez confirmer votre adresse de courriel pour pouvoir vous connecter. Veuillez cliquer sur le lien en dessous du formulaire."
unconfirmed: "Vous devez confirmer votre compte avant de continuer. Veuillez cliquer sur le lien sous le formulaire."
mailer:
confirmation_instructions:
action: "Confirmer mon e-mail !"
instruction: "Vous pouvez finaliser votre inscription en confirmant votre adresse mail, en cliquant sur le lien suivant :"
action: "Confirmer mon adresse e-mail"
instruction: "Vous pouvez finaliser votre inscription en confirmant votre adresse e-mail. Veuillez cliquer sur le lien suivant :"
subject: "Confirmation d'inscription"
reset_password_instructions:
action: "Changer mon mot de passe"
instruction: "Quelqu'un a demandé un lien pour changer votre mot de passe. Vous pouvez le faire via le lien ci-dessous."
ignore_otherwise: "Si vous n'êtes pas à l'origine de cette demande, merci d'ignorer ce message."
instruction: "Quelqu'un a demandé le changement de votre mot de passe. Vous pouvez le modifier via le lien ci-dessous."
ignore_otherwise: "S'il ne s'agit pas de vous, veillez ignorer ce mail."
subject: "Instructions pour changer le mot de passe"
unlock_instructions:
subject: "Instructions pour déverrouiller le compte"
@ -54,10 +53,10 @@ fr:
unlocked: "Votre compte a été débloqué avec succès. Veuillez vous connecter."
errors:
messages:
already_confirmed: "Cette adresse de courriel a déjà été confirmée."
already_confirmed: "Cet e-mail a déjà été confirmé, veuillez essayer de vous connecter."
confirmation_period_expired: "doit être confirmé(e) en %{period}, veuillez en demander un(e) autre"
expired: "est périmé, veuillez en demander un autre"
not_found: "Cette adresse de courriel n'est associée à aucun compte."
not_found: "Cet e-mail n'a pas été trouvé"
not_locked: "nétait pas verrouillé(e)"
not_saved:
one: "une erreur a empêché ce (ou cette) %{resource} dêtre enregistré(e) :"

View File

@ -1,5 +1,4 @@
# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
#Additional translations at https://github.com/plataformatec/devise/wiki/I18n
pt:
devise:
confirmations:
@ -15,17 +14,17 @@ pt:
not_found_in_database: "Email ou senha inválidos."
timeout: "Sua sessão expirou, faça login novamente para continuar."
unauthenticated: "Você precisa fazer login ou se registrar, antes de continuar."
unconfirmed: "Você precisa confirmar sua conta, antes de continuar. Por favor, clique no link abaixo do formulário."
unconfirmed: "You have to confirm your account before continuing. Please click on the link below the form."
mailer:
confirmation_instructions:
action:
instruction:
subject: "Instruções de confirmação"
action: "Confirm my email address"
instruction: "You can finalize your registration by confirming your email address. Please click on the following link:"
subject: "Confirmation instructions"
reset_password_instructions:
action:
instruction:
ignore_otherwise:
subject: "Instruções para redefinir sua senha"
action: "Change my password"
instruction: "Someone asked for a link to change your password. You can do it through the link below."
ignore_otherwise: "If you have not made this request, please ignore this message."
subject: "Reset password instructions"
unlock_instructions:
subject: "Instruções para desbloquear sua conta"
omniauth_callbacks:
@ -54,10 +53,10 @@ pt:
unlocked: "Sua conta foi desbloqueada com sucesso. Faça login para continuar."
errors:
messages:
already_confirmed: "Este email já foi confirmado."
already_confirmed: "This email was already confirmed, please try signing in."
confirmation_period_expired: "deve ser confirmada dentro de %{period}, por favor solicite uma nova"
expired: "expirado, por favor solicite uma nova"
not_found: "Este email não está associado a nenhuma conta."
not_found: "This email was not found"
not_locked: "não encontra-se bloqueada"
not_saved:
one: "1 erro impediu a gravação de %{resource} :"

View File

@ -1,6 +1,6 @@
en:
#subscription plan duration
duration:
# subscription plan duration
year:
one: 'one year'
other: '%{count} years'
@ -10,15 +10,9 @@ en:
week:
one: 'one week'
other: '%{count} weeks'
time:
formats:
# See http://apidock.com/ruby/DateTime/strftime for a list of available directives
hour_minute: "%I:%M %p"
errors: &errors
messages: &errors_messages
# CarrierWave
errors:
#CarrierWave
messages:
carrierwave_processing_error: "failed to be processed"
carrierwave_integrity_error: "is not of an allowed file type"
carrierwave_download_error: "could not be downloaded"
@ -42,38 +36,29 @@ en:
end_before_start: "The end date can't be before the start date. Pick a date after %{START}"
invalid_duration: "The allowed duration must be between 1 day and 1 year. Your period is %{DAYS} days long."
must_be_in_the_past: "The period must be strictly prior to today's date."
activemodel:
errors:
<<: *errors
apipie:
api_documentation: "API Documentation"
#error messages when importing an account from a SSO
omniauth:
# error messages when importing an account from a SSO
email_already_linked_to_another_account_please_input_your_authentication_code: "E-mail address \"%{OLD_MAIL}\" is already linked to another account, please input your authentication code."
your_username_is_already_linked_to_another_account_unable_to_update_it: "Your username (%{USERNAME}) is already linked to another account, unable to update it."
your_email_address_is_already_linked_to_another_account_unable_to_update_it: "Your e-mail address (%{EMAIL}) is already linked to another account, unable to update it."
this_account_is_already_linked_to_an_user_of_the_platform: "This %{NAME} account is already linked to an user of the platform."
#availability slots in the calendar
availabilities:
# availability slots in the calendar
not_available: "Not available"
i_ve_reserved: "I've reserved"
length_must_be_slot_multiple: "must be at least %{MIN} minutes after the start date"
must_be_associated_with_at_least_1_machine: "must be associated with at least 1 machine"
#members management
members:
# members management
unable_to_change_the_group_while_a_subscription_is_running: "Unable to change the group while a subscription is running"
please_input_the_authentication_code_sent_to_the_address: "Please input the authentication code sent to the e-mail address %{EMAIL}"
your_authentication_code_is_not_valid: "Your authentication code is not valid."
current_authentication_method_no_code: "The current authentication method does not require any migration code"
requested_account_does_not_exists: "The requested account does not exist"
#PDF invoices generation
invoices:
# PDF invoices generation
refund_invoice_reference: "Refund invoice reference: %{REF}"
invoice_reference: "Invoice reference: %{REF}"
code: "Code: %{CODE}"
@ -101,7 +86,7 @@ en:
one: "One %{NAME} ticket"
other: "%{count} %{NAME} tickets"
reservation_other: "Reservation (other)"
coupon_CODE_discount_of_DISCOUNT: "Coupon {CODE}: discount of {DISCOUNT}{TYPE, select, percent_off{%} other{}}" # messageFormat interpolation
coupon_CODE_discount_of_DISCOUNT: "Coupon {CODE}: discount of {DISCOUNT}{TYPE, select, percent_off{%} other{}}" #messageFormat interpolation
total_including_all_taxes: "Total incl. all taxes"
including_VAT_RATE: "Including VAT %{RATE}%"
including_total_excluding_taxes: "Including Total excl. taxes"
@ -119,12 +104,12 @@ en:
settlement_by_wallet: "Settlement by wallet"
on_DATE_at_TIME: "on %{DATE} at %{TIME},"
for_an_amount_of_AMOUNT: "for an amount of %{AMOUNT}"
on_DATE_from_START_to_END: "On %{DATE} from %{START} to %{END}" # eg: on feb. 7 from 7AM to 9AM
from_STARTDATE_to_ENDDATE_from_STARTTIME_to_ENDTIME: "From %{STARTDATE} to %{ENDDATE}, from %{STARTTIME} to %{ENDTIME}" # eg: from feb. 7 to feb. 10, from 6PM to 10PM
on_DATE_from_START_to_END: "On %{DATE} from %{START} to %{END}" #eg: on feb. 7 from 7AM to 9AM
from_STARTDATE_to_ENDDATE_from_STARTTIME_to_ENDTIME: "From %{STARTDATE} to %{ENDDATE}, from %{STARTTIME} to %{ENDTIME}" #eg: from feb. 7 to feb. 10, from 6PM to 10PM
subscription_of_NAME_for_DURATION_starting_from_DATE: "Subscription of %{NAME} for %{DURATION} starting from %{DATE}"
subscription_of_NAME_extended_starting_from_STARTDATE_until_ENDDATE: "Subscription of %{NAME} extended (Free days) starting from %{STARTDATE} until %{ENDDATE}"
and: 'and'
# CVS accounting export (columns headers)
accounting_export:
journal_code: "Journal code"
date: "Entry date"
@ -144,22 +129,19 @@ en:
Event_reservation: "event reserv."
Space_reservation: "space reserv."
wallet: "wallet"
#training availabilities
trainings:
# training availabilities
i_ve_reserved: "I've reserved"
completed: "Full"
#error messages when updating an event
events:
# error messages when updating an event
error_deleting_reserved_price: "Unable to delete the requested price because it is associated with some reservations"
other_error: "An unexpected error occurred while updating the event"
# event duration
#event duration
from_STARTDATE_to_ENDDATE: "From %{STARTDATE} to %{ENDDATE},"
from_STARTTIME_to_ENDTIME: "from %{STARTTIME} to %{ENDTIME}"
#members list export to EXCEL format
export_members:
# members list export to EXCEL format
members: "Members"
id: "ID"
surname: "Surname"
@ -190,9 +172,8 @@ en:
man: "Man"
woman: "Woman"
without_subscriptions: "Without subscriptions"
#machines/trainings/events reservations list to EXCEL format
export_reservations:
# machines/trainings/events reservations list to EXCEL format
reservations: "Reservations"
customer_id: "Customer ID"
customer: "Customer"
@ -204,9 +185,8 @@ en:
payment_method: "Payment method"
local_payment: "Payment at the reception"
online_payment: "Online payment"
#subscriptions list export to EXCEL format
export_subscriptions:
# subscriptions list export to EXCEL format
subscriptions: "Subscriptions"
id: "ID"
customer: "Customer"
@ -219,9 +199,8 @@ en:
payment_method: "Payment method"
local_payment: "Payment at the reception"
online_payment: "Online payment"
#reservation slots export, by type, to EXCEL format
export_availabilities:
# reservation slots export, by type, to EXCEL format
machines: "Machines"
trainings: "Trainings"
spaces: "Spaces"
@ -235,10 +214,9 @@ en:
event: "Event"
reservations: "Reservations"
available_seats: "Available seats"
api:
#internal app notifications
notifications:
# internal app notifications
deleted_user: "Deleted user"
notify_admin_abuse_reported:
an_abuse_was_reported_on_TYPE_ID_NAME_html: "An abuse was reported on <strong>%{TYPE} %{ID}: <em>%{NAME}</em></strong>."
@ -255,15 +233,15 @@ en:
notify_admin_subscription_canceled:
USER_s_subscription_has_been_cancelled: "%{USER}'s subscription has been cancelled."
notify_admin_subscription_extended:
subscription_PLAN_of_the_member_USER_has_been_extended_FREE_until_DATE_html: "Subscription <strong><em>{PLAN}</em></strong> of the member <strong><em>{USER}</strong></em> has been extended {FREE, select, true{for free} other{}} until {DATE}." # messageFormat interpolation
subscription_PLAN_of_the_member_USER_has_been_extended_FREE_until_DATE_html: "Subscription <strong><em>{PLAN}</em></strong> of the member <strong><em>{USER}</strong></em> has been extended {FREE, select, true{for free} other{}} until {DATE}." #messageFormat interpolation
notify_admin_subscription_is_expired:
USER_s_subscription_has_expired: "%{USER}'s subscription has expired."
notify_admin_subscription_will_expire_in_7_days:
USER_s_subscription_will_expire_in_7_days: "%{USER}'s subscription will expire in 7 days."
notify_admin_user_group_changed:
user_NAME_changed_his_group_html: "User <strong><em>{NAME}</strong></em> changed {GENDER, select, true{his} other{her}} group." # messageFormat interpolation
user_NAME_changed_his_group_html: "User <strong><em>{NAME}</strong></em> changed {GENDER, select, true{his} other{her}} group." #messageFormat interpolation
notify_admin_user_merged:
user_NAME_has_merged_his_account_with_the_one_imported_from_PROVIDER_UID_html: "User <strong><em>{NAME}</strong></em> has merged {GENDER, select, true{his} other{her}} account with the one imported from <strong><em>{PROVIDER} </strong> ({UID})</em>." # messageFormat interpolation
user_NAME_has_merged_his_account_with_the_one_imported_from_PROVIDER_UID_html: "User <strong><em>{NAME}</strong></em> has merged {GENDER, select, true{his} other{her}} account with the one imported from <strong><em>{PROVIDER} </strong> ({UID})</em>." #messageFormat interpolation
notify_admin_when_project_published:
project_NAME_has_been_published_html: "Project <a href='/#!/projects/%{ID}'><strong><em>%{NAME}<em></strong></a> has been published."
notify_admin_when_user_is_created:
@ -285,7 +263,7 @@ en:
notify_member_subscription_canceled:
your_subscription_PLAN_was_successfully_cancelled_html: "Your subscription <strong><em>%{PLAN}</em></strong> was successfully cancelled."
notify_member_subscription_extended:
your_subscription_PLAN_has_been_extended_FREE_until_DATE_html: "Your subscription <strong><em>{PLAN}</em></strong> has been extended {FREE, select, true{for free} other{}} until {DATE}." # messageFormat interpolation
your_subscription_PLAN_has_been_extended_FREE_until_DATE_html: "Your subscription <strong><em>{PLAN}</em></strong> has been extended {FREE, select, true{for free} other{}} until {DATE}." #messageFormat interpolation
notify_member_subscription_is_expired:
your_subscription_has_expired: "Your subscription has expired."
notify_member_subscription_will_expire_in_7_days:
@ -351,9 +329,8 @@ en:
click_to_show: "Click here to consult"
notify_admin_refund_created:
refund_created: "A refund of %{AMOUNT} has been created for user %{USER}"
#statistics tools for admins
statistics:
# statistics tools for admins
subscriptions: "Subscriptions"
machines_hours: "Machines slots"
spaces: "Spaces"
@ -379,9 +356,8 @@ en:
revenue: "Revenue"
account_creation: "Account creation"
project_publication: "Project publication"
#statistics exports to the excel file format
export:
# statistics exports to the excel file format
entries: "Entries"
revenue: "Revenue"
average_age: "Average Age"
@ -395,12 +371,10 @@ en:
type: "Type"
male: "Man"
female: "Woman"
#initial price's category for events, created to replace the old "reduced amount" property
price_category:
# initial price's category for events, created to replace the old "reduced amount" property
reduced_fare: "Reduced fare"
reduced_fare_if_you_are_under_25_student_or_unemployed: "Reduced fare if you are under 25, student or unemployed."
group:
# name of the user's group for administrators
#name of the user's group for administrators
admins: 'Administrators'

View File

@ -1,6 +1,6 @@
es:
#subscription plan duration
duration:
# subscription plan duration
year:
one: 'un año'
other: '%{count} años'
@ -10,26 +10,20 @@ es:
week:
one: 'una semana'
other: '%{count} semanas'
time:
formats:
# See http://apidock.com/ruby/DateTime/strftime for a list of available directives
hour_minute: "%I:%M %p"
errors: &errors
messages: &errors_messages
# CarrierWave
carrierwave_processing_error: "falló al procesar"
errors:
#CarrierWave
messages:
carrierwave_processing_error: "no se pudo procesar"
carrierwave_integrity_error: "es un tipo de archivo no permitido"
carrierwave_download_error: "no pudo ser descargado"
extension_white_list_error: "No puede subir archivos de extensión %{extension}, tipos permitidos: %{allowed_types}"
extension_black_list_error: "No puede subir archivos de extensión %{extension}, tipos prohibidos: %{prohibited_types}"
extension_white_list_error: "No puede subir archivos con extensión %{extension}, tipos permitidos: %{allowed_types}"
extension_black_list_error: "No puede subir archivos con extensión %{extension}, tipos prohibidos: %{prohibited_types}"
rmagick_processing_error: "Error al manipular con rmagick, ¿Está seguro de que el archivo es una imagen? Error original: %{e}"
mime_types_processing_error: "Error al procesar archivo con MIME::Types, puede ser que el contenido no sea válido. Error original: %{e}"
mini_magick_processing_error: "Error al editar con MiniMagick, ¿Está seguro de que el archivo es una imagen? Error original: %{e}"
wrong_size: "es de tamaño incorrecto (debería ser de %{file_size})"
size_too_small: "es demasiado pequeño (debería ser de minimo %{file_size})"
size_too_big: "es demasiado grande (debería ser de maximo %{file_size})"
size_too_big: "es demasiado grande (deberia ser de maximo %{file_size})"
export_not_found: "La exportación solicitada no se encontró. Probablemente fue borrada, por favor, genere una nueva exportación."
percentage_out_of_range: "El porcentaje debe estar incluido entre 0 y 100"
cannot_be_blank_at_same_time: "no puede estar vacío cuando %{field} también está vacío"
@ -42,38 +36,29 @@ es:
end_before_start: "La fecha de fin no puede ser anterior a la fecha de inicio. Elija una fecha posterior a %{START}"
invalid_duration: "La duración permitida es de 1 día a 1 año. Su período es %{DAYS} días de largo."
must_be_in_the_past: "El período debe ser estrictamente anterior a la fecha de hoy."
activemodel:
errors:
<<: *errors
apipie:
api_documentation: "Documentación API"
#error messages when importing an account from a SSO
omniauth:
# error messages when importing an account from a SSO
email_already_linked_to_another_account_please_input_your_authentication_code: "El correo electrónico \"%{OLD_MAIL}\" ya está ligado a otra cuenta, ingrese su código de autenticación."
your_username_is_already_linked_to_another_account_unable_to_update_it: "Su nombre de usuario (%{USERNAME}) ya está ligado a otra cuenta, no se puede actualizar."
your_email_address_is_already_linked_to_another_account_unable_to_update_it: "Your e-mail address (%{EMAIL}) ya está ligado a otra cuenta, no se puede actualizar."
this_account_is_already_linked_to_an_user_of_the_platform: "Esta cuenta %{NAME} ya está ligada a un usuario de la plataforma."
#availability slots in the calendar
availabilities:
# availability slots in the calendar
not_available: "No disponible"
i_ve_reserved: "He reservado"
length_must_be_slot_multiple: "Debe ser al menos %{MIN} minutos después de la fecha de inicio"
must_be_associated_with_at_least_1_machine: "debe estar asociado con al menos 1 máquina"
#members management
members:
# members management
unable_to_change_the_group_while_a_subscription_is_running: "No se puede cambiar de grupo mientras haya una suscripción en curso"
please_input_the_authentication_code_sent_to_the_address: "Por favor Ingrese el código de autenticación enviado a la dirección de correo electrónico %{EMAIL}"
your_authentication_code_is_not_valid: "Su código de autenticación no es válido."
current_authentication_method_no_code: "El método de autenticación actual no requiere ningún código de migración"
requested_account_does_not_exists: "La cuenta solicitada no existe"
#PDF invoices generation
invoices:
# PDF invoices generation
refund_invoice_reference: "Referencia de la factura de reembolso: %{REF}"
invoice_reference: "Referencia de factura: %{REF}"
code: "Código: %{CODE}"
@ -124,7 +109,7 @@ es:
subscription_of_NAME_for_DURATION_starting_from_DATE: "Suscripción %{NAME} por %{DURATION} empezando desde %{DATE}"
subscription_of_NAME_extended_starting_from_STARTDATE_until_ENDDATE: "Subscripción de %{NAME} extendida (días gratuitos) empezando desde %{STARTDATE} hasta %{ENDDATE}"
and: 'y'
#CVS accounting export (columns headers)
accounting_export:
journal_code: "Código de registro"
date: "Fecha contable"
@ -144,22 +129,19 @@ es:
Event_reservation: "reserv. evento"
Space_reservation: "reserv. espacio"
wallet: "cartera"
#training availabilities
trainings:
# training availabilities
i_ve_reserved: "Reservé"
completed: "Lleno"
#error messages when updating an event
events:
# error messages when updating an event
error_deleting_reserved_price: "No se puede eliminar el precio solicitado porque está asociado con algunas reservas."
other_error: "Se ha producido un error inesperado al actualizar el evento."
# event duration
#event duration
from_STARTDATE_to_ENDDATE: "Del %{STARTDATE} al %{ENDDATE},"
from_STARTTIME_to_ENDTIME: "de %{STARTTIME} a %{ENDTIME}"
#members list export to EXCEL format
export_members:
# members list export to EXCEL format
members: "Miembros"
id: "ID"
surname: "Apellido"
@ -190,9 +172,8 @@ es:
man: "hombre"
woman: "mujer"
without_subscriptions: "Sin suscripciones"
#machines/trainings/events reservations list to EXCEL format
export_reservations:
# machines/trainings/events reservations list to EXCEL format
reservations: "Reservas"
customer_id: "Identificación del cliente"
customer: "Cliente"
@ -204,9 +185,8 @@ es:
payment_method: "Método de pago"
local_payment: "Pago en recepción"
online_payment: "Pago online"
#subscriptions list export to EXCEL format
export_subscriptions:
# subscriptions list export to EXCEL format
subscriptions: "Suscripciones"
id: "ID"
customer: "Cliente"
@ -219,9 +199,8 @@ es:
payment_method: "Método de pago"
local_payment: "Pago en recepción"
online_payment: "Pago en línea"
#reservation slots export, by type, to EXCEL format
export_availabilities:
# reservation slots export, by type, to EXCEL format
machines: "Máquinas"
trainings: "Formaciones"
spaces: "Espacios"
@ -235,10 +214,9 @@ es:
event: "Evento"
reservations: "Reservas"
available_seats: "Asientos disponibles"
api:
#internal app notifications
notifications:
# internal app notifications
deleted_user: "Usuario eliminado"
notify_admin_abuse_reported:
an_abuse_was_reported_on_TYPE_ID_NAME_html: "Un abuso ha sido reportado <strong>%{TYPE} %{ID}: <em>%{NAME}</em></strong>."
@ -351,9 +329,8 @@ es:
click_to_show: "Haga clic aquí para consultar"
notify_admin_refund_created:
refund_created: "Se ha creado un reembolso de %{AMOUNT} para el usuario %{USER}"
#statistics tools for admins
statistics:
# statistics tools for admins
subscriptions: "Suscripciones"
machines_hours: "Machine slots"
spaces: "Espacios"
@ -379,9 +356,8 @@ es:
revenue: "Ingresos"
account_creation: "Creación de cuenta"
project_publication: "Publicación de proyectos"
#statistics exports to the excel file format
export:
# statistics exports to the excel file format
entries: "Entradas"
revenue: "Ingresos"
average_age: "Edad media"
@ -395,12 +371,10 @@ es:
type: "Tipo"
male: "Hombre"
female: "Mujer"
#initial price's category for events, created to replace the old "reduced amount" property
price_category:
# initial price's category for events, created to replace the old "reduced amount" property
reduced_fare: "Tarifa reducida"
reduced_fare_if_you_are_under_25_student_or_unemployed: "Tarifa reducida si tienes menos de 25 años, eres estudiante o estás desempleado."
group:
# name of the user's group for administrators
#name of the user's group for administrators
admins: 'Administradores'

View File

@ -1,6 +1,6 @@
fr:
#subscription plan duration
duration:
# durée d'une formule d'abonnement
year:
one: 'un an'
other: '%{count} ans'
@ -10,15 +10,9 @@ fr:
week:
one: 'une semaine'
other: '%{count} semaines'
time:
formats:
# Liste des directives disponibles sur http://apidock.com/ruby/DateTime/strftime
hour_minute: "%H:%M"
errors: &errors
messages: &errors_messages
# CarrierWave
errors:
#CarrierWave
messages:
carrierwave_processing_error: "n'a pas pu être traité"
carrierwave_integrity_error: "n'est pas d'un type de fichier autorisé"
carrierwave_download_error: "ne peut pas être téléchargé"
@ -27,9 +21,9 @@ fr:
rmagick_processing_error: "La manipulation avec rmagick a échoué, peut-être ne s'agit-il pas d'une image ? Erreur d'origine : %{e}"
mime_types_processing_error: "Le traitement avec MIME::Types a échoué, le content-type est-il correct ? Erreur d'origine : %{e}"
mini_magick_processing_error: "La manipulation avec MiniMagick a échoué, peut-être ne s'agit-il pas d'une image ? Erreur d'origine : %{e}"
wrong_size: "ne fait pas la taille du fichier (doit comporter %{file_size})"
size_too_small: "est trop petite (au moins %{file_size})"
size_too_big: "est trop grande (pas plus de %{file_size})"
wrong_size: "ne fait pas la bonne taille (doit comporter %{file_size})"
size_too_small: "est trop petit (au moins %{file_size})"
size_too_big: "est trop grand (pas plus de %{file_size})"
export_not_found: "L'export demandé n'a pas été trouvé. Il a probablement été supprimé, veuillez lancer la génération d'un nouvel export."
percentage_out_of_range: "Le pourcentage doit être inclus entre 0 et 100"
cannot_be_blank_at_same_time: "ou %{field} doit être rempli(e)"
@ -42,38 +36,29 @@ fr:
end_before_start: "La date de fin ne peut pas être antérieure à la date de début. Choisissez une date après le %{START}"
invalid_duration: "La durée doit être comprise entre 1 jour et 1 an. Votre période dure %{DAYS} jours."
must_be_in_the_past: "La période doit être strictement antérieure à la date du jour."
activemodel:
errors:
<<: *errors
apipie:
api_documentation: "Documentation de l'API"
#error messages when importing an account from a SSO
omniauth:
# messages d'erreur lors de l'import d'un compte depuis un SSO
email_already_linked_to_another_account_please_input_your_authentication_code: "L'adresse de courriel \"%{OLD_MAIL}\" est déjà associée à un compte utilisateur, merci de saisir votre code d'authentification."
your_username_is_already_linked_to_another_account_unable_to_update_it: "Votre nom d'utilisateur (%{USERNAME}) est déjà associée à un autre compte utilisateur, impossible de le mettre à jour."
your_email_address_is_already_linked_to_another_account_unable_to_update_it: "Votre adresse de courriel (%{EMAIL}) est déjà associée à un autre compte utilisateur, impossible de la mettre à jour."
this_account_is_already_linked_to_an_user_of_the_platform: "Ce compte %{NAME} est déjà lié à un utilisateur de la plate-forme."
#availability slots in the calendar
availabilities:
# créneaux de disponibilité dans le calendrier
not_available: "Non disponible"
i_ve_reserved: "J'ai réservé"
length_must_be_slot_multiple: "doit être au moins %{MIN} minutes après la date de début"
must_be_associated_with_at_least_1_machine: "doit être associé avec au moins 1 machine"
#members management
members:
# gestion des membres
unable_to_change_the_group_while_a_subscription_is_running: "Impossible de changer le groupe tant qu'un abonnement est en cours"
please_input_the_authentication_code_sent_to_the_address: "Merci d'enter le code d'authentification qui a été envoyé à l'adresse de courriel %{EMAIL}"
your_authentication_code_is_not_valid: "Votre code d'authentification n'est pas valide."
current_authentication_method_no_code: "La méthode d'authentification actuelle ne requiert pas de code de migration"
requested_account_does_not_exists: "Le compte utilisateur demandé n'existe pas"
#PDF invoices generation
invoices:
# génération des factures en PDF
refund_invoice_reference: "Référence de l'avoir : %{REF}"
invoice_reference: "Référence facture : %{REF}"
code: "Code : %{CODE}"
@ -101,7 +86,7 @@ fr:
one: "Une place %{NAME}"
other: "%{count} places %{NAME}"
reservation_other: "Réservation (autre)"
coupon_CODE_discount_of_DISCOUNT: "Code {CODE} : remise de {DISCOUNT} {TYPE, select, percent_off{%} other{}}" # messageFormat interpolation
coupon_CODE_discount_of_DISCOUNT: "Code {CODE} : remise de {DISCOUNT} {TYPE, select, percent_off{%} other{}}" #messageFormat interpolation
total_including_all_taxes: "Total TTC"
including_VAT_RATE: "Dont TVA %{RATE}%"
including_total_excluding_taxes: "Dont total HT"
@ -119,12 +104,12 @@ fr:
settlement_by_wallet: "Règlement effectué par porte-monnaie"
on_DATE_at_TIME: "le %{DATE} à %{TIME},"
for_an_amount_of_AMOUNT: "pour un montant de %{AMOUNT}"
on_DATE_from_START_to_END: "Le %{DATE} de %{START} à %{END}" # eg: on feb. 7 from 7AM to 9AM
from_STARTDATE_to_ENDDATE_from_STARTTIME_to_ENDTIME: "Du %{STARTDATE} au %{ENDDATE}, de %{STARTTIME} à %{ENDTIME}" # eg: from feb. 7 to feb. 10, from 6PM to 10PM
on_DATE_from_START_to_END: "Le %{DATE} de %{START} à %{END}" #eg: on feb. 7 from 7AM to 9AM
from_STARTDATE_to_ENDDATE_from_STARTTIME_to_ENDTIME: "Du %{STARTDATE} au %{ENDDATE}, de %{STARTTIME} à %{ENDTIME}" #eg: from feb. 7 to feb. 10, from 6PM to 10PM
subscription_of_NAME_for_DURATION_starting_from_DATE: "Abonnement de %{NAME} pour %{DURATION} à compter du %{DATE}"
subscription_of_NAME_extended_starting_from_STARTDATE_until_ENDDATE: "Prolongement Abonnement (Jours gratuits) de %{NAME} à compter du %{STARTDATE} jusqu'au %{ENDDATE}"
and: 'et'
#CVS accounting export (columns headers)
accounting_export:
journal_code: "Code journal"
date: "Date écriture"
@ -144,22 +129,19 @@ fr:
Event_reservation: "réserv. évènement"
Space_reservation: "réserv. espace"
wallet: "porte-monnaie"
#training availabilities
trainings:
# disponibilités formations
i_ve_reserved: "J'ai réservé"
completed: "Complet"
#error messages when updating an event
events:
# messages d'erreur lors de la mise à jour d'un évènement
error_deleting_reserved_price: "Impossible de supprimer le tarif demandé car il est associé à des réservations"
other_error: "Une erreur inattendue est survenue lors de la mise à jour de l'évènement"
# durée d'un évènement
#event duration
from_STARTDATE_to_ENDDATE: "Du %{STARTDATE} au %{ENDDATE},"
from_STARTTIME_to_ENDTIME: "de %{STARTTIME} à %{ENDTIME}"
#members list export to EXCEL format
export_members:
# export de la liste des members au format EXCEL
members: "Membres"
id: "ID"
surname: "Nom"
@ -190,9 +172,8 @@ fr:
man: "Homme"
woman: "Femme"
without_subscriptions: "Sans Abonnement"
#machines/trainings/events reservations list to EXCEL format
export_reservations:
# export de la liste des réservations machines/formations/évènements au format EXCEL
reservations: "Réservations"
customer_id: "ID client"
customer: "Client"
@ -204,9 +185,8 @@ fr:
payment_method: "Méthode de paiement"
local_payment: "Paiement à l'accueil"
online_payment: "Paiement en ligne"
#subscriptions list export to EXCEL format
export_subscriptions:
# export de la liste des abonnements au format EXCEL
subscriptions: "Abonnements"
id: "ID"
customer: "Client"
@ -219,9 +199,8 @@ fr:
payment_method: "Méthode de paiement"
local_payment: "Paiement à l'accueil"
online_payment: "Paiement en ligne"
#reservation slots export, by type, to EXCEL format
export_availabilities:
# export des listes de créneaux de réservations, par type, au format EXCEL
machines: "Machines"
trainings: "Formations"
spaces: "Espaces"
@ -235,10 +214,9 @@ fr:
event: "Évènement"
reservations: "Réservations"
available_seats: "Places disponibles"
api:
#internal app notifications
notifications:
# notifications internes à l'application
deleted_user: "Utilisateur supprimé"
notify_admin_abuse_reported:
an_abuse_was_reported_on_TYPE_ID_NAME_html: "Un abus a été signalé sur <strong>%{TYPE} %{ID} : <em>%{NAME}</em></strong>."
@ -255,15 +233,15 @@ fr:
notify_admin_subscription_canceled:
USER_s_subscription_has_been_cancelled: "L'abonnement de %{USER} a été annulé."
notify_admin_subscription_extended:
subscription_PLAN_of_the_member_USER_has_been_extended_FREE_until_DATE_html: "L'abonnement <strong><em>{PLAN}</em></strong> du membre <strong><em>{USER}</strong></em> a été prolongé {FREE, select, true{gratuitement} other{}} jusqu'au {DATE}." # messageFormat interpolation
subscription_PLAN_of_the_member_USER_has_been_extended_FREE_until_DATE_html: "L'abonnement <strong><em>{PLAN}</em></strong> du membre <strong><em>{USER}</strong></em> a été prolongé {FREE, select, true{gratuitement} other{}} jusqu'au {DATE}." #messageFormat interpolation
notify_admin_subscription_is_expired:
USER_s_subscription_has_expired: "L'abonnement de %{USER} est arrivé à expiration."
notify_admin_subscription_will_expire_in_7_days:
USER_s_subscription_will_expire_in_7_days: "L'abonnement de %{USER} expire dans 7 jours."
notify_admin_user_group_changed:
user_NAME_changed_his_group_html: "L'utilisateur <strong><em>{NAME}</strong></em> a changé de groupe." # messageFormat interpolation
user_NAME_changed_his_group_html: "L'utilisateur <strong><em>{NAME}</strong></em> a changé de groupe." #messageFormat interpolation
notify_admin_user_merged:
user_NAME_has_merged_his_account_with_the_one_imported_from_PROVIDER_UID_html: "L'utilisateur <strong><em>{NAME}</strong></em> a fusionné son compte avec le compte importé depuis <strong><em>{PROVIDER} </strong> ({UID})</em>." # messageFormat interpolation
user_NAME_has_merged_his_account_with_the_one_imported_from_PROVIDER_UID_html: "L'utilisateur <strong><em>{NAME}</strong></em> a fusionné son compte avec le compte importé depuis <strong><em>{PROVIDER} </strong> ({UID})</em>." #messageFormat interpolation
notify_admin_when_project_published:
project_NAME_has_been_published_html: "Le projet <a href='/#!/projects/%{ID}'><strong><em>%{NAME}<em></strong></a> vient d'être publié."
notify_admin_when_user_is_created:
@ -285,7 +263,7 @@ fr:
notify_member_subscription_canceled:
your_subscription_PLAN_was_successfully_cancelled_html: "Votre abonnement <strong><em>%{PLAN}</em></strong> est bien annulé."
notify_member_subscription_extended:
your_subscription_PLAN_has_been_extended_FREE_until_DATE_html: "Votre abonnement <strong><em>{PLAN}</em></strong> a été prolongé {FREE, select, true{gratuitement} other{}} jusqu'au {DATE}." # messageFormat interpolation
your_subscription_PLAN_has_been_extended_FREE_until_DATE_html: "Votre abonnement <strong><em>{PLAN}</em></strong> a été prolongé {FREE, select, true{gratuitement} other{}} jusqu'au {DATE}." #messageFormat interpolation
notify_member_subscription_is_expired:
your_subscription_has_expired: "Votre abonnement est arrivé à expiration."
notify_member_subscription_will_expire_in_7_days:
@ -351,9 +329,8 @@ fr:
click_to_show: "Cliquez ici pour la consulter"
notify_admin_refund_created:
refund_created: "Un avoir de %{AMOUNT} a été généré pour l'utilisateur %{USER}"
#statistics tools for admins
statistics:
# outil de statistiques pour les administrateurs
subscriptions: "Abonnements"
machines_hours: "Créneaux machines"
spaces: "Espaces"
@ -379,9 +356,8 @@ fr:
revenue: "Chiffre d'affaires"
account_creation: "Création de compte"
project_publication: "Publication de projet"
#statistics exports to the excel file format
export:
# export des statistiques au format excel
entries: "Entrées"
revenue: "Chiffre d'affaires"
average_age: "Âge moyen"
@ -395,12 +371,10 @@ fr:
type: "Type"
male: "Homme"
female: "Femme"
#initial price's category for events, created to replace the old "reduced amount" property
price_category:
# catégorie initiale de prix pour les évènements, en remplacement de l'ancienne propriété "montant réduit"
reduced_fare: "Tarif réduit"
reduced_fare_if_you_are_under_25_student_or_unemployed: "Tarif réduit si vous avez moins de 25 ans, que vous êtes étudiant ou demandeur d'emploi."
group:
# nom du groupe utilisateur pour les administrateurs
#name of the user's group for administrators
admins: 'Administrateurs'

View File

@ -250,7 +250,7 @@ ach:
this_coupon_is_valid_USAGE_times_until_DATE_for_all_your_purchases: "crwdns4187:0USAGE={USAGE}crwdnd4187:0TYPE={TYPE}crwdnd4187:0DATE={DATE}crwdnd4187:0DATE={DATE}crwdne4187:0"
notify_admin_free_disk_space:
subject: "crwdns4189:0crwdne4189:0"
body: "crwdns4191:0%{THRESHOLD}crwdnd4191:0%{AVAILABLE}crwdne4191:0"
body: "crwdns20156:0%{THRESHOLD}crwdnd20156:0%{AVAILABLE}crwdne20156:0"
notify_admin_close_period_reminder:
subject: "crwdns4193:0crwdne4193:0"
body:

View File

@ -1,17 +1,16 @@
en:
layouts:
notifications_mailer:
see_you_later: "See you soon on {GENDER, select, neutral{} other{the}}" # messageFormat interpolation
see_you_later: "See you soon on {GENDER, select, neutral{} other{the}}" #messageFormat interpolation
sincerely: "Sincerely,"
signature: "The Fab Lab team."
do_not_reply: "Please do not reply to this email."
users_mailer:
notify_user_account_created:
subject: "Your FabLab account has been successfully created"
body:
hello: "Hello %{NAME},"
intro: "The FabLab team has just created an account for you, on {GENDER, select, neutral{} other{the}} {FABLAB} website:" # messageFormat interpolation
intro: "The FabLab team has just created an account for you, on {GENDER, select, neutral{} other{the}} {FABLAB} website:" #messageFormat interpolation
connection_parameters: "Here are your connection parameters:"
account_name: "Account name:"
password: "Password:"
@ -20,25 +19,21 @@ en:
to_use_platform: "To use the website, please"
logon_or_login: "create a new account or log in by clicking here."
token_if_link_problem: "If you experience issues with the link, you can enter the following code at your first connection attempt:"
notifications_mailer:
notify_user_user_group_changed:
subject: "Your have changed group"
body:
warning: "You have changed group. Inspections can be conducted at the lab to verify the legitimacy of this change."
notify_admin_user_group_changed:
subject: "A member has changed group"
body:
user_changed_group_html: "User <em><strong>%{NAME}</strong></em> has changed group."
previous_group: "Previous group:"
new_group: "New group:"
notify_admin_subscription_extended:
subject: "A subscription has been extended"
body:
subscription_extended_html: "Subscription <strong><em>{PLAN}</em></strong> for user <strong><em>{NAME}</strong></em> has been extended {FREE, select, true{for free} other{}} until {DATE}." # messageFormat interpolation
subscription_extended_html: "Subscription <strong><em>{PLAN}</em></strong> for user <strong><em>{NAME}</strong></em> has been extended {FREE, select, true{for free} other{}} until {DATE}." #messageFormat interpolation
notify_member_subscription_extended:
subject: "Your subscription plan has been extended"
body:
@ -46,111 +41,93 @@ en:
has_been_extended: "has been extended"
free: "for free"
until: "until"
notify_partner_subscribed_plan:
subject: "A subscription plan has been purchased"
body:
a_plan: "A subscription plan"
was_purchased_by_member: "has been purchased by user"
notify_admin_when_project_published:
subject: "A project has been published"
body:
new_project_published: "A new project has been published:"
notify_project_collaborator_to_valid:
subject: "Invitation to collaborate on a project"
body:
your_are_invited_to_take_part_in_a_project: "You are invited to join this project:"
to_accept_the_invitation_click_on_following_link: "To accept this invitation, please click on the following link:"
notify_project_author_when_collaborator_valid:
subject: "New collaborator in your project"
body:
the_member: "the user"
accepted_your_invitation_to_take_part_in_the_project: "has accepted your invitation to join your project:"
notify_user_training_valid:
subject: "Your training has been validated"
body:
your_training: "Your training"
has_been_validated: "has been validated"
notify_member_subscribed_plan:
subject: "Your subscription has been successfully purchased"
body:
plan_subscribed_html: "You have subscribed the plan: <strong><em>%{PLAN}</em></strong>."
rolling_subscription_stops_on: "Your subscription will end %{DURATION} after your first training. Otherwise, it will stop on %{DATE}."
subscription_stops_on: "Your subscription will end on %{DATE}."
notify_member_create_reservation:
subject: "Your reservation has been successfully saved"
body:
reservation_saved_html: "You reservation <strong><em>%{RESERVATION}</em></strong> has been successfully saved"
your_reserved_slots: "Your reserved slots are:"
notify_member_subscribed_plan_is_changed:
subject: "Your subscription has been updated"
body:
new_plan_html: "You have changed your plan to <strong><em>%{PLAN}</em></strong>."
notify_admin_member_create_reservation:
subject: "New reservation"
body:
member_reserved_html: "User %{NAME} has reserved <strong><em>%{RESERVABLE}</em></strong>."
reserved_slots: "Reserved slots are:"
notify_member_slot_is_modified:
subject: "Your reservation slot has been successfully changed"
body:
reservation_changed_to: "Your reservation slot has been changed to:"
previous_date: "Previous date:"
notify_admin_slot_is_modified:
subject: "A reservation slot has been modified"
body:
slot_modified: "User %{NAME} had modified his reservation slot"
new_date: "New slot"
old_date: "Previous slot"
notify_admin_when_user_is_created:
subject: "A user account has been created"
body:
new_account_created: "A new user account has been created on the website:"
account_for_organization: "This account manage an organization:"
notify_admin_subscribed_plan:
subject: "A subscription has been purchased"
body:
plan_subscribed_html: "A plan <strong><em>%{PLAN}</em></strong> has been subscribed by user <strong><em>%{NAME}</strong></em>."
notify_member_invoice_ready:
subject: "Your FabLab's invoice"
body:
please_find_attached_html: "Please find as attached file your invoice from {DATE}, with an amount of {AMOUNT} concerning your {TYPE, select, Reservation{reservation} other{subscription}}." # messageFormat interpolation
please_find_attached_html: "Please find as attached file your invoice from {DATE}, with an amount of {AMOUNT} concerning your {TYPE, select, Reservation{reservation} other{subscription}}." #messageFormat interpolation
invoice_in_your_dashboard_html: "You can access your invoice in %{DASHBOARD} on the Fab Lab website."
your_dashboard: "your dashboard"
notify_member_reservation_reminder:
subject: "Reservation reminder"
body:
this_is_a_reminder_about_your_reservation_RESERVABLE_to_be_held_on_DATE_html: "This is a reminder about your reservation <strong>%{RESERVABLE}</strong> to be held on <em>%{DATE}</em>"
this_reservation_concerns_the_following_slots: "This reservation concerns the following slots:"
notify_member_avoir_ready:
subject: "Your FabLab's refund invoice"
body:
please_find_attached_html: "Please find as attached file your refund invoice from {DATE}, with an amount of {AMOUNT} concerning your {TYPE, select, Reservation{reservation} WalletTransaction{wallet credit} other{subscription}}." # messageFormat interpolation
please_find_attached_html: "Please find as attached file your refund invoice from {DATE}, with an amount of {AMOUNT} concerning your {TYPE, select, Reservation{reservation} WalletTransaction{wallet credit} other{subscription}}." #messageFormat interpolation
invoice_in_your_dashboard_html: "You can access your refund invoice in %{DASHBOARD} on the Fab Lab website."
your_dashboard: "your dashboard"
notify_member_subscription_will_expire_in_7_days:
subject: "Your subscription expires in 7 days"
body:
your_plan: "you plan"
expires_in_7_days: "will expire in 7 days."
to_renew_your_plan_follow_the_link: "Please, follow this link to renew your plan"
notify_member_subscription_is_expired:
subject: "Your subscription has expired"
body:
@ -158,41 +135,34 @@ en:
has_expired: "has expired."
you_can_go_to: "Please go to"
to_renew_your_plan: "to renew you plan"
notify_admin_subscription_will_expire_in_7_days:
subject: "A member subscription expires in 7 days"
body:
subscription_will_expire_html: "Subscription plan for user %{NAME} <strong><em>%{PLAN}</em></strong> will expire in 7 days."
notify_admin_subscription_is_expired:
subject: "A member subscription has expired"
body:
subscription_expired_html: "Subscription plan for user %{NAME} <strong><em>%{PLAN}</em></strong> is now expired."
notify_admin_subscription_canceled:
subject: "A member subscription has been cancelled"
body:
subscription_canceled_html: "Subscription <strong><em>%{PLAN}</em></strong> for user %{NAME} has been cancelled."
notify_member_subscription_canceled:
subject: "Your subscription has been cancelled"
body:
your_plan_was_canceled: "Your subscription plan has been cancelled."
your_plan: "your subscription plan"
end_at: "ends on"
notify_member_slot_is_canceled:
subject: "Your reservation has been canceled"
body:
reservation_canceled: "Your reservation for %{RESERVABLE} has been canceled"
notify_admin_slot_is_canceled:
subject: "A reservation has been cancelled"
body:
member_cancelled: "User %{NAME} has cancelled his reservation"
item_details: "%{START} - %{END}, concerning %{RESERVABLE}"
generate_refund: "Do not forget to generate a credit note or a refund for this cancellation."
notify_admin_when_user_is_imported:
subject: "A user account has been imported from the SSO"
body:
@ -201,12 +171,10 @@ en:
known_information: "Here is what we know about this provider:"
address_already_used: "This address is already associated with another user"
no_more_info_available: "No other info about this user can be provided before he completes his profile."
notify_user_profile_complete:
subject: "You now have access to the whole website"
body:
message: "Your account informations has been correctly updated, you now have access to the whole website."
notify_user_auth_migration:
subject: "Important change to your FabLab account"
body:
@ -218,20 +186,17 @@ en:
create_an_account_on: "create an account on"
or_use_an_existing_account_clicking_here: "or use an existing account by clicking here"
in_case_of_problem_enter_the_following_code: "In case of problem with this link, you can enter the following code at your first connection attempt in order to migrate your actual account into the new authentification system:"
notify_admin_user_merged:
subject: "An imported account has been merged with an existing account"
body:
imported_account_merged: "A previously imported user account via %{PROVIDER) has been merged with the existing account %{NAME}"
provider_uid: "its provider ID is:"
notify_admin_profile_complete:
subject: "An imported account has completed its profile"
body:
account_completed: "An user account has completed its profile:"
imported_account_completed: "An user account, previously imported through %{PROVIDER}, has completed its profile:"
provider_id: "its provider ID is:"
notify_admin_abuse_reported:
subject: "An abusive content has been reported"
body:
@ -241,17 +206,14 @@ en:
signaled_on: "flagged on:"
message: "Message:"
visit_management_interface: "Refer to the Reporting Management Interface for more information."
notify_user_wallet_is_credited:
subject: "Your wallet has been credited"
body:
wallet_credit_html: "Your wallet has been credited %{AMOUNT} by administrator."
notify_admin_user_wallet_is_credited:
subject: "The wallet of an user has been credited"
body:
wallet_credit_html: "The wallet of member %{USER} has been credited %{AMOUNT} by administrator %{ADMIN}."
notify_admin_export_complete:
subject: "Export completed"
body:
@ -274,31 +236,26 @@ en:
file_type:
xlsx: "Excel"
csv: "CSV"
notify_admin_import_complete:
subject: "Import completed"
body:
you_made_an_import: "You have initiated an import %{CATEGORY}"
category_members: "of the members"
click_to_view_results: "Click here to view results"
notify_member_about_coupon:
subject: "Coupon"
body:
enjoy_a_discount_of_PERCENT_with_code_CODE: "Enjoy a discount of %{PERCENT}% on the whole site with the code %{CODE}."
enjoy_a_discount_of_AMOUNT_with_code_CODE: "Enjoy a discount of %{AMOUNT} on the whole site with the code %{CODE}."
this_coupon_is_valid_USAGE_times_until_DATE_for_all_your_purchases: "This coupon is valid {USAGE, plural, =1{just once} other{many times}}: for all your purchases {TYPE, select, amount_off{at least equal to the amount of the coupon} other{}}, from now {DATE, select, NO-DATE{and without time limit} other{and until {DATE}}}."
notify_admin_free_disk_space:
subject: "Low disk space"
body: "Warning: available disk space on the server hosting Fab-manager is less than %{THRESHOLD} MiB. This can affect its operation and prevent saving some data. Currently, %{AVAILABLE} MiB of free disk space remains available on the mount point."
notify_admin_close_period_reminder:
subject: "Remind to close your accounting periods"
body:
warning_last_closed_period_over_1_year: "Please remind to periodically close your accounting periods. Last closed period ended at %{LAST_END}."
warning_no_closed_periods: "Please remind to periodically close your accounting periods. You have to close periods from %{FIRST_DATE}."
notify_admin_archive_complete:
subject: "Archiving completed"
body:
@ -306,18 +263,15 @@ en:
click_to_download: "To download the ZIP archive, click"
here: "here."
save_on_secured: "Remember that you must save this archive on a secured external support, which may be requested by the tax authorities during a check."
notify_privacy_policy_changed:
subject: "Privacy policy updated"
body:
content_html: "<p>We wish to inform you that we have just updated our privacy policy.</p><p>We may change our privacy policy regularly. In accordance with the regulations, you will receive a notification for each update.</p><p>By accessing or using our services after the privacy policy update, we will consider that you agree its terms, updates included.</p>"
link_to_policy: "Cliquez ici pour consultez la politique de confidentialité."
notify_admin_refund_created:
subject: "A refund has been generated"
body:
refund_created: "A refund of %{AMOUNT} has been generated on invoice %{INVOICE} of user %{USER}"
download: "Click here to download this refund invoice"
shared:
hello: "Hello %{user_name}"

View File

@ -1,17 +1,16 @@
es:
layouts:
notifications_mailer:
see_you_later: "Nos vemos pronto en {GENDER, select, male{el} female{la} neutral{} other{las}}" # messageFormat interpolation
see_you_later: "Nos vemos pronto en {GENDER, select, male{el} female{la} neutral{} other{las}}" #messageFormat interpolation
sincerely: "Atentamente,"
signature: "El equipo del FabLab."
do_not_reply: "Por favor no conteste a este mail."
users_mailer:
notify_user_account_created:
subject: "Tu cuenta FabLab se ha creado con éxito"
body:
hello: "Hola %{NAME},"
intro: "El equipo FabLab acaba de crear una cuenta para ti, en la web {GENDER, select, male{del} female{de la} neutral{de} other{de las}} {FABLAB}" # messageFormat interpolation
intro: "El equipo FabLab acaba de crear una cuenta para ti, en la web {GENDER, select, male{del} female{de la} neutral{de} other{de las}} {FABLAB}" #messageFormat interpolation
connection_parameters: "Estos son los datos asociados a tu cuenta:"
account_name: "Nombre de usuario:"
password: "Contraseña:"
@ -20,25 +19,21 @@ es:
to_use_platform: "Para usar el sitio web, por favor"
logon_or_login: "crea una nueva cuenta o inicia sesión haciendo clic aquí."
token_if_link_problem: "Si experimenta problemas con el enlace, puede introducir el siguiente código en el primer intento de conexión:"
notifications_mailer:
notify_user_user_group_changed:
subject: "Tu has cambiado grupo"
body:
warning: "Has cambiado de grupo. Se pueden realizar inspecciones en el laboratorio para verificar la legitimidad de este cambio.."
notify_admin_user_group_changed:
subject: "Un miembro ha cambiado de grupo."
body:
user_changed_group_html: "El usuario <em><strong>%{NAME}</strong></em> ha cambiado de grupo."
previous_group: "Grupo anterior:"
new_group: "Nuevo grupo:"
notify_admin_subscription_extended:
subject: "Una suscripción ha sido extendida"
body:
subscription_extended_html: "La suscripción <strong><em>{PLAN}</em></strong> del usuario <strong><em>{NAME}</strong></em> ha sido extendida {FREE, select, true{for free} other{}} until {DATE}." # messageFormat interpolation
subscription_extended_html: "La suscripción <strong><em>{PLAN}</em></strong> del usuario <strong><em>{NAME}</strong></em> ha sido extendida {FREE, select, true{for free} other{}} until {DATE}." #messageFormat interpolation
notify_member_subscription_extended:
subject: "Su suscripción ha sido extendida"
body:
@ -46,111 +41,93 @@ es:
has_been_extended: "ha sido extendida"
free: "gratuitamente"
until: "hasta"
notify_partner_subscribed_plan:
subject: "Ha adquirido un plan de suscripción"
body:
a_plan: "Un plan de suscripción"
was_purchased_by_member: "ha sido adquirido por el usuario"
notify_admin_when_project_published:
subject: "Un proyecto ha sido publicado"
body:
new_project_published: "Un nuevo proyecto ha sido publicado:"
notify_project_collaborator_to_valid:
subject: "Invitación de colaboración a un proyecto"
body:
your_are_invited_to_take_part_in_a_project: "Ha sido invitado a colaborar en el proyecto:"
to_accept_the_invitation_click_on_following_link: "Para aceptar la invitación por favor haga clic en el siguiente enlace:"
notify_project_author_when_collaborator_valid:
subject: "Nuevo colaborador en tu proyecto"
body:
the_member: "El usuario"
accepted_your_invitation_to_take_part_in_the_project: "ha aceptado unirse a tu proyecto:"
notify_user_training_valid:
subject: "Su curso ha sido validado"
body:
your_training: "Su curso"
has_been_validated: "Ha sido validado"
notify_member_subscribed_plan:
subject: "Su suscripción ha sido correctamente comprada"
body:
plan_subscribed_html: "Se ha suscrito al plan: <strong><em>%{PLAN}</em></strong>."
rolling_subscription_stops_on: "Su suscripción terminará %{DURATION} después de su primer entrenamiento. De lo contrario, se detendrá el %{DATE}."
subscription_stops_on: "Su suscripción terminará el %{DATE}."
notify_member_create_reservation:
subject: "Su reserva se ha registrado correctamente"
body:
reservation_saved_html: "Su reserva <strong><em>%{RESERVATION}</em></strong> se ha registrado correctamente"
your_reserved_slots: "Sus espacios reservados son:"
notify_member_subscribed_plan_is_changed:
subject: "Su suscripción ha sido actualizada"
body:
new_plan_html: "Ha cambiado su plan a <strong><em>%{PLAN}</em></strong>."
notify_admin_member_create_reservation:
subject: "Nueva reserva"
body:
member_reserved_html: "El usuario %{NAME} ha reservado <strong><em>%{RESERVABLE}</em></strong>."
reserved_slots: "Los espacios de reserva están aquí:"
notify_member_slot_is_modified:
subject: "Su espacio de reserva ha sido cambiado correctamente"
body:
reservation_changed_to: "Su espacio de reserva se ha cambiado a:"
previous_date: "Fecha anterior:"
notify_admin_slot_is_modified:
subject: "Un espacio de reservra ha sido modificado"
body:
slot_modified: "El usuario %{NAME} ha modificado su reserva"
new_date: "Nuevo espacio"
old_date: "Espacio anterior"
notify_admin_when_user_is_created:
subject: "Se ha creado una nueva cuenta"
body:
new_account_created: "Se ha creado un nuevo usuario en la web:"
account_for_organization: "Esta cuenta gestiona una organización :"
notify_admin_subscribed_plan:
subject: "Se ha adquirido un plan de suscripción"
body:
plan_subscribed_html: "Un plan de suscripción <strong><em>%{PLAN}</em></strong> ha sido adquirido por el usuario <strong><em>%{NAME}</strong></em>."
notify_member_invoice_ready:
subject: "La factura de su FabLab"
body:
please_find_attached_html: "Por favor, encuentre como archivo adjunto su factura de {DATE}, por un valor de {AMOUNT} referente a {TYPE, select, Reservation{reservation} other{subscription}}." # messageFormat interpolation
invoice_in_your_dashboard_html: "Puede acceder a su factura en %{DASHBOARD} en la web del FabLab."
please_find_attached_html: "Por favor, encuentre como archivo adjunto su factura de {DATE}, por un valor de {AMOUNT} referente a {TYPE, select, Reservation{reservation} other{subscription}}." #messageFormat interpolation
invoice_in_your_dashboard_html: "Puede acceder a su factura en %{DASHBOARD} en la web del FabLab."
your_dashboard: "Su Panel"
notify_member_reservation_reminder:
subject: "Recordatorio de reserva"
body:
this_is_a_reminder_about_your_reservation_RESERVABLE_to_be_held_on_DATE_html: "Este es un recordatorio sobre su reserva <strong>%{RESERVABLE}</strong> a realizarse en <em>%{DATE}</em>"
this_reservation_concerns_the_following_slots: "Esta reserva involucra los siguientes espacios:"
notify_member_avoir_ready:
subject: "Su factura de reembolso de FabLab"
body:
please_find_attached_html: "Por favor, encuentre como archivo adjunto su factura de reembolso de {DATE}, con una cantidad de {AMOUNT} referente a su {TYPE, select, Reservation{reservation} WalletTransaction{wallet credit} other{subscription}}." # messageFormat interpolation
please_find_attached_html: "Por favor, encuentre como archivo adjunto su factura de reembolso de {DATE}, con una cantidad de {AMOUNT} referente a su {TYPE, select, Reservation{reservation} WalletTransaction{wallet credit} other{subscription}}." #messageFormat interpolation
invoice_in_your_dashboard_html: "Puede acceder a su factura en %{DASHBOARD} en la web del FabLab."
your_dashboard: "Su panel"
notify_member_subscription_will_expire_in_7_days:
subject: "Su suscripción expira en 7 dias"
body:
your_plan: "su plan de suscripción"
expires_in_7_days: "expirará en 7 dias."
to_renew_your_plan_follow_the_link: "Por favor, haga clic en el siguiente enlace para renovar su suscripción"
notify_member_subscription_is_expired:
subject: "Su suscripción ha expirado"
body:
@ -158,41 +135,34 @@ es:
has_expired: "ha expirado."
you_can_go_to: "Por favor acceda a"
to_renew_your_plan: "para renovar su suscripción"
notify_admin_subscription_will_expire_in_7_days:
subject: "La suscripción de un miembre expira en 7 días"
body:
subscription_will_expire_html: "El plan de suscripción de %{NAME} <strong><em>%{PLAN}</em></strong> expirará en 7 días."
notify_admin_subscription_is_expired:
subject: "La suscripción de un miembro ha expirado"
body:
subscription_expired_html: "La suscripción del usuario %{NAME} <strong><em>%{PLAN}</em></strong> ha expirado."
notify_admin_subscription_canceled:
subject: "La suscripción de un miembro ha sido cancelada"
body:
subscription_canceled_html: "La suscripción <strong><em>%{PLAN}</em></strong> del usuario %{NAME} ha sido cancelada."
notify_member_subscription_canceled:
subject: "Su suscripción ha sido cancelada"
body:
your_plan_was_canceled: "Su suscripción ha sido cancelada."
your_plan: "Su suscripción"
end_at: "termina el"
notify_member_slot_is_canceled:
subject: "Su reserva ha sido cancelada"
body:
reservation_canceled: "Su reserva para %{RESERVABLE} ha sido cancelada"
notify_admin_slot_is_canceled:
subject: "Una reserva ha sido cancelada"
body:
member_cancelled: "El usuario %{NAME} ha cancelado una reserva"
item_details: "%{START} - %{END}, referido a %{RESERVABLE}"
generate_refund: "No olvide generar una nota de crédito o un reembolso por esta cancelación."
notify_admin_when_user_is_imported:
subject: "Una cuenta de usuario ha sido importada (SSO)"
body:
@ -201,12 +171,10 @@ es:
known_information: "Esto es lo que sabemos del proveedor:"
address_already_used: "Esta dirección ya está asociada con otro usuario."
no_more_info_available: "No se puede proporcionar ninguna otra información sobre este usuario antes de completar su perfil."
notify_user_profile_complete:
subject: "Ahora tienes acceso a nuestra web"
body:
message: "La información de su cuenta se ha actualizado correctamente, ahora tiene acceso a todo el sitio web."
notify_user_auth_migration:
subject: "Cambio importante a su cuenta FabLab"
body:
@ -218,20 +186,17 @@ es:
create_an_account_on: "cree una cuenta en"
or_use_an_existing_account_clicking_here: "o utilice una cuenta existente haciendo clic aquí"
in_case_of_problem_enter_the_following_code: "En caso de problemas con este enlace, puede ingresar el siguiente código en su primer intento de conexión para migrar su cuenta real al nuevo sistema de autenticación:"
notify_admin_user_merged:
subject: "Una cuenta importada se ha fusionado con una cuenta existente"
body:
imported_account_merged: "Una cuenta de usuario previamente importada vía %{PROVIDER) se ha fusionado con la cuenta existente %{NAME}"
provider_uid: "La identificación del proveedor es:"
notify_admin_profile_complete:
subject: "Una cuenta importada ha completado su perfil"
body:
account_completed: "Una cuenta de usuario importada previamente %{PROVIDER} ha completado su perfil:"
imported_account_completed: "An user account previously imported through %{PROVIDER} has just completed his/her profile data:"
provider_id: "su ID de proveedor es:"
notify_admin_abuse_reported:
subject: "Se ha informado un contenido abusivo"
body:
@ -241,17 +206,14 @@ es:
signaled_on: "marcado el:"
message: "Mensaje:"
visit_management_interface: "Refer to the Reporting Management Interface for more information."
notify_user_wallet_is_credited:
subject: "Your wallet has been credited"
body:
wallet_credit_html: "Se han ingresado %{AMOUNT} por el administrador."
notify_admin_user_wallet_is_credited:
subject: "Se han ingresado fondos en la cartera de un usuario"
body:
wallet_credit_html: "Se han ingresado %{AMOUNT} fondos en la cartera del usuario %{USER} por el administrador %{ADMIN}."
notify_admin_export_complete:
subject: "Exportación completada"
body:
@ -274,31 +236,26 @@ es:
file_type:
xlsx: "Excel"
csv: "CSV"
notify_admin_import_complete:
subject: "Import completed"
body:
you_made_an_import: "You have initiated an import %{CATEGORY}"
category_members: "of the members"
click_to_view_results: "Click here to view results"
notify_member_about_coupon:
subject: "Cupón"
body:
enjoy_a_discount_of_PERCENT_with_code_CODE: "Disfruta de un descuento del %{PERCENT}% en toda la web con el código %{CODE}."
enjoy_a_discount_of_AMOUNT_with_code_CODE: "Disfruta de un descuento de %{AMOUNT} en toda la web con el código %{CODE}."
enjoy_a_discount_of_AMOUNT_with_code_CODE: "Disfruta de un descuento de %{AMOUNT} en toda la web con el código %{CODE}."
this_coupon_is_valid_USAGE_times_until_DATE_for_all_your_purchases: "Este cupón es válido {USAGE, plural, =1{just once} other{many times}}: para todas tus compras {TYPE, select, amount_off{at least equal to the amount of the coupon} other{}}, desde ahora {DATE, select, NO-DATE{and without time limit} other{and until {DATE}}}."
notify_admin_free_disk_space:
subject: "Low disk space"
body: "Warning: available disk space on the server hosting Fab-manager is less than %{THRESHOLD} MiB. This can affect its operation and prevent saving some data. Currently, %{AVAILABLE} MiB of free disk space remains available on the mount point."
notify_admin_close_period_reminder:
subject: "Remind to close your accounting periods"
body:
warning_last_closed_period_over_1_year: "Please remind to periodically close your accounting periods. Last closed period ended at %{LAST_END}."
warning_no_closed_periods: "Please remind to periodically close your accounting periods. You have to close periods from %{FIRST_DATE}."
notify_admin_archive_complete:
subject: "Archiving completed"
body:
@ -306,18 +263,15 @@ es:
click_to_download: "To download the ZIP archive, click"
here: "here."
save_on_secured: "Remember that you must save this archive on a secured external support, which may be requested by the tax authorities during a check."
notify_privacy_policy_changed:
subject: "Privacy policy updated"
body:
content_html: "<p>We wish to inform you that we have just updated our privacy policy.</p><p>We may change our privacy policy regularly. In accordance with the regulations, you will receive a notification for each update.</p><p>By accessing or using our services after the privacy policy update, we will consider that you agree its terms, updates included.</p>"
link_to_policy: "Cliquez ici pour consultez la politique de confidentialité."
notify_admin_refund_created:
subject: "A refund has been generated"
body:
refund_created: "A refund of %{AMOUNT} has been generated on invoice %{INVOICE} of user %{USER}"
download: "Click here to download this refund invoice"
shared:
hello: "¡Hola %{user_name}!"

View File

@ -1,17 +1,16 @@
fr:
layouts:
notifications_mailer:
see_you_later: "A très bientôt sur {GENDER, select, male{le} female{la} neutral{} other{les}}" # messageFormat interpolation
see_you_later: "A très bientôt sur {GENDER, select, male{le} female{la} neutral{} other{les}}" #messageFormat interpolation
sincerely: "Cordialement,"
signature: "L'équipe du Fab Lab."
do_not_reply: "Merci de ne pas répondre directement à cet email."
users_mailer:
notify_user_account_created:
subject: "Votre compte Fab Lab a bien été créé"
body:
hello: "Bonjour %{NAME},"
intro: "Léquipe du Fab Lab vient de vous créer un compte sur le site {GENDER, select, male{du} female{de la} neutral{} other{des}} {FABLAB} :" # messageFormat interpolation
intro: "Léquipe du Fab Lab vient de vous créer un compte sur le site {GENDER, select, male{du} female{de la} neutral{} other{des}} {FABLAB} :" #messageFormat interpolation
connection_parameters: "Voici vos paramètres de connexion :"
account_name: "Nom de compte :"
password: "Mot de passe :"
@ -20,25 +19,21 @@ fr:
to_use_platform: "Pour pouvoir utiliser la plateforme, merci de vous"
logon_or_login: "créer un compte sur %{PROVIDER} ou utiliser un compte pré-existant en cliquant ici."
token_if_link_problem: "En cas de problème avec le lien, vous pourrez saisir manuellement le code suivant lors de votre première connexion :"
notifications_mailer:
notify_user_user_group_changed:
subject: "Vous avez changé de groupe"
body:
warning: "Vous venez de changer de groupe utilisateurs. Des contrôles pourront être opérés au Fab Lab afin de vérifier que ce changement est justifié."
notify_admin_user_group_changed:
subject: "Un membre a changé de groupe"
body:
user_changed_group_html: "L'utilisateur <em><strong>%{NAME}</strong></em> a changé de groupe."
previous_group: "Ancien groupe :"
new_group: "Nouveau groupe :"
notify_admin_subscription_extended:
subject: "Un abonnement a été prolongé"
body:
subscription_extended_html: "L'abonnement <strong><em>{PLAN}</em></strong> du membre <strong><em>{NAME}</strong></em> a été prolongé {FREE, select, true{gratuitment} other{}} jusqu'au {DATE}." # messageFormat interpolation
subscription_extended_html: "L'abonnement <strong><em>{PLAN}</em></strong> du membre <strong><em>{NAME}</strong></em> a été prolongé {FREE, select, true{gratuitment} other{}} jusqu'au {DATE}." #messageFormat interpolation
notify_member_subscription_extended:
subject: "Votre abonnement a été prolongé"
body:
@ -46,111 +41,93 @@ fr:
has_been_extended: "a été prolongé"
free: "gratuitement"
until: "jusqu'au"
notify_partner_subscribed_plan:
subject: "Un abonnement a été souscrit"
body:
a_plan: "Un abonnement"
was_purchased_by_member: "vient d'être souscrit par le membre"
notify_admin_when_project_published:
subject: "Un projet a été publié."
body:
new_project_published: "Un nouveau projet vient d'être publié :"
notify_project_collaborator_to_valid:
subject: "Invitation à collaborer sur un projet"
body:
your_are_invited_to_take_part_in_a_project: "Vous êtes invité à collaborer sur ce projet :"
to_accept_the_invitation_click_on_following_link: "Pour accepter cette invitation, il vous suffit de cliquer sur le lien suivant:"
notify_project_author_when_collaborator_valid:
subject: "Un nouveau collaborateur dans votre projet"
body:
the_member: "Le membre"
accepted_your_invitation_to_take_part_in_the_project: "a accepté votre demande de collaboration sur votre projet :"
notify_user_training_valid:
subject: "Votre formation a été validée"
body:
your_training: "Votre formation"
has_been_validated: "a bien été validée"
notify_member_subscribed_plan:
subject: "Votre abonnement a bien été souscrit"
body:
plan_subscribed_html: "Vous avez souscrit à l'abonnement : <strong><em>%{PLAN}</em></strong>."
rolling_subscription_stops_on: "Votre abonnement s'arrêtera automatiquement %{DURATION} après votre première formation. À défaut, il s'arrêtera le %{DATE}."
subscription_stops_on: "Votre abonnement s'arrêtera automatiquement le %{DATE}."
notify_member_create_reservation:
subject: "Votre réservation a bien été enregistrée"
body:
reservation_saved_html: "Votre réservation <strong><em>%{RESERVATION}</em></strong> a bien été enregistrée."
your_reserved_slots: "Les créneaux que vous avez réservés sont :"
notify_member_subscribed_plan_is_changed:
subject: "Votre abonnement a été mis à jour"
body:
new_plan_html: "Vous avez changé votre abonnement à <strong><em>%{PLAN}</em></strong>."
notify_admin_member_create_reservation:
subject: "Nouvelle réservation"
body:
member_reserved_html: "Le membre %{NAME} a réservé <strong><em>%{RESERVABLE}</em></strong>."
reserved_slots: "Les créneaux réservés sont :"
notify_member_slot_is_modified:
subject: "Votre créneau de réservation a bien été modifié"
body:
reservation_changed_to: "Votre créneau de réservation a bien été déplacé au :"
previous_date: "Ancienne date :"
notify_admin_slot_is_modified:
subject: "Un créneau de réservation a été modifié"
body:
slot_modified: "Le membre %{NAME} a modifié son créneau de réservation."
new_date: "Nouvelle date :"
old_date: "Ancienne date :"
notify_admin_when_user_is_created:
subject: "Un compte utilisateur a été créé"
body:
new_account_created: "Un nouveau compte utilisateur vient d'être créé sur la plateforme :"
account_for_organization: "Ce compte gère une structure :"
notify_admin_subscribed_plan:
subject: "Un abonnement a été souscrit"
body:
plan_subscribed_html: "Un abonnement <strong><em>%{PLAN}</em></strong> vient d'être souscrit par le membre <strong><em>%{NAME}</strong></em>."
notify_member_invoice_ready:
subject: "Votre facture du FabLab"
body:
please_find_attached_html: "Vous trouverez en pièce jointe votre facture du {DATE}, d'un montant de {AMOUNT} concernant votre {TYPE, select, Reservation{réservation} other{abonnement}}." # messageFormat interpolation
please_find_attached_html: "Vous trouverez en pièce jointe votre facture du {DATE}, d'un montant de {AMOUNT} concernant votre {TYPE, select, Reservation{réservation} other{abonnement}}." #messageFormat interpolation
invoice_in_your_dashboard_html: "Vous pouvez à tout moment retrouver votre facture dans %{DASHBOARD} sur le site du Fab Lab."
your_dashboard: "votre tableau de bord"
notify_member_reservation_reminder:
subject: "Rappel de réservation"
body:
this_is_a_reminder_about_your_reservation_RESERVABLE_to_be_held_on_DATE_html: "Ceci est un rappel concernant votre réservation <strong>%{RESERVABLE}</strong> qui aura lieu le <em>%{DATE}</em>"
this_reservation_concerns_the_following_slots: "Cette réservation concerne les créneaux suivants :"
notify_member_avoir_ready:
subject: "Votre facture d'avoir du FabLab"
body:
please_find_attached_html: "Vous trouverez en pièce jointe votre facture d'avoir du {DATE}, d'un montant de {AMOUNT} concernant votre {TYPE, select, Reservation{réservation} WalletTransaction{crédit du porte-monnaie} other{abonnement}}." # messageFormat interpolation
please_find_attached_html: "Vous trouverez en pièce jointe votre facture d'avoir du {DATE}, d'un montant de {AMOUNT} concernant votre {TYPE, select, Reservation{réservation} WalletTransaction{crédit du porte-monnaie} other{abonnement}}." #messageFormat interpolation
invoice_in_your_dashboard_html: "Vous pouvez à tout moment retrouver votre facture d'avoir dans %{DASHBOARD} sur le site du Fab Lab."
your_dashboard: "votre tableau de bord"
notify_member_subscription_will_expire_in_7_days:
subject: "Votre abonnement expire dans 7 jours"
body:
your_plan: "Votre abonnement"
expires_in_7_days: "expire dans 7 jours"
to_renew_your_plan_follow_the_link: "Si vous souhaitez renouveler votre abonnement, vous pouvez vous rendre sur"
notify_member_subscription_is_expired:
subject: "Votre abonnement est arrivé à expiration"
body:
@ -158,41 +135,34 @@ fr:
has_expired: "est arrivé à expiration"
you_can_go_to: "Vous pouvez vous rendre sur notre page"
to_renew_your_plan: "afin de renouveler votre abonnement"
notify_admin_subscription_will_expire_in_7_days:
subject: "L'abonnement d'un membre expire dans 7 jours"
body:
subscription_will_expire_html: "L'abonnement du membre %{NAME} <strong><em>%{PLAN}</em></strong> expire dans 7 jours."
notify_admin_subscription_is_expired:
subject: "L'abonnement d'un membre est arrivé à expiration"
body:
subscription_expired_html: "L'abonnement du membre %{NAME} <strong><em>%{PLAN}</em></strong> est arrivé à expiration."
notify_admin_subscription_canceled:
subject: "L'abonnement d'un membre a été annulé"
body:
subscription_canceled_html: "L'abonnement <strong><em>%{PLAN}</em></strong> du membre %{NAME} vient d'être annulé."
notify_member_subscription_canceled:
subject: "Votre abonnement a été annulé"
body:
your_plan_was_canceled: "Votre abonnement a bien été annulé"
your_plan: "votre abonnement"
end_at: "fin au"
notify_member_slot_is_canceled:
subject: "Votre réservation a bien été annulée"
body:
reservation_canceled: "Votre réservation %{RESERVABLE} a bien été annulée :"
notify_admin_slot_is_canceled:
subject: "Une réservation a été annulée"
body:
member_cancelled: "Le membre %{NAME} a annulé sa réservation :"
item_details: "%{START} - %{END}, concernant %{RESERVABLE}"
generate_refund: "Pensez à générer un avoir ou un remboursement pour cette annulation, le cas échéant."
notify_admin_when_user_is_imported:
subject: "Un compte utilisateur a été importé depuis le SSO"
body:
@ -201,12 +171,10 @@ fr:
known_information: "Voici les informations connues à son propos :"
address_already_used: "Cette adresse est déjà associée à un autre utilisateur"
no_more_info_available: "Aucune autre information sur cet utilisateur n'est disponible tant que celui-ci n'aura pas complété son profil."
notify_user_profile_complete:
subject: "Vous avez désormais accès à l'ensemble de la plate-forme"
body:
message: "Les informations de votre nouveau compte ont correctement été mises à jour, vous avez désormais accès à l'ensemble de la plateforme."
notify_user_auth_migration:
subject: "Changement important pour votre compte FabLab"
body:
@ -218,20 +186,17 @@ fr:
create_an_account_on: "créer un compte sur"
or_use_an_existing_account_clicking_here: "ou utiliser un compte pré-existant en cliquant ici"
in_case_of_problem_enter_the_following_code: "En cas de problème avec le lien, vous pourrez saisir manuellement le code suivant lors de votre première connexion, pour migrer votre compte actuel vers le nouveau système d'authentification :"
notify_admin_user_merged:
subject: "Un compte importé a été fusionné avec un compte existant"
body:
imported_account_merged: "Un compte utilisateur précédemment importé via %{PROVIDER} vient d'être fusionné avec le compte existant de %{NAME}"
provider_uid: "Son identifiant fournisseur est %{UID}"
notify_admin_profile_complete:
subject: "Un compte importé a complété ses informations"
body:
account_completed: "Un compte utilisateur vient de compléter ses informations de profil :"
imported_account_completed: "Un compte utilisateur précédemment importé via %{PROVIDER} vient de compléter ses informations de profil :"
provider_id: "Son identifiant fournisseur est %{UID}"
notify_admin_abuse_reported:
subject: "Un contenu abusif a été rapporté"
body:
@ -241,17 +206,14 @@ fr:
signaled_on: "Signalé le :"
message: "Message :"
visit_management_interface: "Reportez-vous à l'interface de gestion des signalements pour plus d'informations."
notify_user_wallet_is_credited:
subject: "Votre porte-monnaie a bien été crédité"
body:
wallet_credit_html: "Votre porte-monnaie a bien été crédité de %{AMOUNT} par l'administrateur."
notify_admin_user_wallet_is_credited:
subject: "Le porte-monnaie d'un utilisateur a bien été crédité"
body:
wallet_credit_html: "Le porte-monnaie du membre %{USER} a bien été crédité de %{AMOUNT} par l'administrateur %{ADMIN}."
notify_admin_export_complete:
subject: "Export terminé"
body:
@ -274,31 +236,26 @@ fr:
file_type:
xlsx: "Excel"
csv: "CSV"
notify_admin_import_complete:
subject: "Import terminé"
body:
you_made_an_import: "Vous avez initié un import %{CATEGORY}"
category_members: "des membres"
click_to_view_results: "Cliquez ici pour voir les résultats"
notify_member_about_coupon:
subject: "Code promo"
body:
enjoy_a_discount_of_PERCENT_with_code_CODE: "Bénéficiez d'une remise de %{PERCENT} % sur tout le site en utilisant le code promo %{CODE}."
enjoy_a_discount_of_AMOUNT_with_code_CODE: "Bénéficiez d'une remise de %{AMOUNT} sur tout le site en utilisant le code promo %{CODE}."
this_coupon_is_valid_USAGE_times_until_DATE_for_all_your_purchases: "Ce code promo est valable {USAGE, plural, =1{une seule fois} other{plusieurs fois}} : pour tous vos achats {TYPE, select, amount_off{dont le montant est au moins égal à celui du code promo} other{}}, dès maintenant {DATE, select, NO-DATE{et sans limitation de durée} other{et jusqu'au {DATE}}}."
notify_admin_free_disk_space:
subject: "Espace disque faible"
body: "Attention : l'espace disque disponible sur le serveur hébergeant Fab-manager est inférieur à %{THRESHOLD} MiO. Cela peut nuire à son bon fonctionnement et empêcher la sauvegarde de certaines données. Actuellement, il reste %{AVAILABLE} MiO d'espace libre sur le point de montage."
notify_admin_close_period_reminder:
subject: "Pensez à clôturer vos périodes comptables"
body:
warning_last_closed_period_over_1_year: "Pensez à clôturer régulièrement vos périodes comptables. Les comptes sont actuellement clôturés jusqu'au %{LAST_END}."
warning_no_closed_periods: "Pensez à clôturer régulièrement vos périodes comptables. Vous devez clôturer des périodes depuis le %{FIRST_DATE}."
notify_admin_archive_complete:
subject: "Archivage terminé"
body:
@ -306,18 +263,15 @@ fr:
click_to_download: "Pour télécharger l'archive ZIP, cliquez"
here: "ici."
save_on_secured: "N'oubliez pas que vous devez obligatoirement enregistrer cette archive sur un support externe sécurisé, qui peut vous être demandé par l'administration fiscale lors d'un contrôle."
notify_privacy_policy_changed:
subject: "Mise à jour de la Politique de confidentialité"
body:
content_html: "<p>Nous souhaitons vous signaler que nous venons de mettre à jour notre politique de confidentialité.</p><p>Nous pouvons apporter régulièrement des modifications à notre politique de confidentialité. Conformément à la réglementation, une notification vous sera envoyée à chaque mise à jour.</p><p>En accédant ou en utilisant nos services après la mise à jour de la Politique de confidentialité, nous considérerons que vous acceptez les termes de celle-ci, mises à jour comprises.</p>"
link_to_policy: "Cliquez ici pour consultez la politique de confidentialité."
notify_admin_refund_created:
subject: "Un avoir a été généré"
body:
refund_created: "Un avoir de %{AMOUNT} a été généré sur la facture %{INVOICE} de l'utilisateur %{USER}"
download: "Cliquez ici pour télécharger cet avoir"
shared:
hello: "Bonjour %{user_name}"

View File

@ -1,17 +1,16 @@
pt:
layouts:
notifications_mailer:
see_you_later: "Te vejo em breve em {GENDER, select, male{o} female{a} neutral{} other{do}}" # messageFormat interpolation
see_you_later: "Te vejo em breve em {GENDER, select, male{o} female{a} neutral{} other{do}}" #messageFormat interpolation
sincerely: "Atenciosamente,"
signature: "Equipe do Fab Lab."
do_not_reply: "Por favor não responda este email."
users_mailer:
notify_user_account_created:
subject: "Sua conta no FabLab foi criada com sucesso"
body:
hello: "Olá %{NAME},"
intro: "A equipe do FabLab acaba de criar uma conta para você em {GENDER, select, male{o} female{a} neutral{} other{do}} {FABLAB} website:" # messageFormat interpolation
intro: "A equipe do FabLab acaba de criar uma conta para você em {GENDER, select, male{o} female{a} neutral{} other{do}} {FABLAB} website:" #messageFormat interpolation
connection_parameters: "Aqui estão seus parâmetros de conexão:"
account_name: "Nome da conta:"
password: "Senha:"
@ -20,25 +19,21 @@ pt:
to_use_platform: "Para usar o site, por favor"
logon_or_login: "criar uma nova conta ou fazer login clicando aqui."
token_if_link_problem: "Se você tiver problemas com o link, você poderá inserir o código a seguir na primeira tentativa de conexão:"
notifications_mailer:
notify_user_user_group_changed:
subject: "Seu grupo mudou"
body:
warning: "Você mudou de grupo. As inspeções podem ser realizadas no laboratório para verificar a legitimidade dessa mudança."
notify_admin_user_group_changed:
subject: "Um membro mudou de grupo"
body:
user_changed_group_html: "O usuário <em><strong>%{NAME}</strong></em> mudou de grupo."
previous_group: "Grupo anterior:"
new_group: "Novo grupo:"
notify_admin_subscription_extended:
subject: "Uma assinatura foi estendida"
body:
subscription_extended_html: "Assinatura <strong><em>{PLAN}</em></strong> pelo usuário <strong><em>{NAME}</strong></em> foi extendida {FREE, select, true{grátis} other{}} until {DATE}." # messageFormat interpolation
subscription_extended_html: "Assinatura <strong><em>{PLAN}</em></strong> pelo usuário <strong><em>{NAME}</strong></em> foi extendida {FREE, select, true{grátis} other{}} until {DATE}." #messageFormat interpolation
notify_member_subscription_extended:
subject: "Sua assinatura foi extendida"
body:
@ -46,111 +41,93 @@ pt:
has_been_extended: "foi estendido"
free: "grátis"
until: "até"
notify_partner_subscribed_plan:
subject: "Um plano de assinatura foi adquirido"
body:
a_plan: "Plano de assinatura"
was_purchased_by_member: "foi comprado pelo usuário"
notify_admin_when_project_published:
subject: "Um projeto foi publicado"
body:
new_project_published: "Um novo projeto foi publicado:"
notify_project_collaborator_to_valid:
subject: "Convite para colaborar em um projeto"
body:
your_are_invited_to_take_part_in_a_project: "Vocề convidado para fazer parte deste projeto:"
to_accept_the_invitation_click_on_following_link: "Para aceitar este convite, por favor clique no link a seguir:"
notify_project_author_when_collaborator_valid:
subject: "Novo colaborador em seu projeto"
body:
the_member: "o usuário"
accepted_your_invitation_to_take_part_in_the_project: "aceitou o convite para fazer parte do seu projeto:"
notify_user_training_valid:
subject: "Seu treinamento foi validado"
body:
your_training: "Seu treinamento"
has_been_validated: "foi validado"
notify_member_subscribed_plan:
subject: "Sua assinatura foi adquirida com êxito"
body:
plan_subscribed_html: "Você assinou o plano: <strong><em>%{PLAN}</em></strong>."
rolling_subscription_stops_on: "Sua assinatura encerrará %{DURATION} após seu primeiro treinamento. Caso contrário, ele será interrompido em %{DATE}."
subscription_stops_on: "Sua assinatura será encerrada em %{DATE}."
notify_member_create_reservation:
subject: "Sua reserva foi salva com sucesso"
body:
reservation_saved_html: "Sua reserva <strong><em>%{RESERVATION}</em></strong> foi salva com sucesso"
your_reserved_slots: "Seus slots reservados são:"
notify_member_subscribed_plan_is_changed:
subject: "Sua inscrição foi modificada"
body:
new_plan_html: "Você mudou seu plano para <strong><em>%{PLAN}</em></strong>."
notify_admin_member_create_reservation:
subject: "Nova reserva"
body:
member_reserved_html: "O usuário %{NAME} reservou <strong><em>%{RESERVABLE}</em></strong>."
reserved_slots: "Slots reservados são:"
notify_member_slot_is_modified:
subject: "Seu slot de reserva foi alterado com sucesso"
body:
reservation_changed_to: "Seu slot de reserva foi alterado para:"
previous_date: "Data anterior:"
notify_admin_slot_is_modified:
subject: "O slot de reserva foi modificado"
body:
slot_modified: "O usuário %{NAME} modificou seu slot de reserva"
new_date: "Novo slot"
old_date: "Slot anterior"
notify_admin_when_user_is_created:
subject: "A conta de usuário foi criada"
body:
new_account_created: "Uma nova conta de usuário foi criada no site:"
account_for_organization: "Esta conta gerencia uma organização:"
notify_admin_subscribed_plan:
subject: "Uma assinatura foi comprada"
body:
plan_subscribed_html: "O plano <strong><em>%{PLAN}</em></strong> foi assinado pelo usuário <strong><em>%{NAME}</strong></em>."
notify_member_invoice_ready:
subject: "Fatura do seu FabLab"
body:
please_find_attached_html: "Por favor, encontre como anexo a sua fatura de {DATE}, com o montante de {AMOUNT} sobre o seu {TYPE, select, Reservation{reserva} other{assinatura}}." # messageFormat interpolation
invoice_in_your_dashboard_html: "Você pode acessar sua fatura em %{DASHBOARD} no site Fab Lab."
please_find_attached_html: "Por favor, encontre como anexo a sua fatura de {DATE}, com o montante de {AMOUNT} sobre o seu {TYPE, select, Reservation{reserva} other{assinatura}}." #messageFormat interpolation
invoice_in_your_dashboard_html: "Você pode acessar sua fatura em %{DASHBOARD} no site Fab Lab."
your_dashboard: "seu dashboard"
notify_member_reservation_reminder:
subject: "Lembrete de reserva"
body:
this_is_a_reminder_about_your_reservation_RESERVABLE_to_be_held_on_DATE_html: "Este é um lembrete sobre a sua reserva <strong> %{RESERVABLE} </ strong> a ser realizada em <em> %{DATE} </ em>"
this_reservation_concerns_the_following_slots: "Esta reserva diz respeito aos seguintes slots:"
notify_member_avoir_ready:
subject: "Fatura de reembolso do seu FabLab"
body:
please_find_attached_html: "Por favor, encontre como anexo a sua fatura de reembolso {DATE}, com o montante de {AMOUNT} sobre o seu {TYPE, select, Reservation{reserva} WalletTransaction{carteira de crédito} other{assinatura}}." # messageFormat interpolation
please_find_attached_html: "Por favor, encontre como anexo a sua fatura de reembolso {DATE}, com o montante de {AMOUNT} sobre o seu {TYPE, select, Reservation{reserva} WalletTransaction{carteira de crédito} other{assinatura}}." #messageFormat interpolation
invoice_in_your_dashboard_html: "Você pode acessar sua fatura de reembolso em %{DASHBOARD} no site Fab Lab."
your_dashboard: "seu dashboard"
notify_member_subscription_will_expire_in_7_days:
subject: "Sua assinatura expira em 7 dias"
body:
your_plan: "seu plano"
expires_in_7_days: "expira em 7 dias."
to_renew_your_plan_follow_the_link: "Por favor, siga este link para renovar seu plano"
notify_member_subscription_is_expired:
subject: "Sua assinatura expirou"
body:
@ -158,41 +135,34 @@ pt:
has_expired: "expirou."
you_can_go_to: "Por favor vá para"
to_renew_your_plan: "para renovar seu plano"
notify_admin_subscription_will_expire_in_7_days:
subject: "Uma assinatura de membro expira em 7 dias"
body:
subscription_will_expire_html: "O plano de assinatura do usuário %{NAME} <strong> <em> %{PLAN} </ em> </ strong> expirará em 7 dias."
notify_admin_subscription_is_expired:
subject: "A assinatura de um membro expirou"
body:
subscription_expired_html: "O plano de assinatura do usuário %{NAME} <strong> <em> %{PLAN} </ em> </ strong> está expirado."
notify_admin_subscription_canceled:
subject: "Uma assinatura de um membro foi cancelada"
body:
subscription_canceled_html: "A assinatura <strong><em>%{PLAN}</em></strong> do usuário %{NAME} foi cancelada."
notify_member_subscription_canceled:
subject: "Sua assinatura foi cancelada"
body:
your_plan_was_canceled: "Seu plano de assinatura foi cancelado."
your_plan: "seu plano de assinatura"
end_at: "termina em"
notify_member_slot_is_canceled:
subject: "Sua reserva foi cancelada"
body:
reservation_canceled: "Sua reserva para %{RESERVABLE} foi cancelada"
notify_admin_slot_is_canceled:
subject: "Uma reserva foi cancelada"
body:
member_cancelled: "O usuário %{NAME} cancelou sua reserva"
item_details: "%{START} - %{END}, sobre %{RESERVABLE}"
generate_refund: "Não se esqueça de gerar uma nota de crédito ou um reembolso para este cancelamento."
notify_admin_when_user_is_imported:
subject: "Uma conta de usuário foi importada do SSO"
body:
@ -201,12 +171,10 @@ pt:
known_information: "Aqui está o que sabemos sobre este provedor:"
address_already_used: "Esse endereço já está associado a outro usuário"
no_more_info_available: "Nenhuma outra informação sobre este usuário pode ser fornecida antes que complete seu perfil."
notify_user_profile_complete:
subject: "Agora você tem acesso a todo o site"
body:
message: "As informações de sua conta foram atualizadas corretamente, agora você tem acesso a todo o site."
notify_user_auth_migration:
subject: "Mudança importante na sua conta FabLab"
body:
@ -218,20 +186,17 @@ pt:
create_an_account_on: "crie uma conta em"
or_use_an_existing_account_clicking_here: "ou use uma conta existente clicando aqui"
in_case_of_problem_enter_the_following_code: "Em caso de problema com este link, você pode inserir o seguinte código na sua primeira tentativa de conexão para migrar sua conta real para o novo sistema de autenticação:"
notify_admin_user_merged:
subject: "Uma conta importada foi mesclada com uma conta existente"
body:
imported_account_merged: "Uma conta de usuário importada anteriormente via %{PROVIDER) foi mesclada com a conta existente %{NAME}"
provider_uid: "este é o ID do provedor:"
notify_admin_profile_complete:
subject: "Uma conta importada teve o perfil completado"
body:
account_completed: "Uma conta de usuário completou seu perfil:"
imported_account_completed: "Uma conta de usuário importada anteriormente via %{PROVIDER} completou seu perfil:"
provider_id: "Seu ID de provedor é:"
notify_admin_abuse_reported:
subject: "Um conteúdo abusivo foi relatado"
body:
@ -241,17 +206,14 @@ pt:
signaled_on: "sinalizado em:"
message: "Menssagem:"
visit_management_interface: "Refer to the Reporting Management Interface for more information."
notify_user_wallet_is_credited:
subject: "Sua carteira foi creditada"
body:
wallet_credit_html: "Sua carteira foi creditada em %{AMOUNT} pelo administrador."
notify_admin_user_wallet_is_credited:
subject: "A carteira de um usuário foi creditada"
body:
wallet_credit_html: "A carteira do membro %{USER} foi creditada %{AMOUNT} pelo administrador %{ADMIN}."
notify_admin_export_complete:
subject: "Exportação completa"
body:
@ -274,31 +236,26 @@ pt:
file_type:
xlsx: "Excel"
csv: "CSV"
notify_admin_import_complete:
subject: "Import completed"
body:
you_made_an_import: "You have initiated an import %{CATEGORY}"
category_members: "of the members"
click_to_view_results: "Click here to view results"
notify_member_about_coupon:
subject: "Cupom"
body:
enjoy_a_discount_of_PERCENT_with_code_CODE: "Desfrute de um desconto de %{PERCENT}% em todo o site com o código %{CODE}."
enjoy_a_discount_of_AMOUNT_with_code_CODE: "Desfrute de um desconto de %{AMOUNT} em todo o site com o código %{CODE}."
enjoy_a_discount_of_AMOUNT_with_code_CODE: "Desfrute de um desconto de %{AMOUNT} em todo o site com o código %{CODE}."
this_coupon_is_valid_USAGE_times_until_DATE_for_all_your_purchases: "Esse cupom é válido {USAGE, plural, =1{uma vez} other{vérias vezes}}: para todas as suas compras {TYPE, select, amount_off{pelo menos igual ao montante do cupom} other{}}, from now {DATE, select, NO-DATE{e sem limite de tempo} other{até {DATE}}}."
notify_admin_free_disk_space:
subject: "Low disk space"
body: "Warning: available disk space on the server hosting Fab-manager is less than %{THRESHOLD} MiB. This can affect its operation and prevent saving some data. Currently, %{AVAILABLE} MiB of free disk space remains available on the mount point."
notify_admin_close_period_reminder:
subject: "Remind to close your accounting periods"
body:
warning_last_closed_period_over_1_year: "Please remind to periodically close your accounting periods. Last closed period ended at %{LAST_END}."
warning_no_closed_periods: "Please remind to periodically close your accounting periods. You have to close periods from %{FIRST_DATE}."
notify_admin_archive_complete:
subject: "Archiving completed"
body:
@ -306,18 +263,15 @@ pt:
click_to_download: "To download the ZIP archive, click"
here: "here."
save_on_secured: "Remember that you must save this archive on a secured external support, which may be requested by the tax authorities during a check."
notify_privacy_policy_changed:
subject: "Privacy policy updated"
body:
content_html: "<p>We wish to inform you that we have just updated our privacy policy.</p><p>We may change our privacy policy regularly. In accordance with the regulations, you will receive a notification for each update.</p><p>By accessing or using our services after the privacy policy update, we will consider that you agree its terms, updates included.</p>"
link_to_policy: "Cliquez ici pour consultez la politique de confidentialité."
notify_admin_refund_created:
subject: "A refund has been generated"
body:
refund_created: "A refund of %{AMOUNT} has been generated on invoice %{INVOICE} of user %{USER}"
download: "Click here to download this refund invoice"
shared:
hello: "Olá %{user_name}"

View File

@ -1,6 +1,6 @@
pt:
#subscription plan duration
duration:
# subscription plan duration
year:
one: 'um ano'
other: '%{count} anos'
@ -10,15 +10,9 @@ pt:
week:
one: 'uma semana'
other: '%{count} semanas'
time:
formats:
# See http://apidock.com/ruby/DateTime/strftime for a list of available directives
hour_minute: "%I:%M %p"
errors: &errors
messages: &errors_messages
# CarrierWave
errors:
#CarrierWave
messages:
carrierwave_processing_error: "falhou ao ser processado"
carrierwave_integrity_error: "não é de um tipo de arquivo permitido"
carrierwave_download_error: "não pode ser baixado"
@ -42,38 +36,29 @@ pt:
end_before_start: "The end date can't be before the start date. Pick a date after %{START}"
invalid_duration: "The allowed duration must be between 1 day and 1 year. Your period is %{DAYS} days long."
must_be_in_the_past: "The period must be strictly prior to today's date."
activemodel:
errors:
<<: *errors
apipie:
api_documentation: "Documentação da API"
#error messages when importing an account from a SSO
omniauth:
# error messages when importing an account from a SSO
email_already_linked_to_another_account_please_input_your_authentication_code: "E-mail \"%{OLD_MAIL}\" já está vinculado a outra conta, insira seu código de autenticação."
your_username_is_already_linked_to_another_account_unable_to_update_it: "Seu nome de usuário ( %{USERNAME}) já está vinculado a outra conta, não conseguindo atualizá-lo."
your_email_address_is_already_linked_to_another_account_unable_to_update_it: "Seu endereço de e-mail ( %{EMAIL}) já está vinculado a outra conta, não conseguindo atualizá-lo."
this_account_is_already_linked_to_an_user_of_the_platform: "Esta conta %{NAME} já está ligada a um utilizador da plataforma."
#availability slots in the calendar
availabilities:
# availability slots in the calendar
not_available: "Não disponível "
i_ve_reserved: "Eu reservei"
length_must_be_slot_multiple: "deve ser pelo menos %{MIN} minutos após a data de início"
must_be_associated_with_at_least_1_machine: "deve estar associada a pelo menos uma máquina"
#members management
members:
# members management
unable_to_change_the_group_while_a_subscription_is_running: "Não é possível alterar o grupo enquanto uma assinatura está sendo executada"
please_input_the_authentication_code_sent_to_the_address: "Por favor insira o código de autenticação enviado para seu endereço de email %{EMAIL}"
your_authentication_code_is_not_valid: "Seu código de autentiicação não é válido."
current_authentication_method_no_code: "O método de autenticação atual não requer nenhum código de migração"
requested_account_does_not_exists: "A conta requisitada não existe"
#PDF invoices generation
invoices:
# PDF invoices generation
refund_invoice_reference: "Referência da fatura de reembolso: %{REF}"
invoice_reference: "Fatura de referência: %{REF}"
code: "Código: %{CODE}"
@ -101,7 +86,7 @@ pt:
one: "Um %{NAME} ticket"
other: "%{count} %{NAME} tickets"
reservation_other: "Reserva (outro)"
coupon_CODE_discount_of_DISCOUNT: "Cupom {CODE}: desconto de {DISCOUNT}{TYPE, select, percent_off{%} other{}}" # messageFormat interpolation
coupon_CODE_discount_of_DISCOUNT: "Cupom {CODE}: desconto de {DISCOUNT}{TYPE, select, percent_off{%} other{}}" #messageFormat interpolation
total_including_all_taxes: "Total de taxas inclusas"
including_VAT_RATE: "Incluindo VAT %{RATE}%"
including_total_excluding_taxes: "Incluindo total de faixas exclusas"
@ -112,19 +97,19 @@ pt:
by_cheque: "em cheque"
by_transfer: "por transferência"
by_cash: "em dinheiro"
no_refund: "Sem reembolso"
by_wallet: "pela carteira"
no_refund: "Sem reembolso"
settlement_by_debit_card: "Liquidação por cartão de débito"
settlement_done_at_the_reception: "Liquidação feita na recepção"
settlement_by_wallet: "Liquidação por carteira"
on_DATE_at_TIME: "em %{DATE} ás %{TIME},"
for_an_amount_of_AMOUNT: "para uma quantidade de %{AMOUNT}"
on_DATE_from_START_to_END: "Em %{DATE} de %{START} até %{END}" # eg: on feb. 7 from 7AM to 9AM
from_STARTDATE_to_ENDDATE_from_STARTTIME_to_ENDTIME: "De %{STARTDATE} até %{ENDDATE}, das %{STARTTIME} ás %{ENDTIME}" # eg: from feb. 7 to feb. 10, from 6PM to 10PM
on_DATE_from_START_to_END: "Em %{DATE} de %{START} até %{END}" #eg: on feb. 7 from 7AM to 9AM
from_STARTDATE_to_ENDDATE_from_STARTTIME_to_ENDTIME: "De %{STARTDATE} até %{ENDDATE}, das %{STARTTIME} ás %{ENDTIME}" #eg: from feb. 7 to feb. 10, from 6PM to 10PM
subscription_of_NAME_for_DURATION_starting_from_DATE: "Assinatura de %{NAME} de %{DURATION} começando em %{DATE}"
subscription_of_NAME_extended_starting_from_STARTDATE_until_ENDDATE: "Assinatura de %{NAME} estendida (dias livres) a partir de% STARTDATE até %{ENDDATE}"
and: 'e'
#CVS accounting export (columns headers)
accounting_export:
journal_code: "Journal code"
date: "Entry date"
@ -144,22 +129,19 @@ pt:
Event_reservation: "event reserv."
Space_reservation: "space reserv."
wallet: "wallet"
#training availabilities
trainings:
# training availabilities
i_ve_reserved: "Eu reservei"
completed: "Cheio"
#error messages when updating an event
events:
# error messages when updating an event
error_deleting_reserved_price: "Não permitido deletar o preço requisitado, pois está associado a algumas reservas"
other_error: "Um erro inesperado ocorreu enquanto o evento era atualizado"
# event duration
#event duration
from_STARTDATE_to_ENDDATE: "De %{STARTDATE} a %{ENDDATE},"
from_STARTTIME_to_ENDTIME: "das %{STARTTIME} às %{ENDTIME}"
#members list export to EXCEL format
export_members:
# members list export to EXCEL format
members: "Membros"
id: "ID"
surname: "Sobrenome"
@ -190,9 +172,8 @@ pt:
man: "Homem"
woman: "Mulher"
without_subscriptions: "Sem assinaturas"
#machines/trainings/events reservations list to EXCEL format
export_reservations:
# machines/trainings/events reservations list to EXCEL format
reservations: "Reservas"
customer_id: "ID do cliente"
customer: "Cliente"
@ -204,9 +185,8 @@ pt:
payment_method: "Método de pagamento"
local_payment: "Pagamento na recepção"
online_payment: "Pagamento online"
#subscriptions list export to EXCEL format
export_subscriptions:
# subscriptions list export to EXCEL format
subscriptions: "Assinaturas"
id: "ID"
customer: "Cliente"
@ -219,9 +199,8 @@ pt:
payment_method: "Método de pagamento"
local_payment: "Pagamento na recepção"
online_payment: "Pagamento online"
#reservation slots export, by type, to EXCEL format
export_availabilities:
# reservation slots export, by type, to EXCEL format
machines: "Máquinas"
trainings: "Treinamentos"
spaces: "Espaços"
@ -235,10 +214,9 @@ pt:
event: "Evento"
reservations: "Reservas"
available_seats: "Assentos disponíveis"
api:
#internal app notifications
notifications:
# internal app notifications
deleted_user: "Usuário deletado"
notify_admin_abuse_reported:
an_abuse_was_reported_on_TYPE_ID_NAME_html: "Um abuso foi relatado em <strong> %{TYPE} %{ID}: <em> %{NAME} </em> </strong>."
@ -255,15 +233,15 @@ pt:
notify_admin_subscription_canceled:
USER_s_subscription_has_been_cancelled: "Assinatura do usuário %{USER} foi cancelado."
notify_admin_subscription_extended:
subscription_PLAN_of_the_member_USER_has_been_extended_FREE_until_DATE_html: "A assinatura <strong> <em> {PLAN} </em> </strong> do membro <strong> <em> {USER} </strong> </em> foi extendida {FREE, select, true{grátis} other{}} until {DATE}." # messageFormat interpolation
subscription_PLAN_of_the_member_USER_has_been_extended_FREE_until_DATE_html: "A assinatura <strong> <em> {PLAN} </em> </strong> do membro <strong> <em> {USER} </strong> </em> foi extendida {FREE, select, true{grátis} other{}} until {DATE}." #messageFormat interpolation
notify_admin_subscription_is_expired:
USER_s_subscription_has_expired: "A assinatura do usuário %{USER} expirou."
notify_admin_subscription_will_expire_in_7_days:
USER_s_subscription_will_expire_in_7_days: "A assinatura do usuário %{USER} expira em 7 dias."
notify_admin_user_group_changed:
user_NAME_changed_his_group_html: "Usuário <strong><em>{NAME}</strong></em> mudou {GENDER, select, true{seu} other{seu}} grupo." # messageFormat interpolation
user_NAME_changed_his_group_html: "Usuário <strong><em>{NAME}</strong></em> mudou {GENDER, select, true{seu} other{seu}} grupo." #messageFormat interpolation
notify_admin_user_merged:
user_NAME_has_merged_his_account_with_the_one_imported_from_PROVIDER_UID_html: "Usuário <strong><em>{NAME}</strong></em> vinculou {GENDER, select, true{sua} other{sua}} conta com a importada de <strong> <em> {PROVIDER} </strong> ({UID}) </em>." # messageFormat interpolation
user_NAME_has_merged_his_account_with_the_one_imported_from_PROVIDER_UID_html: "Usuário <strong><em>{NAME}</strong></em> vinculou {GENDER, select, true{sua} other{sua}} conta com a importada de <strong> <em> {PROVIDER} </strong> ({UID}) </em>." #messageFormat interpolation
notify_admin_when_project_published:
project_NAME_has_been_published_html: "Projeto <a href='/#!/projects/%{ID}'><strong><em>%{NAME}<em></strong></a> foi publicado."
notify_admin_when_user_is_created:
@ -285,7 +263,7 @@ pt:
notify_member_subscription_canceled:
your_subscription_PLAN_was_successfully_cancelled_html: "Sua assinatura <strong><em>%{PLAN}</em></strong> foi cancelada com sucesso."
notify_member_subscription_extended:
your_subscription_PLAN_has_been_extended_FREE_until_DATE_html: "Sua inscrição <strong> <em> {PLAN} </em> </strong> foi estendida {FREE, select, true{for free} other{}} until {DATE}." # messageFormat interpolation
your_subscription_PLAN_has_been_extended_FREE_until_DATE_html: "Sua inscrição <strong> <em> {PLAN} </em> </strong> foi estendida {FREE, select, true{for free} other{}} until {DATE}." #messageFormat interpolation
notify_member_subscription_is_expired:
your_subscription_has_expired: "Sua assinatura expirou."
notify_member_subscription_will_expire_in_7_days:
@ -351,9 +329,8 @@ pt:
click_to_show: "Click here to consult"
notify_admin_refund_created:
refund_created: "A refund of %{AMOUNT} has been created for user %{USER}"
#statistics tools for admins
statistics:
# statistics tools for admins
subscriptions: "Assinaturas"
machines_hours: "Slots de máquina"
spaces: "Espaços"
@ -379,9 +356,8 @@ pt:
revenue: "Receita"
account_creation: "Criação de conta"
project_publication: "Publicação de projeto"
#statistics exports to the excel file format
export:
# statistics exports to the excel file format
entries: "Entradas"
revenue: "Receita"
average_age: "Idade média"
@ -395,12 +371,10 @@ pt:
type: "Tipo"
male: "Homem"
female: "Mulher"
#initial price's category for events, created to replace the old "reduced amount" property
price_category:
# initial price's category for events, created to replace the old "reduced amount" property
reduced_fare: "Tarifa reduzida"
reduced_fare_if_you_are_under_25_student_or_unemployed: "Tarifa reduzida se tiver menos de 25 anos, estudante ou desempregado."
group:
# name of the user's group for administrators
#name of the user's group for administrators
admins: 'Administradores'

View File

@ -1,53 +1,53 @@
ach:
date:
abbr_day_names:
- crwdns4217:0crwdne4217:0
- crwdns4219:0crwdne4219:0
- crwdns4221:0crwdne4221:0
- crwdns4223:0crwdne4223:0
- crwdns4225:0crwdne4225:0
- crwdns4227:0crwdne4227:0
- crwdns4229:0crwdne4229:0
- Sun
- Mon
- Tue
- Wed
- Thu
- Fri
- Sat
abbr_month_names:
-
- crwdns4231:0crwdne4231:0
- crwdns4233:0crwdne4233:0
- crwdns4235:0crwdne4235:0
- crwdns4237:0crwdne4237:0
- crwdns4239:0crwdne4239:0
- crwdns4241:0crwdne4241:0
- crwdns4243:0crwdne4243:0
- crwdns4245:0crwdne4245:0
- crwdns4247:0crwdne4247:0
- crwdns4249:0crwdne4249:0
- crwdns4251:0crwdne4251:0
- crwdns4253:0crwdne4253:0
-
- Jan
- Feb
- Mar
- Apr
- May
- Jun
- Jul
- Aug
- Sep
- Oct
- Nov
- Dec
day_names:
- crwdns4255:0crwdne4255:0
- crwdns4257:0crwdne4257:0
- crwdns4259:0crwdne4259:0
- crwdns4261:0crwdne4261:0
- crwdns4263:0crwdne4263:0
- crwdns4265:0crwdne4265:0
- crwdns4267:0crwdne4267:0
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
formats:
default: "%Y-%m-%d"
long: "%B %d, %Y"
short: "%b %d"
month_names:
-
- crwdns4275:0crwdne4275:0
- crwdns4277:0crwdne4277:0
- crwdns4279:0crwdne4279:0
- crwdns4281:0crwdne4281:0
- crwdns4283:0crwdne4283:0
- crwdns4285:0crwdne4285:0
- crwdns4287:0crwdne4287:0
- crwdns4289:0crwdne4289:0
- crwdns4291:0crwdne4291:0
- crwdns4293:0crwdne4293:0
- crwdns4295:0crwdne4295:0
- crwdns4297:0crwdne4297:0
-
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
order:
- :year
- :month
@ -55,94 +55,94 @@ ach:
datetime:
distance_in_words:
about_x_hours:
one: crwdns4305:1crwdne4305:1
other: crwdns4305:5%{count}crwdne4305:5
one: about 1 hour
other: about %{count} hours
about_x_months:
one: crwdns4307:1crwdne4307:1
other: crwdns4307:5%{count}crwdne4307:5
one: about 1 month
other: about %{count} months
about_x_years:
one: crwdns4309:1crwdne4309:1
other: crwdns4309:5%{count}crwdne4309:5
one: about 1 year
other: about %{count} years
almost_x_years:
one: crwdns4311:1crwdne4311:1
other: crwdns4311:5%{count}crwdne4311:5
half_a_minute: crwdns4313:0crwdne4313:0
one: almost 1 year
other: almost %{count} years
half_a_minute: half a minute
less_than_x_minutes:
one: crwdns4315:1crwdne4315:1
other: crwdns4315:5%{count}crwdne4315:5
one: less than a minute
other: less than %{count} minutes
less_than_x_seconds:
one: crwdns4317:1crwdne4317:1
other: crwdns4317:5%{count}crwdne4317:5
one: less than 1 second
other: less than %{count} seconds
over_x_years:
one: crwdns4319:1crwdne4319:1
other: crwdns4319:5%{count}crwdne4319:5
one: over 1 year
other: over %{count} years
x_days:
one: crwdns4321:1crwdne4321:1
other: "crwdns4321:5%{count}crwdne4321:5"
one: 1 day
other: "%{count} days"
x_minutes:
one: crwdns4323:1crwdne4323:1
other: "crwdns4323:5%{count}crwdne4323:5"
one: 1 minute
other: "%{count} minutes"
x_months:
one: crwdns4325:1crwdne4325:1
other: "crwdns4325:5%{count}crwdne4325:5"
one: 1 month
other: "%{count} months"
x_seconds:
one: crwdns4327:1crwdne4327:1
other: "crwdns4327:5%{count}crwdne4327:5"
one: 1 second
other: "%{count} seconds"
prompts:
day: crwdns4329:0crwdne4329:0
hour: crwdns4331:0crwdne4331:0
minute: crwdns4333:0crwdne4333:0
month: crwdns4335:0crwdne4335:0
second: crwdns4337:0crwdne4337:0
year: crwdns4339:0crwdne4339:0
day: Day
hour: Hour
minute: Minute
month: Month
second: Seconds
year: Year
errors:
format: "crwdns4341:0%{attribute}crwdnd4341:0%{message}crwdne4341:0"
format: "%{attribute} %{message}"
messages:
accepted: crwdns4343:0crwdne4343:0
blank: crwdns4345:0crwdne4345:0
present: crwdns4347:0crwdne4347:0
confirmation: crwdns4349:0%{attribute}crwdne4349:0
empty: crwdns4351:0crwdne4351:0
equal_to: crwdns4353:0%{count}crwdne4353:0
even: crwdns4355:0crwdne4355:0
exclusion: crwdns4357:0crwdne4357:0
greater_than: crwdns4359:0%{count}crwdne4359:0
greater_than_or_equal_to: crwdns4361:0%{count}crwdne4361:0
inclusion: crwdns4363:0crwdne4363:0
invalid: crwdns4365:0crwdne4365:0
less_than: crwdns4367:0%{count}crwdne4367:0
less_than_or_equal_to: crwdns4369:0%{count}crwdne4369:0
not_a_number: crwdns4371:0crwdne4371:0
not_an_integer: crwdns4373:0crwdne4373:0
odd: crwdns4375:0crwdne4375:0
record_invalid: 'crwdns4377:0%{errors}crwdne4377:0'
accepted: must be accepted
blank: can't be blank
present: must be blank
confirmation: doesn't match %{attribute}
empty: can't be empty
equal_to: must be equal to %{count}
even: must be even
exclusion: is reserved
greater_than: must be greater than %{count}
greater_than_or_equal_to: must be greater than or equal to %{count}
inclusion: is not included in the list
invalid: is invalid
less_than: must be less than %{count}
less_than_or_equal_to: must be less than or equal to %{count}
not_a_number: is not a number
not_an_integer: must be an integer
odd: must be odd
record_invalid: 'Validation failed: %{errors}'
restrict_dependent_destroy:
one: crwdns4379:0%{record}crwdne4379:0
many: crwdns4381:0%{record}crwdne4381:0
taken: crwdns4383:0crwdne4383:0
one: Cannot delete record because a dependent %{record} exists
many: Cannot delete record because dependent %{record} exist
taken: has already been taken
too_long:
one: crwdns4385:1crwdne4385:1
other: crwdns4385:5%{count}crwdne4385:5
one: is too long (maximum is 1 character)
other: is too long (maximum is %{count} characters)
too_short:
one: crwdns4387:1crwdne4387:1
other: crwdns4387:5%{count}crwdne4387:5
one: is too short (minimum is 1 character)
other: is too short (minimum is %{count} characters)
wrong_length:
one: crwdns4389:1crwdne4389:1
other: crwdns4389:5%{count}crwdne4389:5
other_than: crwdns4391:0%{count}crwdne4391:0
wrong_content_type: "crwdns4393:0crwdne4393:0"
one: is the wrong length (should be 1 character)
other: is the wrong length (should be %{count} characters)
other_than: must be other than %{count}
wrong_content_type: "content type is not allowed"
template:
body: 'crwdns4395:0crwdne4395:0'
body: 'There were problems with the following fields:'
header:
one: crwdns4397:1%{model}crwdne4397:1
other: "crwdns4397:5%{count}crwdnd4397:5%{model}crwdne4397:5"
one: 1 error prohibited this %{model} from being saved
other: "%{count} errors prohibited this %{model} from being saved"
helpers:
select:
prompt: crwdns4399:0crwdne4399:0
prompt: Please select
submit:
create: crwdns4401:0%{model}crwdne4401:0
submit: crwdns4403:0%{model}crwdne4403:0
update: crwdns4405:0%{model}crwdne4405:0
create: Create %{model}
submit: Save %{model}
update: Update %{model}
number:
currency:
format:
@ -163,11 +163,11 @@ ach:
decimal_units:
format: "%n %u"
units:
billion: crwdns4425:0crwdne4425:0
million: crwdns4427:0crwdne4427:0
quadrillion: crwdns4429:0crwdne4429:0
thousand: crwdns4431:0crwdne4431:0
trillion: crwdns4433:0crwdne4433:0
billion: Billion
million: Million
quadrillion: Quadrillion
thousand: Thousand
trillion: Trillion
unit: ''
format:
delimiter: ''
@ -178,12 +178,12 @@ ach:
format: "%n %u"
units:
byte:
one: crwdns4443:1crwdne4443:1
other: crwdns4443:5crwdne4443:5
gb: crwdns4445:0crwdne4445:0
kb: crwdns4447:0crwdne4447:0
mb: crwdns4449:0crwdne4449:0
tb: crwdns4451:0crwdne4451:0
one: Byte
other: Bytes
gb: GB
kb: KB
mb: MB
tb: TB
percentage:
format:
delimiter: ''
@ -193,13 +193,13 @@ ach:
delimiter: ''
support:
array:
last_word_connector: "crwdns4459:0crwdne4459:0"
two_words_connector: "crwdns4461:0crwdne4461:0"
words_connector: "crwdns4463:0crwdne4463:0"
last_word_connector: ", and "
two_words_connector: " and "
words_connector: ", "
time:
am: am
formats:
default: "%a, %d %b %Y %H:%M:%S %z"
long: "%B %d, %Y %H:%M"
short: "%d %b %H:%M"
pm: pm
pm: pm

View File

@ -43,7 +43,8 @@ docker-compose down
docker-compose up -d postgres
docker-compose exec postgres dropdb -U postgres fabmanager_production
docker-compose exec postgres createdb -U postgres fabmanager_production
docker-compose exec postgres pg_restore -U postgres -d fablab_production /var/lib/postgresql/data/fabmanager_production_$(date -I).sql
docker-compose exec postgres psql -U postgres -d fablab_production -f /var/lib/postgresql/data/fabmanager_production_$(date -I).sql
docker-compose up -d
```
<a name="postgresql-limitations"></a>

View File

@ -32,28 +32,23 @@ You can access it at [in-context.translate.fab-manager.com](https://in-context.t
<a name="from-the-files"></a>
### From the files
If you don't wan't want to use the TMS, you can write translations with in the source files.
This is more complicated and you must know what you're doing.
Please prefer the [TMS method](#using-a-tms) if your're not familiar with software development.
You **should not** translate Fab-manager from the source files, because it will conflict with the TMS.
Please refer to the [TMS method](#using-a-tms) for more details.
First, consider that it can be a good idea to setup a development environment to contribute to the software translation.
This is not mandatory, but this will allow you to test your changes in context and see if anything went wrong, especially with the special syntaxes.
Please refer to the [development readme](development_readme.md) or to the [virtual machine instructions](virtual-machine.md) to setup such an environment.
Anyway, **if you add a new feature** that requires some new translations, just add them to the english files.
You'll be able to provide translations for other languages later, using our TMS.
Once done, check the files located in `config/locales`:
To add the english translations, check the files located in `config/locales`:
- Front app translations (angular.js) are located in `config/locales/app.scope.XX.yml`.
Where scope has one the following meaning :
- Front app translations (angular.js) are located in `config/locales/app.SCOPE.en.yml`.
Where SCOPE has one the following meaning :
- admin: translations of the administrator views (manage and configure the FabLab).
- logged: translations of the end-user's views accessible only to connected users.
- public: translation of end-user's views publicly accessible to anyone.
- shared: translations shared by many views (like forms or buttons).
- Back app translations (Ruby on Rails) are located in `config/locales/XX.yml`.
- Emails translations are located in `config/locales/mails.XX.yml`.
- Messages related to the authentication system are located in `config/locales/devise.XX.yml`.
If you plan to translate the application to a new locale, please consider that the reference translation is French.
Indeed, in some cases, the English texts/sentences can seems confuse or lack of context as they were originally translated from French.
- Back app translations (Ruby on Rails) are located in `config/locales/en.yml`.
- Emails translations are located in `config/locales/mails.en.yml`.
- Messages related to the authentication system are located in `config/locales/devise.en.yml`.
To prevent syntax mistakes while translating locale files, we **STRONGLY advise** you to use a text editor which support syntax coloration for YML and Ruby.
As an example, [Visual Studio Code](https://code.visualstudio.com/), with the [Ruby extension](https://marketplace.visualstudio.com/items?itemName=rebornix.Ruby) and the [YAML extension](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) will do the job.
@ -62,9 +57,9 @@ As an example, [Visual Studio Code](https://code.visualstudio.com/), with the [R
#### Front-end translations
Front-end translations uses [angular-translate](http://angular-translate.github.io) with interpolations interpreted by [MessageFormat](https://github.com/SlexAxton/messageformat.js/).
**Please read the documentation about the [ICU MessageFormat syntax](http://userguide.icu-project.org/formatparse/messages#TOC-MessageFormat) before translating.**
**Please read the documentation about the [ICU MessageFormat syntax](http://userguide.icu-project.org/formatparse/messages#TOC-MessageFormat) before writing new strings.**
Anyway, it is strongly recommended to use our [translation management system](https://translate.fab-manager.com/).
To translate existing strings, you should use our [translation management system](https://translate.fab-manager.com/).
<a name="i18n-translation-back"></a>
#### Back-end translations

View File

@ -1,6 +1,6 @@
{
"name": "fab-manager",
"version": "4.3.1",
"version": "4.3.2",
"description": "Fab-manager is the FabLab management solution. It provides a comprehensive, web-based, open-source tool to simplify your administrative tasks and your marker's projects.",
"keywords": [
"fablab",

View File

@ -48,7 +48,7 @@ services:
restart: always
nginx:
image: nginx:1.9
image: nginx:latest
ports:
- "80:80"
- "443:443"

View File

@ -3,10 +3,10 @@ upstream puma {
}
server {
listen 443 ssl;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name MAIN_DOMAIN;
root /usr/src/app/public;
ssl on;
## with your ssl certificate
# ssl_certificate /etc/nginx/conf.d/ssl/MAIN_DOMAIN.crt;
# ssl_certificate_key /etc/nginx/conf.d/ssl/MAIN_DOMAIN.deprotected.key;
@ -16,9 +16,9 @@ server {
ssl_certificate /etc/letsencrypt/live/MAIN_DOMAIN/fullchain.pem;
ssl_trusted_certificate /etc/letsencrypt/live/MAIN_DOMAIN/chain.pem;
##
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA !aNULL !eNULL !LOW !MD5 !EXP !DSS !PSK !SRP !kECDH !CAMELLIA !RC4 !SEED';
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_session_timeout 1d;