missing french translations in main UI
parent
10d15d86a9
commit
3b50d85718
|
@ -7,13 +7,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
### Added
|
### Added
|
||||||
- file description field
|
- file description field
|
||||||
- 'destination' readonly field indicating full save path
|
|
||||||
- admin setting section to add extra symbols
|
- admin setting section to add extra symbols
|
||||||
- french translation
|
- french translation
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- keep time information in loaded tracks/routes/waypoints, written in saved files
|
- keep time information in loaded tracks/routes/waypoints, written in saved files
|
||||||
- design : borders around file trees, button icons
|
|
||||||
- improve load and save : use OC dialogs instead of jqueryfiletree
|
- improve load and save : use OC dialogs instead of jqueryfiletree
|
||||||
|
|
||||||
## 0.0.2 – 2016-12-08
|
## 0.0.2 – 2016-12-08
|
||||||
|
|
|
@ -444,25 +444,25 @@ function onCreated(type, layer){
|
||||||
var popupTitle;
|
var popupTitle;
|
||||||
var layerType;
|
var layerType;
|
||||||
if (type === 'polyline' || type === 'track'){
|
if (type === 'polyline' || type === 'track'){
|
||||||
popupTitle = 'Track';
|
popupTitle = t('gpxedit', 'Track');
|
||||||
layerType = 'track';
|
layerType = 'track';
|
||||||
}
|
}
|
||||||
else if (type === 'route') {
|
else if (type === 'route') {
|
||||||
popupTitle = 'Route';
|
popupTitle = t('gpxedit', 'Route');
|
||||||
layerType = 'route';
|
layerType = 'route';
|
||||||
}
|
}
|
||||||
else if (type === 'marker') {
|
else if (type === 'marker') {
|
||||||
popupTitle = 'Waypoint';
|
popupTitle = t('gpxedit', 'Waypoint');
|
||||||
layerType = 'marker';
|
layerType = 'marker';
|
||||||
}
|
}
|
||||||
|
|
||||||
var popupTxt = '<h2 class="popupTitle">'+popupTitle+'</h2><table class="popupdatatable">'+
|
var popupTxt = '<h2 class="popupTitle">'+popupTitle+'</h2><table class="popupdatatable">'+
|
||||||
'<tr><td>Name</td><td><input class="layerName"></input></td></tr>'+
|
'<tr><td>'+t('gpxedit', 'Name')+'</td><td><input class="layerName"></input></td></tr>'+
|
||||||
'<tr><td>Description</td><td><textarea class="layerDesc"></textarea></td></tr>'+
|
'<tr><td>'+t('gpxedit', 'Description')+'</td><td><textarea class="layerDesc"></textarea></td></tr>'+
|
||||||
'<tr><td>Comment</td><td><textarea class="layerCmt"></textarea></td></tr>';
|
'<tr><td>'+t('gpxedit', 'Comment')+'</td><td><textarea class="layerCmt"></textarea></td></tr>';
|
||||||
if (type === 'marker') {
|
if (type === 'marker') {
|
||||||
popupTxt = popupTxt + '<tr><td>Symbol</td><td><select role="symbol">';
|
popupTxt = popupTxt + '<tr><td>'+t('gpxedit', 'Symbol')+'</td><td><select role="symbol">';
|
||||||
popupTxt = popupTxt + '<option value="">No symbol</option>';
|
popupTxt = popupTxt + '<option value="">'+t('gpxedit', 'No symbol')+'</option>';
|
||||||
for (var cl in symbolIcons){
|
for (var cl in symbolIcons){
|
||||||
if (cl !== 'marker'){
|
if (cl !== 'marker'){
|
||||||
popupTxt = popupTxt + '<option value="'+cl+'">'+cl+'</option>';
|
popupTxt = popupTxt + '<option value="'+cl+'">'+cl+'</option>';
|
||||||
|
@ -804,18 +804,24 @@ function checkKey(e){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function showFailedSuccessAnimation(path, message){
|
function showSaveFailAnimation(path, message){
|
||||||
$('#failed').find('b#content').html('Failed to save file '+path+'<br/>'+message);
|
$('#failed').find('b#content').html(t('gpxedit', 'Failed to save file')+' '+path+'<br/>'+message);
|
||||||
$('#failed').fadeIn();
|
$('#failed').fadeIn();
|
||||||
setTimeout(hideFailedSuccessAnimation, 4000);
|
setTimeout(hideFailedAnimation, 4000);
|
||||||
}
|
}
|
||||||
|
|
||||||
function hideFailedSuccessAnimation(){
|
function showFailAnimation(message){
|
||||||
|
$('#failed').find('b#content').html(message);
|
||||||
|
$('#failed').fadeIn();
|
||||||
|
setTimeout(hideFailedAnimation, 4000);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hideFailedAnimation(){
|
||||||
$('#failed').fadeOut();
|
$('#failed').fadeOut();
|
||||||
}
|
}
|
||||||
|
|
||||||
function showSaveSuccessAnimation(path){
|
function showSaveSuccessAnimation(path){
|
||||||
$('#saved').find('b#content').html('File successfully saved as<br/>'+path);
|
$('#saved').find('b#content').html(t('gpxedit', 'File successfully saved as')+'<br/>'+path);
|
||||||
$('#saved').fadeIn();
|
$('#saved').fadeIn();
|
||||||
setTimeout(hideSaveSuccessAnimation, 4000);
|
setTimeout(hideSaveSuccessAnimation, 4000);
|
||||||
}
|
}
|
||||||
|
@ -1069,16 +1075,16 @@ function saveAction(targetPath){
|
||||||
var url = OC.generateUrl('/apps/gpxedit/savegpx');
|
var url = OC.generateUrl('/apps/gpxedit/savegpx');
|
||||||
$.post(url, req).done(function (response) {
|
$.post(url, req).done(function (response) {
|
||||||
if (response.status === 'fiw'){
|
if (response.status === 'fiw'){
|
||||||
showFailedSuccessAnimation(saveFilePath, 'Impossible to write file : write access denied');
|
showSaveFailAnimation(saveFilePath, t('gpxedit', 'Impossible to write file')+' : '+t('gpxedit', 'write access denied'));
|
||||||
}
|
}
|
||||||
else if (response.status === 'fu'){
|
else if (response.status === 'fu'){
|
||||||
showFailedSuccessAnimation(saveFilePath, 'Impossible to write file : folder does not exist');
|
showSaveFailAnimation(saveFilePath, t('gpxedit', 'Impossible to write file')+' : '+t('gpxedit', 'folder does not exist'));
|
||||||
}
|
}
|
||||||
else if (response.status === 'fw'){
|
else if (response.status === 'fw'){
|
||||||
showFailedSuccessAnimation(saveFilePath, 'Impossible to write file : folder write access denied');
|
showSaveFailAnimation(saveFilePath, t('gpxedit', 'Impossible to write file')+' : '+t('gpxedit', 'folder write access denied'));
|
||||||
}
|
}
|
||||||
else if (response.status === 'bfn'){
|
else if (response.status === 'bfn'){
|
||||||
showFailedSuccessAnimation(saveFilePath, 'Bad file name, must end with ".gpx"');
|
showSaveFailAnimation(saveFilePath, t('gpxedit', 'Bad file name, must end with ".gpx"'));
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
showSaveSuccessAnimation(saveFilePath);
|
showSaveSuccessAnimation(saveFilePath);
|
||||||
|
@ -1158,10 +1164,15 @@ $(document).ready(function(){
|
||||||
});
|
});
|
||||||
|
|
||||||
$('button#saveButton').click(function(e){
|
$('button#saveButton').click(function(e){
|
||||||
|
if (gpxedit.editableLayers.getLayers().length === 0){
|
||||||
|
showFailAnimation(t('gpxedit', 'There is nothing to save'));
|
||||||
|
}
|
||||||
|
else{
|
||||||
var filename = $('#saveName').val();
|
var filename = $('#saveName').val();
|
||||||
OC.dialogs.filepicker(t('gpxedit', 'Where to save')+' <b>'+filename+'</b>', function(targetPath) {
|
OC.dialogs.filepicker(t('gpxedit', 'Where to save')+' <b>'+filename+'</b>', function(targetPath) {
|
||||||
saveAction(targetPath);
|
saveAction(targetPath);
|
||||||
}, false, "httpd/unix-directory", true);
|
}, false, "httpd/unix-directory", true);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Custom tile server management
|
// Custom tile server management
|
||||||
|
|
15
l10n/fr.js
15
l10n/fr.js
|
@ -2,9 +2,24 @@ OC.L10N.register(
|
||||||
"gpxedit",
|
"gpxedit",
|
||||||
{
|
{
|
||||||
"Where to save" : "Où enregistrer",
|
"Where to save" : "Où enregistrer",
|
||||||
|
"Track" : "Trace",
|
||||||
|
"Waypoint" : "Étape",
|
||||||
|
"Name" : "Nom",
|
||||||
|
"Comment" : "Commentaire",
|
||||||
|
"Symbol" : "Symbole",
|
||||||
|
"No symbol" : "Aucun symbole",
|
||||||
|
"File successfully saved as" : "Fichier enregistré avec succès :",
|
||||||
|
"There is nothing to save" : "Il n'y a rien à sauver",
|
||||||
"Impossible to load this file. " : "Impossible de charger ce fichier. ",
|
"Impossible to load this file. " : "Impossible de charger ce fichier. ",
|
||||||
"Supported formats are gpx, kml, csv (unicsv) and jpg." : "Les formats pris en charge sont gpx, kml, csv (unicsv) et jpg",
|
"Supported formats are gpx, kml, csv (unicsv) and jpg." : "Les formats pris en charge sont gpx, kml, csv (unicsv) et jpg",
|
||||||
"Load error" : "Erreur de chargement",
|
"Load error" : "Erreur de chargement",
|
||||||
|
"Impossible to write file" : "Impossible d'écrire le fichier",
|
||||||
|
"write access denied" : "Droit d'accès d'écriture refusé",
|
||||||
|
"folder does not exist" : "Le dossier n'existe pas",
|
||||||
|
"folder write access denied" : "Droit d'accès d'écriture pour le dossier refusé",
|
||||||
|
"Bad file name, must end with \".gpx\"" : "Nom mal formé, doit finir par \".gpx\"",
|
||||||
|
"Load file (gpx, kml, csv, png)" : "Charger un fichier (gpx, kml, csv, png)",
|
||||||
|
"Failed to save file" : "Échec à l'enregistrement du fichier",
|
||||||
"Draw a track" : "Dessiner une trace",
|
"Draw a track" : "Dessiner une trace",
|
||||||
"Add a waypoint" : "Ajouter une étape",
|
"Add a waypoint" : "Ajouter une étape",
|
||||||
"Edit" : "Éditer",
|
"Edit" : "Éditer",
|
||||||
|
|
Loading…
Reference in New Issue