1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00

Updated translation

This commit is contained in:
Laurent Cozic 2017-10-30 22:29:17 +00:00
parent 12b6902a49
commit 9c70e9b233
9 changed files with 116 additions and 495 deletions

View File

@ -17,8 +17,6 @@ import { fileExtension } from 'lib/path-utils.js';
import { _, setLocale, defaultLocale, closestSupportedLocale } from 'lib/locale.js';
import os from 'os';
import fs from 'fs-extra';
import yargParser from 'yargs-parser';
import { handleAutocompletion, installAutocompletionFile } from './autocompletion.js';
import { cliUtils } from './cli-utils.js';
const EventEmitter = require('events');
@ -28,7 +26,6 @@ class Application {
this.showPromptString_ = true;
this.logger_ = new Logger();
this.dbLogger_ = new Logger();
this.autocompletion_ = { active: false };
this.commands_ = {};
this.commandMetadata_ = null;
this.activeCommand_ = null;
@ -202,37 +199,6 @@ class Application {
continue;
}
if (arg == '--autocompletion') {
this.autocompletion_.active = true;
argv.splice(0, 1);
continue;
}
if (arg == '--ac-install') {
this.autocompletion_.install = true;
argv.splice(0, 1);
continue;
}
if (arg == '--ac-current') {
if (!nextArg) throw new Error(_('Usage: %s', '--ac-current <num>'));
this.autocompletion_.current = nextArg;
argv.splice(0, 2);
continue;
}
if (arg == '--ac-line') {
if (!nextArg) throw new Error(_('Usage: %s', '--ac-line <line>'));
let line = nextArg.replace(/\|__QUOTE__\|/g, '"');
line = line.replace(/\|__SPACE__\|/g, ' ');
line = line.replace(/\|__OPEN_RB__\|/g, '(');
line = line.replace(/\|__OPEN_CB__\|/g, ')');
line = line.split('|__SEP__|');
this.autocompletion_.line = line;
argv.splice(0, 2);
continue;
}
if (arg.length && arg[0] == '-') {
throw new Error(_('Unknown flag: %s', arg));
} else {
@ -611,10 +577,6 @@ class Application {
return this.stdout(object);
});
// this.store_ = createStore(reducer, applyMiddleware(this.generalMiddleware()));
// BaseModel.dispatch = this.store().dispatch;
// FoldersScreenUtils.dispatch = this.store().dispatch;
await Setting.load();
if (Setting.value('firstStart')) {

View File

@ -1,175 +0,0 @@
import { app } from './app.js';
import { Note } from 'lib/models/note.js';
import { Folder } from 'lib/models/folder.js';
import { Tag } from 'lib/models/tag.js';
import { cliUtils } from './cli-utils.js';
import { _ } from 'lib/locale.js';
import fs from 'fs-extra';
import os from 'os';
import yargParser from 'yargs-parser';
function autocompletionFileContent(appName, alias) {
let content = fs.readFileSync(__dirname + '/autocompletion_template.txt', 'utf8');
content = content.replace(/\|__APPNAME__\|/g, appName);
if (!alias) alias = 'joplin_alias_support_is_disabled';
content = content.replace(/\|__APPALIAS__\|/g, alias);
return content;
}
function autocompletionScriptPath(profileDir) {
return profileDir + '/autocompletion.sh';
}
async function installAutocompletionFile(appName, profileDir) {
if (process.env.SHELL.indexOf('bash') < 0) {
let error = new Error(_('Only Bash is currently supported for autocompletion.'));
error.code = 'shellNotSupported';
throw error;
}
const alias = await cliUtils.promptInput(_('Autocompletion can be made to work with an alias too (such as a one-letter command like "j").\nIf you would like to enable this, please type the alias now (leave it empty for no alias):'));
const content = autocompletionFileContent(appName, alias);
const filePath = autocompletionScriptPath(profileDir);
fs.writeFileSync(filePath, content);
console.info(_('Created autocompletion script "%s".', filePath));
const bashProfilePath = os.homedir() + '/.bashrc';
let bashrcContent = fs.readFileSync(bashProfilePath, 'utf8');
const lineToAdd = 'source ' + filePath;
if (bashrcContent.indexOf(lineToAdd) >= 0) {
console.info(_('Autocompletion script is already present in "%s".', bashProfilePath));
} else {
bashrcContent += "\n" + lineToAdd + "\n";
fs.writeFileSync(bashProfilePath, bashrcContent);
console.info(_('Added autocompletion to "%s".', bashProfilePath));
}
if (alias) {
if (bashrcContent.indexOf('alias ' + alias + '=') >= 0) {
console.info(_('Alias is already set in "%s".', bashProfilePath));
} else {
const l = 'alias ' + alias + '=' + appName;
bashrcContent += "\n" + l + "\n";
fs.writeFileSync(bashProfilePath, bashrcContent);
console.info(_('Added alias to "%s".', bashProfilePath));
}
}
console.info(_("IMPORTANT: run the following command to initialise autocompletion in the current shell:\nsource '%s'", filePath));
}
async function handleAutocompletion(autocompletion) {
let args = autocompletion.line.slice();
args.splice(0, 1);
let current = autocompletion.current - 1;
const currentWord = args[current] ? args[current] : '';
// Auto-complete the command name
if (current == 0) {
const metadata = await app().commandMetadata();
let commandNames = [];
for (let n in metadata) {
if (!metadata.hasOwnProperty(n)) continue;
const md = metadata[n];
if (md.hidden) continue;
if (currentWord == n) return [n];
if (n.indexOf(currentWord) === 0) commandNames.push(n);
}
return commandNames;
}
const commandName = args[0];
const metadata = await app().commandMetadata();
const md = metadata[commandName];
const options = md && md.options ? md.options : [];
// Auto-complete the command options
if (currentWord) {
const includeLongs = currentWord.length == 1 ? currentWord.substr(0, 1) == '-' : currentWord.substr(0, 2) == '--';
const includeShorts = currentWord.length <= 2 && currentWord.substr(0, 1) == '-' && currentWord.substr(0, 2) != '--';
if (includeLongs || includeShorts) {
const output = [];
for (let i = 0; i < options.length; i++) {
const flags = cliUtils.parseFlags(options[i][0]);
const long = flags.long ? '--' + flags.long : null;
const short = flags.short ? '-' + flags.short : null;
if (includeLongs && long && long.indexOf(currentWord) === 0) output.push(long);
if (includeShorts && short && short.indexOf(currentWord) === 0) output.push(short);
}
return output;
}
}
// Auto-complete the command arguments
let argIndex = -1;
for (let i = 0; i < args.length; i++) {
const w = args[i];
if (i == 0 || w.indexOf('-') == 0) {
continue;
}
argIndex++;
}
if (argIndex < 0) return [];
let cmdUsage = yargParser(md.usage)['_'];
cmdUsage.splice(0, 1);
if (cmdUsage.length <= argIndex) return [];
let argName = cmdUsage[argIndex];
argName = cliUtils.parseCommandArg(argName).name;
if (argName == 'note' || argName == 'note-pattern') {
if (!app().currentFolder()) return [];
const notes = await Note.previews(app().currentFolder().id, { titlePattern: currentWord + '*' });
return notes.map((n) => n.title);
}
if (argName == 'notebook') {
const folders = await Folder.search({ titlePattern: currentWord + '*' });
return folders.map((n) => n.title);
}
if (argName == 'tag') {
let tags = await Tag.search({ titlePattern: currentWord + '*' });
return tags.map((n) => n.title);
}
if (argName == 'tag-command') {
return filterList(['add', 'remove', 'list'], currentWord);
}
if (argName == 'todo-command') {
return filterList(['toggle', 'clear'], currentWord);
}
if (argName == 'command') {
const commands = await app().commandNames();
return this.filterList(commands, currentWord);
}
return [];
}
function filterList(list, currentWord) {
let output = [];
for (let i = 0; i < list.length; i++) {
if (list[i].indexOf(currentWord) !== 0) continue;
output.push(list[i]);
}
return output;
}
export { handleAutocompletion, installAutocompletionFile, autocompletionScriptPath };

View File

@ -1,44 +0,0 @@
export IFS=$'\n'
_|__APPNAME__|_completion() {
# COMP_WORDS contains each word in the current command, the last one
# being the one that needs to be completed. Convert this array
# to an "escaped" line which can be passed to the joplin CLI
# which will provide the possible autocompletion words.
ESCAPED_LINE=""
for WORD in "${COMP_WORDS[@]}"
do
if [[ -n $ESCAPED_LINE ]]; then
ESCAPED_LINE="$ESCAPED_LINE|__SEP__|"
fi
WORD="${WORD/\"/|__QUOTE__|}"
WORD="${WORD/\\(/|__OPEN_RB__|}"
WORD="${WORD/\\)/|__CLOSE_RB__|}"
WORD="${WORD/\\ /|__SPACE__|}"
ESCAPED_LINE="$ESCAPED_LINE$WORD"
done
# Call joplin with the --autocompletion flag to retrieve the autocompletion
# candidates (each on its own line), and put these into COMREPLY.
# echo "joplindev --autocompletion --ac-current "$COMP_CWORD" --ac-line "$ESCAPED_LINE"" > ~/test.txt
COMPREPLY=()
while read -r line; do
COMPREPLY+=("$line")
done <<< "$(|__APPNAME__| --autocompletion --ac-current "$COMP_CWORD" --ac-line "$ESCAPED_LINE")"
# If there's only one element and it's empty, make COMREPLY
# completely empty so that default completion takes over
# (i.e. regular file completion)
# https://stackoverflow.com/a/19062943/561309
if [[ -z ${COMPREPLY[0]} ]]; then
COMPREPLY=()
fi
}
complete -o default -F _|__APPNAME__|_completion |__APPNAME__|
complete -o default -F _|__APPNAME__|_completion |__APPALIAS__|

View File

@ -73,9 +73,9 @@ class Command extends BaseCommand {
this.stdout('');
this.stdout(_('In any command, a note or notebook can be refered to by title or ID, or using the shortcuts `$n` or `$b` for, respectively, the currently selected note or notebook. `$c` can be used to refer to the currently selected item.'));
this.stdout('');
this.stdout(_('To move from one widget to another, press Tab or Shift+Tab.'));
this.stdout(_('To move from one pane to another, press Tab or Shift+Tab.'));
this.stdout(_('Use the arrows and page up/down to scroll the lists and text areas (including this console).'));
this.stdout(_('To maximise/minimise the console, press "C".'));
this.stdout(_('To maximise/minimise the console, press "TC".'));
this.stdout(_('To enter command line mode, press ":"'));
this.stdout(_('To exit command line mode, press ESCAPE'));
this.stdout(_('For the complete list of available keyboard shortcuts, type `help shortcuts`'));

View File

@ -15,7 +15,6 @@ npm run build || exit 1
rsync -a "$ROOT_DIR/app/gui/" "$ROOT_DIR/build/gui/"
cp "$ROOT_DIR/package.json" "$ROOT_DIR/build"
cp "$ROOT_DIR/app/autocompletion_template.txt" "$ROOT_DIR/build"
chmod 755 "$ROOT_DIR/build/main.js"

View File

@ -121,43 +121,6 @@ msgstr ""
msgid "The command \"%s\" is only available in GUI mode"
msgstr ""
msgid "Only Bash is currently supported for autocompletion."
msgstr ""
msgid ""
"Autocompletion can be made to work with an alias too (such as a one-letter "
"command like \"j\").\n"
"If you would like to enable this, please type the alias now (leave it empty "
"for no alias):"
msgstr ""
#, javascript-format
msgid "Created autocompletion script \"%s\"."
msgstr ""
#, javascript-format
msgid "Autocompletion script is already present in \"%s\"."
msgstr ""
#, javascript-format
msgid "Added autocompletion to \"%s\"."
msgstr ""
#, javascript-format
msgid "Alias is already set in \"%s\"."
msgstr ""
#, javascript-format
msgid "Added alias to \"%s\"."
msgstr ""
#, javascript-format
msgid ""
"IMPORTANT: run the following command to initialise autocompletion in the "
"current shell:\n"
"source '%s'"
msgstr ""
#, javascript-format
msgid "Missing required argument: %s"
msgstr ""
@ -271,7 +234,7 @@ msgid ""
"note or notebook. `$c` can be used to refer to the currently selected item."
msgstr ""
msgid "To move from one widget to another, press Tab or Shift+Tab."
msgid "To move from one pane to another, press Tab or Shift+Tab."
msgstr ""
msgid ""
@ -279,7 +242,7 @@ msgid ""
"(including this console)."
msgstr ""
msgid "To maximise/minimise the console, press \"C\"."
msgid "To maximise/minimise the console, press \"TC\"."
msgstr ""
msgid "To enter command line mode, press \":\""

View File

@ -16,74 +16,65 @@ msgstr ""
"X-Generator: Poedit 2.0.3\n"
msgid "Give focus to next pane"
msgstr ""
msgstr "Activer le volet suivant"
msgid "Give focus to previous pane"
msgstr ""
msgstr "Activer le volet précédent"
msgid "Enter command line mode"
msgstr ""
msgstr "Démarrer le mode de ligne de commande"
msgid "Exit command line mode"
msgstr ""
msgstr "Sortir du mode de ligne de commande"
#, fuzzy
msgid "Cancel the current command."
msgstr "Annulation..."
msgstr "Annuler la commande en cours."
#, fuzzy
msgid "Exit the application."
msgstr "Quitter le logiciel."
msgid "Delete the currently selected note or notebook."
msgstr ""
msgstr "Supprimer la note ou carnet sélectionné."
msgid "To delete a tag, untag the associated notes."
msgstr ""
msgstr "Pour supprimer une vignette, enlever là des notes associées."
#, fuzzy
msgid "Please select the note or notebook to be deleted first."
msgstr "Veuillez d'abord sélectionner un carnet."
#, fuzzy
msgid "Set a to-do as completed / not completed"
msgstr "Tâches non-complétées et récentes"
msgstr "Marquer une tâches comme complétée / non-complétée"
msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
msgstr ""
msgstr "Maximiser, minimiser, cacher ou rendre visible la console."
msgid "Search"
msgstr "Chercher"
msgid "[t]oggle note [m]etadata."
msgstr ""
msgstr "Afficher/Cacher les métadonnées des notes."
#, fuzzy
msgid "[M]ake a new [n]ote"
msgstr "Créer une note."
msgstr "Créer une nouvelle note"
#, fuzzy
msgid "[M]ake a new [t]odo"
msgstr "Créer une nouvelle tâche."
msgstr "Créer une nouvelle tâche"
#, fuzzy
msgid "[M]ake a new note[b]ook"
msgstr "Créer un carnet."
msgstr "Créer un nouveau carnet"
#, fuzzy
msgid "Copy ([Y]ank) the [n]ote to a notebook."
msgstr "Impossible de copier la note dans le carnet \"%s\""
msgstr "Copier la note dans un autre carnet."
#, fuzzy
msgid "Move the note to a notebook."
msgstr "Impossible de déplacer la note vers le carnet \"%s\""
msgstr "Déplacer la note vers un carnet."
msgid "Press Ctrl+D or type \"exit\" to exit the application"
msgstr ""
msgstr "Appuyez sur Ctrl+D ou tapez \"exit\" pour sortir du logiciel"
#, javascript-format
msgid "More than one item match \"%s\". Please narrow down your query."
msgstr ""
msgstr "Plus d'un objet correspond à \"%s\". Veuillez préciser votre requête."
msgid "No notebook selected."
msgstr "Aucun carnet n'est sélectionné."
@ -93,7 +84,7 @@ msgstr "Aucun carnet n'est spécifié."
#, javascript-format
msgid "Usage: %s"
msgstr "Utilisation : %s."
msgstr "Utilisation : %s"
#, javascript-format
msgid "Unknown flag: %s"
@ -114,88 +105,50 @@ msgid "Exits the application."
msgstr "Quitter le logiciel."
msgid "Y"
msgstr ""
msgstr "O"
msgid "n"
msgstr ""
msgstr "n"
msgid "N"
msgstr ""
msgstr "N"
msgid "y"
msgstr ""
msgstr "o"
#, fuzzy
msgid "Cancelling background synchronisation... Please wait."
msgstr "Annulation..."
msgstr "Annulation de la synchronisation... Veuillez patienter."
#, javascript-format
msgid "The command \"%s\" is only available in GUI mode"
msgstr ""
msgid "Only Bash is currently supported for autocompletion."
msgstr ""
msgid ""
"Autocompletion can be made to work with an alias too (such as a one-letter "
"command like \"j\").\n"
"If you would like to enable this, please type the alias now (leave it empty "
"for no alias):"
msgstr ""
#, javascript-format
msgid "Created autocompletion script \"%s\"."
msgstr ""
#, javascript-format
msgid "Autocompletion script is already present in \"%s\"."
msgstr ""
#, javascript-format
msgid "Added autocompletion to \"%s\"."
msgstr ""
#, javascript-format
msgid "Alias is already set in \"%s\"."
msgstr ""
#, javascript-format
msgid "Added alias to \"%s\"."
msgstr ""
#, javascript-format
msgid ""
"IMPORTANT: run the following command to initialise autocompletion in the "
"current shell:\n"
"source '%s'"
msgstr ""
"La commande \"%s\" est disponible uniquement en mode d'interface graphique"
#, javascript-format
msgid "Missing required argument: %s"
msgstr ""
msgstr "Paramètre requis manquant : %s"
#, fuzzy, javascript-format
#, javascript-format
msgid "%s: %s"
msgstr "%s: %d/%d"
msgstr "%s : %s"
msgid "Your choice: "
msgstr ""
msgstr "Votre choix :"
#, fuzzy, javascript-format
#, javascript-format
msgid "Invalid answer: %s"
msgstr "Commande invalide : \"%s\""
msgstr "Réponse invalide : %s"
#, fuzzy
msgid "Attaches the given file to the note."
msgstr "Chercher le motif <pattern> dans toutes les notes."
msgstr "Joindre le fichier fourni à la note."
#, javascript-format
msgid "Cannot find \"%s\"."
msgstr "Impossible de trouver \"%s\"."
#, fuzzy, javascript-format
#, javascript-format
msgid "Cannot access %s"
msgstr "Impossible de trouver \"%s\"."
msgstr "Impossible d'accéder à %s"
msgid "Displays the given note."
msgstr "Affiche la note."
@ -212,7 +165,6 @@ msgstr ""
"fournie, la valeur de [nom] est affichée. Si ni le [nom] ni la [valeur] ne "
"sont fournis, la configuration complète est affichée."
#, fuzzy
msgid "Also displays unset and hidden config variables."
msgstr "Afficher également les variables cachées."
@ -224,20 +176,19 @@ msgstr "%s = %s (%s)"
msgid "%s = %s"
msgstr "%s = %s"
#, fuzzy
msgid ""
"Duplicates the notes matching <note> to [notebook]. If no notebook is "
"specified the note is duplicated in the current notebook."
msgstr ""
"Copie les notes correspondant à [nom] vers [carnet]. Si aucun carnet n'est "
"spécifié, la note est dupliqué sur place."
"Copie les notes correspondant à <nom> vers [carnet]. Si aucun carnet n'est "
"spécifié, la note est dupliquée sur place."
msgid "Marks a to-do as done."
msgstr ""
msgstr "Marquer la tâche comme complétée."
#, javascript-format
msgid "Note is not a to-do: \"%s\""
msgstr ""
msgstr "La note n'est pas une tâche : \"%s\""
msgid "Edit note."
msgstr "Editer la note."
@ -260,66 +211,72 @@ msgstr ""
"Edition de la note en cours. Fermez l'éditeur de texte pour retourner à "
"l'invite de commande."
#, fuzzy
msgid "Note has been saved."
msgstr "Aucun carnet n'est spécifié."
msgstr "La note a été enregistrée."
msgid ""
"Exports Joplin data to the given directory. By default, it will export the "
"complete database including notebooks, notes, tags and resources."
msgstr ""
"Exporter les données de Joplin vers le dossier fourni. Par défaut, la base "
"de donnée complète sera exportée, y compris les carnets, notes, tags et "
"resources."
#, fuzzy
msgid "Exports only the given note."
msgstr "Affiche la note."
msgstr "Exporter uniquement la note spécifiée."
#, fuzzy
msgid "Exports only the given notebook."
msgstr "Affiche la note."
msgstr "Exporter uniquement le carnet spécifié."
msgid "Displays a geolocation URL for the note."
msgstr "Afficher l'URL de l'emplacement de la note."
#, fuzzy
msgid "Displays usage information."
msgstr "Affiche les informations de version"
msgstr "Affiche les informations d'utilisation."
msgid "Shortcuts are not available in CLI mode."
msgstr ""
msgstr "Les raccourcis ne sont pas disponible en mode de ligne de commande."
msgid "Type `help [command]` for more information about a command."
msgstr ""
msgstr "Tapez `help [command]` pour plus d'information sur une commande."
msgid "The possible commands are:"
msgstr ""
msgstr "Les commandes possibles sont :"
msgid ""
"In any command, a note or notebook can be refered to by title or ID, or "
"using the shortcuts `$n` or `$b` for, respectively, the currently selected "
"note or notebook. `$c` can be used to refer to the currently selected item."
msgstr ""
"Dans n'importe quelle commande, une note ou carnet peut être référé par "
"titre ou identifiant, ou en utilisant les raccourcis `$n` et `$b` pour, "
"respectivement, la note sélectionnée et le carnet sélectionné. `$c` peut "
"être utilisé pour faire référence à l'objet sélectionné en cours."
msgid "To move from one widget to another, press Tab or Shift+Tab."
msgstr ""
msgid "To move from one pane to another, press Tab or Shift+Tab."
msgstr "Pour aller d'un volet à l'autre, pressez Tab ou Maj+Tab."
msgid ""
"Use the arrows and page up/down to scroll the lists and text areas "
"(including this console)."
msgstr ""
"Utilisez les touches fléchées et page précédente/suivante pour faire défiler "
"les listes et zones de texte (y compris cette console)."
#, fuzzy
msgid "To maximise/minimise the console, press \"C\"."
msgstr "Quitter le logiciel."
msgid "To maximise/minimise the console, press \"TC\"."
msgstr "Pour maximiser ou minimiser la console, pressez \"tc\"."
msgid "To enter command line mode, press \":\""
msgstr ""
msgstr "Pour démarrer le mode ligne de commande, pressez \":\""
msgid "To exit command line mode, press ESCAPE"
msgstr ""
msgstr "Pour sortir du mode ligne de commande, pressez ECHAP"
msgid ""
"For the complete list of available keyboard shortcuts, type `help shortcuts`"
msgstr ""
"Pour la liste complète des raccourcis disponibles, tapez `help shortcuts`"
msgid "Imports an Evernote notebook file (.enex file)."
msgstr "Importer un carnet Evernote (fichier .enex)."
@ -367,11 +324,10 @@ msgstr "Etiquettes : %d."
msgid "Importing notes..."
msgstr "Importation des notes..."
#, fuzzy, javascript-format
#, javascript-format
msgid "The notes have been imported: %s"
msgstr "Aucun carnet n'est spécifié."
msgstr "Les notes ont été importées : %s"
#, fuzzy
msgid ""
"Displays the notes in the current notebook. Use `ls /` to display the list "
"of notebooks."
@ -389,7 +345,6 @@ msgstr ""
msgid "Reverses the sorting order."
msgstr "Inverser l'ordre."
#, fuzzy
msgid ""
"Displays only the items of the specific type(s). Can be `n` for notes, `t` "
"for to-dos, or `nt` for notes and to-dos (eg. `-tt` would display only the "
@ -402,7 +357,6 @@ msgstr ""
msgid "Either \"text\" or \"json\""
msgstr "Soit \"text\" soit \"json\""
#, fuzzy
msgid ""
"Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, "
"TODO_CHECKED (for to-dos), TITLE"
@ -422,36 +376,30 @@ msgstr "Créer une note."
msgid "Notes can only be created within a notebook."
msgstr "Les notes ne peuvent être créées que dans un carnet."
#, fuzzy
msgid "Creates a new to-do."
msgstr "Créer une nouvelle tâche."
#, fuzzy
msgid "Moves the notes matching <note> to [notebook]."
msgstr "Supprime les objets correspondants à <motif>."
msgstr "Déplacer les notes correspondant à <note> vers [notebook]."
msgid "Renames the given <item> (note or notebook) to <name>."
msgstr ""
msgstr "Renommer l'objet <item> (note ou carnet) en <name>."
#, fuzzy
msgid "Deletes the given notebook."
msgstr "Supprime le carnet."
msgstr "Supprimer le carnet."
#, fuzzy
msgid "Deletes the notebook without asking for confirmation."
msgstr "Supprime les objets sans demander la confirmation."
msgstr "Supprimer le carnet sans demander la confirmation."
#, javascript-format
msgid "Delete notebook \"%s\"?"
msgstr "Supprimer le carnet \"%s\" ?"
#, fuzzy
msgid "Deletes the notes matching <note-pattern>."
msgstr "Supprime les objets correspondants à <motif>."
msgstr "Supprimer les notes correspondants à <note-pattern>."
#, fuzzy
msgid "Deletes the notes without asking for confirmation."
msgstr "Supprime les objets sans demander la confirmation."
msgstr "Supprimer les notes sans demander la confirmation."
#, javascript-format
msgid "%d notes match this pattern. Delete them?"
@ -486,10 +434,13 @@ msgid ""
"taking place, you may delete the lock file at \"%s\" and resume the "
"operation."
msgstr ""
"La synchronisation est déjà en cours ou ne s'est pas interrompue "
"correctement. Si vous savez qu'aucune autre synchronisation est en cours, "
"vous pouvez supprimer le fichier \"%s\" pour reprendre l'opération."
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr ""
msgstr "Impossible d'autoriser le logiciel (jeton d'identification non-reçu)."
#, javascript-format
msgid "Synchronisation target: %s (%s)"
@ -501,40 +452,36 @@ msgstr "Impossible d'initialiser la synchronisation."
msgid "Starting synchronisation..."
msgstr "Commencement de la synchronisation..."
#, fuzzy
msgid "Cancelling... Please wait."
msgstr "Annulation..."
msgstr "Annulation... Veuillez attendre."
#, fuzzy
msgid ""
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
"[tag] from [note], or to list the notes associated with [tag]. The command "
"`tag list` can be used to list all the tags."
msgstr ""
"<command> peut être \"add\", \"remove\" ou \"list\" pour assigner ou enlever "
"l'étiquette [tag] de la [note], our pour lister les notes associées avec "
"l'étiquette [tag]. La commande `tag list` peut être utilisée pour lister les "
"étiquettes."
"<tag-command> peut être \"add\", \"remove\" ou \"list\" pour assigner ou "
"enlever l'étiquette [tag] de la [note], our pour lister les notes associées "
"avec l'étiquette [tag]. La commande `tag list` peut être utilisée pour "
"lister les étiquettes."
#, javascript-format
msgid "Invalid command: \"%s\""
msgstr "Commande invalide : \"%s\""
#, fuzzy
msgid ""
"<todo-command> can either be \"toggle\" or \"clear\". Use \"toggle\" to "
"toggle the given to-do between completed and uncompleted state (If the "
"target is a regular note it will be converted to a to-do). Use \"clear\" to "
"convert the to-do back to a regular note."
msgstr ""
"Gère le status des tâches. <action> peut être \"toggle\" ou \"clear\". "
"Gère le status des tâches. <todo-command> peut être \"toggle\" ou \"clear\". "
"Utilisez \"toggle\" pour basculer la tâche entre le status terminé et non-"
"terminé (Si la cible est une note, elle sera convertie en tâche). Utilisez "
"\"clear\" pour convertir la tâche en note."
#, fuzzy
msgid "Marks a to-do as non-completed."
msgstr "Tâches non-complétées et récentes"
msgstr "Marquer une tâche comme non-complétée."
msgid ""
"Switches to [notebook] - all further operations will happen within this "
@ -550,22 +497,22 @@ msgid "%s %s (%s)"
msgstr "%s %s (%s)"
msgid "Enum"
msgstr ""
msgstr "Enum"
#, javascript-format
msgid "Type: %s."
msgstr ""
msgstr "Type : %s."
#, javascript-format
msgid "Possible values: %s."
msgstr ""
msgstr "Valeurs possibles : %s."
#, javascript-format
msgid "Default: %s"
msgstr ""
msgstr "Défaut : %s"
msgid "Possible keys/values:"
msgstr ""
msgstr "Clefs/Valeurs possibles :"
msgid "Fatal error:"
msgstr "Erreur fatale :"
@ -584,12 +531,17 @@ msgid ""
"any files outside this directory nor to any other personal data. No data "
"will be shared with any third party."
msgstr ""
"Veuillez ouvrir le lien ci-dessous dans votre browser pour authentifier le "
"logiciel. Joplin va créer un répertoire \"Apps/Joplin\" et lire/écrira des "
"fichiers uniquement dans ce répertoire. Le logiciel n'aura pas d'accès à "
"aucun fichier en dehors de ce répertoire, ni à d'autres données "
"personnelles. Aucune donnée ne sera partagé avec aucun tier."
#, fuzzy, javascript-format
#, javascript-format
msgid "Unknown log level: %s"
msgstr "Paramètre inconnu : %s"
#, fuzzy, javascript-format
#, javascript-format
msgid "Unknown level ID: %s"
msgstr "Paramètre inconnu : %s"
@ -631,9 +583,9 @@ msgstr "Objets supprimés localement : %d."
msgid "Deleted remote items: %d."
msgstr "Objets distants supprimés : %d."
#, fuzzy, javascript-format
#, javascript-format
msgid "State: \"%s\"."
msgstr "Etat : %s."
msgstr "Etat : \"%s\"."
msgid "Cancelling..."
msgstr "Annulation..."
@ -665,7 +617,7 @@ msgstr "Cette note n'a pas d'information d'emplacement."
#, javascript-format
msgid "Cannot copy note to \"%s\" notebook"
msgstr "Impossible de copier la note dans le carnet \"%s\""
msgstr "Impossible de copier la note vers le carnet \"%s\""
#, javascript-format
msgid "Cannot move note to \"%s\" notebook"
@ -675,14 +627,15 @@ msgstr "Impossible de déplacer la note vers le carnet \"%s\""
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Option invalide: \"%s\". Les valeurs possibles sont : %s."
#, fuzzy
msgid "File system synchronisation target directory"
msgstr "Cible de la synchronisation"
msgstr "Cible de la synchronisation sur le disque dur"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Le chemin du répertoire avec lequel synchroniser lorsque la synchronisation "
"par système de fichier est activée. Voir `sync.target`."
msgid "Synchronisation target"
msgstr "Cible de la synchronisation"
@ -691,6 +644,8 @@ msgid ""
"The target to synchonise to. If synchronising with the file system, set "
"`sync.2.path` to specify the target directory."
msgstr ""
"La cible avec laquelle synchroniser. Pour synchroniser avec le système de "
"fichier, veuillez spécifier le répertoire avec `sync.2.path`."
msgid "File system"
msgstr "Système de fichier"
@ -699,12 +654,14 @@ msgid "OneDrive"
msgstr "OneDrive"
msgid "Text editor"
msgstr ""
msgstr "Editeur de texte"
msgid ""
"The editor that will be used to open a note. If none is provided it will try "
"to auto-detect the default editor."
msgstr ""
"L'éditeur de texte pour ouvrir et modifier les notes. Si aucun n'est "
"spécifié, il sera détecté automatiquement."
msgid "Language"
msgstr "Langue"
@ -713,9 +670,8 @@ msgid "Show uncompleted todos on top of the lists"
msgstr "Tâches non-terminées en haut des listes"
msgid "Show advanced options"
msgstr ""
msgstr "Montrer les options avancées"
#, fuzzy
msgid "Save geo-location with notes"
msgstr "Enregistrer l'emplacement avec les notes"
@ -723,7 +679,7 @@ msgid "Synchronisation interval"
msgstr "Interval de synchronisation"
msgid "Disabled"
msgstr ""
msgstr "Désactivé"
#, javascript-format
msgid "%d minutes"
@ -772,7 +728,6 @@ msgstr "Carnets"
msgid "%s: %d notes"
msgstr "%s : %d notes"
#, fuzzy
msgid "New to-do"
msgstr "Nouvelle tâche"
@ -812,19 +767,17 @@ msgstr "Editer le carnet"
msgid "Refresh"
msgstr "Rafraîchir"
#, fuzzy
msgid "This note has been modified:"
msgstr "Aucun carnet n'est spécifié."
msgstr "Cette note a été modifiée :"
msgid "Save changes"
msgstr ""
msgstr "Enregistrer les changements"
msgid "Discard changes"
msgstr ""
msgstr "Ignorer les changements"
#, fuzzy
msgid "Cancel"
msgstr "Annulation..."
msgstr "Annulation"
msgid "Attach file"
msgstr "Attacher un fichier"

View File

@ -121,43 +121,6 @@ msgstr ""
msgid "The command \"%s\" is only available in GUI mode"
msgstr ""
msgid "Only Bash is currently supported for autocompletion."
msgstr ""
msgid ""
"Autocompletion can be made to work with an alias too (such as a one-letter "
"command like \"j\").\n"
"If you would like to enable this, please type the alias now (leave it empty "
"for no alias):"
msgstr ""
#, javascript-format
msgid "Created autocompletion script \"%s\"."
msgstr ""
#, javascript-format
msgid "Autocompletion script is already present in \"%s\"."
msgstr ""
#, javascript-format
msgid "Added autocompletion to \"%s\"."
msgstr ""
#, javascript-format
msgid "Alias is already set in \"%s\"."
msgstr ""
#, javascript-format
msgid "Added alias to \"%s\"."
msgstr ""
#, javascript-format
msgid ""
"IMPORTANT: run the following command to initialise autocompletion in the "
"current shell:\n"
"source '%s'"
msgstr ""
#, javascript-format
msgid "Missing required argument: %s"
msgstr ""
@ -271,7 +234,7 @@ msgid ""
"note or notebook. `$c` can be used to refer to the currently selected item."
msgstr ""
msgid "To move from one widget to another, press Tab or Shift+Tab."
msgid "To move from one pane to another, press Tab or Shift+Tab."
msgstr ""
msgid ""
@ -279,7 +242,7 @@ msgid ""
"(including this console)."
msgstr ""
msgid "To maximise/minimise the console, press \"C\"."
msgid "To maximise/minimise the console, press \"TC\"."
msgstr ""
msgid "To enter command line mode, press \":\""

View File

@ -90,8 +90,8 @@ android {
applicationId "net.cozic.joplin"
minSdkVersion 16
targetSdkVersion 22
versionCode 52
versionName "0.9.39"
versionCode 53
versionName "0.9.40"
ndk {
abiFilters "armeabi-v7a", "x86"
}