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

Refactored handling of multiple sync targets

This commit is contained in:
Laurent Cozic 2017-07-24 18:01:40 +00:00
parent 04cd9a1e7b
commit 0f95e97d19
18 changed files with 630 additions and 581 deletions

View File

@ -11,7 +11,6 @@ import { Folder } from 'lib/models/folder.js';
import { BaseItem } from 'lib/models/base-item.js';
import { Note } from 'lib/models/note.js';
import { Setting } from 'lib/models/setting.js';
import { Synchronizer } from 'lib/synchronizer.js';
import { Logger } from 'lib/logger.js';
import { sprintf } from 'sprintf-js';
import { vorpalUtils } from 'vorpal-utils.js';
@ -27,8 +26,6 @@ class Application {
this.showPromptString_ = true;
this.logger_ = new Logger();
this.dbLogger_ = new Logger();
this.syncLogger_ = new Logger();
this.synchronizers_ = {};
}
vorpal() {
@ -264,93 +261,6 @@ class Application {
if (cmd.hidden()) vorpalCmd.hidden();
});
// this.vorpal().catch('[args...]', 'Catches undefined commands').action(function(args, end) {
// args = args.args;
// function delayExec(command) {
// setTimeout(() => {
// app().vorpal().exec(command);
// }, 100);
// }
// if (!args.length) {
// end();
// delayExec('help');
// return;
// }
// let commandName = args.splice(0, 1);
// let aliases = Setting.value('aliases').trim();
// aliases = aliases.length ? JSON.parse(aliases) : [];
// for (let i = 0; i < aliases.length; i++) {
// const alias = aliases[i];
// if (alias.name == commandName) {
// let command = alias.command + ' ' + app().shellArgsToString(args);
// end();
// delayExec(command);
// return;
// }
// }
// this.log(_("Invalid command. Showing help:"));
// end();
// delayExec('help');
// });
}
async synchronizer(syncTarget, options = null) {
if (!options) options = {};
if (this.synchronizers_[syncTarget]) return this.synchronizers_[syncTarget];
let fileApi = null;
// TODO: create file api based on syncTarget
if (syncTarget == 'onedrive') {
const oneDriveApi = reg.oneDriveApi();
let driver = new FileApiDriverOneDrive(oneDriveApi);
let auth = Setting.value('sync.onedrive.auth');
if (!oneDriveApi.auth()) {
const oneDriveApiUtils = new OneDriveApiNodeUtils(oneDriveApi);
auth = await oneDriveApiUtils.oauthDance(this.vorpal());
Setting.setValue('sync.onedrive.auth', auth ? JSON.stringify(auth) : auth);
if (!auth) return;
}
let appDir = await oneDriveApi.appDirectory();
this.logger_.info('App dir: ' + appDir);
fileApi = new FileApi(appDir, driver);
fileApi.setLogger(this.logger_);
} else if (syncTarget == 'memory') {
fileApi = new FileApi('joplin', new FileApiDriverMemory());
fileApi.setLogger(this.logger_);
} else if (syncTarget == 'filesystem') {
let syncDir = options['sync.filesystem.path'] ? options['sync.filesystem.path'] : Setting.value('sync.filesystem.path');
if (!syncDir) syncDir = Setting.value('profileDir') + '/sync';
this.vorpal().log(_('Synchronizing with directory "%s"', syncDir));
await fs.mkdirp(syncDir, 0o755);
fileApi = new FileApi(syncDir, new FileApiDriverLocal());
fileApi.setLogger(this.logger_);
} else {
throw new Error('Unknown backend: ' + syncTarget);
}
this.synchronizers_[syncTarget] = new Synchronizer(this.database_, fileApi, Setting.value('appType'));
this.synchronizers_[syncTarget].setLogger(this.syncLogger_);
return this.synchronizers_[syncTarget];
}
async start() {
@ -380,13 +290,11 @@ class Application {
this.logger_.setLevel(initArgs.logLevel);
reg.setLogger(this.logger_);
reg.dispatch = (o) => {}
this.dbLogger_.addTarget('file', { path: profileDir + '/log-database.txt' });
this.dbLogger_.setLevel(initArgs.logLevel);
this.syncLogger_.addTarget('file', { path: profileDir + '/log-sync.txt' });
this.syncLogger_.setLevel(initArgs.logLevel);
const packageJson = require('./package.json');
this.logger_.info(sprintf('Starting %s %s (%s)...', packageJson.name, packageJson.version, Setting.value('env')));
this.logger_.info('Profile directory: ' + profileDir);
@ -394,7 +302,10 @@ class Application {
this.database_ = new JoplinDatabase(new DatabaseDriverNode());
this.database_.setLogger(this.dbLogger_);
await this.database_.open({ name: profileDir + '/database.sqlite' });
reg.setDb(this.database_);
BaseModel.db_ = this.database_;
await Setting.load();
setLocale(Setting.value('locale'));

View File

@ -5,6 +5,8 @@ import { Setting } from 'lib/models/setting.js';
import { BaseItem } from 'lib/models/base-item.js';
import { vorpalUtils } from './vorpal-utils.js';
import { Synchronizer } from 'lib/synchronizer.js';
import { reg } from 'lib/registry.js';
import md5 from 'md5';
const locker = require('proper-lockfile');
const fs = require('fs-extra');
const osTmpdir = require('os-tmpdir');
@ -28,7 +30,6 @@ class Command extends BaseCommand {
options() {
return [
['--target <target>', _('Sync to provided target (defaults to sync.target config value)')],
['--filesystem-path <path>', _('For "filesystem" target only: Path to sync to.')],
['--random-failures', 'For debugging purposes. Do not use.'],
];
}
@ -62,7 +63,8 @@ class Command extends BaseCommand {
async action(args) {
this.releaseLockFn_ = null;
const lockFilePath = osTmpdir() + '/synclock';
// Lock is unique per profile/database
const lockFilePath = osTmpdir() + '/synclock_' + md5(Setting.value('profileDir'));
if (!await fs.pathExists(lockFilePath)) await fs.writeFile(lockFilePath, 'synclock');
if (await Command.isLocked(lockFilePath)) throw new Error(_('Synchronisation is already in progress.'));
@ -73,10 +75,7 @@ class Command extends BaseCommand {
this.syncTarget_ = Setting.value('sync.target');
if (args.options.target) this.syncTarget_ = args.options.target;
let syncInitOptions = {};
if (args.options['filesystem-path']) syncInitOptions['sync.filesystem.path'] = args.options['filesystem-path'];
let sync = await app().synchronizer(this.syncTarget_, syncInitOptions);
let sync = await reg.synchronizer(this.syncTarget_);
let options = {
onProgress: (report) => {
@ -122,8 +121,8 @@ class Command extends BaseCommand {
vorpalUtils.redrawDone();
this.log(_('Cancelling...'));
let sync = await app().synchronizer(target);
sync.cancel();
let sync = await reg.synchronizer(target);
if (sync) sync.cancel();
this.syncTarget_ = null;
}

View File

@ -40,11 +40,6 @@ process.stdin.on('keypress', (_, key) => {
if (key && key.name === 'return') {
app().updatePrompt();
}
// if (key.name === 'tab') {
// app().vorpal().ui.imprint();
// app().vorpal().log(app().vorpal().ui.input());
// }
});
shimInit();

View File

@ -15,569 +15,602 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:94
#: /media/veracrypt22/src/notes/CliClient/app/app.js:91
msgid "No notebook selected."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:99
#: /media/veracrypt22/src/notes/CliClient/app/app.js:96
msgid "No notebook has been specified."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:130
#: /media/veracrypt22/src/notes/CliClient/app/app.js:127
msgid "Usage: --profile <dir-path>"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:137
#: /media/veracrypt22/src/notes/CliClient/app/app.js:134
msgid "Usage: --env <dev|prod>"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:162
#: /media/veracrypt22/src/notes/CliClient/app/app.js:159
msgid "Usage: --log-level <none|error|warn|info|debug>"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:169
#: /media/veracrypt22/src/notes/CliClient/app/app.js:166
#, javascript-format
msgid "Unknown flag: %s"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:185
#: /media/veracrypt22/src/notes/CliClient/app/app.js:182
#, javascript-format
msgid ""
"Command line argument \"%s\" contains both quotes and double-quotes - "
"aborting."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:205
#: /media/veracrypt22/src/notes/CliClient/app/app.js:202
msgid "Provides help for a given command."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:207
#: /media/veracrypt22/src/notes/CliClient/app/app.js:204
msgid "Exits the application."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:339
#, javascript-format
msgid "Synchronizing with directory \"%s\""
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:421
#: /media/veracrypt22/src/notes/CliClient/app/app.js:419
msgid "No notebook is defined. Create one with `mkbook <notebook>`."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-alias.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-alias.js:13
msgid ""
"Creates a new command alias which can then be used as a regular command (eg. "
"`alias ll \"ls -l\"`)."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-cat.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-cat.js:16
msgid "Displays the given note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-cat.js:21
#: /media/veracrypt22/src/notes/CliClient/app/command-cat.js:21
msgid "Displays the complete information about note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-cat.js:33
#: /mnt/d/Web/www/joplin/CliClient/app/command-cp.js:31
#: /mnt/d/Web/www/joplin/CliClient/app/command-cp.js:34
#: /mnt/d/Web/www/joplin/CliClient/app/command-geoloc.js:27
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:29
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:36
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:39
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:39
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:46
#: /mnt/d/Web/www/joplin/CliClient/app/command-search.js:29
#: /mnt/d/Web/www/joplin/CliClient/app/command-set.js:31
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:25
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:28
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:34
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:35
#: /mnt/d/Web/www/joplin/CliClient/app/command-use.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-cat.js:33
#: /media/veracrypt22/src/notes/CliClient/app/command-cp.js:31
#: /media/veracrypt22/src/notes/CliClient/app/command-cp.js:34
#: /media/veracrypt22/src/notes/CliClient/app/command-geoloc.js:27
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:29
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:36
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:39
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:39
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:46
#: /media/veracrypt22/src/notes/CliClient/app/command-search.js:29
#: /media/veracrypt22/src/notes/CliClient/app/command-set.js:31
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:25
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:34
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:35
#: /media/veracrypt22/src/notes/CliClient/app/command-use.js:28
#, javascript-format
msgid "Cannot find \"%s\"."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-config.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-config.js:13
msgid ""
"Gets or sets a config value. If [value] is not provided, it will show the "
"value of [name]. If neither [name] nor [value] is provided, it will list the "
"current configuration."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-cp.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-cp.js:16
msgid ""
"Duplicates the notes matching <pattern> to [notebook]. If no notebook is "
"specified the note is duplicated in the current notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:18
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:18
msgid "Edit note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:33
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:33
msgid "Done editing."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:39
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:39
msgid ""
"No text editor is defined. Please set it using `config editor <editor-path>`"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:45
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:45
msgid "No active notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:66
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:66
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-geoloc.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-geoloc.js:16
msgid "Displays a geolocation URL for the note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:16
msgid "Imports an Evernote notebook file (.enex file)."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:21
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:21
msgid "Do not ask for confirmation."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:35
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:35
#, javascript-format
msgid "Folder does not exists: \"%s\". Create it?"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:42
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:42
#, javascript-format
msgid "Imported - %s"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:55
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:55
#, javascript-format
msgid "File \"%s\" will be imported into notebook \"%s\". Continue?"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:62
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:62
#, javascript-format
msgid "Found: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:63
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:63
#, javascript-format
msgid "Created: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:64
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:64
#, javascript-format
msgid "Updated: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:65
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:65
#, javascript-format
msgid "Skipped: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:66
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:66
#, javascript-format
msgid "Resources: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:67
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:67
#, javascript-format
msgid "Tagged: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:78
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:78
msgid "Importing notes..."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:19
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:19
msgid ""
"Displays the notes in [notebook]. Use `ls /` to display the list of "
"notebooks."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:24
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:24
msgid "Displays only the first top <num> notes."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:25
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:25
msgid "Sorts the item by <field> (eg. title, updated_time, created_time)."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:26
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:26
msgid "Reverses the sorting order."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:27
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:27
msgid ""
"Displays only the items of the specific type(s). Can be `n` for notes, `t` "
"for todos, or `nt` for notes and todos (eg. `-tt` would display only the "
"todos, while `-ttd` would display notes and todos."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:28
msgid "Either \"text\" or \"json\""
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:29
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:29
msgid ""
"Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, "
"TODO_CHECKED (for todos), TITLE"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:65
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:65
msgid "Please select a notebook first."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-mkbook.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-mkbook.js:13
msgid "Creates a new notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-mknote.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-mknote.js:13
msgid "Creates a new note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-mknote.js:17
#: /media/veracrypt22/src/notes/CliClient/app/command-mknote.js:17
msgid "Notes can only be created within a notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:16
msgid ""
"Moves the notes matching <pattern> to <destination>. If <pattern> is a note, "
"it will be moved to the notebook <destination>. If <pattern> is a notebook, "
"it will be renamed to <destination>."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:18
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:18
msgid "Deletes the items matching <pattern>."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:27
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:27
msgid "Deletes the items without asking for confirmation."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:28
msgid "Deletes a notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:40
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:40
#, javascript-format
msgid "Delete notebook \"%s\"?"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:47
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:47
#, javascript-format
msgid "%d notes match this pattern. Delete them?"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-search.js:19
#: /media/veracrypt22/src/notes/CliClient/app/command-search.js:19
msgid "Searches for the given <pattern> in all the notes."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-set.js:17
#: /media/veracrypt22/src/notes/CliClient/app/command-set.js:17
msgid "Sets the property <name> of the given <note> to the given [value]."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-status.js:14
#: /media/veracrypt22/src/notes/CliClient/app/command-status.js:14
msgid "Displays summary about the notes and notebooks."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:25
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:27
msgid "Synchronizes with remote storage."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:30
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:32
msgid "Sync to provided target (defaults to sync.target config value)"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:31
msgid "For \"filesystem\" target only: Path to sync to."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:68
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:70
msgid "Synchronisation is already in progress."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:93
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:92
#, javascript-format
msgid "Synchronization target: %s"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:95
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:94
msgid "Cannot initialize synchronizer."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:97
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:96
msgid "Starting synchronization..."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:109
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:108
msgid "Done."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:124
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:60
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:123
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:60
msgid "Cancelling..."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:14
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:14
msgid ""
"<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 ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:48
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:48
#, javascript-format
msgid "Invalid command: \"%s\""
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-use.js:15
#: /media/veracrypt22/src/notes/CliClient/app/command-use.js:15
msgid ""
"Switches to [notebook] - all further operations will happen within this "
"notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-version.js:12
#: /media/veracrypt22/src/notes/CliClient/app/command-version.js:12
msgid "Displays version information"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-version.js:17
#: /media/veracrypt22/src/notes/CliClient/app/command-version.js:17
#, javascript-format
msgid "%s %s (%s)"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/main.js:53
#: /media/veracrypt22/src/notes/CliClient/app/main.js:53
msgid "Fatal error:"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:38
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:38
#, javascript-format
msgid "All potential ports are in use - please report the issue at %s"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:58
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:58
msgid ""
"The application has been authorised - you may now close this browser tab."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:60
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:60
msgid "The application has been successfully authorised."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:82
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:82
msgid "Please open this URL in your browser to authenticate the application:"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:52
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/registry.js:77
msgid ""
"Please set the \"sync.filesystem.path\" config value to the desired "
"synchronisation destination."
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:52
#, javascript-format
msgid "Created local items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:53
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:53
#, javascript-format
msgid "Updated local items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:54
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:54
#, javascript-format
msgid "Created remote items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:55
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:55
#, javascript-format
msgid "Updated remote items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:56
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:56
#, javascript-format
msgid "Deleted local items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:57
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:57
#, javascript-format
msgid "Deleted remote items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:58
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:58
#, javascript-format
msgid "State: %s."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:59
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:59
#, javascript-format
msgid "Last error: %s (stacktrace in log)."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:61
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:61
#, javascript-format
msgid "Completed: %s"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/folder.js:81
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/folder.js:81
msgid "Conflicts"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/folder.js:136
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/folder.js:136
#, javascript-format
msgid "A notebook with this title already exists: \"%s\""
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/folder.js:140
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/folder.js:140
#, javascript-format
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/note.js:46
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/note.js:46
msgid "This note does not have geolocation information."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/note.js:201
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/note.js:201
#, javascript-format
msgid "Cannot copy note to \"%s\" notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/note.js:212
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/note.js:212
#, javascript-format
msgid "Cannot move note to \"%s\" notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:54
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:169
msgid "Synchronisation target"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:171
msgid "File system"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:172
msgid "OneDrive"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:178
msgid "Todo filter"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:179
msgid "Show all"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:180
msgid "Non-completed and recently completed ones"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:181
msgid "Non-completed ones only"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:54
msgid "Sync status (synced items / total items)"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:59
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:59
#, javascript-format
msgid "%s: %d/%d"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:62
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:62
#, javascript-format
msgid "Total: %d/%d"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:64
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:64
#, javascript-format
msgid "Conflicted: %d"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:65
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:65
#, javascript-format
msgid "To delete: %d"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:70
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:70
msgid "Folders"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:80
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:80
#, javascript-format
msgid "%s: %d notes"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/action-button.js:66
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/action-button.js:66
msgid "New todo"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/action-button.js:73
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/action-button.js:73
msgid "New note"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/action-button.js:81
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/action-button.js:81
msgid "New notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screen-header.js:208
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screen-header.js:215
msgid "Log"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screen-header.js:213
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screen-header.js:220
msgid "Status"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/side-menu-content.js:106
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screen-header.js:229
msgid "Configuration"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/side-menu-content.js:106
msgid "Synchronize"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/side-menu-content.js:106
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/side-menu-content.js:106
msgid "Cancel synchronization"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/folder.js:73
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/config.js:101
msgid "Save"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/folder.js:73
#, javascript-format
msgid "The folder could not be saved: %s"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/folders.js:21
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/folders.js:21
msgid ""
"There is currently no notebook. Create one by clicking on the (+) button."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:194
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:173
msgid "Untitled"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:237
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:216
msgid "Delete note?"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:280
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:259
msgid "Attach file"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:281
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:260
msgid "Delete note"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:282
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:261
msgid "Convert to regular note"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:282
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:261
msgid "Convert to todo"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:283
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:262
msgid "Hide metadata"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:283
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:262
msgid "Show metadata"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:284
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:263
msgid "View location on map"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:435
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:414
msgid "Edit"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:23
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:23
msgid "Delete notebook?"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:46
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:46
msgid "Delete notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:47
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:47
msgid "Edit notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:66
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:66
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/welcome.js:31
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/welcome.js:31
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/welcome.js:31
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/welcome.js:31
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""

View File

@ -15,32 +15,32 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:94
#: /media/veracrypt22/src/notes/CliClient/app/app.js:91
msgid "No notebook selected."
msgstr "Aucun carnet n'est sélectionné."
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:99
#: /media/veracrypt22/src/notes/CliClient/app/app.js:96
msgid "No notebook has been specified."
msgstr "Aucun carnet n'est spécifié."
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:130
#: /media/veracrypt22/src/notes/CliClient/app/app.js:127
msgid "Usage: --profile <dir-path>"
msgstr "Utilisation: --profile <chemin>"
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:137
#: /media/veracrypt22/src/notes/CliClient/app/app.js:134
msgid "Usage: --env <dev|prod>"
msgstr "Utilisation : --env <dev|prod>"
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:162
#: /media/veracrypt22/src/notes/CliClient/app/app.js:159
msgid "Usage: --log-level <none|error|warn|info|debug>"
msgstr "Utilisation: --log-level <none|error|warn|info|debug>"
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:169
#: /media/veracrypt22/src/notes/CliClient/app/app.js:166
#, javascript-format
msgid "Unknown flag: %s"
msgstr "Paramètre inconnu : %s"
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:185
#: /media/veracrypt22/src/notes/CliClient/app/app.js:182
#, javascript-format
msgid ""
"Command line argument \"%s\" contains both quotes and double-quotes - "
@ -49,58 +49,53 @@ msgstr ""
"Paramètre de ligne de command \"%s\" contient à la fois des guillemets "
"simples et doubles - impossible de continuer."
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:205
#: /media/veracrypt22/src/notes/CliClient/app/app.js:202
msgid "Provides help for a given command."
msgstr "Affiche l'aide pour la commande donnée."
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:207
#: /media/veracrypt22/src/notes/CliClient/app/app.js:204
msgid "Exits the application."
msgstr "Quitter le logiciel."
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:339
#, javascript-format
msgid "Synchronizing with directory \"%s\""
msgstr "Synchronisation avec dossier \"%s\""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:421
#: /media/veracrypt22/src/notes/CliClient/app/app.js:419
msgid "No notebook is defined. Create one with `mkbook <notebook>`."
msgstr "Aucun carnet n'est défini. Créez-en un avec `mkbook <carnet>`."
#: /mnt/d/Web/www/joplin/CliClient/app/command-alias.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-alias.js:13
msgid ""
"Creates a new command alias which can then be used as a regular command (eg. "
"`alias ll \"ls -l\"`)."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-cat.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-cat.js:16
msgid "Displays the given note."
msgstr "Affiche la note."
#: /mnt/d/Web/www/joplin/CliClient/app/command-cat.js:21
#: /media/veracrypt22/src/notes/CliClient/app/command-cat.js:21
msgid "Displays the complete information about note."
msgstr "Affiche tous les détails de la note."
#: /mnt/d/Web/www/joplin/CliClient/app/command-cat.js:33
#: /mnt/d/Web/www/joplin/CliClient/app/command-cp.js:31
#: /mnt/d/Web/www/joplin/CliClient/app/command-cp.js:34
#: /mnt/d/Web/www/joplin/CliClient/app/command-geoloc.js:27
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:29
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:36
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:39
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:39
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:46
#: /mnt/d/Web/www/joplin/CliClient/app/command-search.js:29
#: /mnt/d/Web/www/joplin/CliClient/app/command-set.js:31
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:25
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:28
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:34
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:35
#: /mnt/d/Web/www/joplin/CliClient/app/command-use.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-cat.js:33
#: /media/veracrypt22/src/notes/CliClient/app/command-cp.js:31
#: /media/veracrypt22/src/notes/CliClient/app/command-cp.js:34
#: /media/veracrypt22/src/notes/CliClient/app/command-geoloc.js:27
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:29
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:36
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:39
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:39
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:46
#: /media/veracrypt22/src/notes/CliClient/app/command-search.js:29
#: /media/veracrypt22/src/notes/CliClient/app/command-set.js:31
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:25
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:34
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:35
#: /media/veracrypt22/src/notes/CliClient/app/command-use.js:28
#, javascript-format
msgid "Cannot find \"%s\"."
msgstr "Impossible de trouver \"%s\"."
#: /mnt/d/Web/www/joplin/CliClient/app/command-config.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-config.js:13
msgid ""
"Gets or sets a config value. If [value] is not provided, it will show the "
"value of [name]. If neither [name] nor [value] is provided, it will list the "
@ -110,7 +105,7 @@ msgstr ""
"fournie, la valeur de [nom] est affichée. Si ni le [nom] ni la [valeur] ne "
"sont fournies, la configuration complète est affichée."
#: /mnt/d/Web/www/joplin/CliClient/app/command-cp.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-cp.js:16
msgid ""
"Duplicates the notes matching <pattern> to [notebook]. If no notebook is "
"specified the note is duplicated in the current notebook."
@ -118,94 +113,94 @@ msgstr ""
"Copie les notes correspondant à [nom] vers [carnet]. Si aucun carnet n'est "
"spécifié, la note est dupliqué sur place."
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:18
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:18
msgid "Edit note."
msgstr "Editer la note."
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:33
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:33
msgid "Done editing."
msgstr "Edition terminée."
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:39
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:39
msgid ""
"No text editor is defined. Please set it using `config editor <editor-path>`"
msgstr ""
"Aucun éditeur de texte n'est défini. Veuillez le définir en utilisant la "
"commande `config editor <chemin-editeur>`"
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:45
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:45
msgid "No active notebook."
msgstr "Aucun carnet actif."
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:66
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:66
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Edition de la note en cours. Fermez l'éditeur de texte pour retourner à "
"l'invite de commande."
#: /mnt/d/Web/www/joplin/CliClient/app/command-geoloc.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-geoloc.js:16
#, fuzzy
msgid "Displays a geolocation URL for the note."
msgstr "Affiche tous les détails de la note."
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:16
msgid "Imports an Evernote notebook file (.enex file)."
msgstr "Importer un carnet Evernote (fichier .enex)."
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:21
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:21
msgid "Do not ask for confirmation."
msgstr "Ne pas demander de confirmation."
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:35
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:35
#, javascript-format
msgid "Folder does not exists: \"%s\". Create it?"
msgstr "Ce carnet n'existe pas : \"%s\". Le créer ?"
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:42
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:42
#, javascript-format
msgid "Imported - %s"
msgstr "Importé - %s"
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:55
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:55
#, javascript-format
msgid "File \"%s\" will be imported into notebook \"%s\". Continue?"
msgstr "Le fichier \"%s\" va être importé dans le carnet \"%s\". Continuer ?"
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:62
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:62
#, javascript-format
msgid "Found: %d."
msgstr "Trouvés : %d."
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:63
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:63
#, javascript-format
msgid "Created: %d."
msgstr "Créés : %d."
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:64
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:64
#, javascript-format
msgid "Updated: %d."
msgstr "Mise à jour : %d."
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:65
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:65
#, javascript-format
msgid "Skipped: %d."
msgstr "Ignorés : %d."
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:66
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:66
#, javascript-format
msgid "Resources: %d."
msgstr "Ressources : %d."
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:67
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:67
#, javascript-format
msgid "Tagged: %d."
msgstr "Etiquettes : %d."
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:78
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:78
msgid "Importing notes..."
msgstr "Importation des notes..."
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:19
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:19
msgid ""
"Displays the notes in [notebook]. Use `ls /` to display the list of "
"notebooks."
@ -213,20 +208,20 @@ msgstr ""
"Affiche les notes dans le carnet. Utilisez `ls /` pour afficher la liste des "
"carnets."
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:24
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:24
msgid "Displays only the first top <num> notes."
msgstr "Affiche uniquement les <num> premières notes."
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:25
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:25
msgid "Sorts the item by <field> (eg. title, updated_time, created_time)."
msgstr ""
"Trier les notes par <field> (par exemple, title, updated_time, created_time)."
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:26
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:26
msgid "Reverses the sorting order."
msgstr "Inverser l'ordre."
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:27
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:27
msgid ""
"Displays only the items of the specific type(s). Can be `n` for notes, `t` "
"for todos, or `nt` for notes and todos (eg. `-tt` would display only the "
@ -236,11 +231,11 @@ msgstr ""
"`n` pour les notes, `t` pour les tâches (par exemple, `-tt` affiche "
"uniquement les tâches, tandis que `-ttd` affiche les notes et les tâches)."
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:28
msgid "Either \"text\" or \"json\""
msgstr "Soit \"text\" soit \"json\""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:29
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:29
msgid ""
"Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, "
"TODO_CHECKED (for todos), TITLE"
@ -248,23 +243,23 @@ msgstr ""
"Utilise le format de liste longue. Le format est ID, NOMBRE_DE_NOTES (pour "
"les carnets), DATE, TACHE_TERMINE (pour les tâches), TITRE"
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:65
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:65
msgid "Please select a notebook first."
msgstr "Veuillez sélectionner un carnet d'abord."
#: /mnt/d/Web/www/joplin/CliClient/app/command-mkbook.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-mkbook.js:13
msgid "Creates a new notebook."
msgstr "Créer un carnet."
#: /mnt/d/Web/www/joplin/CliClient/app/command-mknote.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-mknote.js:13
msgid "Creates a new note."
msgstr "Créer une note."
#: /mnt/d/Web/www/joplin/CliClient/app/command-mknote.js:17
#: /media/veracrypt22/src/notes/CliClient/app/command-mknote.js:17
msgid "Notes can only be created within a notebook."
msgstr "Les notes ne peuvent être créées que dans un carnet."
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:16
msgid ""
"Moves the notes matching <pattern> to <destination>. If <pattern> is a note, "
"it will be moved to the notebook <destination>. If <pattern> is a notebook, "
@ -274,81 +269,77 @@ msgstr ""
"est une note, elle sera déplacée vers le carnet <destination>. Si <motif> "
"est un carnet, il sera renommé <destination>."
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:18
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:18
msgid "Deletes the items matching <pattern>."
msgstr "Supprime les objets correspondants à <motif>."
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:27
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:27
msgid "Deletes the items without asking for confirmation."
msgstr "Supprime les objets sans demander la confirmation."
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:28
msgid "Deletes a notebook."
msgstr "Supprime le carnet."
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:40
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:40
#, javascript-format
msgid "Delete notebook \"%s\"?"
msgstr "Supprimer le carnet \"%s\" ?"
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:47
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:47
#, javascript-format
msgid "%d notes match this pattern. Delete them?"
msgstr "%d notes correspondent à ce motif. Les supprimer ?"
#: /mnt/d/Web/www/joplin/CliClient/app/command-search.js:19
#: /media/veracrypt22/src/notes/CliClient/app/command-search.js:19
msgid "Searches for the given <pattern> in all the notes."
msgstr "Chercher le motif <pattern> dans toutes les notes."
#: /mnt/d/Web/www/joplin/CliClient/app/command-set.js:17
#: /media/veracrypt22/src/notes/CliClient/app/command-set.js:17
msgid "Sets the property <name> of the given <note> to the given [value]."
msgstr "Assigner la valeur [value] à la propriété <name> de la <note> donnée."
#: /mnt/d/Web/www/joplin/CliClient/app/command-status.js:14
#: /media/veracrypt22/src/notes/CliClient/app/command-status.js:14
msgid "Displays summary about the notes and notebooks."
msgstr "Afficher un résumé des notes et carnets."
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:25
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:27
msgid "Synchronizes with remote storage."
msgstr "Synchroniser les notes et carnets."
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:30
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:32
msgid "Sync to provided target (defaults to sync.target config value)"
msgstr ""
"Synchroniser avec la cible donnée (par défaut, la valeur de configuration "
"`sync.target`)."
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:31
msgid "For \"filesystem\" target only: Path to sync to."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:68
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:70
msgid "Synchronisation is already in progress."
msgstr "Synchronisation est déjà en cours."
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:93
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:92
#, javascript-format
msgid "Synchronization target: %s"
msgstr "Cible de la synchronisation : %s"
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:95
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:94
msgid "Cannot initialize synchronizer."
msgstr "Impossible d'initialiser le synchroniseur."
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:97
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:96
msgid "Starting synchronization..."
msgstr "Commencement de la synchronisation..."
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:109
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:108
msgid "Done."
msgstr "Terminé."
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:124
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:60
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:123
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:60
msgid "Cancelling..."
msgstr "Annulation..."
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:14
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:14
msgid ""
"<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 "
@ -359,272 +350,318 @@ msgstr ""
"l'étiquette [tag]. La commande `tag list` peut être utilisée pour lister les "
"étiquettes."
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:48
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:48
#, javascript-format
msgid "Invalid command: \"%s\""
msgstr "Commande invalie : \"%s\""
#: /mnt/d/Web/www/joplin/CliClient/app/command-use.js:15
#: /media/veracrypt22/src/notes/CliClient/app/command-use.js:15
msgid ""
"Switches to [notebook] - all further operations will happen within this "
"notebook."
msgstr ""
"Changer de carnet - toutes les opérations à venir se feront dans ce carnet."
#: /mnt/d/Web/www/joplin/CliClient/app/command-version.js:12
#: /media/veracrypt22/src/notes/CliClient/app/command-version.js:12
msgid "Displays version information"
msgstr "Affiche les informations de version."
#: /mnt/d/Web/www/joplin/CliClient/app/command-version.js:17
#: /media/veracrypt22/src/notes/CliClient/app/command-version.js:17
#, javascript-format
msgid "%s %s (%s)"
msgstr "%s %s (%s)"
#: /mnt/d/Web/www/joplin/CliClient/app/main.js:53
#: /media/veracrypt22/src/notes/CliClient/app/main.js:53
msgid "Fatal error:"
msgstr "Erreur fatale :"
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:38
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:38
#, javascript-format
msgid "All potential ports are in use - please report the issue at %s"
msgstr ""
"Tous les ports sont en cours d'utilisation. Veuillez signaler ce problème "
"sur %s"
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:58
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:58
msgid ""
"The application has been authorised - you may now close this browser tab."
msgstr "Le logiciel a été autorisé. Vous pouvez maintenant fermer cet onglet."
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:60
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:60
msgid "The application has been successfully authorised."
msgstr "Le logiciel a été autorisé."
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:82
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:82
#, fuzzy
msgid "Please open this URL in your browser to authenticate the application:"
msgstr ""
"Veuillez ouvrir cette URL dans votre navigateur internet pour autentifier le "
"logiciel :"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:52
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/registry.js:77
msgid ""
"Please set the \"sync.filesystem.path\" config value to the desired "
"synchronisation destination."
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:52
#, javascript-format
msgid "Created local items: %d."
msgstr "Objets créés localement : %d."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:53
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:53
#, javascript-format
msgid "Updated local items: %d."
msgstr "Objets mis à jour localement : %d."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:54
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:54
#, javascript-format
msgid "Created remote items: %d."
msgstr "Objets distants créés : %d."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:55
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:55
#, javascript-format
msgid "Updated remote items: %d."
msgstr "Objets distants mis à jour : %d."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:56
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:56
#, javascript-format
msgid "Deleted local items: %d."
msgstr "Objets supprimés localement : %d."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:57
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:57
#, javascript-format
msgid "Deleted remote items: %d."
msgstr "Objets distants supprimés : %d."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:58
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:58
#, javascript-format
msgid "State: %s."
msgstr "Etat : %s."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:59
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:59
#, javascript-format
msgid "Last error: %s (stacktrace in log)."
msgstr "Dernière erreur : %s (Plus d'information dans le journal d'erreurs)"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:61
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:61
#, javascript-format
msgid "Completed: %s"
msgstr "Terminé : %s"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/folder.js:81
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/folder.js:81
msgid "Conflicts"
msgstr "Conflits"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/folder.js:136
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/folder.js:136
#, javascript-format
msgid "A notebook with this title already exists: \"%s\""
msgstr "Un carnet avec ce titre existe déjà : \"%s\""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/folder.js:140
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/folder.js:140
#, javascript-format
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
msgstr "Les carnets ne peuvent être nommés \"%s\" car c'est un nom réservé."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/note.js:46
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/note.js:46
msgid "This note does not have geolocation information."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/note.js:201
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/note.js:201
#, javascript-format
msgid "Cannot copy note to \"%s\" notebook"
msgstr "Impossible de copier la note dans le carnet \"%s\""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/note.js:212
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/note.js:212
#, javascript-format
msgid "Cannot move note to \"%s\" notebook"
msgstr "Impossible de déplacer la note vers le carnet \"%s\""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:54
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:169
#, fuzzy
msgid "Synchronisation target"
msgstr "Cible de la synchronisation : %s"
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:171
msgid "File system"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:172
msgid "OneDrive"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:178
msgid "Todo filter"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:179
msgid "Show all"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:180
msgid "Non-completed and recently completed ones"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:181
msgid "Non-completed ones only"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:54
msgid "Sync status (synced items / total items)"
msgstr "Status de la synchronisation (objets synchro. / total)"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:59
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:59
#, javascript-format
msgid "%s: %d/%d"
msgstr "%s: %d/%d"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:62
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:62
#, javascript-format
msgid "Total: %d/%d"
msgstr "Total : %d/%d"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:64
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:64
#, javascript-format
msgid "Conflicted: %d"
msgstr "Conflits : %d"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:65
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:65
#, javascript-format
msgid "To delete: %d"
msgstr "A supprimer : %d"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:70
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:70
msgid "Folders"
msgstr "Carnets"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:80
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:80
#, javascript-format
msgid "%s: %d notes"
msgstr "%s : %d notes"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/action-button.js:66
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/action-button.js:66
msgid "New todo"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/action-button.js:73
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/action-button.js:73
msgid "New note"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/action-button.js:81
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/action-button.js:81
#, fuzzy
msgid "New notebook"
msgstr "Supprime le carnet."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screen-header.js:208
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screen-header.js:215
msgid "Log"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screen-header.js:213
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screen-header.js:220
#, fuzzy
msgid "Status"
msgstr "Etat : %s."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/side-menu-content.js:106
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screen-header.js:229
msgid "Configuration"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/side-menu-content.js:106
msgid "Synchronize"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/side-menu-content.js:106
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/side-menu-content.js:106
#, fuzzy
msgid "Cancel synchronization"
msgstr "Commencement de la synchronisation..."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/folder.js:73
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/config.js:101
msgid "Save"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/folder.js:73
#, javascript-format
msgid "The folder could not be saved: %s"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/folders.js:21
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/folders.js:21
msgid ""
"There is currently no notebook. Create one by clicking on the (+) button."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:194
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:173
msgid "Untitled"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:237
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:216
#, fuzzy
msgid "Delete note?"
msgstr "Supprimer le carnet \"%s\" ?"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:280
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:259
msgid "Attach file"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:281
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:260
#, fuzzy
msgid "Delete note"
msgstr "Supprime le carnet."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:282
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:261
msgid "Convert to regular note"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:282
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:261
msgid "Convert to todo"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:283
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:262
msgid "Hide metadata"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:283
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:262
msgid "Show metadata"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:284
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:263
msgid "View location on map"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:435
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:414
msgid "Edit"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:23
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:23
#, fuzzy
msgid "Delete notebook?"
msgstr "Supprimer le carnet \"%s\" ?"
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:46
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:46
#, fuzzy
msgid "Delete notebook"
msgstr "Supprime le carnet."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:47
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:47
#, fuzzy
msgid "Edit notebook"
msgstr "Editer la note."
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:66
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:66
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/welcome.js:31
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/welcome.js:31
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/welcome.js:31
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/welcome.js:31
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
#~ msgid "Synchronizing with directory \"%s\""
#~ msgstr "Synchronisation avec dossier \"%s\""
#, fuzzy
#~ msgid "Invalid command. Showing help:"
#~ msgstr "Commande invalie : \"%s\""

View File

@ -15,569 +15,602 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:94
#: /media/veracrypt22/src/notes/CliClient/app/app.js:91
msgid "No notebook selected."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:99
#: /media/veracrypt22/src/notes/CliClient/app/app.js:96
msgid "No notebook has been specified."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:130
#: /media/veracrypt22/src/notes/CliClient/app/app.js:127
msgid "Usage: --profile <dir-path>"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:137
#: /media/veracrypt22/src/notes/CliClient/app/app.js:134
msgid "Usage: --env <dev|prod>"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:162
#: /media/veracrypt22/src/notes/CliClient/app/app.js:159
msgid "Usage: --log-level <none|error|warn|info|debug>"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:169
#: /media/veracrypt22/src/notes/CliClient/app/app.js:166
#, javascript-format
msgid "Unknown flag: %s"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:185
#: /media/veracrypt22/src/notes/CliClient/app/app.js:182
#, javascript-format
msgid ""
"Command line argument \"%s\" contains both quotes and double-quotes - "
"aborting."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:205
#: /media/veracrypt22/src/notes/CliClient/app/app.js:202
msgid "Provides help for a given command."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:207
#: /media/veracrypt22/src/notes/CliClient/app/app.js:204
msgid "Exits the application."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:339
#, javascript-format
msgid "Synchronizing with directory \"%s\""
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/app.js:421
#: /media/veracrypt22/src/notes/CliClient/app/app.js:419
msgid "No notebook is defined. Create one with `mkbook <notebook>`."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-alias.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-alias.js:13
msgid ""
"Creates a new command alias which can then be used as a regular command (eg. "
"`alias ll \"ls -l\"`)."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-cat.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-cat.js:16
msgid "Displays the given note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-cat.js:21
#: /media/veracrypt22/src/notes/CliClient/app/command-cat.js:21
msgid "Displays the complete information about note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-cat.js:33
#: /mnt/d/Web/www/joplin/CliClient/app/command-cp.js:31
#: /mnt/d/Web/www/joplin/CliClient/app/command-cp.js:34
#: /mnt/d/Web/www/joplin/CliClient/app/command-geoloc.js:27
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:29
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:36
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:39
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:39
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:46
#: /mnt/d/Web/www/joplin/CliClient/app/command-search.js:29
#: /mnt/d/Web/www/joplin/CliClient/app/command-set.js:31
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:25
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:28
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:34
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:35
#: /mnt/d/Web/www/joplin/CliClient/app/command-use.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-cat.js:33
#: /media/veracrypt22/src/notes/CliClient/app/command-cp.js:31
#: /media/veracrypt22/src/notes/CliClient/app/command-cp.js:34
#: /media/veracrypt22/src/notes/CliClient/app/command-geoloc.js:27
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:29
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:36
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:39
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:39
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:46
#: /media/veracrypt22/src/notes/CliClient/app/command-search.js:29
#: /media/veracrypt22/src/notes/CliClient/app/command-set.js:31
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:25
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:34
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:35
#: /media/veracrypt22/src/notes/CliClient/app/command-use.js:28
#, javascript-format
msgid "Cannot find \"%s\"."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-config.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-config.js:13
msgid ""
"Gets or sets a config value. If [value] is not provided, it will show the "
"value of [name]. If neither [name] nor [value] is provided, it will list the "
"current configuration."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-cp.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-cp.js:16
msgid ""
"Duplicates the notes matching <pattern> to [notebook]. If no notebook is "
"specified the note is duplicated in the current notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:18
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:18
msgid "Edit note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:33
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:33
msgid "Done editing."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:39
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:39
msgid ""
"No text editor is defined. Please set it using `config editor <editor-path>`"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:45
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:45
msgid "No active notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-edit.js:66
#: /media/veracrypt22/src/notes/CliClient/app/command-edit.js:66
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-geoloc.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-geoloc.js:16
msgid "Displays a geolocation URL for the note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:16
msgid "Imports an Evernote notebook file (.enex file)."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:21
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:21
msgid "Do not ask for confirmation."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:35
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:35
#, javascript-format
msgid "Folder does not exists: \"%s\". Create it?"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:42
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:42
#, javascript-format
msgid "Imported - %s"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:55
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:55
#, javascript-format
msgid "File \"%s\" will be imported into notebook \"%s\". Continue?"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:62
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:62
#, javascript-format
msgid "Found: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:63
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:63
#, javascript-format
msgid "Created: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:64
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:64
#, javascript-format
msgid "Updated: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:65
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:65
#, javascript-format
msgid "Skipped: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:66
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:66
#, javascript-format
msgid "Resources: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:67
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:67
#, javascript-format
msgid "Tagged: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-import-enex.js:78
#: /media/veracrypt22/src/notes/CliClient/app/command-import-enex.js:78
msgid "Importing notes..."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:19
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:19
msgid ""
"Displays the notes in [notebook]. Use `ls /` to display the list of "
"notebooks."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:24
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:24
msgid "Displays only the first top <num> notes."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:25
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:25
msgid "Sorts the item by <field> (eg. title, updated_time, created_time)."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:26
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:26
msgid "Reverses the sorting order."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:27
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:27
msgid ""
"Displays only the items of the specific type(s). Can be `n` for notes, `t` "
"for todos, or `nt` for notes and todos (eg. `-tt` would display only the "
"todos, while `-ttd` would display notes and todos."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:28
msgid "Either \"text\" or \"json\""
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:29
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:29
msgid ""
"Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, "
"TODO_CHECKED (for todos), TITLE"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-ls.js:65
#: /media/veracrypt22/src/notes/CliClient/app/command-ls.js:65
msgid "Please select a notebook first."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-mkbook.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-mkbook.js:13
msgid "Creates a new notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-mknote.js:13
#: /media/veracrypt22/src/notes/CliClient/app/command-mknote.js:13
msgid "Creates a new note."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-mknote.js:17
#: /media/veracrypt22/src/notes/CliClient/app/command-mknote.js:17
msgid "Notes can only be created within a notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-mv.js:16
#: /media/veracrypt22/src/notes/CliClient/app/command-mv.js:16
msgid ""
"Moves the notes matching <pattern> to <destination>. If <pattern> is a note, "
"it will be moved to the notebook <destination>. If <pattern> is a notebook, "
"it will be renamed to <destination>."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:18
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:18
msgid "Deletes the items matching <pattern>."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:27
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:27
msgid "Deletes the items without asking for confirmation."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:28
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:28
msgid "Deletes a notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:40
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:40
#, javascript-format
msgid "Delete notebook \"%s\"?"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-rm.js:47
#: /media/veracrypt22/src/notes/CliClient/app/command-rm.js:47
#, javascript-format
msgid "%d notes match this pattern. Delete them?"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-search.js:19
#: /media/veracrypt22/src/notes/CliClient/app/command-search.js:19
msgid "Searches for the given <pattern> in all the notes."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-set.js:17
#: /media/veracrypt22/src/notes/CliClient/app/command-set.js:17
msgid "Sets the property <name> of the given <note> to the given [value]."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-status.js:14
#: /media/veracrypt22/src/notes/CliClient/app/command-status.js:14
msgid "Displays summary about the notes and notebooks."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:25
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:27
msgid "Synchronizes with remote storage."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:30
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:32
msgid "Sync to provided target (defaults to sync.target config value)"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:31
msgid "For \"filesystem\" target only: Path to sync to."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:68
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:70
msgid "Synchronisation is already in progress."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:93
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:92
#, javascript-format
msgid "Synchronization target: %s"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:95
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:94
msgid "Cannot initialize synchronizer."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:97
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:96
msgid "Starting synchronization..."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:109
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:108
msgid "Done."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-sync.js:124
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:60
#: /media/veracrypt22/src/notes/CliClient/app/command-sync.js:123
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:60
msgid "Cancelling..."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:14
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:14
msgid ""
"<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 ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-tag.js:48
#: /media/veracrypt22/src/notes/CliClient/app/command-tag.js:48
#, javascript-format
msgid "Invalid command: \"%s\""
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-use.js:15
#: /media/veracrypt22/src/notes/CliClient/app/command-use.js:15
msgid ""
"Switches to [notebook] - all further operations will happen within this "
"notebook."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-version.js:12
#: /media/veracrypt22/src/notes/CliClient/app/command-version.js:12
msgid "Displays version information"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/command-version.js:17
#: /media/veracrypt22/src/notes/CliClient/app/command-version.js:17
#, javascript-format
msgid "%s %s (%s)"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/main.js:53
#: /media/veracrypt22/src/notes/CliClient/app/main.js:53
msgid "Fatal error:"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:38
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:38
#, javascript-format
msgid "All potential ports are in use - please report the issue at %s"
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:58
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:58
msgid ""
"The application has been authorised - you may now close this browser tab."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:60
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:60
msgid "The application has been successfully authorised."
msgstr ""
#: /mnt/d/Web/www/joplin/CliClient/app/onedrive-api-node-utils.js:82
#: /media/veracrypt22/src/notes/CliClient/app/onedrive-api-node-utils.js:82
msgid "Please open this URL in your browser to authenticate the application:"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:52
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/registry.js:77
msgid ""
"Please set the \"sync.filesystem.path\" config value to the desired "
"synchronisation destination."
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:52
#, javascript-format
msgid "Created local items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:53
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:53
#, javascript-format
msgid "Updated local items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:54
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:54
#, javascript-format
msgid "Created remote items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:55
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:55
#, javascript-format
msgid "Updated remote items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:56
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:56
#, javascript-format
msgid "Deleted local items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:57
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:57
#, javascript-format
msgid "Deleted remote items: %d."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:58
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:58
#, javascript-format
msgid "State: %s."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:59
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:59
#, javascript-format
msgid "Last error: %s (stacktrace in log)."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/synchronizer.js:61
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/synchronizer.js:61
#, javascript-format
msgid "Completed: %s"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/folder.js:81
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/folder.js:81
msgid "Conflicts"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/folder.js:136
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/folder.js:136
#, javascript-format
msgid "A notebook with this title already exists: \"%s\""
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/folder.js:140
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/folder.js:140
#, javascript-format
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/note.js:46
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/note.js:46
msgid "This note does not have geolocation information."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/note.js:201
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/note.js:201
#, javascript-format
msgid "Cannot copy note to \"%s\" notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/models/note.js:212
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/note.js:212
#, javascript-format
msgid "Cannot move note to \"%s\" notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:54
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:169
msgid "Synchronisation target"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:171
msgid "File system"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:172
msgid "OneDrive"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:178
msgid "Todo filter"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:179
msgid "Show all"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:180
msgid "Non-completed and recently completed ones"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/models/setting.js:181
msgid "Non-completed ones only"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:54
msgid "Sync status (synced items / total items)"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:59
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:59
#, javascript-format
msgid "%s: %d/%d"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:62
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:62
#, javascript-format
msgid "Total: %d/%d"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:64
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:64
#, javascript-format
msgid "Conflicted: %d"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:65
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:65
#, javascript-format
msgid "To delete: %d"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:70
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:70
msgid "Folders"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/services/report.js:80
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/services/report.js:80
#, javascript-format
msgid "%s: %d notes"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/action-button.js:66
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/action-button.js:66
msgid "New todo"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/action-button.js:73
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/action-button.js:73
msgid "New note"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/action-button.js:81
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/action-button.js:81
msgid "New notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screen-header.js:208
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screen-header.js:215
msgid "Log"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screen-header.js:213
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screen-header.js:220
msgid "Status"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/side-menu-content.js:106
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screen-header.js:229
msgid "Configuration"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/side-menu-content.js:106
msgid "Synchronize"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/side-menu-content.js:106
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/side-menu-content.js:106
msgid "Cancel synchronization"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/folder.js:73
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/config.js:101
msgid "Save"
msgstr ""
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/folder.js:73
#, javascript-format
msgid "The folder could not be saved: %s"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/folders.js:21
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/folders.js:21
msgid ""
"There is currently no notebook. Create one by clicking on the (+) button."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:194
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:173
msgid "Untitled"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:237
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:216
msgid "Delete note?"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:280
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:259
msgid "Attach file"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:281
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:260
msgid "Delete note"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:282
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:261
msgid "Convert to regular note"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:282
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:261
msgid "Convert to todo"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:283
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:262
msgid "Hide metadata"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:283
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:262
msgid "Show metadata"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:284
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:263
msgid "View location on map"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/note.js:435
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/note.js:414
msgid "Edit"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:23
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:23
msgid "Delete notebook?"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:46
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:46
msgid "Delete notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:47
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:47
msgid "Edit notebook"
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/notes.js:66
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/notes.js:66
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/welcome.js:31
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/welcome.js:31
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
#: /mnt/d/Web/www/joplin/ReactNativeClient/lib/components/screens/welcome.js:31
#: /media/veracrypt22/src/notes/ReactNativeClient/lib/components/screens/welcome.js:31
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""

View File

@ -20,6 +20,7 @@
"jssha": "^2.3.0",
"levenshtein": "^1.0.5",
"lodash": "^4.17.4",
"md5": "^2.2.1",
"mkdirp": "^0.5.1",
"moment": "^2.18.1",
"moment-timezone": "^0.5.13",

View File

@ -17,8 +17,6 @@ process.on('unhandledRejection', (reason, p) => {
jasmine.DEFAULT_TIMEOUT_INTERVAL = 9000; // The first test is slow because the database needs to be built
const syncTargetId = Database.enumId('syncTarget', 'memory');
async function allItems() {
let folders = await Folder.all();
let notes = await Note.all();

View File

@ -29,7 +29,8 @@ Resource.fsDriver_ = fsDriver;
const logDir = __dirname + '/../tests/logs';
fs.mkdirpSync(logDir, 0o755);
const syncTarget = 'filesystem';
//const syncTarget = 'filesystem';
const syncTarget = 'memory';
const syncDir = __dirname + '/../tests/sync';
const logger = new Logger();
@ -46,8 +47,7 @@ Setting.setConstant('appId', 'net.cozic.joplin-cli');
Setting.setConstant('appType', 'cli');
function syncTargetId() {
return JoplinDatabase.enumId('syncTarget', 'filesystem');
//return JoplinDatabase.enumId('syncTarget', 'memory');
return JoplinDatabase.enumId('syncTarget', syncTarget);
}
function sleep(n) {

View File

@ -776,6 +776,10 @@ chalk@^1.0.0, chalk@^1.1.0:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
charenc@~0.0.1:
version "0.0.2"
resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
chokidar@^1.6.1:
version "1.7.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
@ -843,6 +847,10 @@ core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
crypt@~0.0.1:
version "0.0.2"
resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
cryptiles@2.x.x:
version "2.0.5"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
@ -1257,7 +1265,7 @@ is-binary-path@^1.0.0:
dependencies:
binary-extensions "^1.0.0"
is-buffer@^1.1.5:
is-buffer@^1.1.5, is-buffer@~1.1.1:
version "1.1.5"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
@ -1483,6 +1491,14 @@ loose-envify@^1.0.0:
dependencies:
js-tokens "^3.0.0"
md5@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9"
dependencies:
charenc "~0.0.1"
crypt "~0.0.1"
is-buffer "~1.1.1"
micromatch@^2.1.5:
version "2.3.11"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"

View File

@ -70,7 +70,7 @@ class SideMenuContentComponent extends Component {
}
async synchronize_press() {
const sync = await reg.synchronizer()
const sync = await reg.synchronizer(Setting.value('sync.target'))
if (this.props.syncStarted) {
sync.cancel();

View File

@ -185,12 +185,10 @@ class FileApiDriverOneDrive {
};
let context = options ? options.context : null;
let url = null;
let url = context ? context.nextLink : null;
let query = null;
if (context) {
url = context.nextLink;
} else {
if (!url) {
url = this.makePath_(path) + ':/delta';
query = this.itemFilter_();
query.select += ',deleted';

View File

@ -166,7 +166,11 @@ Setting.defaults_ = {
'activeFolderId': { value: '', type: 'string', public: false },
'sync.onedrive.auth': { value: '', type: 'string', public: false },
'sync.filesystem.path': { value: '', type: 'string', public: true, appTypes: ['cli'] },
'sync.target': { value: 'onedrive', type: 'string', public: true, label: () => _('Synchronisation target') },
'sync.target': { value: 'onedrive', type: 'enum', public: true, label: () => _('Synchronisation target'), options: () => ({
1: 'Memory',
2: _('File system'),
3: _('OneDrive'),
})},
'sync.context': { value: '', type: 'string', public: false },
'editor': { value: '', type: 'string', public: true, appTypes: ['cli'] },
'locale': { value: 'en_GB', type: 'string', public: true },

View File

@ -127,6 +127,8 @@ class OneDriveApi {
}
async exec(method, path, query = null, data = null, options = null) {
if (!path) throw new Error('Path is required');
method = method.toUpperCase();
if (!options) options = {};

View File

@ -3,8 +3,11 @@ import { Setting } from 'lib/models/setting.js';
import { OneDriveApi } from 'lib/onedrive-api.js';
import { parameters } from 'lib/parameters.js';
import { FileApi } from 'lib/file-api.js';
import { Database } from 'lib/database.js';
import { Synchronizer } from 'lib/synchronizer.js';
import { FileApiDriverOneDrive } from 'lib/file-api-driver-onedrive.js';
import { shim } from 'lib/shim.js';
import { FileApiDriverMemory } from 'lib/file-api-driver-memory.js';
const reg = {};
@ -50,28 +53,46 @@ reg.oneDriveApi = () => {
return reg.oneDriveApi_;
}
reg.fileApi = async () => {
if (reg.fileApi_) return reg.fileApi_;
let driver = new FileApiDriverOneDrive(reg.oneDriveApi());
let appDir = await reg.oneDriveApi().appDirectory();
reg.fileApi_ = new FileApi(appDir, driver);
reg.fileApi_.setLogger(reg.logger());
return reg.fileApi_;
}
reg.synchronizer = async () => {
if (reg.synchronizer_) return reg.synchronizer_;
reg.synchronizer = async (syncTargetId) => {
if (!reg.synchronizers_) reg.synchronizers_ = [];
if (reg.synchronizers_[syncTargetId]) return reg.synchronizers_[syncTargetId];
if (!reg.db()) throw new Error('Cannot initialize synchronizer: db not initialized');
let fileApi = await reg.fileApi();
reg.synchronizer_ = new Synchronizer(reg.db(), fileApi, Setting.value('appType'));
reg.synchronizer_.setLogger(reg.logger());
reg.synchronizer_.dispatch = reg.dispatch;
return reg.synchronizer_;
let fileApi = null;
if (syncTargetId == 'onedrive') {
if (!reg.oneDriveApi().auth()) throw new Error('User is not authentified');
let appDir = await reg.oneDriveApi().appDirectory();
fileApi = new FileApi(appDir, new FileApiDriverOneDrive(reg.oneDriveApi()));
} else if (syncTargetId == 'memory') {
fileApi = new FileApi('joplin', new FileApiDriverMemory());
} else if (syncTargetId == 'filesystem') {
let syncDir = Setting.value('sync.filesystem.path');
if (!syncDir) throw new Error(_('Please set the "sync.filesystem.path" config value to the desired synchronisation destination.'));
await shim.fs.mkdirp(syncDir, 0o755);
fileApi = new FileApi(syncDir, new shim.FileApiDriverLocal());
} else {
throw new Error('Unknown sync target: ' + syncTargetId);
}
fileApi.setLogger(reg.logger());
let sync = new Synchronizer(reg.db(), fileApi, Setting.value('appType'));
sync.setLogger(reg.logger());
sync.dispatch = reg.dispatch;
reg.synchronizers_[syncTargetId] = sync;
return sync;
}
reg.scheduleSync = async (delay = null) => {

View File

@ -1,10 +1,16 @@
import fs from 'fs-extra';
import { shim } from 'lib/shim.js';
import { GeolocationNode } from 'lib/geolocation-node.js';
import { FileApiDriverLocal } from 'lib/file-api-driver-local.js';
function shimInit() {
shim.fs = fs;
shim.FileApiDriverLocal = FileApiDriverLocal;
shim.Geolocation = GeolocationNode;
shim.fetch = require('node-fetch');
shim.FormData = require('form-data');
shim.fetchBlob = async function(url, options) {
if (!options || !options.path) throw new Error('fetchBlob: target file path is missing');
if (!options.method) options.method = 'GET';

View File

@ -11,15 +11,7 @@ shim.isReactNative = () => {
shim.fetch = typeof fetch !== 'undefined' ? fetch : null;
shim.FormData = typeof FormData !== 'undefined' ? FormData : null;
if (!shim.fetch) {
let moduleName = 'node-fetch';
shim.fetch = require(moduleName);
}
if (!shim.FormData) {
let moduleName = 'form-data';
shim.FormData = require(moduleName);
}
shim.fs = null;
shim.FileApiDriverLocal = null;
export { shim };

View File

@ -27,6 +27,9 @@
"CliClient/app/src",
"CliClient/app/lib",
"*.jar",
"*.po",
"*.pot",
"locales/*.json",
]
}
]