mirror of
https://github.com/laurent22/joplin.git
synced 2026-10-30 13:31:48 +00:00
Compare commits
46
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c3854ec350 | ||
|
|
c2c737541d | ||
|
|
5b295d5f6f | ||
|
|
0be8cdf760 | ||
|
|
545940f545 | ||
|
|
d58f39823a | ||
|
|
f9fb1b8a81 | ||
|
|
56ded0062a | ||
|
|
83b29d7c51 | ||
|
|
1ec0746263 | ||
|
|
568d11bddf | ||
|
|
97b25ac99d | ||
|
|
7f1d3d8a5d | ||
|
|
fde201fbe9 | ||
|
|
694a1b4ede | ||
|
|
20d126b39d | ||
|
|
8ca9c3092a | ||
|
|
d2771029a3 | ||
|
|
4128c53fcf | ||
|
|
a14410b28c | ||
|
|
d1f8520e6e | ||
|
|
d76746b8e4 | ||
|
|
89d173b460 | ||
|
|
81aba8b8b0 | ||
|
|
f48697572d | ||
|
|
e61e8b7b94 | ||
|
|
1deab7e8d1 | ||
|
|
86b28b5ecf | ||
|
|
938e723434 | ||
|
|
ee2ec28cd4 | ||
|
|
9dc505e85b | ||
|
|
3df31584af | ||
|
|
a7e3b381cb | ||
|
|
70381a233b | ||
|
|
24ec3b8897 | ||
|
|
01aa4f9d5e | ||
|
|
520efdcb39 | ||
|
|
34a99f738c | ||
|
|
0e0de1207f | ||
|
|
2fda067034 | ||
|
|
29177330b0 | ||
|
|
41684a64ef | ||
|
|
2cd7839552 | ||
|
|
c3d4617612 | ||
|
|
158fafc4a0 | ||
|
|
a97f25fd61 |
No files matched your search
@@ -0,0 +1,9 @@
|
||||
**/node_modules
|
||||
Assets/
|
||||
.git/
|
||||
_releases/
|
||||
packages/app-desktop
|
||||
packages/app-cli
|
||||
packages/app-mobile
|
||||
packages/app-clipper
|
||||
packages/generator-joplin
|
||||
@@ -0,0 +1,9 @@
|
||||
# Example of local config, for development:
|
||||
#
|
||||
# JOPLIN_BASE_URL=http://localhost:22300
|
||||
# JOPLIN_PORT=22300
|
||||
|
||||
# Example of config for production:
|
||||
#
|
||||
# JOPLIN_BASE_URL=https://example.com/joplin
|
||||
# JOPLIN_PORT=22300
|
||||
+247
@@ -6,6 +6,7 @@ _releases/
|
||||
**/node_modules/
|
||||
Assets/
|
||||
docs/
|
||||
packages/server/dist/
|
||||
highlight.pack.js
|
||||
Modules/TinyMCE/IconPack/postinstall.js
|
||||
Modules/TinyMCE/JoplinLists/
|
||||
@@ -802,6 +803,9 @@ packages/app-mobile/components/screens/Note.js.map
|
||||
packages/app-mobile/components/screens/UpgradeSyncTargetScreen.d.ts
|
||||
packages/app-mobile/components/screens/UpgradeSyncTargetScreen.js
|
||||
packages/app-mobile/components/screens/UpgradeSyncTargetScreen.js.map
|
||||
packages/app-mobile/root.d.ts
|
||||
packages/app-mobile/root.js
|
||||
packages/app-mobile/root.js.map
|
||||
packages/app-mobile/services/AlarmServiceDriver.android.d.ts
|
||||
packages/app-mobile/services/AlarmServiceDriver.android.js
|
||||
packages/app-mobile/services/AlarmServiceDriver.android.js.map
|
||||
@@ -889,12 +893,18 @@ packages/lib/InMemoryCache.js.map
|
||||
packages/lib/JoplinServerApi.d.ts
|
||||
packages/lib/JoplinServerApi.js
|
||||
packages/lib/JoplinServerApi.js.map
|
||||
packages/lib/JoplinServerApi2.d.ts
|
||||
packages/lib/JoplinServerApi2.js
|
||||
packages/lib/JoplinServerApi2.js.map
|
||||
packages/lib/Logger.d.ts
|
||||
packages/lib/Logger.js
|
||||
packages/lib/Logger.js.map
|
||||
packages/lib/PoorManIntervals.d.ts
|
||||
packages/lib/PoorManIntervals.js
|
||||
packages/lib/PoorManIntervals.js.map
|
||||
packages/lib/SyncTargetJoplinServer.d.ts
|
||||
packages/lib/SyncTargetJoplinServer.js
|
||||
packages/lib/SyncTargetJoplinServer.js.map
|
||||
packages/lib/Synchronizer.d.ts
|
||||
packages/lib/Synchronizer.js
|
||||
packages/lib/Synchronizer.js.map
|
||||
@@ -916,6 +926,9 @@ packages/lib/errorUtils.js.map
|
||||
packages/lib/eventManager.d.ts
|
||||
packages/lib/eventManager.js
|
||||
packages/lib/eventManager.js.map
|
||||
packages/lib/file-api-driver-joplinServer.d.ts
|
||||
packages/lib/file-api-driver-joplinServer.js
|
||||
packages/lib/file-api-driver-joplinServer.js.map
|
||||
packages/lib/fs-driver-base.d.ts
|
||||
packages/lib/fs-driver-base.js
|
||||
packages/lib/fs-driver-base.js.map
|
||||
@@ -1390,4 +1403,238 @@ packages/renderer/pathUtils.js.map
|
||||
packages/renderer/utils.d.ts
|
||||
packages/renderer/utils.js
|
||||
packages/renderer/utils.js.map
|
||||
packages/server/src/app.d.ts
|
||||
packages/server/src/app.js
|
||||
packages/server/src/app.js.map
|
||||
packages/server/src/config-base.d.ts
|
||||
packages/server/src/config-base.js
|
||||
packages/server/src/config-base.js.map
|
||||
packages/server/src/config-buildTypes.d.ts
|
||||
packages/server/src/config-buildTypes.js
|
||||
packages/server/src/config-buildTypes.js.map
|
||||
packages/server/src/config-dev.d.ts
|
||||
packages/server/src/config-dev.js
|
||||
packages/server/src/config-dev.js.map
|
||||
packages/server/src/config-prod.d.ts
|
||||
packages/server/src/config-prod.js
|
||||
packages/server/src/config-prod.js.map
|
||||
packages/server/src/config-tests.d.ts
|
||||
packages/server/src/config-tests.js
|
||||
packages/server/src/config-tests.js.map
|
||||
packages/server/src/config.d.ts
|
||||
packages/server/src/config.js
|
||||
packages/server/src/config.js.map
|
||||
packages/server/src/controllers/BaseController.d.ts
|
||||
packages/server/src/controllers/BaseController.js
|
||||
packages/server/src/controllers/BaseController.js.map
|
||||
packages/server/src/controllers/api/FileController.d.ts
|
||||
packages/server/src/controllers/api/FileController.js
|
||||
packages/server/src/controllers/api/FileController.js.map
|
||||
packages/server/src/controllers/api/FileController.test.d.ts
|
||||
packages/server/src/controllers/api/FileController.test.js
|
||||
packages/server/src/controllers/api/FileController.test.js.map
|
||||
packages/server/src/controllers/api/OAuthController.d.ts
|
||||
packages/server/src/controllers/api/OAuthController.js
|
||||
packages/server/src/controllers/api/OAuthController.js.map
|
||||
packages/server/src/controllers/api/SessionController.d.ts
|
||||
packages/server/src/controllers/api/SessionController.js
|
||||
packages/server/src/controllers/api/SessionController.js.map
|
||||
packages/server/src/controllers/api/SessionController.test.d.ts
|
||||
packages/server/src/controllers/api/SessionController.test.js
|
||||
packages/server/src/controllers/api/SessionController.test.js.map
|
||||
packages/server/src/controllers/api/UserController.d.ts
|
||||
packages/server/src/controllers/api/UserController.js
|
||||
packages/server/src/controllers/api/UserController.js.map
|
||||
packages/server/src/controllers/api/UserController.test.d.ts
|
||||
packages/server/src/controllers/api/UserController.test.js
|
||||
packages/server/src/controllers/api/UserController.test.js.map
|
||||
packages/server/src/controllers/factory.d.ts
|
||||
packages/server/src/controllers/factory.js
|
||||
packages/server/src/controllers/factory.js.map
|
||||
packages/server/src/controllers/index/FileController.d.ts
|
||||
packages/server/src/controllers/index/FileController.js
|
||||
packages/server/src/controllers/index/FileController.js.map
|
||||
packages/server/src/controllers/index/HomeController.d.ts
|
||||
packages/server/src/controllers/index/HomeController.js
|
||||
packages/server/src/controllers/index/HomeController.js.map
|
||||
packages/server/src/controllers/index/LoginController.d.ts
|
||||
packages/server/src/controllers/index/LoginController.js
|
||||
packages/server/src/controllers/index/LoginController.js.map
|
||||
packages/server/src/controllers/index/NotificationController.d.ts
|
||||
packages/server/src/controllers/index/NotificationController.js
|
||||
packages/server/src/controllers/index/NotificationController.js.map
|
||||
packages/server/src/controllers/index/ProfileController.d.ts
|
||||
packages/server/src/controllers/index/ProfileController.js
|
||||
packages/server/src/controllers/index/ProfileController.js.map
|
||||
packages/server/src/controllers/index/UserController.d.ts
|
||||
packages/server/src/controllers/index/UserController.js
|
||||
packages/server/src/controllers/index/UserController.js.map
|
||||
packages/server/src/db.d.ts
|
||||
packages/server/src/db.js
|
||||
packages/server/src/db.js.map
|
||||
packages/server/src/middleware/notificationHandler.d.ts
|
||||
packages/server/src/middleware/notificationHandler.js
|
||||
packages/server/src/middleware/notificationHandler.js.map
|
||||
packages/server/src/middleware/ownerHandler.d.ts
|
||||
packages/server/src/middleware/ownerHandler.js
|
||||
packages/server/src/middleware/ownerHandler.js.map
|
||||
packages/server/src/middleware/routeHandler.d.ts
|
||||
packages/server/src/middleware/routeHandler.js
|
||||
packages/server/src/middleware/routeHandler.js.map
|
||||
packages/server/src/migrations/20190913171451_create.d.ts
|
||||
packages/server/src/migrations/20190913171451_create.js
|
||||
packages/server/src/migrations/20190913171451_create.js.map
|
||||
packages/server/src/migrations/20203012152842_notifications.d.ts
|
||||
packages/server/src/migrations/20203012152842_notifications.js
|
||||
packages/server/src/migrations/20203012152842_notifications.js.map
|
||||
packages/server/src/models/ApiClientModel.d.ts
|
||||
packages/server/src/models/ApiClientModel.js
|
||||
packages/server/src/models/ApiClientModel.js.map
|
||||
packages/server/src/models/BaseModel.d.ts
|
||||
packages/server/src/models/BaseModel.js
|
||||
packages/server/src/models/BaseModel.js.map
|
||||
packages/server/src/models/ChangeModel.d.ts
|
||||
packages/server/src/models/ChangeModel.js
|
||||
packages/server/src/models/ChangeModel.js.map
|
||||
packages/server/src/models/ChangeModel.test.d.ts
|
||||
packages/server/src/models/ChangeModel.test.js
|
||||
packages/server/src/models/ChangeModel.test.js.map
|
||||
packages/server/src/models/FileModel.d.ts
|
||||
packages/server/src/models/FileModel.js
|
||||
packages/server/src/models/FileModel.js.map
|
||||
packages/server/src/models/FileModel.test.d.ts
|
||||
packages/server/src/models/FileModel.test.js
|
||||
packages/server/src/models/FileModel.test.js.map
|
||||
packages/server/src/models/NotificationModel.d.ts
|
||||
packages/server/src/models/NotificationModel.js
|
||||
packages/server/src/models/NotificationModel.js.map
|
||||
packages/server/src/models/NotificationModel.test.d.ts
|
||||
packages/server/src/models/NotificationModel.test.js
|
||||
packages/server/src/models/NotificationModel.test.js.map
|
||||
packages/server/src/models/PermissionModel.d.ts
|
||||
packages/server/src/models/PermissionModel.js
|
||||
packages/server/src/models/PermissionModel.js.map
|
||||
packages/server/src/models/SessionModel.d.ts
|
||||
packages/server/src/models/SessionModel.js
|
||||
packages/server/src/models/SessionModel.js.map
|
||||
packages/server/src/models/UserModel.d.ts
|
||||
packages/server/src/models/UserModel.js
|
||||
packages/server/src/models/UserModel.js.map
|
||||
packages/server/src/models/factory.d.ts
|
||||
packages/server/src/models/factory.js
|
||||
packages/server/src/models/factory.js.map
|
||||
packages/server/src/models/utils/pagination.d.ts
|
||||
packages/server/src/models/utils/pagination.js
|
||||
packages/server/src/models/utils/pagination.js.map
|
||||
packages/server/src/models/utils/pagination.test.d.ts
|
||||
packages/server/src/models/utils/pagination.test.js
|
||||
packages/server/src/models/utils/pagination.test.js.map
|
||||
packages/server/src/routes/api/files.d.ts
|
||||
packages/server/src/routes/api/files.js
|
||||
packages/server/src/routes/api/files.js.map
|
||||
packages/server/src/routes/api/index.d.ts
|
||||
packages/server/src/routes/api/index.js
|
||||
packages/server/src/routes/api/index.js.map
|
||||
packages/server/src/routes/api/ping.d.ts
|
||||
packages/server/src/routes/api/ping.js
|
||||
packages/server/src/routes/api/ping.js.map
|
||||
packages/server/src/routes/api/sessions.d.ts
|
||||
packages/server/src/routes/api/sessions.js
|
||||
packages/server/src/routes/api/sessions.js.map
|
||||
packages/server/src/routes/default.d.ts
|
||||
packages/server/src/routes/default.js
|
||||
packages/server/src/routes/default.js.map
|
||||
packages/server/src/routes/index/files.d.ts
|
||||
packages/server/src/routes/index/files.js
|
||||
packages/server/src/routes/index/files.js.map
|
||||
packages/server/src/routes/index/home.d.ts
|
||||
packages/server/src/routes/index/home.js
|
||||
packages/server/src/routes/index/home.js.map
|
||||
packages/server/src/routes/index/login.d.ts
|
||||
packages/server/src/routes/index/login.js
|
||||
packages/server/src/routes/index/login.js.map
|
||||
packages/server/src/routes/index/logout.d.ts
|
||||
packages/server/src/routes/index/logout.js
|
||||
packages/server/src/routes/index/logout.js.map
|
||||
packages/server/src/routes/index/notifications.d.ts
|
||||
packages/server/src/routes/index/notifications.js
|
||||
packages/server/src/routes/index/notifications.js.map
|
||||
packages/server/src/routes/index/profile.d.ts
|
||||
packages/server/src/routes/index/profile.js
|
||||
packages/server/src/routes/index/profile.js.map
|
||||
packages/server/src/routes/index/user.d.ts
|
||||
packages/server/src/routes/index/user.js
|
||||
packages/server/src/routes/index/user.js.map
|
||||
packages/server/src/routes/index/users.d.ts
|
||||
packages/server/src/routes/index/users.js
|
||||
packages/server/src/routes/index/users.js.map
|
||||
packages/server/src/routes/oauth2/authorize.d.ts
|
||||
packages/server/src/routes/oauth2/authorize.js
|
||||
packages/server/src/routes/oauth2/authorize.js.map
|
||||
packages/server/src/routes/routes.d.ts
|
||||
packages/server/src/routes/routes.js
|
||||
packages/server/src/routes/routes.js.map
|
||||
packages/server/src/services/MustacheService.d.ts
|
||||
packages/server/src/services/MustacheService.js
|
||||
packages/server/src/services/MustacheService.js.map
|
||||
packages/server/src/tools/db-migrate.d.ts
|
||||
packages/server/src/tools/db-migrate.js
|
||||
packages/server/src/tools/db-migrate.js.map
|
||||
packages/server/src/tools/dbTools.d.ts
|
||||
packages/server/src/tools/dbTools.js
|
||||
packages/server/src/tools/dbTools.js.map
|
||||
packages/server/src/tools/generate-types.d.ts
|
||||
packages/server/src/tools/generate-types.js
|
||||
packages/server/src/tools/generate-types.js.map
|
||||
packages/server/src/utils/TransactionHandler.d.ts
|
||||
packages/server/src/utils/TransactionHandler.js
|
||||
packages/server/src/utils/TransactionHandler.js.map
|
||||
packages/server/src/utils/auth.d.ts
|
||||
packages/server/src/utils/auth.js
|
||||
packages/server/src/utils/auth.js.map
|
||||
packages/server/src/utils/base64.d.ts
|
||||
packages/server/src/utils/base64.js
|
||||
packages/server/src/utils/base64.js.map
|
||||
packages/server/src/utils/cache.d.ts
|
||||
packages/server/src/utils/cache.js
|
||||
packages/server/src/utils/cache.js.map
|
||||
packages/server/src/utils/defaultView.d.ts
|
||||
packages/server/src/utils/defaultView.js
|
||||
packages/server/src/utils/defaultView.js.map
|
||||
packages/server/src/utils/errors.d.ts
|
||||
packages/server/src/utils/errors.js
|
||||
packages/server/src/utils/errors.js.map
|
||||
packages/server/src/utils/htmlUtils.d.ts
|
||||
packages/server/src/utils/htmlUtils.js
|
||||
packages/server/src/utils/htmlUtils.js.map
|
||||
packages/server/src/utils/koaIf.d.ts
|
||||
packages/server/src/utils/koaIf.js
|
||||
packages/server/src/utils/koaIf.js.map
|
||||
packages/server/src/utils/requestUtils.d.ts
|
||||
packages/server/src/utils/requestUtils.js
|
||||
packages/server/src/utils/requestUtils.js.map
|
||||
packages/server/src/utils/routeUtils.d.ts
|
||||
packages/server/src/utils/routeUtils.js
|
||||
packages/server/src/utils/routeUtils.js.map
|
||||
packages/server/src/utils/routeUtils.test.d.ts
|
||||
packages/server/src/utils/routeUtils.test.js
|
||||
packages/server/src/utils/routeUtils.test.js.map
|
||||
packages/server/src/utils/testUtils.d.ts
|
||||
packages/server/src/utils/testUtils.js
|
||||
packages/server/src/utils/testUtils.js.map
|
||||
packages/server/src/utils/testing/testRouters.d.ts
|
||||
packages/server/src/utils/testing/testRouters.js
|
||||
packages/server/src/utils/testing/testRouters.js.map
|
||||
packages/server/src/utils/time.d.ts
|
||||
packages/server/src/utils/time.js
|
||||
packages/server/src/utils/time.js.map
|
||||
packages/server/src/utils/types.d.ts
|
||||
packages/server/src/utils/types.js
|
||||
packages/server/src/utils/types.js.map
|
||||
packages/server/src/utils/urlUtils.d.ts
|
||||
packages/server/src/utils/urlUtils.js
|
||||
packages/server/src/utils/urlUtils.js.map
|
||||
packages/server/src/utils/uuidgen.d.ts
|
||||
packages/server/src/utils/uuidgen.js
|
||||
packages/server/src/utils/uuidgen.js.map
|
||||
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
||||
+10
-1
@@ -1,4 +1,5 @@
|
||||
module.exports = {
|
||||
'root': true,
|
||||
'env': {
|
||||
'browser': true,
|
||||
'es6': true,
|
||||
@@ -34,6 +35,9 @@ module.exports = {
|
||||
'chrome': 'readonly',
|
||||
'browser': 'readonly',
|
||||
|
||||
// Server admin UI global variables
|
||||
'onDocumentReady': 'readonly',
|
||||
|
||||
'tinymce': 'readonly',
|
||||
},
|
||||
'parserOptions': {
|
||||
@@ -61,7 +65,12 @@ module.exports = {
|
||||
'no-var': ['error'],
|
||||
'no-new-func': ['error'],
|
||||
'import/prefer-default-export': ['error'],
|
||||
'import/first': ['error'],
|
||||
|
||||
// This rule should not be enabled since it matters in what order
|
||||
// imports are done, in particular in relation to the shim.setReact
|
||||
// call, which should be done first, but this rule might move it down.
|
||||
// 'import/first': ['error'],
|
||||
|
||||
'no-array-constructor': ['error'],
|
||||
'radix': ['error'],
|
||||
|
||||
|
||||
+247
@@ -48,6 +48,7 @@ TODO.md
|
||||
packages/tools/commit_hook.txt
|
||||
packages/tools/github_oauth_token.txt
|
||||
lerna-debug.log
|
||||
.env
|
||||
|
||||
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
||||
packages/app-cli/app/LinkSelector.d.ts
|
||||
@@ -791,6 +792,9 @@ packages/app-mobile/components/screens/Note.js.map
|
||||
packages/app-mobile/components/screens/UpgradeSyncTargetScreen.d.ts
|
||||
packages/app-mobile/components/screens/UpgradeSyncTargetScreen.js
|
||||
packages/app-mobile/components/screens/UpgradeSyncTargetScreen.js.map
|
||||
packages/app-mobile/root.d.ts
|
||||
packages/app-mobile/root.js
|
||||
packages/app-mobile/root.js.map
|
||||
packages/app-mobile/services/AlarmServiceDriver.android.d.ts
|
||||
packages/app-mobile/services/AlarmServiceDriver.android.js
|
||||
packages/app-mobile/services/AlarmServiceDriver.android.js.map
|
||||
@@ -878,12 +882,18 @@ packages/lib/InMemoryCache.js.map
|
||||
packages/lib/JoplinServerApi.d.ts
|
||||
packages/lib/JoplinServerApi.js
|
||||
packages/lib/JoplinServerApi.js.map
|
||||
packages/lib/JoplinServerApi2.d.ts
|
||||
packages/lib/JoplinServerApi2.js
|
||||
packages/lib/JoplinServerApi2.js.map
|
||||
packages/lib/Logger.d.ts
|
||||
packages/lib/Logger.js
|
||||
packages/lib/Logger.js.map
|
||||
packages/lib/PoorManIntervals.d.ts
|
||||
packages/lib/PoorManIntervals.js
|
||||
packages/lib/PoorManIntervals.js.map
|
||||
packages/lib/SyncTargetJoplinServer.d.ts
|
||||
packages/lib/SyncTargetJoplinServer.js
|
||||
packages/lib/SyncTargetJoplinServer.js.map
|
||||
packages/lib/Synchronizer.d.ts
|
||||
packages/lib/Synchronizer.js
|
||||
packages/lib/Synchronizer.js.map
|
||||
@@ -905,6 +915,9 @@ packages/lib/errorUtils.js.map
|
||||
packages/lib/eventManager.d.ts
|
||||
packages/lib/eventManager.js
|
||||
packages/lib/eventManager.js.map
|
||||
packages/lib/file-api-driver-joplinServer.d.ts
|
||||
packages/lib/file-api-driver-joplinServer.js
|
||||
packages/lib/file-api-driver-joplinServer.js.map
|
||||
packages/lib/fs-driver-base.d.ts
|
||||
packages/lib/fs-driver-base.js
|
||||
packages/lib/fs-driver-base.js.map
|
||||
@@ -1379,4 +1392,238 @@ packages/renderer/pathUtils.js.map
|
||||
packages/renderer/utils.d.ts
|
||||
packages/renderer/utils.js
|
||||
packages/renderer/utils.js.map
|
||||
packages/server/src/app.d.ts
|
||||
packages/server/src/app.js
|
||||
packages/server/src/app.js.map
|
||||
packages/server/src/config-base.d.ts
|
||||
packages/server/src/config-base.js
|
||||
packages/server/src/config-base.js.map
|
||||
packages/server/src/config-buildTypes.d.ts
|
||||
packages/server/src/config-buildTypes.js
|
||||
packages/server/src/config-buildTypes.js.map
|
||||
packages/server/src/config-dev.d.ts
|
||||
packages/server/src/config-dev.js
|
||||
packages/server/src/config-dev.js.map
|
||||
packages/server/src/config-prod.d.ts
|
||||
packages/server/src/config-prod.js
|
||||
packages/server/src/config-prod.js.map
|
||||
packages/server/src/config-tests.d.ts
|
||||
packages/server/src/config-tests.js
|
||||
packages/server/src/config-tests.js.map
|
||||
packages/server/src/config.d.ts
|
||||
packages/server/src/config.js
|
||||
packages/server/src/config.js.map
|
||||
packages/server/src/controllers/BaseController.d.ts
|
||||
packages/server/src/controllers/BaseController.js
|
||||
packages/server/src/controllers/BaseController.js.map
|
||||
packages/server/src/controllers/api/FileController.d.ts
|
||||
packages/server/src/controllers/api/FileController.js
|
||||
packages/server/src/controllers/api/FileController.js.map
|
||||
packages/server/src/controllers/api/FileController.test.d.ts
|
||||
packages/server/src/controllers/api/FileController.test.js
|
||||
packages/server/src/controllers/api/FileController.test.js.map
|
||||
packages/server/src/controllers/api/OAuthController.d.ts
|
||||
packages/server/src/controllers/api/OAuthController.js
|
||||
packages/server/src/controllers/api/OAuthController.js.map
|
||||
packages/server/src/controllers/api/SessionController.d.ts
|
||||
packages/server/src/controllers/api/SessionController.js
|
||||
packages/server/src/controllers/api/SessionController.js.map
|
||||
packages/server/src/controllers/api/SessionController.test.d.ts
|
||||
packages/server/src/controllers/api/SessionController.test.js
|
||||
packages/server/src/controllers/api/SessionController.test.js.map
|
||||
packages/server/src/controllers/api/UserController.d.ts
|
||||
packages/server/src/controllers/api/UserController.js
|
||||
packages/server/src/controllers/api/UserController.js.map
|
||||
packages/server/src/controllers/api/UserController.test.d.ts
|
||||
packages/server/src/controllers/api/UserController.test.js
|
||||
packages/server/src/controllers/api/UserController.test.js.map
|
||||
packages/server/src/controllers/factory.d.ts
|
||||
packages/server/src/controllers/factory.js
|
||||
packages/server/src/controllers/factory.js.map
|
||||
packages/server/src/controllers/index/FileController.d.ts
|
||||
packages/server/src/controllers/index/FileController.js
|
||||
packages/server/src/controllers/index/FileController.js.map
|
||||
packages/server/src/controllers/index/HomeController.d.ts
|
||||
packages/server/src/controllers/index/HomeController.js
|
||||
packages/server/src/controllers/index/HomeController.js.map
|
||||
packages/server/src/controllers/index/LoginController.d.ts
|
||||
packages/server/src/controllers/index/LoginController.js
|
||||
packages/server/src/controllers/index/LoginController.js.map
|
||||
packages/server/src/controllers/index/NotificationController.d.ts
|
||||
packages/server/src/controllers/index/NotificationController.js
|
||||
packages/server/src/controllers/index/NotificationController.js.map
|
||||
packages/server/src/controllers/index/ProfileController.d.ts
|
||||
packages/server/src/controllers/index/ProfileController.js
|
||||
packages/server/src/controllers/index/ProfileController.js.map
|
||||
packages/server/src/controllers/index/UserController.d.ts
|
||||
packages/server/src/controllers/index/UserController.js
|
||||
packages/server/src/controllers/index/UserController.js.map
|
||||
packages/server/src/db.d.ts
|
||||
packages/server/src/db.js
|
||||
packages/server/src/db.js.map
|
||||
packages/server/src/middleware/notificationHandler.d.ts
|
||||
packages/server/src/middleware/notificationHandler.js
|
||||
packages/server/src/middleware/notificationHandler.js.map
|
||||
packages/server/src/middleware/ownerHandler.d.ts
|
||||
packages/server/src/middleware/ownerHandler.js
|
||||
packages/server/src/middleware/ownerHandler.js.map
|
||||
packages/server/src/middleware/routeHandler.d.ts
|
||||
packages/server/src/middleware/routeHandler.js
|
||||
packages/server/src/middleware/routeHandler.js.map
|
||||
packages/server/src/migrations/20190913171451_create.d.ts
|
||||
packages/server/src/migrations/20190913171451_create.js
|
||||
packages/server/src/migrations/20190913171451_create.js.map
|
||||
packages/server/src/migrations/20203012152842_notifications.d.ts
|
||||
packages/server/src/migrations/20203012152842_notifications.js
|
||||
packages/server/src/migrations/20203012152842_notifications.js.map
|
||||
packages/server/src/models/ApiClientModel.d.ts
|
||||
packages/server/src/models/ApiClientModel.js
|
||||
packages/server/src/models/ApiClientModel.js.map
|
||||
packages/server/src/models/BaseModel.d.ts
|
||||
packages/server/src/models/BaseModel.js
|
||||
packages/server/src/models/BaseModel.js.map
|
||||
packages/server/src/models/ChangeModel.d.ts
|
||||
packages/server/src/models/ChangeModel.js
|
||||
packages/server/src/models/ChangeModel.js.map
|
||||
packages/server/src/models/ChangeModel.test.d.ts
|
||||
packages/server/src/models/ChangeModel.test.js
|
||||
packages/server/src/models/ChangeModel.test.js.map
|
||||
packages/server/src/models/FileModel.d.ts
|
||||
packages/server/src/models/FileModel.js
|
||||
packages/server/src/models/FileModel.js.map
|
||||
packages/server/src/models/FileModel.test.d.ts
|
||||
packages/server/src/models/FileModel.test.js
|
||||
packages/server/src/models/FileModel.test.js.map
|
||||
packages/server/src/models/NotificationModel.d.ts
|
||||
packages/server/src/models/NotificationModel.js
|
||||
packages/server/src/models/NotificationModel.js.map
|
||||
packages/server/src/models/NotificationModel.test.d.ts
|
||||
packages/server/src/models/NotificationModel.test.js
|
||||
packages/server/src/models/NotificationModel.test.js.map
|
||||
packages/server/src/models/PermissionModel.d.ts
|
||||
packages/server/src/models/PermissionModel.js
|
||||
packages/server/src/models/PermissionModel.js.map
|
||||
packages/server/src/models/SessionModel.d.ts
|
||||
packages/server/src/models/SessionModel.js
|
||||
packages/server/src/models/SessionModel.js.map
|
||||
packages/server/src/models/UserModel.d.ts
|
||||
packages/server/src/models/UserModel.js
|
||||
packages/server/src/models/UserModel.js.map
|
||||
packages/server/src/models/factory.d.ts
|
||||
packages/server/src/models/factory.js
|
||||
packages/server/src/models/factory.js.map
|
||||
packages/server/src/models/utils/pagination.d.ts
|
||||
packages/server/src/models/utils/pagination.js
|
||||
packages/server/src/models/utils/pagination.js.map
|
||||
packages/server/src/models/utils/pagination.test.d.ts
|
||||
packages/server/src/models/utils/pagination.test.js
|
||||
packages/server/src/models/utils/pagination.test.js.map
|
||||
packages/server/src/routes/api/files.d.ts
|
||||
packages/server/src/routes/api/files.js
|
||||
packages/server/src/routes/api/files.js.map
|
||||
packages/server/src/routes/api/index.d.ts
|
||||
packages/server/src/routes/api/index.js
|
||||
packages/server/src/routes/api/index.js.map
|
||||
packages/server/src/routes/api/ping.d.ts
|
||||
packages/server/src/routes/api/ping.js
|
||||
packages/server/src/routes/api/ping.js.map
|
||||
packages/server/src/routes/api/sessions.d.ts
|
||||
packages/server/src/routes/api/sessions.js
|
||||
packages/server/src/routes/api/sessions.js.map
|
||||
packages/server/src/routes/default.d.ts
|
||||
packages/server/src/routes/default.js
|
||||
packages/server/src/routes/default.js.map
|
||||
packages/server/src/routes/index/files.d.ts
|
||||
packages/server/src/routes/index/files.js
|
||||
packages/server/src/routes/index/files.js.map
|
||||
packages/server/src/routes/index/home.d.ts
|
||||
packages/server/src/routes/index/home.js
|
||||
packages/server/src/routes/index/home.js.map
|
||||
packages/server/src/routes/index/login.d.ts
|
||||
packages/server/src/routes/index/login.js
|
||||
packages/server/src/routes/index/login.js.map
|
||||
packages/server/src/routes/index/logout.d.ts
|
||||
packages/server/src/routes/index/logout.js
|
||||
packages/server/src/routes/index/logout.js.map
|
||||
packages/server/src/routes/index/notifications.d.ts
|
||||
packages/server/src/routes/index/notifications.js
|
||||
packages/server/src/routes/index/notifications.js.map
|
||||
packages/server/src/routes/index/profile.d.ts
|
||||
packages/server/src/routes/index/profile.js
|
||||
packages/server/src/routes/index/profile.js.map
|
||||
packages/server/src/routes/index/user.d.ts
|
||||
packages/server/src/routes/index/user.js
|
||||
packages/server/src/routes/index/user.js.map
|
||||
packages/server/src/routes/index/users.d.ts
|
||||
packages/server/src/routes/index/users.js
|
||||
packages/server/src/routes/index/users.js.map
|
||||
packages/server/src/routes/oauth2/authorize.d.ts
|
||||
packages/server/src/routes/oauth2/authorize.js
|
||||
packages/server/src/routes/oauth2/authorize.js.map
|
||||
packages/server/src/routes/routes.d.ts
|
||||
packages/server/src/routes/routes.js
|
||||
packages/server/src/routes/routes.js.map
|
||||
packages/server/src/services/MustacheService.d.ts
|
||||
packages/server/src/services/MustacheService.js
|
||||
packages/server/src/services/MustacheService.js.map
|
||||
packages/server/src/tools/db-migrate.d.ts
|
||||
packages/server/src/tools/db-migrate.js
|
||||
packages/server/src/tools/db-migrate.js.map
|
||||
packages/server/src/tools/dbTools.d.ts
|
||||
packages/server/src/tools/dbTools.js
|
||||
packages/server/src/tools/dbTools.js.map
|
||||
packages/server/src/tools/generate-types.d.ts
|
||||
packages/server/src/tools/generate-types.js
|
||||
packages/server/src/tools/generate-types.js.map
|
||||
packages/server/src/utils/TransactionHandler.d.ts
|
||||
packages/server/src/utils/TransactionHandler.js
|
||||
packages/server/src/utils/TransactionHandler.js.map
|
||||
packages/server/src/utils/auth.d.ts
|
||||
packages/server/src/utils/auth.js
|
||||
packages/server/src/utils/auth.js.map
|
||||
packages/server/src/utils/base64.d.ts
|
||||
packages/server/src/utils/base64.js
|
||||
packages/server/src/utils/base64.js.map
|
||||
packages/server/src/utils/cache.d.ts
|
||||
packages/server/src/utils/cache.js
|
||||
packages/server/src/utils/cache.js.map
|
||||
packages/server/src/utils/defaultView.d.ts
|
||||
packages/server/src/utils/defaultView.js
|
||||
packages/server/src/utils/defaultView.js.map
|
||||
packages/server/src/utils/errors.d.ts
|
||||
packages/server/src/utils/errors.js
|
||||
packages/server/src/utils/errors.js.map
|
||||
packages/server/src/utils/htmlUtils.d.ts
|
||||
packages/server/src/utils/htmlUtils.js
|
||||
packages/server/src/utils/htmlUtils.js.map
|
||||
packages/server/src/utils/koaIf.d.ts
|
||||
packages/server/src/utils/koaIf.js
|
||||
packages/server/src/utils/koaIf.js.map
|
||||
packages/server/src/utils/requestUtils.d.ts
|
||||
packages/server/src/utils/requestUtils.js
|
||||
packages/server/src/utils/requestUtils.js.map
|
||||
packages/server/src/utils/routeUtils.d.ts
|
||||
packages/server/src/utils/routeUtils.js
|
||||
packages/server/src/utils/routeUtils.js.map
|
||||
packages/server/src/utils/routeUtils.test.d.ts
|
||||
packages/server/src/utils/routeUtils.test.js
|
||||
packages/server/src/utils/routeUtils.test.js.map
|
||||
packages/server/src/utils/testUtils.d.ts
|
||||
packages/server/src/utils/testUtils.js
|
||||
packages/server/src/utils/testUtils.js.map
|
||||
packages/server/src/utils/testing/testRouters.d.ts
|
||||
packages/server/src/utils/testing/testRouters.js
|
||||
packages/server/src/utils/testing/testRouters.js.map
|
||||
packages/server/src/utils/time.d.ts
|
||||
packages/server/src/utils/time.js
|
||||
packages/server/src/utils/time.js.map
|
||||
packages/server/src/utils/types.d.ts
|
||||
packages/server/src/utils/types.js
|
||||
packages/server/src/utils/types.js.map
|
||||
packages/server/src/utils/urlUtils.d.ts
|
||||
packages/server/src/utils/urlUtils.js
|
||||
packages/server/src/utils/urlUtils.js.map
|
||||
packages/server/src/utils/uuidgen.d.ts
|
||||
packages/server/src/utils/uuidgen.js
|
||||
packages/server/src/utils/uuidgen.js.map
|
||||
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
||||
@@ -0,0 +1,3 @@
|
||||
FROM postgres:13.1
|
||||
|
||||
EXPOSE 5432
|
||||
@@ -0,0 +1,71 @@
|
||||
# https://versatile.nl/blog/deploying-lerna-web-apps-with-docker
|
||||
|
||||
FROM node:12
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get --yes install vim
|
||||
|
||||
ARG user=joplin
|
||||
|
||||
RUN useradd --create-home --shell /bin/bash $user
|
||||
USER $user
|
||||
|
||||
ENV NODE_ENV development
|
||||
|
||||
WORKDIR /home/$user
|
||||
|
||||
RUN mkdir /home/$user/logs
|
||||
|
||||
# To take advantage of the Docker cache, we first copy all the package.json
|
||||
# and package-lock.json files, as they rarely change? and then bootstrap
|
||||
# all the packages.
|
||||
#
|
||||
# Note that bootstrapping the packages will run all the postinstall
|
||||
# scripts, which means that for packages that have such scripts, we need to
|
||||
# copy all the files.
|
||||
#
|
||||
# We can't run boostrap with "--ignore-scripts" because that would
|
||||
# prevent certain sub-packages, such as sqlite3, from being built
|
||||
|
||||
COPY --chown=$user:$user package*.json ./
|
||||
|
||||
# Install the root scripts but don't run postinstall (which would bootstrap
|
||||
# and build TypeScript files, but we don't have the TypeScript files at
|
||||
# this point)
|
||||
|
||||
RUN npm install --ignore-scripts
|
||||
|
||||
COPY --chown=$user:$user packages/fork-sax/package*.json ./packages/fork-sax/
|
||||
COPY --chown=$user:$user packages/lib/package*.json ./packages/lib/
|
||||
COPY --chown=$user:$user packages/renderer/package*.json ./packages/renderer/
|
||||
COPY --chown=$user:$user packages/tools/package*.json ./packages/tools/
|
||||
COPY --chown=$user:$user packages/server/package*.json ./packages/server/
|
||||
COPY --chown=$user:$user lerna.json .
|
||||
COPY --chown=$user:$user tsconfig.json .
|
||||
|
||||
# The following have postinstall scripts so we need to copy all the files.
|
||||
# Since they should rarely change this is not an issue
|
||||
|
||||
COPY --chown=$user:$user packages/turndown ./packages/turndown
|
||||
COPY --chown=$user:$user packages/turndown-plugin-gfm ./packages/turndown-plugin-gfm
|
||||
COPY --chown=$user:$user packages/fork-htmlparser2 ./packages/fork-htmlparser2
|
||||
|
||||
RUN ls -la /home/$user
|
||||
|
||||
# Then bootstrap only, without compiling the TypeScript files
|
||||
|
||||
RUN npm run bootstrap
|
||||
|
||||
COPY --chown=$user:$user packages/fork-sax ./packages/fork-sax
|
||||
COPY --chown=$user:$user packages/lib ./packages/lib
|
||||
COPY --chown=$user:$user packages/renderer ./packages/renderer
|
||||
COPY --chown=$user:$user packages/tools ./packages/tools
|
||||
COPY --chown=$user:$user packages/server ./packages/server
|
||||
|
||||
# Finally build everything, in particular the TypeScript files.
|
||||
|
||||
RUN npm run build
|
||||
|
||||
EXPOSE ${JOPLIN_PORT}
|
||||
|
||||
CMD [ "npm", "--prefix", "packages/server", "start" ]
|
||||
@@ -20,9 +20,9 @@ Three types of applications are available: for the **desktop** (Windows, macOS a
|
||||
|
||||
Operating System | Download | Alternative
|
||||
---|---|---
|
||||
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v1.4.19/Joplin-Setup-1.4.19.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a> | Or get the <a href='https://github.com/laurent22/joplin/releases/download/v1.4.19/JoplinPortable.exe'>Portable version</a><br><br>The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
|
||||
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v1.4.19/Joplin-1.4.19.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a> | -
|
||||
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v1.4.19/Joplin-1.4.19.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a> | The recommended way is to use the following installation script as it will handle the desktop icon too:<br><br> `wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh \| bash`
|
||||
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-Setup-1.5.11.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a> | Or get the <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/JoplinPortable.exe'>Portable version</a><br><br>The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
|
||||
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-1.5.11.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a> | -
|
||||
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-1.5.11.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a> | The recommended way is to use the following installation script as it will handle the desktop icon too:<br><br> `wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh \| bash`
|
||||
|
||||
## Mobile applications
|
||||
|
||||
@@ -109,6 +109,8 @@ The Web Clipper is a browser extension that allows you to save web pages and scr
|
||||
- [Sync Lock spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md)
|
||||
- [Plugin Architecture spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md)
|
||||
- [Search Sorting spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/search_sorting.md)
|
||||
- [Server: File URL Format](https://github.com/laurent22/joplin/blob/dev/readme/spec/server_file_url_format.md)
|
||||
- [Server: Delta Sync](https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sync.md)
|
||||
|
||||
- Google Summer of Code 2020
|
||||
|
||||
@@ -436,45 +438,45 @@ Current translations:
|
||||
<!-- LOCALE-TABLE-AUTO-GENERATED -->
|
||||
| Language | Po File | Last translator | Percent done
|
||||
---|---|---|---|---
|
||||
 | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [أحمد باشا إبراهيم](mailto:fi_ahmed_bacha@esi.dz) | 77%
|
||||
 | Basque | [eu](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eu.po) | juan.abasolo@ehu.eus | 33%
|
||||
 | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 79%
|
||||
 | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 64%
|
||||
 | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | jmontane, 2019 | 92%
|
||||
 | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [أحمد باشا إبراهيم](mailto:fi_ahmed_bacha@esi.dz) | 75%
|
||||
 | Basque | [eu](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eu.po) | juan.abasolo@ehu.eus | 32%
|
||||
 | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 77%
|
||||
 | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 62%
|
||||
 | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | jmontane, 2019 | 89%
|
||||
 | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Hrvoje Mandić](mailto:trbuhom@net.hr) | 26%
|
||||
 | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Lukas Helebrandt](mailto:lukas@aiya.cz) | 96%
|
||||
 | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | Mustafa Al-Dailemi (dailemi@hotmail.com)Language-Team: | 79%
|
||||
 | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [Ettore Atalan](mailto:atalanttore@users.noreply.github.com) | 96%
|
||||
 | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 63%
|
||||
 | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Lukas Helebrandt](mailto:lukas@aiya.cz) | 93%
|
||||
 | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | Mustafa Al-Dailemi (dailemi@hotmail.com)Language-Team: | 77%
|
||||
 | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [Ettore Atalan](mailto:atalanttore@users.noreply.github.com) | 95%
|
||||
 | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 61%
|
||||
 | English (United Kingdom) | [en_GB](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_GB.po) | | 100%
|
||||
 | English (United States of America) | [en_US](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_US.po) | | 100%
|
||||
 | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Mario Campo](mailto:mario.campo@gmail.com) | 96%
|
||||
 | Esperanto | [eo](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po) | Marton Paulo | 36%
|
||||
 | Finnish (Suomi) | [fi_FI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po) | | 97%
|
||||
 | Français (France) | [fr_FR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po) | Laurent Cozic | 96%
|
||||
 | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 42%
|
||||
 | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [Fathy AR](mailto:16875937+fathyar@users.noreply.github.com) | 88%
|
||||
 | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Alessandro Bernardello](mailto:mailfilledwithspam@gmail.com) | 97%
|
||||
 | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 33%
|
||||
 | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MetBril](mailto:metbril@users.noreply.github.com) | 96%
|
||||
 | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | [Mats Estensen](mailto:code@mxe.no) | 85%
|
||||
 | Persian | [fa](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po) | [Kourosh Firoozbakht](mailto:kourox@protonmail.com) | 79%
|
||||
 | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | | 95%
|
||||
 | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Renato Nunes Bastos](mailto:rnbastos@gmail.com) | 93%
|
||||
 | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [João Duarte](mailto:jduar@protonmail.com) | 95%
|
||||
 | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 74%
|
||||
 | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | | 41%
|
||||
 | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 68%
|
||||
 | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 50%
|
||||
 | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 82%
|
||||
 | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 94%
|
||||
 | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 92%
|
||||
 | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 92%
|
||||
 | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 69%
|
||||
 | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [WhiredPlanck](mailto:fungdaat31@outlook.com) | 97%
|
||||
 | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [Yaoze Ye](mailto:yaozeye@yahoo.co.jp) | 91%
|
||||
 | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 97%
|
||||
 | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 97%
|
||||
 | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Mario Campo](mailto:mario.campo@gmail.com) | 99%
|
||||
 | Esperanto | [eo](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po) | Marton Paulo | 35%
|
||||
 | Finnish (Suomi) | [fi_FI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po) | | 94%
|
||||
 | Français (France) | [fr_FR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po) | Laurent Cozic | 99%
|
||||
 | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 40%
|
||||
 | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [Fathy AR](mailto:16875937+fathyar@users.noreply.github.com) | 85%
|
||||
 | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Alessandro Bernardello](mailto:mailfilledwithspam@gmail.com) | 96%
|
||||
 | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 32%
|
||||
 | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MetBril](mailto:metbril@users.noreply.github.com) | 93%
|
||||
 | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | [Mats Estensen](mailto:code@mxe.no) | 82%
|
||||
 | Persian | [fa](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po) | [Kourosh Firoozbakht](mailto:kourox@protonmail.com) | 77%
|
||||
 | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | | 92%
|
||||
 | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Renato Nunes Bastos](mailto:rnbastos@gmail.com) | 91%
|
||||
 | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [João Duarte](mailto:jduar@protonmail.com) | 92%
|
||||
 | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 72%
|
||||
 | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | | 40%
|
||||
 | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 66%
|
||||
 | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 49%
|
||||
 | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 79%
|
||||
 | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 99%
|
||||
 | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 89%
|
||||
 | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 96%
|
||||
 | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 67%
|
||||
 | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [WhiredPlanck](mailto:fungdaat31@outlook.com) | 99%
|
||||
 | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [Yaoze Ye](mailto:yaozeye@yahoo.co.jp) | 95%
|
||||
 | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 96%
|
||||
 | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 96%
|
||||
<!-- LOCALE-TABLE-AUTO-GENERATED -->
|
||||
|
||||
# Contributors
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
# For development, the easiest might be to only start the Postgres container and
|
||||
# run the app directly with `npm start`. Or use sqlite3.
|
||||
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
# app:
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: Dockerfile.server-dev
|
||||
# ports:
|
||||
# - "22300:22300"
|
||||
# # volumes:
|
||||
# # - ./packages/server/:/var/www/joplin/packages/server/
|
||||
# # - /var/www/joplin/packages/server/node_modules/
|
||||
db:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.db
|
||||
ports:
|
||||
- "5432:5432"
|
||||
environment:
|
||||
# TODO: Considering the database is only exposed to the
|
||||
# application, and not to the outside world, is there a need to
|
||||
# pick a secure password?
|
||||
- POSTGRES_PASSWORD=joplin
|
||||
- POSTGRES_USER=joplin
|
||||
- POSTGRES_DB=joplin
|
||||
@@ -0,0 +1,40 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
app:
|
||||
environment:
|
||||
- JOPLIN_BASE_URL=${JOPLIN_BASE_URL}
|
||||
- JOPLIN_PORT=${JOPLIN_PORT}
|
||||
restart: unless-stopped
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.server
|
||||
ports:
|
||||
- "${JOPLIN_PORT}:${JOPLIN_PORT}"
|
||||
# volumes:
|
||||
# # Mount the server directory so that it's possible to edit file
|
||||
# # while the container is running. However don't mount the
|
||||
# # node_modules directory which will be specific to the Docker
|
||||
# # image (eg native modules will be built for Ubuntu, while the
|
||||
# # container might be running in Windows)
|
||||
# # https://stackoverflow.com/a/37898591/561309
|
||||
# - ./packages/server:/home/joplin/packages/server
|
||||
# - /home/joplin/packages/server/node_modules/
|
||||
db:
|
||||
restart: unless-stopped
|
||||
# By default, the Postgres image saves the data to a Docker volume,
|
||||
# so it persists whenever the server is restarted using
|
||||
# `docker-compose up`. Note that it would however be deleted when
|
||||
# running `docker-compose down`.
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.db
|
||||
ports:
|
||||
- "5432:5432"
|
||||
environment:
|
||||
# TODO: Considering the database is only exposed to the
|
||||
# application, and not to the outside world, is there a need to
|
||||
# pick a secure password?
|
||||
- POSTGRES_PASSWORD=joplin
|
||||
- POSTGRES_USER=joplin
|
||||
- POSTGRES_DB=joplin
|
||||
@@ -1 +1 @@
|
||||
{"kinds":{"4":"Enumeration","16":"Enumeration member","32":"Variable","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":256,"name":"Command","url":"interfaces/command.html","classes":"tsd-kind-interface"},{"id":1,"kind":1024,"name":"name","url":"interfaces/command.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Command"},{"id":2,"kind":1024,"name":"label","url":"interfaces/command.html#label","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Command"},{"id":3,"kind":1024,"name":"iconName","url":"interfaces/command.html#iconname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Command"},{"id":4,"kind":2048,"name":"execute","url":"interfaces/command.html#execute","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Command"},{"id":5,"kind":1024,"name":"enabledCondition","url":"interfaces/command.html#enabledcondition","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Command"},{"id":6,"kind":4,"name":"FileSystemItem","url":"enums/filesystemitem.html","classes":"tsd-kind-enum"},{"id":7,"kind":16,"name":"File","url":"enums/filesystemitem.html#file","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"FileSystemItem"},{"id":8,"kind":16,"name":"Directory","url":"enums/filesystemitem.html#directory","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"FileSystemItem"},{"id":9,"kind":4,"name":"ImportModuleOutputFormat","url":"enums/importmoduleoutputformat.html","classes":"tsd-kind-enum"},{"id":10,"kind":16,"name":"Markdown","url":"enums/importmoduleoutputformat.html#markdown","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"ImportModuleOutputFormat"},{"id":11,"kind":16,"name":"Html","url":"enums/importmoduleoutputformat.html#html","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"ImportModuleOutputFormat"},{"id":12,"kind":256,"name":"ExportModule","url":"interfaces/exportmodule.html","classes":"tsd-kind-interface"},{"id":13,"kind":1024,"name":"format","url":"interfaces/exportmodule.html#format","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":14,"kind":1024,"name":"description","url":"interfaces/exportmodule.html#description","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":15,"kind":1024,"name":"target","url":"interfaces/exportmodule.html#target","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":16,"kind":1024,"name":"isNoteArchive","url":"interfaces/exportmodule.html#isnotearchive","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":17,"kind":1024,"name":"fileExtensions","url":"interfaces/exportmodule.html#fileextensions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":18,"kind":2048,"name":"onInit","url":"interfaces/exportmodule.html#oninit","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExportModule"},{"id":19,"kind":2048,"name":"onProcessItem","url":"interfaces/exportmodule.html#onprocessitem","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExportModule"},{"id":20,"kind":2048,"name":"onProcessResource","url":"interfaces/exportmodule.html#onprocessresource","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExportModule"},{"id":21,"kind":2048,"name":"onClose","url":"interfaces/exportmodule.html#onclose","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExportModule"},{"id":22,"kind":256,"name":"ImportModule","url":"interfaces/importmodule.html","classes":"tsd-kind-interface"},{"id":23,"kind":1024,"name":"format","url":"interfaces/importmodule.html#format","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":24,"kind":1024,"name":"description","url":"interfaces/importmodule.html#description","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":25,"kind":1024,"name":"isNoteArchive","url":"interfaces/importmodule.html#isnotearchive","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":26,"kind":1024,"name":"sources","url":"interfaces/importmodule.html#sources","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":27,"kind":1024,"name":"fileExtensions","url":"interfaces/importmodule.html#fileextensions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":28,"kind":1024,"name":"outputFormat","url":"interfaces/importmodule.html#outputformat","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":29,"kind":2048,"name":"onExec","url":"interfaces/importmodule.html#onexec","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ImportModule"},{"id":30,"kind":256,"name":"ExportOptions","url":"interfaces/exportLine truncated
|
||||
{"kinds":{"4":"Enumeration","16":"Enumeration member","32":"Variable","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":256,"name":"Command","url":"interfaces/command.html","classes":"tsd-kind-interface"},{"id":1,"kind":1024,"name":"name","url":"interfaces/command.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Command"},{"id":2,"kind":1024,"name":"label","url":"interfaces/command.html#label","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Command"},{"id":3,"kind":1024,"name":"iconName","url":"interfaces/command.html#iconname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Command"},{"id":4,"kind":2048,"name":"execute","url":"interfaces/command.html#execute","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"Command"},{"id":5,"kind":1024,"name":"enabledCondition","url":"interfaces/command.html#enabledcondition","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Command"},{"id":6,"kind":4,"name":"FileSystemItem","url":"enums/filesystemitem.html","classes":"tsd-kind-enum"},{"id":7,"kind":16,"name":"File","url":"enums/filesystemitem.html#file","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"FileSystemItem"},{"id":8,"kind":16,"name":"Directory","url":"enums/filesystemitem.html#directory","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"FileSystemItem"},{"id":9,"kind":4,"name":"ImportModuleOutputFormat","url":"enums/importmoduleoutputformat.html","classes":"tsd-kind-enum"},{"id":10,"kind":16,"name":"Markdown","url":"enums/importmoduleoutputformat.html#markdown","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"ImportModuleOutputFormat"},{"id":11,"kind":16,"name":"Html","url":"enums/importmoduleoutputformat.html#html","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"ImportModuleOutputFormat"},{"id":12,"kind":256,"name":"ExportModule","url":"interfaces/exportmodule.html","classes":"tsd-kind-interface"},{"id":13,"kind":1024,"name":"format","url":"interfaces/exportmodule.html#format","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":14,"kind":1024,"name":"description","url":"interfaces/exportmodule.html#description","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":15,"kind":1024,"name":"target","url":"interfaces/exportmodule.html#target","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":16,"kind":1024,"name":"isNoteArchive","url":"interfaces/exportmodule.html#isnotearchive","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":17,"kind":1024,"name":"fileExtensions","url":"interfaces/exportmodule.html#fileextensions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExportModule"},{"id":18,"kind":2048,"name":"onInit","url":"interfaces/exportmodule.html#oninit","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExportModule"},{"id":19,"kind":2048,"name":"onProcessItem","url":"interfaces/exportmodule.html#onprocessitem","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExportModule"},{"id":20,"kind":2048,"name":"onProcessResource","url":"interfaces/exportmodule.html#onprocessresource","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExportModule"},{"id":21,"kind":2048,"name":"onClose","url":"interfaces/exportmodule.html#onclose","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExportModule"},{"id":22,"kind":256,"name":"ImportModule","url":"interfaces/importmodule.html","classes":"tsd-kind-interface"},{"id":23,"kind":1024,"name":"format","url":"interfaces/importmodule.html#format","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":24,"kind":1024,"name":"description","url":"interfaces/importmodule.html#description","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":25,"kind":1024,"name":"isNoteArchive","url":"interfaces/importmodule.html#isnotearchive","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":26,"kind":1024,"name":"sources","url":"interfaces/importmodule.html#sources","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":27,"kind":1024,"name":"fileExtensions","url":"interfaces/importmodule.html#fileextensions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":28,"kind":1024,"name":"outputFormat","url":"interfaces/importmodule.html#outputformat","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ImportModule"},{"id":29,"kind":2048,"name":"onExec","url":"interfaces/importmodule.html#onexec","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ImportModule"},{"id":30,"kind":256,"name":"ExportOptions","url":"iLine truncated
|
||||
@@ -150,13 +150,21 @@
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Registers a new content script. Unlike regular plugin code, which runs in a separate process, content scripts run within the main process code
|
||||
and thus allow improved performances and more customisations in specific cases. It can be used for example to load a Markdown or editor plugin.</p>
|
||||
<p>Registers a new content script. Unlike regular plugin code, which
|
||||
runs in a separate process, content scripts run within the main
|
||||
process code and thus allow improved performances and more
|
||||
customisations in specific cases. It can be used for example to load
|
||||
a Markdown or editor plugin.</p>
|
||||
</div>
|
||||
<p>Note that registering a content script in itself will do nothing - it will only be loaded in specific cases by the relevant app modules
|
||||
(eg. the Markdown renderer or the code editor). So it is not a way to inject and run arbitrary code in the app, which for safety and performance reasons is not supported.</p>
|
||||
<p><a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/content_script">View the renderer demo plugin</a>
|
||||
<a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/codemirror_content_script">View the editor demo plugin</a></p>
|
||||
<p>Note that registering a content script in itself will do nothing -
|
||||
it will only be loaded in specific cases by the relevant app modules
|
||||
(eg. the Markdown renderer or the code editor). So it is not a way
|
||||
to inject and run arbitrary code in the app, which for safety and
|
||||
performance reasons is not supported.</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/content_script">View the renderer demo plugin</a></li>
|
||||
<li><a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/codemirror_content_script">View the editor demo plugin</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
<p>Gets a global setting value, including app-specific settings and those set by other plugins.</p>
|
||||
</div>
|
||||
<p>The list of available settings is not documented yet, but can be found by looking at the source code:</p>
|
||||
<p><a href="https://github.com/laurent22/joplin/blob/3539a452a359162c461d2849829d2d42973eab50/packages/app-mobile/lib/models/Setting.ts#L142">https://github.com/laurent22/joplin/blob/3539a452a359162c461d2849829d2d42973eab50/packages/app-mobile/lib/models/Setting.ts#L142</a></p>
|
||||
<p><a href="https://github.com/laurent22/joplin/blob/dev/packages/lib/models/Setting.ts#L142">https://github.com/laurent22/joplin/blob/dev/packages/lib/models/Setting.ts#L142</a></p>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
|
||||
@@ -88,7 +88,8 @@
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Registers a new CodeMirror plugin, which should follow the template below.</p>
|
||||
<p>Registers a new CodeMirror plugin, which should follow the template
|
||||
below.</p>
|
||||
</div>
|
||||
<pre><code class="language-javascript"><span class="hljs-built_in">module</span>.exports = {
|
||||
<span class="hljs-attr">default</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">context</span>) </span>{
|
||||
@@ -98,8 +99,8 @@
|
||||
},
|
||||
<span class="hljs-attr">codeMirrorResources</span>: [],
|
||||
<span class="hljs-attr">codeMirrorOptions</span>: {
|
||||
<span class="hljs-comment">// ...</span>
|
||||
},
|
||||
<span class="hljs-comment">// ...</span>
|
||||
},
|
||||
<span class="hljs-attr">assets</span>: {
|
||||
<span class="hljs-comment">// ...</span>
|
||||
},
|
||||
@@ -107,19 +108,42 @@
|
||||
}
|
||||
}</code></pre>
|
||||
<ul>
|
||||
<li><p>The <code>context</code> argument is currently unused but could be used later on to provide access to your own plugin so that the content script and plugin can communicate.</p>
|
||||
<li><p>The <code>context</code> argument is currently unused but could be used later
|
||||
on to provide access to your own plugin so that the content script
|
||||
and plugin can communicate.</p>
|
||||
</li>
|
||||
<li><p>The <code>plugin</code> key is your CodeMirror plugin. This is where you can register new commands with CodeMirror or interact with the CodeMirror instance as needed.</p>
|
||||
<li><p>The <code>plugin</code> key is your CodeMirror plugin. This is where you can
|
||||
register new commands with CodeMirror or interact with the
|
||||
CodeMirror instance as needed.</p>
|
||||
</li>
|
||||
<li><p>The <code>codeMirrorResources</code> key is an array of CodeMirror resources that will be loaded and attached to the CodeMirror module. These are made up of addons, keymaps, and modes. For example, for a plugin that want's to enable clojure highlighting in code blocks. <code>codeMirrorResources</code> would be set to <code>['mode/clojure/clojure']</code>.</p>
|
||||
<li><p>The <code>codeMirrorResources</code> key is an array of CodeMirror resources
|
||||
that will be loaded and attached to the CodeMirror module. These
|
||||
are made up of addons, keymaps, and modes. For example, for a
|
||||
plugin that want's to enable clojure highlighting in code blocks.
|
||||
<code>codeMirrorResources</code> would be set to <code>['mode/clojure/clojure']</code>.</p>
|
||||
</li>
|
||||
<li><p>The <code>codeMirrorOptions</code> key contains all the <a href="https://codemirror.net/doc/manual.html#config">CodeMirror</a> options that will be set or changed by this plugin. New options can alse be declared via <a href="https://codemirror.net/doc/manual.html#defineOption"><code>CodeMirror.defineOption</code></a>, and then have their value set here. For example, a plugin that enables line numbers would set <code>codeMirrorOptions</code> to <code>{'lineNumbers': true}</code>.</p>
|
||||
<li><p>The <code>codeMirrorOptions</code> key contains all the
|
||||
<a href="https://codemirror.net/doc/manual.html#config">CodeMirror</a>
|
||||
options that will be set or changed by this plugin. New options
|
||||
can alse be declared via
|
||||
<a href="https://codemirror.net/doc/manual.html#defineOption"><code>CodeMirror.defineOption</code></a>,
|
||||
and then have their value set here. For example, a plugin that
|
||||
enables line numbers would set <code>codeMirrorOptions</code> to
|
||||
<code>{'lineNumbers': true}</code>.</p>
|
||||
</li>
|
||||
<li><p>Using the <strong>optional</strong> <code>assets</code> key you may specify <strong>only</strong> CSS assets that should be loaded in the rendered HTML document. Check for example the Joplin <a href="https://github.com/laurent22/joplin/blob/dev/packages/app-mobile/lib/joplin-renderer/MdToHtml/rules/mermaid.ts">Mermaid plugin</a> to see how the data should be structured.</p>
|
||||
<li><p>Using the <strong>optional</strong> <code>assets</code> key you may specify <strong>only</strong> CSS
|
||||
assets that should be loaded in the rendered HTML document. Check
|
||||
for example the Joplin [Mermaid
|
||||
plugin](<a href="https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml/rules/mermaid.ts">https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml/rules/mermaid.ts</a>)
|
||||
to see how the data should be structured.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>One of the <code>plugin</code>, <code>codeMirrorResources</code>, or <code>codeMirrorOptions</code> keys must be provided for the plugin to be valid. Having multiple or all provided is also okay.</p>
|
||||
<p>See the <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/codemirror_content_script">demo plugin</a> for an example of all these keys being used in one plugin.</p>
|
||||
<p>One of the <code>plugin</code>, <code>codeMirrorResources</code>, or <code>codeMirrorOptions</code>
|
||||
keys must be provided for the plugin to be valid. Having multiple or
|
||||
all provided is also okay.</p>
|
||||
<p>See the <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/codemirror_content_script">demo
|
||||
plugin</a>
|
||||
for an example of all these keys being used in one plugin.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
@@ -130,7 +154,8 @@
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Registers a new Markdown-It plugin, which should follow the template below.</p>
|
||||
<p>Registers a new Markdown-It plugin, which should follow the template
|
||||
below.</p>
|
||||
</div>
|
||||
<pre><code class="language-javascript"><span class="hljs-built_in">module</span>.exports = {
|
||||
<span class="hljs-attr">default</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">context</span>) </span>{
|
||||
@@ -144,15 +169,50 @@
|
||||
}
|
||||
}
|
||||
}</code></pre>
|
||||
<p>See <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/content_script">the
|
||||
demo</a>
|
||||
for a simple Markdown-it plugin example.</p>
|
||||
<a href="#exported-members" id="exported-members" style="color: inherit; text-decoration: none;">
|
||||
<h2>Exported members</h2>
|
||||
</a>
|
||||
<ul>
|
||||
<li><p>The <code>context</code> argument is currently unused but could be used later on to provide access to your own plugin so that the content script and plugin can communicate.</p>
|
||||
<li><p>The <code>context</code> argument is currently unused but could be used later
|
||||
on to provide access to your own plugin so that the content script
|
||||
and plugin can communicate.</p>
|
||||
</li>
|
||||
<li><p>The <strong>required</strong> <code>plugin</code> key is the actual Markdown-It plugin - check the <a href="https://github.com/markdown-it/markdown-it">official doc</a> for more information. The <code>options</code> parameter is of type <a href="https://github.com/laurent22/joplin/blob/dev/packages/app-mobile/lib/joplin-renderer/MdToHtml.ts">RuleOptions</a>, which contains a number of options, mostly useful for Joplin's internal code.</p>
|
||||
<li><p>The <strong>required</strong> <code>plugin</code> key is the actual Markdown-It plugin -
|
||||
check the [official
|
||||
doc](<a href="https://github.com/markdown-it/markdown-it">https://github.com/markdown-it/markdown-it</a>) for more
|
||||
information. The <code>options</code> parameter is of type
|
||||
<a href="https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml.ts">RuleOptions</a>,
|
||||
which contains a number of options, mostly useful for Joplin's
|
||||
internal code.</p>
|
||||
</li>
|
||||
<li><p>Using the <strong>optional</strong> <code>assets</code> key you may specify assets such as JS or CSS that should be loaded in the rendered HTML document. Check for example the Joplin <a href="https://github.com/laurent22/joplin/blob/dev/packages/app-mobile/lib/joplin-renderer/MdToHtml/rules/mermaid.ts">Mermaid plugin</a> to see how the data should be structured.</p>
|
||||
<li><p>Using the <strong>optional</strong> <code>assets</code> key you may specify assets such as
|
||||
JS or CSS that should be loaded in the rendered HTML document.
|
||||
Check for example the Joplin [Mermaid
|
||||
plugin](<a href="https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml/rules/mermaid.ts">https://github.com/laurent22/joplin/blob/dev/packages/renderer/MdToHtml/rules/mermaid.ts</a>)
|
||||
to see how the data should be structured.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>To include a regular Markdown-It plugin, that doesn't make use of any Joplin-specific features, you would simply create a file such as this:</p>
|
||||
<a href="#passing-messages-from-the-content-script-to-your-plugin" id="passing-messages-from-the-content-script-to-your-plugin" style="color: inherit; text-decoration: none;">
|
||||
<h2>Passing messages from the content script to your plugin</h2>
|
||||
</a>
|
||||
<p>The application provides the following function to allow executing
|
||||
commands from the rendered HTML code:</p>
|
||||
<p><code>webviewApi.executeCommand(commandName, ...args)</code></p>
|
||||
<p>So you can use this mechanism to pass messages from the note viewer
|
||||
to your own plugin. To do so you would define a command, using
|
||||
<code>joplin.commands.register</code>, then you would call this command using
|
||||
the <code>webviewApi</code> object. See again <a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins/content_script">the
|
||||
demo</a>
|
||||
to see how this can be done.</p>
|
||||
<a href="#registering-an-existing-markdown-it-plugin" id="registering-an-existing-markdown-it-plugin" style="color: inherit; text-decoration: none;">
|
||||
<h2>Registering an existing Markdown-it plugin</h2>
|
||||
</a>
|
||||
<p>To include a regular Markdown-It plugin, that doesn't make use of
|
||||
any Joplin-specific features, you would simply create a file such as
|
||||
this:</p>
|
||||
<pre><code class="language-javascript"><span class="hljs-built_in">module</span>.exports = {
|
||||
<span class="hljs-attr">default</span>: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">context</span>) </span>{
|
||||
<span class="hljs-keyword">return</span> {
|
||||
|
||||
@@ -75,9 +75,11 @@
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#edit" class="tsd-kind-icon">Edit</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#editorcontextmenu" class="tsd-kind-icon">Editor<wbr>Context<wbr>Menu</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#file" class="tsd-kind-icon">File</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#foldercontextmenu" class="tsd-kind-icon">Folder<wbr>Context<wbr>Menu</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#help" class="tsd-kind-icon">Help</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#note" class="tsd-kind-icon">Note</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#notelistcontextmenu" class="tsd-kind-icon">Note<wbr>List<wbr>Context<wbr>Menu</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#tagcontextmenu" class="tsd-kind-icon">Tag<wbr>Context<wbr>Menu</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#tools" class="tsd-kind-icon">Tools</a></li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum"><a href="menuitemlocation.html#view" class="tsd-kind-icon">View</a></li>
|
||||
</ul>
|
||||
@@ -122,6 +124,22 @@
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a name="foldercontextmenu" class="tsd-anchor"></a>
|
||||
<h3>Folder<wbr>Context<wbr>Menu</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">Folder<wbr>Context<wbr>Menu<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = "folderContextMenu"</span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>When a command is called from a folder context menu, the
|
||||
command will receive the following arguments:</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li><code>folderId:string</code>: ID of the folder that was right-clicked on</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a name="help" class="tsd-anchor"></a>
|
||||
<h3>Help</h3>
|
||||
@@ -142,6 +160,31 @@
|
||||
<div class="tsd-signature tsd-kind-icon">Note<wbr>List<wbr>Context<wbr>Menu<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = "noteListContextMenu"</span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>When a command is called from the note list context menu, the
|
||||
command will receive the following arguments:</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li><code>noteIds:string[]</code>: IDs of the notes that were right-clicked on.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a name="tagcontextmenu" class="tsd-anchor"></a>
|
||||
<h3>Tag<wbr>Context<wbr>Menu</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">Tag<wbr>Context<wbr>Menu<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = "tagContextMenu"</span></div>
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>When a command is called from a tag context menu, the
|
||||
command will receive the following arguments:</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li><code>tagId:string</code>: ID of the tag that was right-clicked on</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a name="tools" class="tsd-anchor"></a>
|
||||
@@ -188,6 +231,9 @@
|
||||
<li class=" tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="menuitemlocation.html#file" class="tsd-kind-icon">File</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="menuitemlocation.html#foldercontextmenu" class="tsd-kind-icon">Folder<wbr>Context<wbr>Menu</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="menuitemlocation.html#help" class="tsd-kind-icon">Help</a>
|
||||
</li>
|
||||
@@ -197,6 +243,9 @@
|
||||
<li class=" tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="menuitemlocation.html#notelistcontextmenu" class="tsd-kind-icon">Note<wbr>List<wbr>Context<wbr>Menu</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="menuitemlocation.html#tagcontextmenu" class="tsd-kind-icon">Tag<wbr>Context<wbr>Menu</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="menuitemlocation.html#tools" class="tsd-kind-icon">Tools</a>
|
||||
</li>
|
||||
|
||||
@@ -133,6 +133,12 @@
|
||||
<li class="tsd-kind-variable"><a href="globals.html#logger" class="tsd-kind-icon">logger</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-index-section ">
|
||||
<h3>Functions</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-function"><a href="globals.html#iscontextmenuitemlocation" class="tsd-kind-icon">is<wbr>Context<wbr>Menu<wbr>Item<wbr>Location</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
@@ -187,9 +193,11 @@
|
||||
<div class="lead">
|
||||
<p>An array of at least one element and at most three elements.</p>
|
||||
</div>
|
||||
<p>[0]: Resource name (eg. "notes", "folders", "tags", etc.)
|
||||
[1]: (Optional) Resource ID.
|
||||
[2]: (Optional) Resource link.</p>
|
||||
<ul>
|
||||
<li><strong>[0]</strong>: Resource name (eg. "notes", "folders", "tags", etc.)</li>
|
||||
<li><strong>[1]</strong>: (Optional) Resource ID.</li>
|
||||
<li><strong>[2]</strong>: (Optional) Resource link.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias">
|
||||
@@ -242,6 +250,33 @@
|
||||
</aside>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group ">
|
||||
<h2>Functions</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-function">
|
||||
<a name="iscontextmenuitemlocation" class="tsd-anchor"></a>
|
||||
<h3>is<wbr>Context<wbr>Menu<wbr>Item<wbr>Location</h3>
|
||||
<ul class="tsd-signatures tsd-kind-function">
|
||||
<li class="tsd-signature tsd-kind-icon">is<wbr>Context<wbr>Menu<wbr>Item<wbr>Location<span class="tsd-signature-symbol">(</span>location<span class="tsd-signature-symbol">: </span><a href="enums/menuitemlocation.html" class="tsd-signature-type">MenuItemLocation</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>location: <a href="enums/menuitemlocation.html" class="tsd-signature-type">MenuItemLocation</a></h5>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- JOPLINCHANGE
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
|
||||
|
||||
|
||||
-->
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
||||
<!--
|
||||
@@ -381,6 +416,9 @@
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#viewhandle" class="tsd-kind-icon">ViewHandle</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-function">
|
||||
<a href="globals.html#iscontextmenuitemlocation" class="tsd-kind-icon">isContextMenuItemLocation</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@@ -206,6 +206,9 @@
|
||||
<li class=" tsd-kind-type-alias">
|
||||
<a href="globals.html#viewhandle" class="tsd-kind-icon">ViewHandle</a>
|
||||
</li>
|
||||
<li class=" tsd-kind-function">
|
||||
<a href="globals.html#iscontextmenuitemlocation" class="tsd-kind-icon">isContextMenuItemLocation</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
<td>"oneNoteSelected && !inConflictFolder"</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
<p>Currently the supported context variables aren't documented, but you can <a href="https://github.com/laurent22/joplin/blob/dev/packages/app-mobile/lib/services/commands/stateToWhenClauseContext.ts">find the list here</a>.</p>
|
||||
<p>Currently the supported context variables aren't documented, but you can <a href="https://github.com/laurent22/joplin/blob/dev/packages/lib/services/commands/stateToWhenClauseContext.ts">find the list here</a>.</p>
|
||||
<p>Note: Commands are enabled by default unless you use this property.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -400,6 +400,46 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog.md
|
||||
|
||||
<div class="main">
|
||||
<h1>Joplin changelog<a name="joplin-changelog" href="#joplin-changelog" class="heading-anchor">🔗</a></h1>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.5.11">v1.5.11</a> - 2020-12-27T19:54:07Z<a name="v1-5-11-https-github-com-laurent22-joplin-releases-tag-v1-5-11-2020-12-27t19-54-07z" href="#v1-5-11-https-github-com-laurent22-joplin-releases-tag-v1-5-11-2020-12-27t19-54-07z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>New: Add support for media players (video, audio and PDF)</li>
|
||||
<li>New: Add table captions when importing ENEX files</li>
|
||||
<li>New: Added doc about Rich Text editor and added way to dismiss warning banner</li>
|
||||
<li>New: MacOS: Notarize application</li>
|
||||
<li>New: Plugins: Add support for content script asset files, for Markdown-it plugins</li>
|
||||
<li>New: Plugins: Add support for context menu items on notebooks and tags</li>
|
||||
<li>New: Plugins: Add support for workspace.onSyncStart event</li>
|
||||
<li>New: Plugins: Added a way to execute commands from Markdown-it content scripts</li>
|
||||
<li>Fixed: Fix End key behavior with Codemirror spellcheck (<a href="https://github.com/laurent22/joplin/issues/4215">#4215</a> by Caleb John)</li>
|
||||
<li>Fixed: Fixed basic search when executing a query in Chinese (<a href="https://github.com/laurent22/joplin/issues/4034">#4034</a> by Naveen M V)</li>
|
||||
<li>Fixed: Fixed context menu when the UI is zoomed in or out (<a href="https://github.com/laurent22/joplin/issues/4201">#4201</a>)</li>
|
||||
<li>Fixed: Fixed importing certain code blocks from ENEX</li>
|
||||
<li>Fixed: Fixed importing ENEX files that contain empty resources</li>
|
||||
<li>Fixed: Fixed importing ENEX files that contain resources with invalid mime type</li>
|
||||
<li>Fixed: Fixed issue when searching for text that contains diacritic (<a href="https://github.com/laurent22/joplin/issues/4152">#4152</a>) (<a href="https://github.com/laurent22/joplin/issues/4025">#4025</a> by Roman Musin)</li>
|
||||
<li>Fixed: Fixed issue with attachment paths being invalid when user has spaces in home directory path.</li>
|
||||
<li>Fixed: Fixed issue with note not being saved when a column is added or remove from Rich Text editor</li>
|
||||
<li>Fixed: Fixed issues when importing hidden tables within hidden sections in Enex files</li>
|
||||
<li>Fixed: Fixed numbered list bug in markdown editor (<a href="https://github.com/laurent22/joplin/issues/4116">#4116</a>) (<a href="https://github.com/laurent22/joplin/issues/3917">#3917</a> by <a href="https://github.com/MichBoi">@MichBoi</a>)</li>
|
||||
<li>Fixed: Fixed potential crash when watching note files or resources</li>
|
||||
<li>Fixed: Fixed title input field width on small windows</li>
|
||||
<li>Fixed: Focus editor after pressing toolbar buttons (<a href="https://github.com/laurent22/joplin/issues/4037">#4037</a>) (<a href="https://github.com/laurent22/joplin/issues/4036">#4036</a> by <a href="https://github.com/CalebJohn">@CalebJohn</a>)</li>
|
||||
<li>Fixed: Plugins: Fixed disabling plugin files that start with "_"</li>
|
||||
<li>Fixed: Prevent double paste when using Shift+Ctrl+V (<a href="https://github.com/laurent22/joplin/issues/4243">#4243</a>)</li>
|
||||
<li>Fixed: Prevents crash when invalid spell checker language is selected, and provide fallback for invalid language codes (<a href="https://github.com/laurent22/joplin/issues/4146">#4146</a>)</li>
|
||||
<li>Fixed: Register Markdown editor commands with the Keyboard Shortcut editor (<a href="https://github.com/laurent22/joplin/issues/4136">#4136</a>) (<a href="https://github.com/laurent22/joplin/issues/4130">#4130</a> by Caleb John)</li>
|
||||
<li>Improved: Display Katex parsing errors</li>
|
||||
<li>Improved: Improved warning banner colors</li>
|
||||
<li>Improved: Plugins: Commands would not show up in keymap editor when no shortcut was associated with them</li>
|
||||
<li>Improved: Plugins: Improved note change event handling.</li>
|
||||
<li>Improved: Removed warning for Markdown editor spell checking</li>
|
||||
<li>Improved: Restrict auto-detection of links, and added option to toggle linkify (<a href="https://github.com/laurent22/joplin/issues/4205">#4205</a>)</li>
|
||||
<li>Improved: Rich Text: Do not converts to markdown links URLs that would be linkified</li>
|
||||
<li>Improved: Translation: Update zh_CN (<a href="https://github.com/laurent22/joplin/issues/4195">#4195</a> by Zhang YANG)</li>
|
||||
<li>Improved: Update macOS icon for macOS Big Sur</li>
|
||||
<li>Improved: Update Mermaid: 8.8.1 -> 8.8.4 (<a href="https://github.com/laurent22/joplin/issues/4193">#4193</a> by Helmut K. C. Tessarek)</li>
|
||||
<li>Improved: Use plugins whenever printing or exporting notes</li>
|
||||
</ul>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/v1.4.19">v1.4.19</a> - 2020-12-01T11:11:16Z<a name="v1-4-19-https-github-com-laurent22-joplin-releases-tag-v1-4-19-2020-12-01t11-11-16z" href="#v1-4-19-https-github-com-laurent22-joplin-releases-tag-v1-4-19-2020-12-01t11-11-16z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>Improved: Disable soft-break by default in Markdown rendering</li>
|
||||
|
||||
@@ -400,6 +400,22 @@ https://github.com/laurent22/joplin/blob/dev/readme/changelog_cli.md
|
||||
|
||||
<div class="main">
|
||||
<h1>Joplin terminal app changelog<a name="joplin-terminal-app-changelog" href="#joplin-terminal-app-changelog" class="heading-anchor">🔗</a></h1>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/cli-v1.5.1">cli-v1.5.1</a> - 2020-12-26T00:46:31Z<a name="cli-v1-5-1-https-github-com-laurent22-joplin-releases-tag-cli-v1-5-1-2020-12-26t00-46-31z" href="#cli-v1-5-1-https-github-com-laurent22-joplin-releases-tag-cli-v1-5-1-2020-12-26t00-46-31z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>New: Add table captions when importing ENEX files</li>
|
||||
<li>Improved: Allow exporting conflict notes (#4095)</li>
|
||||
<li>Improved: Allow lowercase filters when doing search</li>
|
||||
<li>Improved: Improved error handling when importing ENEX files</li>
|
||||
<li>Improved: Partially reverts #3975 (link rendering)</li>
|
||||
<li>Fixed: Fix sorting by title in a case insensitive way</li>
|
||||
<li>Fixed: Fixed basic search when executing a query in Chinese (#4034 by Naveen M V)</li>
|
||||
<li>Fixed: Fixed importing ENEX files that contain empty resources</li>
|
||||
<li>Fixed: Fixed importing ENEX files that contain resources with invalid mime type</li>
|
||||
<li>Fixed: Fixed importing certain ENEX files that contain invalid dates</li>
|
||||
<li>Fixed: Fixed importing certain code blocks from ENEX</li>
|
||||
<li>Fixed: Fixed issue when searching for text that contains diacritic (#4152) (#4025 by Roman Musin)</li>
|
||||
<li>Fixed: Fixed issues when importing hidden tables within hidden sections in Enex files</li>
|
||||
</ul>
|
||||
<h2><a href="https://github.com/laurent22/joplin/releases/tag/cli-v1.4.9">cli-v1.4.9</a> - 2020-11-26T15:00:37Z<a name="cli-v1-4-9-https-github-com-laurent22-joplin-releases-tag-cli-v1-4-9-2020-11-26t15-00-37z" href="#cli-v1-4-9-https-github-com-laurent22-joplin-releases-tag-cli-v1-4-9-2020-11-26t15-00-37z" class="heading-anchor">🔗</a></h2>
|
||||
<ul>
|
||||
<li>Improved: Allow exporting conflict notes (#4095)</li>
|
||||
|
||||
@@ -411,6 +411,9 @@ https://github.com/laurent22/joplin/blob/dev/readme/faq.md
|
||||
</ul>
|
||||
<p>Now try to install again and it should work.</p>
|
||||
<p>More info there: <a href="https://github.com/electron-userland/electron-builder/issues/4057">https://github.com/electron-userland/electron-builder/issues/4057</a></p>
|
||||
<h2>How can I pass arguments to the Linux installation script?<a name="how-can-i-pass-arguments-to-the-linux-installation-script" href="#how-can-i-pass-arguments-to-the-linux-installation-script" class="heading-anchor">🔗</a></h2>
|
||||
<p>You can pass <a href="https://github.com/laurent22/joplin/blob/dev/Joplin_install_and_update.sh#L37">arguments</a> to the installation script by using this command.</p>
|
||||
<p><code>wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh \| bash -s -- --argument1 --argument2</code></p>
|
||||
<h2>How can I edit my note in an external text editor?<a name="how-can-i-edit-my-note-in-an-external-text-editor" href="#how-can-i-edit-my-note-in-an-external-text-editor" class="heading-anchor">🔗</a></h2>
|
||||
<p>The editor command (may include arguments) defines which editor will be used to open a note. If none is provided it will try to auto-detect the default editor. If this does nothing or you want to change it for Joplin, you need to configure it in the Preferences -> Text editor command.</p>
|
||||
<p>Some example configurations are: (comments after #)</p>
|
||||
|
||||
+4
-4
@@ -420,17 +420,17 @@ https://github.com/laurent22/joplin/blob/dev/README.md
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Windows (32 and 64-bit)</td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.4.19/Joplin-Setup-1.4.19.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a></td>
|
||||
<td>Or get the <a href='https://github.com/laurent22/joplin/releases/download/v1.4.19/JoplinPortable.exe'>Portable version</a><br><br>The <a href="https://en.wikipedia.org/wiki/Portable_application">portable application</a> allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.</td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-Setup-1.5.11.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a></td>
|
||||
<td>Or get the <a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/JoplinPortable.exe'>Portable version</a><br><br>The <a href="https://en.wikipedia.org/wiki/Portable_application">portable application</a> allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>macOS</td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.4.19/Joplin-1.4.19.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a></td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-1.5.11.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a></td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Linux</td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.4.19/Joplin-1.4.19.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a></td>
|
||||
<td><a href='https://github.com/laurent22/joplin/releases/download/v1.5.11/Joplin-1.5.11.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a></td>
|
||||
<td>The recommended way is to use the following installation script as it will handle the desktop icon too:<br><br> <code>wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -400,6 +400,10 @@ https://github.com/laurent22/joplin/blob/dev/readme/nextcloud_app.md
|
||||
|
||||
<div class="main">
|
||||
<h1>Joplin Web API for Nextcloud<a name="joplin-web-api-for-nextcloud" href="#joplin-web-api-for-nextcloud" class="heading-anchor">🔗</a></h1>
|
||||
<hr>
|
||||
<p><strong>IMPORTANT: THIS APPLICATION IS DEPRECATED AND WILL NO LONGER BE SUPPORTED FROM JOPLIN 1.6.x</strong></p>
|
||||
<p>It is deprecated in favour of <a href="https://discourse.joplinapp.org/t/joplin-web-api-for-nextcloud/4491/72?u=laurent">Joplin Server</a>, so if you are relying on it please do not upgrade to Joplin 1.6.x till you are ready to migrate to Joplin Server or some other alternative.</p>
|
||||
<hr>
|
||||
<p><strong>This is a beta feature, not yet completed. More info coming soon!</strong></p>
|
||||
<p>The app can be downloaded from there: <a href="https://apps.nextcloud.com/apps/joplin">https://apps.nextcloud.com/apps/joplin</a></p>
|
||||
<p>The Joplin Web API for Nextcloud is a helper application that enables certain features that are not possible otherwise. In particular:</p>
|
||||
|
||||
+333
-325
File diff suppressed because it is too large.
Load diff
@@ -116,6 +116,7 @@
|
||||
"**/_vieux/": true,
|
||||
"**/.DS_Store": true,
|
||||
"**/*.base64": true,
|
||||
"**/*~": true,
|
||||
"**/*.bundle.js": true,
|
||||
"**/*.eot": true,
|
||||
"**/*.icns": true,
|
||||
@@ -309,6 +310,10 @@
|
||||
"packages/renderer/MdToHtml/rules/sanitize_html.js": true,
|
||||
"packages/app-mobile/lib/rnInjectedJs/": true,
|
||||
"packages/app-mobile/lib/sql-extensions/spellfix.so": true,
|
||||
"packages/server/dist/": true,
|
||||
"packages/server/db-*.sqlite": true,
|
||||
"packages/server/test.pid": true,
|
||||
"packages/server/temp": true,
|
||||
"packages/generator-joplin/generators/app/templates/api/": true,
|
||||
"packages/app-mobile/node_modules/": true,
|
||||
"phpunit.xml": true,
|
||||
|
||||
Generated
+77
-69
@@ -289,6 +289,75 @@
|
||||
"dedent": "^0.7.0",
|
||||
"npmlog": "^4.1.2",
|
||||
"yargs": "^14.2.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
|
||||
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
|
||||
"dev": true
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
|
||||
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
|
||||
"dev": true
|
||||
},
|
||||
"string-width": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
|
||||
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"emoji-regex": "^7.0.1",
|
||||
"is-fullwidth-code-point": "^2.0.0",
|
||||
"strip-ansi": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
|
||||
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^4.1.0"
|
||||
}
|
||||
},
|
||||
"y18n": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
|
||||
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
|
||||
"dev": true
|
||||
},
|
||||
"yargs": {
|
||||
"version": "14.2.3",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz",
|
||||
"integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cliui": "^5.0.0",
|
||||
"decamelize": "^1.2.0",
|
||||
"find-up": "^3.0.0",
|
||||
"get-caller-file": "^2.0.1",
|
||||
"require-directory": "^2.1.1",
|
||||
"require-main-filename": "^2.0.0",
|
||||
"set-blocking": "^2.0.0",
|
||||
"string-width": "^3.0.0",
|
||||
"which-module": "^2.0.0",
|
||||
"y18n": "^4.0.0",
|
||||
"yargs-parser": "^15.0.1"
|
||||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "15.0.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
|
||||
"integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camelcase": "^5.0.0",
|
||||
"decamelize": "^1.2.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@lerna/collect-uncommitted": {
|
||||
@@ -2183,6 +2252,14 @@
|
||||
"ssri": "^6.0.1",
|
||||
"unique-filename": "^1.1.1",
|
||||
"y18n": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"y18n": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
|
||||
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"cache-base": {
|
||||
@@ -10578,80 +10655,11 @@
|
||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
||||
"dev": true
|
||||
},
|
||||
"y18n": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
|
||||
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
|
||||
"dev": true
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
||||
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
|
||||
"dev": true
|
||||
},
|
||||
"yargs": {
|
||||
"version": "14.2.3",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz",
|
||||
"integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cliui": "^5.0.0",
|
||||
"decamelize": "^1.2.0",
|
||||
"find-up": "^3.0.0",
|
||||
"get-caller-file": "^2.0.1",
|
||||
"require-directory": "^2.1.1",
|
||||
"require-main-filename": "^2.0.0",
|
||||
"set-blocking": "^2.0.0",
|
||||
"string-width": "^3.0.0",
|
||||
"which-module": "^2.0.0",
|
||||
"y18n": "^4.0.0",
|
||||
"yargs-parser": "^15.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
|
||||
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
|
||||
"dev": true
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
|
||||
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
|
||||
"dev": true
|
||||
},
|
||||
"string-width": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
|
||||
"integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"emoji-regex": "^7.0.1",
|
||||
"is-fullwidth-code-point": "^2.0.0",
|
||||
"strip-ansi": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
|
||||
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^4.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "15.0.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
|
||||
"integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camelcase": "^5.0.0",
|
||||
"decamelize": "^1.2.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-2
@@ -20,12 +20,16 @@
|
||||
"buildTranslationsNoTsc": "node packages/tools/build-translation.js",
|
||||
"buildWebsite": "npm run buildApiDoc && node ./packages/tools/build-website.js && npm run buildPluginDoc",
|
||||
"clean": "lerna clean -y && lerna run clean",
|
||||
"circularDependencyCheck": "npx madge --warning --circular --extensions js ./",
|
||||
"generateDatabaseTypes": "node packages/tools/generate-database-types",
|
||||
"linkChecker": "linkchecker https://joplinapp.org",
|
||||
"linter-ci": "./node_modules/.bin/eslint --resolve-plugins-relative-to . --quiet --ext .js --ext .jsx --ext .ts --ext .tsx",
|
||||
"linter-precommit": "./node_modules/.bin/eslint --resolve-plugins-relative-to . --fix --ext .js --ext .jsx --ext .ts --ext .tsx",
|
||||
"linter": "./node_modules/.bin/eslint --resolve-plugins-relative-to . --fix --quiet --ext .js --ext .jsx --ext .ts --ext .tsx",
|
||||
"postinstall": "lerna bootstrap --no-ci && npm run tsc",
|
||||
"bootstrap": "lerna bootstrap --no-ci",
|
||||
"bootstrapIgnoreScripts": "lerna bootstrap --ignore-scripts --no-ci",
|
||||
"postinstall": "npm run bootstrap --no-ci && npm run build",
|
||||
"build": "lerna run build && npm run tsc",
|
||||
"publishAll": "git pull && lerna version --yes --no-private --no-git-tag-version && gulp completePublishAll",
|
||||
"releaseAndroid": "node packages/tools/release-android.js",
|
||||
"releaseCli": "node packages/tools/release-cli.js",
|
||||
@@ -39,7 +43,8 @@
|
||||
"updateIgnored": "gulp updateIgnoredTypeScriptBuild",
|
||||
"updatePluginTypes": "./packages/generator-joplin/updateTypes.sh",
|
||||
"watch": "lerna run watch --stream --parallel",
|
||||
"i": "lerna add --no-bootstrap --scope"
|
||||
"i": "lerna add --no-bootstrap --scope",
|
||||
"server-start-dev": "docker-compose --file docker-compose.server-dev.yml up"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
],
|
||||
"owner": "Laurent Cozic"
|
||||
},
|
||||
"version": "1.5.1",
|
||||
"version": "1.6.0",
|
||||
"bin": {
|
||||
"joplin": "./main.js"
|
||||
},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import { allNotesFolders, remoteNotesAndFolders, localNotesFoldersSameAsRemote } from './test-utils-synchronizer';
|
||||
|
||||
const { syncTargetName, synchronizerStart, setupDatabaseAndSynchronizer, synchronizer, sleep, switchClient, syncTargetId, fileApi } = require('./test-utils.js');
|
||||
const { syncTargetName, afterAllCleanUp, synchronizerStart, setupDatabaseAndSynchronizer, synchronizer, sleep, switchClient, syncTargetId, fileApi } = require('./test-utils.js');
|
||||
const Folder = require('@joplin/lib/models/Folder.js');
|
||||
const Note = require('@joplin/lib/models/Note.js');
|
||||
const BaseItem = require('@joplin/lib/models/BaseItem.js');
|
||||
@@ -16,6 +16,10 @@ describe('Synchronizer.basics', function() {
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await afterAllCleanUp();
|
||||
});
|
||||
|
||||
it('should create remote items', (async () => {
|
||||
const folder = await Folder.save({ title: 'folder1' });
|
||||
await Note.save({ title: 'un', parent_id: folder.id });
|
||||
@@ -123,10 +127,6 @@ describe('Synchronizer.basics', function() {
|
||||
}));
|
||||
|
||||
it('should delete local notes', (async () => {
|
||||
// For these tests we pass the context around for each user. This is to make sure that the "deletedItemsProcessed"
|
||||
// property of the basicDelta() function is cleared properly at the end of a sync operation. If it is not cleared
|
||||
// it means items will no longer be deleted locally via sync.
|
||||
|
||||
const folder1 = await Folder.save({ title: 'folder1' });
|
||||
const note1 = await Note.save({ title: 'un', parent_id: folder1.id });
|
||||
const note2 = await Note.save({ title: 'deux', parent_id: folder1.id });
|
||||
|
||||
Vendored
+12
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
+12
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
+12
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
+12
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
+12
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
+12
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
+12
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import joplin from 'api';
|
||||
import { ToolbarButtonLocation } from 'api/types';
|
||||
|
||||
const uslug = require('uslug');
|
||||
|
||||
@@ -91,6 +92,18 @@ joplin.plugins.register({
|
||||
updateTocView();
|
||||
});
|
||||
|
||||
await joplin.commands.register({
|
||||
name: 'toggleToc',
|
||||
label: 'Toggle TOC',
|
||||
iconName: 'fas fa-drum',
|
||||
execute: async () => {
|
||||
const isVisible = await (panels as any).visible(view);
|
||||
(panels as any).show(view, !isVisible);
|
||||
},
|
||||
});
|
||||
|
||||
await joplin.views.toolbarButtons.create('toggleToc', 'toggleToc', ToolbarButtonLocation.NoteToolbar);
|
||||
|
||||
updateTocView();
|
||||
},
|
||||
});
|
||||
+12
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
@@ -15,6 +15,7 @@ import KeychainServiceDriver from '@joplin/lib/services/keychain/KeychainService
|
||||
import KeychainServiceDriverDummy from '@joplin/lib/services/keychain/KeychainServiceDriver.dummy';
|
||||
import PluginRunner from '../app/services/plugins/PluginRunner';
|
||||
import PluginService from '@joplin/lib/services/plugins/PluginService';
|
||||
import FileApiDriverJoplinServer from '@joplin/lib/file-api-driver-joplinServer';
|
||||
|
||||
const fs = require('fs-extra');
|
||||
const { JoplinDatabase } = require('@joplin/lib/joplin-database.js');
|
||||
@@ -43,12 +44,14 @@ const SyncTargetOneDrive = require('@joplin/lib/SyncTargetOneDrive.js');
|
||||
const SyncTargetNextcloud = require('@joplin/lib/SyncTargetNextcloud.js');
|
||||
const SyncTargetDropbox = require('@joplin/lib/SyncTargetDropbox.js');
|
||||
const SyncTargetAmazonS3 = require('@joplin/lib/SyncTargetAmazonS3.js');
|
||||
const SyncTargetJoplinServer = require('@joplin/lib/SyncTargetJoplinServer').default;
|
||||
const EncryptionService = require('@joplin/lib/services/EncryptionService.js');
|
||||
const DecryptionWorker = require('@joplin/lib/services/DecryptionWorker.js');
|
||||
const RevisionService = require('@joplin/lib/services/RevisionService.js');
|
||||
const ResourceFetcher = require('@joplin/lib/services/ResourceFetcher.js');
|
||||
const WebDavApi = require('@joplin/lib/WebDavApi');
|
||||
const DropboxApi = require('@joplin/lib/DropboxApi');
|
||||
const JoplinServerApi = require('@joplin/lib/JoplinServerApi2').default;
|
||||
const { OneDriveApi } = require('@joplin/lib/onedrive-api');
|
||||
const { loadKeychainServiceAndSettings } = require('@joplin/lib/services/SettingUtils');
|
||||
const md5 = require('md5');
|
||||
@@ -116,6 +119,7 @@ SyncTargetRegistry.addClass(SyncTargetOneDrive);
|
||||
SyncTargetRegistry.addClass(SyncTargetNextcloud);
|
||||
SyncTargetRegistry.addClass(SyncTargetDropbox);
|
||||
SyncTargetRegistry.addClass(SyncTargetAmazonS3);
|
||||
SyncTargetRegistry.addClass(SyncTargetJoplinServer);
|
||||
|
||||
let syncTargetName_ = '';
|
||||
let syncTargetId_: number = null;
|
||||
@@ -132,7 +136,7 @@ function setSyncTargetName(name: string) {
|
||||
syncTargetName_ = name;
|
||||
syncTargetId_ = SyncTargetRegistry.nameToId(syncTargetName_);
|
||||
sleepTime = syncTargetId_ == SyncTargetRegistry.nameToId('filesystem') ? 1001 : 100;// 400;
|
||||
isNetworkSyncTarget_ = ['nextcloud', 'dropbox', 'onedrive', 'amazon_s3'].includes(syncTargetName_);
|
||||
isNetworkSyncTarget_ = ['nextcloud', 'dropbox', 'onedrive', 'amazon_s3', 'joplinServer'].includes(syncTargetName_);
|
||||
synchronizers_ = [];
|
||||
return previousName;
|
||||
}
|
||||
@@ -142,6 +146,7 @@ setSyncTargetName('memory');
|
||||
// setSyncTargetName('dropbox');
|
||||
// setSyncTargetName('onedrive');
|
||||
// setSyncTargetName('amazon_s3');
|
||||
// setSyncTargetName('joplinServer');
|
||||
|
||||
// console.info(`Testing with sync target: ${syncTargetName_}`);
|
||||
|
||||
@@ -214,6 +219,16 @@ async function afterEachCleanUp() {
|
||||
KeymapService.destroyInstance();
|
||||
}
|
||||
|
||||
async function afterAllCleanUp() {
|
||||
if (fileApi()) {
|
||||
try {
|
||||
await fileApi().clearRoot();
|
||||
} catch (error) {
|
||||
console.warn('Could not clear sync target root:', error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function switchClient(id: number, options: any = null) {
|
||||
options = Object.assign({}, { keychainEnabled: false }, options);
|
||||
|
||||
@@ -346,7 +361,7 @@ async function setupDatabaseAndSynchronizer(id: number, options: any = null) {
|
||||
if (!synchronizers_[id]) {
|
||||
const SyncTargetClass = SyncTargetRegistry.classById(syncTargetId_);
|
||||
const syncTarget = new SyncTargetClass(db(id));
|
||||
await initFileApi();
|
||||
await initFileApi(suiteName_);
|
||||
syncTarget.setFileApi(fileApi());
|
||||
syncTarget.setLogger(logger);
|
||||
synchronizers_[id] = await syncTarget.synchronizer();
|
||||
@@ -361,6 +376,7 @@ async function setupDatabaseAndSynchronizer(id: number, options: any = null) {
|
||||
resourceFetchers_[id] = new ResourceFetcher(() => { return synchronizers_[id].api(); });
|
||||
kvStores_[id] = new KvStore();
|
||||
|
||||
await fileApi().initialize();
|
||||
await fileApi().clearRoot();
|
||||
}
|
||||
|
||||
@@ -440,7 +456,7 @@ async function loadEncryptionMasterKey(id: number = null, useExisting = false) {
|
||||
return masterKey;
|
||||
}
|
||||
|
||||
async function initFileApi() {
|
||||
async function initFileApi(suiteName: string) {
|
||||
if (fileApis_[syncTargetId_]) return;
|
||||
|
||||
let fileApi = null;
|
||||
@@ -482,7 +498,6 @@ async function initFileApi() {
|
||||
|
||||
if (!process.argv.includes('--runInBand')) {
|
||||
throw new Error('OneDrive tests must be run sequentially, with the --runInBand arg. eg `npm test -- --runInBand`');
|
||||
|
||||
}
|
||||
|
||||
const { parameters, setEnvOverride } = require('@joplin/lib/parameters.js');
|
||||
@@ -506,6 +521,16 @@ async function initFileApi() {
|
||||
if (!amazonS3Creds || !amazonS3Creds.accessKeyId) throw new Error(`AWS auth JSON missing in ${amazonS3CredsPath} format should be: { "accessKeyId": "", "secretAccessKey": "", "bucket": "mybucket"}`);
|
||||
const api = new S3({ accessKeyId: amazonS3Creds.accessKeyId, secretAccessKey: amazonS3Creds.secretAccessKey, s3UseArnRegion: true });
|
||||
fileApi = new FileApi('', new FileApiDriverAmazonS3(api, amazonS3Creds.bucket));
|
||||
} else if (syncTargetId_ == SyncTargetRegistry.nameToId('joplinServer')) {
|
||||
// Note that to test the API in parallel mode, you need to use Postgres
|
||||
// as database, as the SQLite database is not reliable when being
|
||||
// read/write from multiple processes at the same time.
|
||||
const api = new JoplinServerApi({
|
||||
baseUrl: () => 'http://localhost:22300',
|
||||
username: () => 'admin@localhost',
|
||||
password: () => 'admin',
|
||||
});
|
||||
fileApi = new FileApi(`root:/Apps/Joplin-${suiteName}`, new FileApiDriverJoplinServer(api));
|
||||
}
|
||||
|
||||
fileApi.setLogger(logger);
|
||||
@@ -743,18 +768,18 @@ class TestApp extends BaseApplication {
|
||||
private middlewareCalls_: any[];
|
||||
private logger_: LoggerWrapper;
|
||||
|
||||
constructor(hasGui = true) {
|
||||
public constructor(hasGui = true) {
|
||||
super();
|
||||
this.hasGui_ = hasGui;
|
||||
this.middlewareCalls_ = [];
|
||||
this.logger_ = super.logger();
|
||||
}
|
||||
|
||||
hasGui() {
|
||||
public hasGui() {
|
||||
return this.hasGui_;
|
||||
}
|
||||
|
||||
async start(argv: any[]) {
|
||||
public async start(argv: any[]) {
|
||||
this.logger_.info('Test app starting...');
|
||||
|
||||
if (!argv.includes('--profile')) {
|
||||
@@ -775,7 +800,7 @@ class TestApp extends BaseApplication {
|
||||
this.logger_.info('Test app started...');
|
||||
}
|
||||
|
||||
async generalMiddleware(store: any, next: any, action: any) {
|
||||
public async generalMiddleware(store: any, next: any, action: any) {
|
||||
this.middlewareCalls_.push(true);
|
||||
try {
|
||||
await super.generalMiddleware(store, next, action);
|
||||
@@ -784,7 +809,7 @@ class TestApp extends BaseApplication {
|
||||
}
|
||||
}
|
||||
|
||||
async wait() {
|
||||
public async wait() {
|
||||
return new Promise((resolve) => {
|
||||
const iid = shim.setInterval(() => {
|
||||
if (!this.middlewareCalls_.length) {
|
||||
@@ -795,11 +820,11 @@ class TestApp extends BaseApplication {
|
||||
});
|
||||
}
|
||||
|
||||
async profileDir() {
|
||||
public async profileDir() {
|
||||
return Setting.value('profileDir');
|
||||
}
|
||||
|
||||
async destroy() {
|
||||
public async destroy() {
|
||||
this.logger_.info('Test app stopping...');
|
||||
await this.wait();
|
||||
await ItemChange.waitForAllSaved();
|
||||
@@ -809,4 +834,4 @@ class TestApp extends BaseApplication {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { exportDir, newPluginService, newPluginScript, synchronizerStart, afterEachCleanUp, syncTargetName, setSyncTargetName, syncDir, createTempDir, isNetworkSyncTarget, kvStore, expectThrow, logger, expectNotThrow, resourceService, resourceFetcher, tempFilePath, allSyncTargetItemsEncrypted, msleep, setupDatabase, revisionService, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync, checkThrow, encryptionService, loadEncryptionMasterKey, fileContentEqual, decryptionWorker, currentClientId, id, ids, sortedIds, at, createNTestNotes, createNTestFolders, createNTestTags, TestApp };
|
||||
module.exports = { afterAllCleanUp, exportDir, newPluginService, newPluginScript, synchronizerStart, afterEachCleanUp, syncTargetName, setSyncTargetName, syncDir, createTempDir, isNetworkSyncTarget, kvStore, expectThrow, logger, expectNotThrow, resourceService, resourceFetcher, tempFilePath, allSyncTargetItemsEncrypted, msleep, setupDatabase, revisionService, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync, checkThrow, encryptionService, loadEncryptionMasterKey, fileContentEqual, decryptionWorker, currentClientId, id, ids, sortedIds, at, createNTestNotes, createNTestFolders, createNTestTags, TestApp };
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"name": "Joplin Web Clipper [DEV]",
|
||||
"version": "1.5.0",
|
||||
"version": "1.6.1",
|
||||
"description": "Capture and save web pages and screenshots from your browser to Joplin.",
|
||||
"homepage_url": "https://joplinapp.org",
|
||||
"content_security_policy": "script-src 'self'; object-src 'self'",
|
||||
|
||||
@@ -22,6 +22,9 @@ import { LayoutItem } from './gui/ResizableLayout/utils/types';
|
||||
import stateToWhenClauseContext from './services/commands/stateToWhenClauseContext';
|
||||
import ResourceService from '@joplin/lib/services/ResourceService';
|
||||
import ExternalEditWatcher from '@joplin/lib/services/ExternalEditWatcher';
|
||||
import produce from 'immer';
|
||||
import iterateItems from './gui/ResizableLayout/utils/iterateItems';
|
||||
import validateLayout from './gui/ResizableLayout/utils/validateLayout';
|
||||
|
||||
const { FoldersScreenUtils } = require('@joplin/lib/folders-screen-utils.js');
|
||||
const MasterKey = require('@joplin/lib/models/MasterKey');
|
||||
@@ -247,6 +250,29 @@ class Application extends BaseApplication {
|
||||
};
|
||||
break;
|
||||
|
||||
case 'MAIN_LAYOUT_SET_ITEM_PROP':
|
||||
|
||||
{
|
||||
let newLayout = produce(state.mainLayout, (draftLayout: LayoutItem) => {
|
||||
iterateItems(draftLayout, (_itemIndex: number, item: LayoutItem, _parent: LayoutItem) => {
|
||||
if (item.key === action.itemKey) {
|
||||
(item as any)[action.propName] = action.propValue;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
});
|
||||
|
||||
if (newLayout !== state.mainLayout) newLayout = validateLayout(newLayout);
|
||||
|
||||
newState = {
|
||||
...state,
|
||||
mainLayout: newLayout,
|
||||
};
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'NOTE_FILE_WATCHER_ADD':
|
||||
|
||||
if (newState.watchedNoteFiles.indexOf(action.id) < 0) {
|
||||
|
||||
@@ -214,7 +214,7 @@ class MainScreenComponent extends React.Component<Props, State> {
|
||||
let output = null;
|
||||
|
||||
try {
|
||||
output = loadLayout(userLayout, defaultLayout, rootLayoutSize);
|
||||
output = loadLayout(Object.keys(userLayout).length ? userLayout : null, defaultLayout, rootLayoutSize);
|
||||
|
||||
if (!findItemByKey(output, 'sideBar') || !findItemByKey(output, 'noteList') || !findItemByKey(output, 'editor')) {
|
||||
throw new Error('"sideBar", "noteList" and "editor" must be present in the layout');
|
||||
|
||||
@@ -19,7 +19,7 @@ const taboverride = require('taboverride');
|
||||
const { reg } = require('@joplin/lib/registry.js');
|
||||
const BaseItem = require('@joplin/lib/models/BaseItem');
|
||||
const { themeStyle } = require('@joplin/lib/theme');
|
||||
// const { clipboard } = require('electron');
|
||||
const { clipboard } = require('electron');
|
||||
const supportedLocales = require('./supportedLocales');
|
||||
|
||||
function markupRenderOptions(override: any = null) {
|
||||
@@ -1015,19 +1015,22 @@ const TinyMCE = (props: NoteBodyEditorProps, ref: any) => {
|
||||
}
|
||||
}
|
||||
|
||||
function onKeyDown(_event: any) {
|
||||
// It seems "paste as text" is now handled automatically by
|
||||
// either Chrome, Electron and/or TinyMCE so the code below
|
||||
// should not longer be necessary. Also fixes
|
||||
function onKeyDown(event: any) {
|
||||
// It seems "paste as text" is handled automatically by
|
||||
// on Windows so the code below so we need to run the below
|
||||
// code only on macOS (and maybe Linux). If we were to run
|
||||
// this on Windows we would have this double-paste issue:
|
||||
// https://github.com/laurent22/joplin/issues/4243
|
||||
|
||||
// Handle "paste as text". Note that when pressing CtrlOrCmd+Shift+V it's going
|
||||
// to trigger the "keydown" event but not the "paste" event, so it's ok to process
|
||||
// it here and we don't need to do anything special in onPaste
|
||||
// if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.code === 'KeyV') {
|
||||
// const pastedText = clipboard.readText();
|
||||
// if (pastedText) editor.insertContent(pastedText);
|
||||
// }
|
||||
if (!shim.isWindows()) {
|
||||
if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.code === 'KeyV') {
|
||||
const pastedText = clipboard.readText();
|
||||
if (pastedText) editor.insertContent(pastedText);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
editor.on('keyup', onKeyUp);
|
||||
|
||||
@@ -16,8 +16,4 @@ export default function findItemByKey(layout: LayoutItem, key: string): LayoutIt
|
||||
}
|
||||
|
||||
return recurseFind(layout);
|
||||
|
||||
// const output = recurseFind(layout);
|
||||
// if (!output) throw new Error(`Could not find item "${key}"`);
|
||||
// return output;
|
||||
}
|
||||
@@ -2,6 +2,8 @@ import { LayoutItem } from './types';
|
||||
|
||||
type ItemItemCallback = (itemIndex: number, item: LayoutItem, parent: LayoutItem)=> boolean;
|
||||
|
||||
// Callback should return `true` if iteration should continue, or `false` if it
|
||||
// should stop
|
||||
export default function iterateItems(layout: LayoutItem, callback: ItemItemCallback) {
|
||||
const result = callback(0, layout, null);
|
||||
if (result === false) return;
|
||||
|
||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@joplin/app-desktop",
|
||||
"version": "1.5.14",
|
||||
"version": "1.6.1",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@joplin/app-desktop",
|
||||
"version": "1.5.14",
|
||||
"version": "1.6.1",
|
||||
"description": "Joplin for Desktop",
|
||||
"main": "main.js",
|
||||
"private": true,
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
# It could be used to develop plugins too.
|
||||
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||
PLUGIN_PATH="$SCRIPT_DIR/../app-cli/tests/support/plugins/register_command"
|
||||
PLUGIN_PATH="$SCRIPT_DIR/../app-cli/tests/support/plugins/toc"
|
||||
npm i --prefix="$PLUGIN_PATH" && npm start -- --dev-plugins "$PLUGIN_PATH"
|
||||
@@ -138,8 +138,8 @@ android {
|
||||
applicationId "net.cozic.joplin"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 2097614
|
||||
versionName "1.5.1"
|
||||
versionCode 2097618
|
||||
versionName "1.6.4"
|
||||
ndk {
|
||||
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
// So there's basically still a one way flux: React => SQLite => Redux => React
|
||||
|
||||
import { LogBox, AppRegistry } from 'react-native';
|
||||
const { Root } = require('./root.js');
|
||||
const Root = require('./root').default;
|
||||
|
||||
// Seems JavaScript developers love adding warnings everywhere, even when these warnings can't be fixed
|
||||
// or don't really matter. Because we want important warnings to actually be fixed, we disable
|
||||
|
||||
@@ -338,13 +338,13 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = 58;
|
||||
CURRENT_PROJECT_VERSION = 59;
|
||||
DEVELOPMENT_TEAM = A9BXAFS6CT;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Joplin/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
MARKETING_VERSION = 10.5.1;
|
||||
MARKETING_VERSION = 10.6.1;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
@@ -365,12 +365,12 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CURRENT_PROJECT_VERSION = 58;
|
||||
CURRENT_PROJECT_VERSION = 59;
|
||||
DEVELOPMENT_TEAM = A9BXAFS6CT;
|
||||
INFOPLIST_FILE = Joplin/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
MARKETING_VERSION = 10.5.1;
|
||||
MARKETING_VERSION = 10.6.1;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
|
||||
@@ -1,24 +1,43 @@
|
||||
import setUpQuickActions from './setUpQuickActions';
|
||||
import PluginAssetsLoader from './PluginAssetsLoader';
|
||||
|
||||
const React = require('react');
|
||||
const { AppState, Keyboard, NativeModules, BackHandler, Animated, View, StatusBar } = require('react-native');
|
||||
const shim = require('@joplin/lib/shim').default;
|
||||
import shim from '@joplin/lib/shim';
|
||||
shim.setReact(React);
|
||||
|
||||
import setUpQuickActions from './setUpQuickActions';
|
||||
import PluginAssetsLoader from './PluginAssetsLoader';
|
||||
import AlarmService from '@joplin/lib/services/AlarmService';
|
||||
import Alarm from '@joplin/lib/models/Alarm';
|
||||
import time from '@joplin/lib/time';
|
||||
import Logger, { TargetType } from '@joplin/lib/Logger';
|
||||
import BaseModel from '@joplin/lib/BaseModel';
|
||||
import BaseService from '@joplin/lib/services/BaseService';
|
||||
import ResourceService from '@joplin/lib/services/ResourceService';
|
||||
import KvStore from '@joplin/lib/services/KvStore';
|
||||
import NoteScreen from './components/screens/Note';
|
||||
import UpgradeSyncTargetScreen from './components/screens/UpgradeSyncTargetScreen';
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import RNFetchBlob from 'rn-fetch-blob';
|
||||
import PoorManIntervals from '@joplin/lib/PoorManIntervals';
|
||||
import reducer from '@joplin/lib/reducer';
|
||||
import ShareExtension from './utils/ShareExtension';
|
||||
import handleShared from './utils/shareHandler';
|
||||
import uuid from '@joplin/lib/uuid';
|
||||
import { loadKeychainServiceAndSettings } from '@joplin/lib/services/SettingUtils';
|
||||
import KeychainServiceDriverMobile from '@joplin/lib/services/keychain/KeychainServiceDriver.mobile';
|
||||
import { setLocale, closestSupportedLocale, defaultLocale } from '@joplin/lib/locale';
|
||||
import SyncTargetJoplinServer from '@joplin/lib/SyncTargetJoplinServer';
|
||||
|
||||
const { AppState, Keyboard, NativeModules, BackHandler, Animated, View, StatusBar } = require('react-native');
|
||||
|
||||
const DropdownAlert = require('react-native-dropdownalert').default;
|
||||
const AlarmServiceDriver = require('./services/AlarmServiceDriver').default;
|
||||
const SafeAreaView = require('./components/SafeAreaView');
|
||||
const { connect, Provider } = require('react-redux');
|
||||
const { BackButtonService } = require('./services/back-button.js');
|
||||
const NavService = require('@joplin/lib/services/NavService.js');
|
||||
const AlarmService = require('@joplin/lib/services/AlarmService.js').default;
|
||||
const AlarmServiceDriver = require('./services/AlarmServiceDriver').default;
|
||||
const Alarm = require('@joplin/lib/models/Alarm').default;
|
||||
const { createStore, applyMiddleware } = require('redux');
|
||||
const reduxSharedMiddleware = require('@joplin/lib/components/shared/reduxSharedMiddleware');
|
||||
const { shimInit } = require('./utils/shim-init-react.js');
|
||||
const time = require('@joplin/lib/time').default;
|
||||
const { AppNav } = require('./components/app-nav.js');
|
||||
const Logger = require('@joplin/lib/Logger').default;
|
||||
const Note = require('@joplin/lib/models/Note.js');
|
||||
const Folder = require('@joplin/lib/models/Folder.js');
|
||||
const BaseSyncTarget = require('@joplin/lib/BaseSyncTarget.js');
|
||||
@@ -29,16 +48,11 @@ const NoteTag = require('@joplin/lib/models/NoteTag.js');
|
||||
const BaseItem = require('@joplin/lib/models/BaseItem.js');
|
||||
const MasterKey = require('@joplin/lib/models/MasterKey.js');
|
||||
const Revision = require('@joplin/lib/models/Revision.js');
|
||||
const BaseModel = require('@joplin/lib/BaseModel').default;
|
||||
const BaseService = require('@joplin/lib/services/BaseService').default;
|
||||
const ResourceService = require('@joplin/lib/services/ResourceService').default;
|
||||
const RevisionService = require('@joplin/lib/services/RevisionService');
|
||||
const KvStore = require('@joplin/lib/services/KvStore').default;
|
||||
const { JoplinDatabase } = require('@joplin/lib/joplin-database.js');
|
||||
const { Database } = require('@joplin/lib/database.js');
|
||||
const { NotesScreen } = require('./components/screens/notes.js');
|
||||
const { TagsScreen } = require('./components/screens/tags.js');
|
||||
const NoteScreen = require('./components/screens/Note').default;
|
||||
const { ConfigScreen } = require('./components/screens/config.js');
|
||||
const { FolderScreen } = require('./components/screens/folder.js');
|
||||
const { LogScreen } = require('./components/screens/log.js');
|
||||
@@ -47,31 +61,18 @@ const { SearchScreen } = require('./components/screens/search.js');
|
||||
const { OneDriveLoginScreen } = require('./components/screens/onedrive-login.js');
|
||||
const { EncryptionConfigScreen } = require('./components/screens/encryption-config.js');
|
||||
const { DropboxLoginScreen } = require('./components/screens/dropbox-login.js');
|
||||
const UpgradeSyncTargetScreen = require('./components/screens/UpgradeSyncTargetScreen').default;
|
||||
const Setting = require('@joplin/lib/models/Setting').default;
|
||||
const { MenuContext } = require('react-native-popup-menu');
|
||||
const { SideMenu } = require('./components/side-menu.js');
|
||||
const { SideMenuContent } = require('./components/side-menu-content.js');
|
||||
const { SideMenuContentNote } = require('./components/side-menu-content-note.js');
|
||||
const { DatabaseDriverReactNative } = require('./utils/database-driver-react-native');
|
||||
const { reg } = require('@joplin/lib/registry.js');
|
||||
const { setLocale, closestSupportedLocale, defaultLocale } = require('@joplin/lib/locale');
|
||||
const RNFetchBlob = require('rn-fetch-blob').default;
|
||||
const PoorManIntervals = require('@joplin/lib/PoorManIntervals').default;
|
||||
const reducer = require('@joplin/lib/reducer').default;
|
||||
const { defaultState } = require('@joplin/lib/reducer');
|
||||
const { FileApiDriverLocal } = require('@joplin/lib/file-api-driver-local.js');
|
||||
const DropdownAlert = require('react-native-dropdownalert').default;
|
||||
const ShareExtension = require('./utils/ShareExtension.js').default;
|
||||
const handleShared = require('./utils/shareHandler').default;
|
||||
const ResourceFetcher = require('@joplin/lib/services/ResourceFetcher');
|
||||
const SearchEngine = require('@joplin/lib/services/searchengine/SearchEngine');
|
||||
const WelcomeUtils = require('@joplin/lib/WelcomeUtils');
|
||||
const { themeStyle } = require('./components/global-style.js');
|
||||
const uuid = require('@joplin/lib/uuid').default;
|
||||
|
||||
const { loadKeychainServiceAndSettings } = require('@joplin/lib/services/SettingUtils');
|
||||
const KeychainServiceDriverMobile = require('@joplin/lib/services/keychain/KeychainServiceDriver.mobile').default;
|
||||
|
||||
const SyncTargetRegistry = require('@joplin/lib/SyncTargetRegistry.js');
|
||||
const SyncTargetOneDrive = require('@joplin/lib/SyncTargetOneDrive.js');
|
||||
@@ -87,15 +88,16 @@ SyncTargetRegistry.addClass(SyncTargetWebDAV);
|
||||
SyncTargetRegistry.addClass(SyncTargetDropbox);
|
||||
SyncTargetRegistry.addClass(SyncTargetFilesystem);
|
||||
SyncTargetRegistry.addClass(SyncTargetAmazonS3);
|
||||
SyncTargetRegistry.addClass(SyncTargetJoplinServer);
|
||||
|
||||
const FsDriverRN = require('./utils/fs-driver-rn.js').FsDriverRN;
|
||||
const DecryptionWorker = require('@joplin/lib/services/DecryptionWorker');
|
||||
const EncryptionService = require('@joplin/lib/services/EncryptionService');
|
||||
const MigrationService = require('@joplin/lib/services/MigrationService');
|
||||
|
||||
let storeDispatch = function() {};
|
||||
let storeDispatch = function(_action: any) {};
|
||||
|
||||
const logReducerAction = function(action) {
|
||||
const logReducerAction = function(action: any) {
|
||||
if (['SIDE_MENU_OPEN_PERCENT', 'SYNC_REPORT_UPDATE'].indexOf(action.type) >= 0) return;
|
||||
|
||||
const msg = [action.type];
|
||||
@@ -104,7 +106,7 @@ const logReducerAction = function(action) {
|
||||
// reg.logger().debug('Reducer action', msg.join(', '));
|
||||
};
|
||||
|
||||
const generalMiddleware = store => next => async (action) => {
|
||||
const generalMiddleware = (store: any) => (next: any) => async (action: any) => {
|
||||
logReducerAction(action);
|
||||
PoorManIntervals.update(); // This function needs to be called regularly so put it here
|
||||
|
||||
@@ -167,9 +169,9 @@ const generalMiddleware = store => next => async (action) => {
|
||||
return result;
|
||||
};
|
||||
|
||||
const navHistory = [];
|
||||
const navHistory: any[] = [];
|
||||
|
||||
function historyCanGoBackTo(route) {
|
||||
function historyCanGoBackTo(route: any) {
|
||||
if (route.routeName === 'Note') return false;
|
||||
if (route.routeName === 'Folder') return false;
|
||||
|
||||
@@ -194,13 +196,14 @@ const appDefaultState = Object.assign({}, defaultState, {
|
||||
noteSideMenuOptions: null,
|
||||
});
|
||||
|
||||
const appReducer = (state = appDefaultState, action) => {
|
||||
const appReducer = (state = appDefaultState, action: any) => {
|
||||
let newState = state;
|
||||
let historyGoingBack = false;
|
||||
|
||||
try {
|
||||
switch (action.type) {
|
||||
|
||||
// @ts-ignore
|
||||
case 'NAV_BACK':
|
||||
|
||||
{
|
||||
@@ -224,7 +227,7 @@ const appReducer = (state = appDefaultState, action) => {
|
||||
{
|
||||
const currentRoute = state.route;
|
||||
|
||||
if (!historyGoingBack && historyCanGoBackTo(currentRoute, action)) {
|
||||
if (!historyGoingBack && historyCanGoBackTo(currentRoute)) {
|
||||
// If the route *name* is the same (even if the other parameters are different), we
|
||||
// overwrite the last route in the history with the current one. If the route name
|
||||
// is different, we push a new history entry.
|
||||
@@ -368,7 +371,7 @@ const appReducer = (state = appDefaultState, action) => {
|
||||
const store = createStore(appReducer, applyMiddleware(generalMiddleware));
|
||||
storeDispatch = store.dispatch;
|
||||
|
||||
function resourceFetcher_downloadComplete(event) {
|
||||
function resourceFetcher_downloadComplete(event: any) {
|
||||
if (event.encrypted) {
|
||||
DecryptionWorker.instance().scheduleStart();
|
||||
}
|
||||
@@ -378,9 +381,10 @@ function decryptionWorker_resourceMetadataButNotBlobDecrypted() {
|
||||
ResourceFetcher.instance().scheduleAutoAddResources();
|
||||
}
|
||||
|
||||
async function initialize(dispatch) {
|
||||
async function initialize(dispatch: Function) {
|
||||
shimInit();
|
||||
|
||||
// @ts-ignore
|
||||
Setting.setConstant('env', __DEV__ ? 'dev' : 'prod');
|
||||
Setting.setConstant('appId', 'net.cozic.joplin-mobile');
|
||||
Setting.setConstant('appType', 'mobile');
|
||||
@@ -391,18 +395,18 @@ async function initialize(dispatch) {
|
||||
await logDatabase.exec(Logger.databaseCreateTableSql());
|
||||
|
||||
const mainLogger = new Logger();
|
||||
mainLogger.addTarget('database', { database: logDatabase, source: 'm' });
|
||||
mainLogger.addTarget(TargetType.Database, { database: logDatabase, source: 'm' });
|
||||
mainLogger.setLevel(Logger.LEVEL_INFO);
|
||||
|
||||
if (Setting.value('env') == 'dev') {
|
||||
mainLogger.addTarget('console');
|
||||
mainLogger.addTarget(TargetType.Console);
|
||||
mainLogger.setLevel(Logger.LEVEL_DEBUG);
|
||||
}
|
||||
|
||||
Logger.initializeGlobalLogger(mainLogger);
|
||||
|
||||
reg.setLogger(mainLogger);
|
||||
reg.setShowErrorMessageBoxHandler((message) => { alert(message); });
|
||||
reg.setShowErrorMessageBoxHandler((message: string) => { alert(message); });
|
||||
|
||||
BaseService.logger_ = mainLogger;
|
||||
// require('@joplin/lib/ntpDate').setLogger(reg.logger());
|
||||
@@ -411,9 +415,9 @@ async function initialize(dispatch) {
|
||||
reg.logger().info(`Starting application ${Setting.value('appId')} (${Setting.value('env')})`);
|
||||
|
||||
const dbLogger = new Logger();
|
||||
dbLogger.addTarget('database', { database: logDatabase, source: 'm' });
|
||||
dbLogger.addTarget(TargetType.Database, { database: logDatabase, source: 'm' });
|
||||
if (Setting.value('env') == 'dev') {
|
||||
dbLogger.addTarget('console');
|
||||
dbLogger.addTarget(TargetType.Console);
|
||||
dbLogger.setLevel(Logger.LEVEL_INFO); // Set to LEVEL_DEBUG for full SQL queries
|
||||
} else {
|
||||
dbLogger.setLevel(Logger.LEVEL_INFO);
|
||||
@@ -452,7 +456,7 @@ async function initialize(dispatch) {
|
||||
if (Setting.value('env') == 'prod') {
|
||||
await db.open({ name: 'joplin.sqlite' });
|
||||
} else {
|
||||
await db.open({ name: 'joplin-76.sqlite' });
|
||||
await db.open({ name: 'joplin-100.sqlite' });
|
||||
|
||||
// await db.clearForTesting();
|
||||
}
|
||||
@@ -562,7 +566,7 @@ async function initialize(dispatch) {
|
||||
reg.setupRecurrentSync();
|
||||
|
||||
PoorManIntervals.setTimeout(() => {
|
||||
AlarmService.garbageCollect();
|
||||
void AlarmService.garbageCollect();
|
||||
}, 1000 * 60 * 60);
|
||||
|
||||
ResourceService.runInBackground();
|
||||
@@ -584,7 +588,7 @@ async function initialize(dispatch) {
|
||||
reg.scheduleSync(1000).then(() => {
|
||||
// Wait for the first sync before updating the notifications, since synchronisation
|
||||
// might change the notifications.
|
||||
AlarmService.updateAllNotifications();
|
||||
void AlarmService.updateAllNotifications();
|
||||
|
||||
DecryptionWorker.instance().scheduleStart();
|
||||
});
|
||||
@@ -654,7 +658,7 @@ class AppComponent extends React.Component {
|
||||
|
||||
BackButtonService.initialize(this.backButtonHandler_);
|
||||
|
||||
AlarmService.setInAppNotificationHandler(async (alarmId) => {
|
||||
AlarmService.setInAppNotificationHandler(async (alarmId: string) => {
|
||||
const alarm = await Alarm.load(alarmId);
|
||||
const notification = await Alarm.makeNotification(alarm);
|
||||
this.dropdownAlert_.alertWithType('info', notification.title, notification.body ? notification.body : '');
|
||||
@@ -666,7 +670,7 @@ class AppComponent extends React.Component {
|
||||
if (sharedData) {
|
||||
reg.logger().info('Received shared data');
|
||||
if (this.props.selectedFolderId) {
|
||||
handleShared(sharedData, this.props.selectedFolderId, this.props.dispatch);
|
||||
await handleShared(sharedData, this.props.selectedFolderId, this.props.dispatch);
|
||||
} else {
|
||||
reg.logger.info('Cannot handle share - default folder id is not set');
|
||||
}
|
||||
@@ -677,7 +681,7 @@ class AppComponent extends React.Component {
|
||||
AppState.removeEventListener('change', this.onAppStateChange_);
|
||||
}
|
||||
|
||||
componentDidUpdate(prevProps) {
|
||||
componentDidUpdate(prevProps: any) {
|
||||
if (this.props.showSideMenu !== prevProps.showSideMenu) {
|
||||
Animated.timing(this.state.sideMenuContentOpacity, {
|
||||
toValue: this.props.showSideMenu ? 0.5 : 0,
|
||||
@@ -707,14 +711,14 @@ class AppComponent extends React.Component {
|
||||
return false;
|
||||
}
|
||||
|
||||
UNSAFE_componentWillReceiveProps(newProps) {
|
||||
UNSAFE_componentWillReceiveProps(newProps: any) {
|
||||
if (newProps.syncStarted != this.lastSyncStarted_) {
|
||||
if (!newProps.syncStarted) FoldersScreenUtils.refreshFolders();
|
||||
this.lastSyncStarted_ = newProps.syncStarted;
|
||||
}
|
||||
}
|
||||
|
||||
sideMenu_change(isOpen) {
|
||||
sideMenu_change(isOpen: boolean) {
|
||||
// Make sure showSideMenu property of state is updated
|
||||
// when the menu is open/closed.
|
||||
this.props.dispatch({
|
||||
@@ -759,8 +763,8 @@ class AppComponent extends React.Component {
|
||||
menu={sideMenuContent}
|
||||
edgeHitWidth={5}
|
||||
menuPosition={menuPosition}
|
||||
onChange={(isOpen) => this.sideMenu_change(isOpen)}
|
||||
onSliding={(percent) => {
|
||||
onChange={(isOpen: boolean) => this.sideMenu_change(isOpen)}
|
||||
onSliding={(percent: number) => {
|
||||
this.props.dispatch({
|
||||
type: 'SIDE_MENU_OPEN_PERCENT',
|
||||
value: percent,
|
||||
@@ -773,7 +777,7 @@ class AppComponent extends React.Component {
|
||||
<View style={{ flex: 1, backgroundColor: theme.backgroundColor }}>
|
||||
<AppNav screens={appNavInit} />
|
||||
</View>
|
||||
<DropdownAlert ref={ref => this.dropdownAlert_ = ref} tapToCloseEnabled={true} />
|
||||
<DropdownAlert ref={(ref: any) => this.dropdownAlert_ = ref} tapToCloseEnabled={true} />
|
||||
<Animated.View pointerEvents='none' style={{ position: 'absolute', backgroundColor: 'black', opacity: this.state.sideMenuContentOpacity, width: '100%', height: '120%' }}/>
|
||||
</SafeAreaView>
|
||||
</MenuContext>
|
||||
@@ -783,7 +787,7 @@ class AppComponent extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
const mapStateToProps = (state) => {
|
||||
const mapStateToProps = (state: any) => {
|
||||
return {
|
||||
historyCanGoBack: state.historyCanGoBack,
|
||||
showSideMenu: state.showSideMenu,
|
||||
@@ -799,7 +803,7 @@ const mapStateToProps = (state) => {
|
||||
|
||||
const App = connect(mapStateToProps)(AppComponent);
|
||||
|
||||
class Root extends React.Component {
|
||||
export default class Root extends React.Component {
|
||||
render() {
|
||||
return (
|
||||
<Provider store={store}>
|
||||
@@ -808,5 +812,3 @@ class Root extends React.Component {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { Root };
|
||||
@@ -24,9 +24,9 @@ export default async (sharedData: SharedData, folderId: string, dispatch: Functi
|
||||
// below will do nothing (because routeName wouldn't change)
|
||||
// Then we wait a bit for the state to be set correctly, and
|
||||
// finally we go to the new note.
|
||||
await dispatch({ type: 'NAV_BACK' });
|
||||
dispatch({ type: 'NAV_BACK' });
|
||||
|
||||
await dispatch({ type: 'SIDE_MENU_CLOSE' });
|
||||
dispatch({ type: 'SIDE_MENU_CLOSE' });
|
||||
|
||||
const newNote = await Note.save({
|
||||
parent_id: folderId,
|
||||
|
||||
+12
@@ -30,4 +30,16 @@ export default class JoplinViewsPanels {
|
||||
* Called when a message is sent from the webview (using postMessage).
|
||||
*/
|
||||
onMessage(handle: ViewHandle, callback: Function): Promise<void>;
|
||||
/**
|
||||
* Shows the panel
|
||||
*/
|
||||
show(handle: ViewHandle, show?: boolean): Promise<void>;
|
||||
/**
|
||||
* Hides the panel
|
||||
*/
|
||||
hide(handle: ViewHandle): Promise<void>;
|
||||
/**
|
||||
* Tells whether the panel is visible or not
|
||||
*/
|
||||
visible(handle: ViewHandle): Promise<boolean>;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"id": "<%= pluginId %>",
|
||||
"app_min_version": "1.5",
|
||||
"app_min_version": "1.6",
|
||||
"version": "1.0.0",
|
||||
"name": "<%= pluginName %>",
|
||||
"description": "<%= pluginDescription %>",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "generator-joplin",
|
||||
"version": "1.5.3",
|
||||
"version": "1.6.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "generator-joplin",
|
||||
"version": "1.5.3",
|
||||
"version": "1.6.0",
|
||||
"description": "Scaffolds out a new Joplin plugin",
|
||||
"homepage": "https://joplinapp.org",
|
||||
"author": {
|
||||
@@ -26,4 +26,4 @@
|
||||
"repository": "https://github.com/laurent22/generator-joplin",
|
||||
"license": "MIT",
|
||||
"private": true
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import reducer from './reducer';
|
||||
import KeychainServiceDriver from './services/keychain/KeychainServiceDriver.node';
|
||||
import { _, setLocale } from './locale';
|
||||
import KvStore from './services/KvStore';
|
||||
import SyncTargetJoplinServer from './SyncTargetJoplinServer';
|
||||
|
||||
const { createStore, applyMiddleware } = require('redux');
|
||||
const { defaultState, stateUtils } = require('./reducer');
|
||||
@@ -681,6 +682,7 @@ export default class BaseApplication {
|
||||
SyncTargetRegistry.addClass(SyncTargetWebDAV);
|
||||
SyncTargetRegistry.addClass(SyncTargetDropbox);
|
||||
SyncTargetRegistry.addClass(SyncTargetAmazonS3);
|
||||
SyncTargetRegistry.addClass(SyncTargetJoplinServer);
|
||||
|
||||
try {
|
||||
await shim.fsDriver().remove(tempDir);
|
||||
|
||||
@@ -66,7 +66,7 @@ class BaseModel {
|
||||
public static TYPE_SMART_FILTER = ModelType.SmartFilter;
|
||||
public static TYPE_COMMAND = ModelType.Command;
|
||||
|
||||
protected static dispatch: Function = function() {};
|
||||
public static dispatch: Function = function() {};
|
||||
private static saveMutexes_: any = {};
|
||||
|
||||
private static db_: any;
|
||||
|
||||
@@ -0,0 +1,174 @@
|
||||
import shim from './shim';
|
||||
const { rtrimSlashes } = require('./path-utils.js');
|
||||
const JoplinError = require('./JoplinError');
|
||||
const { stringify } = require('query-string');
|
||||
|
||||
interface Options {
|
||||
baseUrl(): string;
|
||||
username(): string;
|
||||
password(): string;
|
||||
}
|
||||
|
||||
enum ExecOptionsResponseFormat {
|
||||
Json = 'json',
|
||||
Text = 'text',
|
||||
}
|
||||
|
||||
enum ExecOptionsTarget {
|
||||
String = 'string',
|
||||
File = 'file',
|
||||
}
|
||||
|
||||
interface ExecOptions {
|
||||
responseFormat?: ExecOptionsResponseFormat;
|
||||
target?: ExecOptionsTarget;
|
||||
path?: string;
|
||||
source?: string;
|
||||
}
|
||||
|
||||
export default class JoplinServerApi {
|
||||
|
||||
private options_: Options;
|
||||
private session_: any;
|
||||
|
||||
public constructor(options: Options) {
|
||||
this.options_ = options;
|
||||
}
|
||||
|
||||
private baseUrl() {
|
||||
return rtrimSlashes(this.options_.baseUrl());
|
||||
}
|
||||
|
||||
private async session() {
|
||||
// TODO: handle invalid session
|
||||
if (this.session_) return this.session_;
|
||||
|
||||
this.session_ = await this.exec('POST', 'api/sessions', null, {
|
||||
email: this.options_.username(),
|
||||
password: this.options_.password(),
|
||||
});
|
||||
|
||||
return this.session_;
|
||||
}
|
||||
|
||||
private async sessionId() {
|
||||
const session = await this.session();
|
||||
return session ? session.id : '';
|
||||
}
|
||||
|
||||
// private requestToCurl_(url: string, options: any) {
|
||||
// const output = [];
|
||||
// output.push('curl');
|
||||
// output.push('-v');
|
||||
// if (options.method) output.push(`-X ${options.method}`);
|
||||
// if (options.headers) {
|
||||
// for (const n in options.headers) {
|
||||
// if (!options.headers.hasOwnProperty(n)) continue;
|
||||
// output.push(`${'-H ' + '"'}${n}: ${options.headers[n]}"`);
|
||||
// }
|
||||
// }
|
||||
// if (options.body) output.push(`${'--data ' + '\''}${JSON.stringify(options.body)}'`);
|
||||
// output.push(url);
|
||||
|
||||
// return output.join(' ');
|
||||
// }
|
||||
|
||||
public async exec(method: string, path: string = '', query: Record<string, any> = null, body: any = null, headers: any = null, options: ExecOptions = null) {
|
||||
if (headers === null) headers = {};
|
||||
if (options === null) options = {};
|
||||
if (!options.responseFormat) options.responseFormat = ExecOptionsResponseFormat.Json;
|
||||
if (!options.target) options.target = ExecOptionsTarget.String;
|
||||
|
||||
let sessionId = '';
|
||||
if (path !== 'api/sessions' && !sessionId) {
|
||||
sessionId = await this.sessionId();
|
||||
}
|
||||
|
||||
if (sessionId) headers['X-API-AUTH'] = sessionId;
|
||||
|
||||
const fetchOptions: any = {};
|
||||
fetchOptions.headers = headers;
|
||||
fetchOptions.method = method;
|
||||
if (options.path) fetchOptions.path = options.path;
|
||||
|
||||
if (body) {
|
||||
if (typeof body === 'object') {
|
||||
fetchOptions.body = JSON.stringify(body);
|
||||
fetchOptions.headers['Content-Type'] = 'application/json';
|
||||
} else {
|
||||
fetchOptions.body = body;
|
||||
}
|
||||
|
||||
fetchOptions.headers['Content-Length'] = `${shim.stringByteLength(fetchOptions.body)}`;
|
||||
}
|
||||
|
||||
let url = `${this.baseUrl()}/${path}`;
|
||||
|
||||
if (query) {
|
||||
url += url.indexOf('?') < 0 ? '?' : '&';
|
||||
url += stringify(query);
|
||||
}
|
||||
|
||||
let response: any = null;
|
||||
|
||||
// console.info('Joplin API Call', `${method} ${url}`, headers, options);
|
||||
// console.info(this.requestToCurl_(url, fetchOptions));
|
||||
|
||||
if (options.source == 'file' && (method == 'POST' || method == 'PUT')) {
|
||||
if (fetchOptions.path) {
|
||||
const fileStat = await shim.fsDriver().stat(fetchOptions.path);
|
||||
if (fileStat) fetchOptions.headers['Content-Length'] = `${fileStat.size}`;
|
||||
}
|
||||
response = await shim.uploadBlob(url, fetchOptions);
|
||||
} else if (options.target == 'string') {
|
||||
if (typeof body === 'string') fetchOptions.headers['Content-Length'] = `${shim.stringByteLength(body)}`;
|
||||
response = await shim.fetch(url, fetchOptions);
|
||||
} else {
|
||||
// file
|
||||
response = await shim.fetchBlob(url, fetchOptions);
|
||||
}
|
||||
|
||||
const responseText = await response.text();
|
||||
|
||||
// console.info('Joplin API Response', responseText);
|
||||
|
||||
// Creates an error object with as much data as possible as it will appear in the log, which will make debugging easier
|
||||
const newError = (message: string, code: number = 0) => {
|
||||
// Gives a shorter response for error messages. Useful for cases where a full HTML page is accidentally loaded instead of
|
||||
// JSON. That way the error message will still show there's a problem but without filling up the log or screen.
|
||||
const shortResponseText = (`${responseText}`).substr(0, 1024);
|
||||
return new JoplinError(`${method} ${path}: ${message} (${code}): ${shortResponseText}`, code);
|
||||
};
|
||||
|
||||
let responseJson_: any = null;
|
||||
const loadResponseJson = async () => {
|
||||
if (!responseText) return null;
|
||||
if (responseJson_) return responseJson_;
|
||||
responseJson_ = JSON.parse(responseText);
|
||||
if (!responseJson_) throw newError('Cannot parse JSON response', response.status);
|
||||
return responseJson_;
|
||||
};
|
||||
|
||||
if (!response.ok) {
|
||||
if (options.target === 'file') throw newError('fetchBlob error', response.status);
|
||||
|
||||
let json = null;
|
||||
try {
|
||||
json = await loadResponseJson();
|
||||
} catch (error) {
|
||||
// Just send back the plain text in newErro()
|
||||
}
|
||||
|
||||
if (json && json.message) {
|
||||
throw newError(`${json.message}`, response.status);
|
||||
}
|
||||
|
||||
throw newError('Unknown error', response.status);
|
||||
}
|
||||
|
||||
if (options.responseFormat === 'text') return responseText;
|
||||
|
||||
const output = await loadResponseJson();
|
||||
return output;
|
||||
}
|
||||
}
|
||||
+26
-3
@@ -1,6 +1,7 @@
|
||||
const moment = require('moment');
|
||||
const time = require('./time').default;
|
||||
const { FsDriverDummy } = require('./fs-driver-dummy.js');
|
||||
const { sprintf } = require('sprintf-js');
|
||||
|
||||
export enum TargetType {
|
||||
Database = 'database',
|
||||
@@ -24,6 +25,12 @@ interface Target {
|
||||
prefix?: string;
|
||||
path?: string;
|
||||
source?: string;
|
||||
|
||||
// Default message format
|
||||
format?: string;
|
||||
|
||||
// If specified, will use this as format if it's an info message
|
||||
formatInfo?: string;
|
||||
}
|
||||
|
||||
export interface LoggerWrapper {
|
||||
@@ -173,9 +180,25 @@ class Logger {
|
||||
if (level == LogLevel.Warn) fn = 'warn';
|
||||
if (level == LogLevel.Info) fn = 'info';
|
||||
const consoleObj = target.console ? target.console : console;
|
||||
const prefixItems = [moment().format('HH:mm:ss')];
|
||||
if (targetPrefix) prefixItems.push(targetPrefix);
|
||||
const items = [`${prefixItems.join(': ')}:`].concat(...object);
|
||||
let items: any[] = [];
|
||||
|
||||
if (target.format) {
|
||||
const format = level === LogLevel.Info && target.formatInfo ? target.formatInfo : target.format;
|
||||
|
||||
const s = sprintf(format, {
|
||||
date_time: moment().format('YYYY-MM-DD HH:mm:ss'),
|
||||
level: Logger.levelIdToString(level),
|
||||
prefix: targetPrefix || '',
|
||||
message: '',
|
||||
});
|
||||
|
||||
items = [s.trim()].concat(...object);
|
||||
} else {
|
||||
const prefixItems = [moment().format('HH:mm:ss')];
|
||||
if (targetPrefix) prefixItems.push(targetPrefix);
|
||||
items = [`${prefixItems.join(': ')}:`].concat(...object);
|
||||
}
|
||||
|
||||
consoleObj[fn](...items);
|
||||
} else if (target.type == 'file') {
|
||||
const timestamp = moment().format('YYYY-MM-DD HH:mm:ss');
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
import FileApiDriverJoplinServer from './file-api-driver-joplinServer';
|
||||
import Setting from './models/Setting';
|
||||
import Synchronizer from './Synchronizer';
|
||||
import { _ } from './locale.js';
|
||||
import JoplinServerApi from './JoplinServerApi2';
|
||||
|
||||
const BaseSyncTarget = require('./BaseSyncTarget.js');
|
||||
const { FileApi } = require('./file-api.js');
|
||||
|
||||
interface FileApiOptions {
|
||||
path(): string;
|
||||
username(): string;
|
||||
password(): string;
|
||||
directory(): string;
|
||||
}
|
||||
|
||||
export default class SyncTargetJoplinServer extends BaseSyncTarget {
|
||||
|
||||
static id() {
|
||||
return 9;
|
||||
}
|
||||
|
||||
static supportsConfigCheck() {
|
||||
return true;
|
||||
}
|
||||
|
||||
static targetName() {
|
||||
return 'joplinServer';
|
||||
}
|
||||
|
||||
static label() {
|
||||
return _('Joplin Server');
|
||||
}
|
||||
|
||||
async isAuthenticated() {
|
||||
return true;
|
||||
}
|
||||
|
||||
static async newFileApi_(options: FileApiOptions) {
|
||||
const apiOptions = {
|
||||
baseUrl: () => options.path(),
|
||||
username: () => options.username(),
|
||||
password: () => options.password(),
|
||||
};
|
||||
|
||||
const api = new JoplinServerApi(apiOptions);
|
||||
const driver = new FileApiDriverJoplinServer(api);
|
||||
const fileApi = new FileApi(() => `root:/${options.directory()}`, driver);
|
||||
fileApi.setSyncTargetId(this.id());
|
||||
await fileApi.initialize();
|
||||
return fileApi;
|
||||
}
|
||||
|
||||
static async checkConfig(options: FileApiOptions) {
|
||||
const fileApi = await SyncTargetJoplinServer.newFileApi_(options);
|
||||
fileApi.requestRepeatCount_ = 0;
|
||||
|
||||
const output = {
|
||||
ok: false,
|
||||
errorMessage: '',
|
||||
};
|
||||
|
||||
try {
|
||||
const result = await fileApi.stat('');
|
||||
if (!result) throw new Error(`Sync directory not found: "${options.directory()}" on server "${options.path()}"`);
|
||||
output.ok = true;
|
||||
} catch (error) {
|
||||
output.errorMessage = error.message;
|
||||
if (error.code) output.errorMessage += ` (Code ${error.code})`;
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
async initFileApi() {
|
||||
const fileApi = await SyncTargetJoplinServer.newFileApi_({
|
||||
path: () => Setting.value('sync.9.path'),
|
||||
username: () => Setting.value('sync.9.username'),
|
||||
password: () => Setting.value('sync.9.password'),
|
||||
directory: () => Setting.value('sync.9.directory'),
|
||||
});
|
||||
|
||||
fileApi.setLogger(this.logger());
|
||||
|
||||
return fileApi;
|
||||
}
|
||||
|
||||
async initSynchronizer() {
|
||||
return new Synchronizer(this.db(), await this.fileApi(), Setting.value('appType'));
|
||||
}
|
||||
}
|
||||
@@ -336,6 +336,7 @@ export default class Synchronizer {
|
||||
let syncLock = null;
|
||||
|
||||
try {
|
||||
await this.api().initialize();
|
||||
this.api().setTempDirName(Dirnames.Temp);
|
||||
|
||||
try {
|
||||
|
||||
@@ -0,0 +1,196 @@
|
||||
import JoplinServerApi from './JoplinServerApi2';
|
||||
const { dirname, basename } = require('./path-utils');
|
||||
|
||||
function removeTrailingColon(path: string) {
|
||||
if (!path || !path.length) return '';
|
||||
if (path[path.length - 1] === ':') return path.substr(0, path.length - 1);
|
||||
return path;
|
||||
}
|
||||
|
||||
// All input paths should be in the format: "SPECIAL_DIR:/path/to/file"
|
||||
// The trailing colon must not be included as it's automatically added
|
||||
// when doing the API call.
|
||||
// Only supported special dir at the moment is "root"
|
||||
|
||||
export default class FileApiDriverJoplinServer {
|
||||
|
||||
private api_: JoplinServerApi;
|
||||
|
||||
public constructor(api: JoplinServerApi) {
|
||||
this.api_ = api;
|
||||
}
|
||||
|
||||
public async initialize(basePath: string) {
|
||||
const pieces = removeTrailingColon(basePath).split('/');
|
||||
if (!pieces.length) return;
|
||||
|
||||
let parent = pieces.splice(0, 1)[0];
|
||||
|
||||
for (const p of pieces) {
|
||||
// Syncing with the root, which is ok, and in that
|
||||
// case there's no sub-dir to create.
|
||||
if (!p && pieces.length === 1) return;
|
||||
|
||||
const subPath = `${parent}/${p}`;
|
||||
await this.mkdir(subPath);
|
||||
parent = subPath;
|
||||
}
|
||||
}
|
||||
|
||||
public api() {
|
||||
return this.api_;
|
||||
}
|
||||
|
||||
public requestRepeatCount() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
private metadataToStat_(md: any, path: string, isDeleted: boolean = false) {
|
||||
const output = {
|
||||
path: path,
|
||||
updated_time: md.updated_time,
|
||||
isDir: !!md.is_directory,
|
||||
isDeleted: isDeleted,
|
||||
};
|
||||
|
||||
// TODO - HANDLE DELETED
|
||||
// if (md['.tag'] === 'deleted') output.isDeleted = true;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
private metadataToStats_(mds: any[]) {
|
||||
const output = [];
|
||||
for (let i = 0; i < mds.length; i++) {
|
||||
output.push(this.metadataToStat_(mds[i], mds[i].name));
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
private apiFilePath_(p: string) {
|
||||
if (p !== 'root') p += ':';
|
||||
return `api/files/${p}`;
|
||||
}
|
||||
|
||||
public async stat(path: string) {
|
||||
try {
|
||||
const response = await this.api().exec('GET', this.apiFilePath_(path));
|
||||
return this.metadataToStat_(response, path);
|
||||
} catch (error) {
|
||||
if (error.code === 404) return null;
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
public async delta(path: string, options: any) {
|
||||
const context = options ? options.context : null;
|
||||
let cursor = context ? context.cursor : null;
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
const query = cursor ? { cursor } : {};
|
||||
const response = await this.api().exec('GET', `${this.apiFilePath_(path)}/delta`, query);
|
||||
const stats = response.items.map((item: any) => {
|
||||
return this.metadataToStat_(item.item, item.item.name, item.type === 3);
|
||||
});
|
||||
|
||||
const output = {
|
||||
items: stats,
|
||||
hasMore: response.has_more,
|
||||
context: { cursor: response.cursor },
|
||||
};
|
||||
|
||||
return output;
|
||||
} catch (error) {
|
||||
// If there's an error related to an invalid cursor, clear the cursor and retry.
|
||||
if (cursor && error.code === 'resyncRequired') {
|
||||
cursor = null;
|
||||
continue;
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async list(path: string, options: any = null) {
|
||||
options = {
|
||||
context: null,
|
||||
...options,
|
||||
};
|
||||
|
||||
const query = options.context?.cursor ? { cursor: options.context.cursor } : null;
|
||||
|
||||
const results = await this.api().exec('GET', `${this.apiFilePath_(path)}/children`, query);
|
||||
|
||||
const newContext: any = {};
|
||||
if (results.cursor) newContext.cursor = results.cursor;
|
||||
|
||||
return {
|
||||
items: this.metadataToStats_(results.items),
|
||||
hasMore: results.has_more,
|
||||
context: newContext,
|
||||
} as any;
|
||||
}
|
||||
|
||||
public async get(path: string, options: any) {
|
||||
if (!options) options = {};
|
||||
if (!options.responseFormat) options.responseFormat = 'text';
|
||||
try {
|
||||
const response = await this.api().exec('GET', `${this.apiFilePath_(path)}/content`, null, null, null, options);
|
||||
return response;
|
||||
} catch (error) {
|
||||
if (error.code !== 404) throw error;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private parentPath_(path: string) {
|
||||
let output = dirname(path);
|
||||
|
||||
// This is the root or a special folder
|
||||
if (output.split('/').length === 1) {
|
||||
output = output.substr(0, output.length - 1);
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
private basename_(path: string) {
|
||||
return basename(path);
|
||||
}
|
||||
|
||||
public async mkdir(path: string) {
|
||||
const parentPath = this.parentPath_(path);
|
||||
const filename = this.basename_(path);
|
||||
|
||||
try {
|
||||
const response = await this.api().exec('POST', `${this.apiFilePath_(parentPath)}/children`, null, {
|
||||
name: filename,
|
||||
is_directory: 1,
|
||||
});
|
||||
return response;
|
||||
} catch (error) {
|
||||
// 409 is OK - directory already exists
|
||||
if (error.code !== 409) throw error;
|
||||
}
|
||||
}
|
||||
|
||||
public async put(path: string, content: any, options: any = null) {
|
||||
return this.api().exec('PUT', `${this.apiFilePath_(path)}/content`, null, content, {
|
||||
'Content-Type': 'application/octet-stream',
|
||||
}, options);
|
||||
}
|
||||
|
||||
public async delete(path: string) {
|
||||
return this.api().exec('DELETE', this.apiFilePath_(path));
|
||||
}
|
||||
|
||||
public format() {
|
||||
throw new Error('Not supported');
|
||||
}
|
||||
|
||||
public async clearRoot(path: string) {
|
||||
await this.delete(path);
|
||||
await this.mkdir(path);
|
||||
}
|
||||
}
|
||||
+19
-11
@@ -8,6 +8,8 @@ const time = require('./time').default;
|
||||
const { sprintf } = require('sprintf-js');
|
||||
const Mutex = require('async-mutex').Mutex;
|
||||
|
||||
const logger = Logger.create('FileApi');
|
||||
|
||||
function requestCanBeRepeated(error) {
|
||||
const errorCode = typeof error === 'object' && error.code ? error.code : null;
|
||||
|
||||
@@ -61,8 +63,14 @@ class FileApi {
|
||||
this.remoteDateOffset_ = 0;
|
||||
this.remoteDateNextCheckTime_ = 0;
|
||||
this.remoteDateMutex_ = new Mutex();
|
||||
this.initialized_ = false;
|
||||
}
|
||||
|
||||
async initialize() {
|
||||
if (this.initialized_) return;
|
||||
this.initialized_ = true;
|
||||
if (this.driver_.initialize) return this.driver_.initialize(this.fullPath_(''));
|
||||
}
|
||||
|
||||
async fetchRemoteDateOffset_() {
|
||||
const tempFile = `${this.tempDirName()}/timeCheck${Math.round(Math.random() * 1000000)}.txt`;
|
||||
@@ -108,7 +116,7 @@ class FileApi {
|
||||
this.remoteDateNextCheckTime_ = Date.now() + 10 * 60 * 1000;
|
||||
}
|
||||
} catch (error) {
|
||||
this.logger().warn('Could not retrieve remote date - defaulting to device date:', error);
|
||||
logger.warn('Could not retrieve remote date - defaulting to device date:', error);
|
||||
this.remoteDateOffset_ = 0;
|
||||
this.remoteDateNextCheckTime_ = Date.now() + 60 * 1000;
|
||||
} finally {
|
||||
@@ -137,7 +145,7 @@ class FileApi {
|
||||
}
|
||||
|
||||
baseDir() {
|
||||
return this.baseDir_;
|
||||
return typeof this.baseDir_ === 'function' ? this.baseDir_() : this.baseDir_;
|
||||
}
|
||||
|
||||
tempDirName() {
|
||||
@@ -191,7 +199,7 @@ class FileApi {
|
||||
if (!('includeDirs' in options)) options.includeDirs = true;
|
||||
if (!('syncItemsOnly' in options)) options.syncItemsOnly = false;
|
||||
|
||||
this.logger().debug(`list ${this.baseDir()}`);
|
||||
logger.debug(`list ${this.baseDir()}`);
|
||||
|
||||
const result = await tryAndRepeat(() => this.driver_.list(this.fullPath_(path), options), this.requestRepeatCount());
|
||||
|
||||
@@ -216,18 +224,18 @@ class FileApi {
|
||||
|
||||
// Deprectated
|
||||
setTimestamp(path, timestampMs) {
|
||||
this.logger().debug(`setTimestamp ${this.fullPath_(path)}`);
|
||||
logger.debug(`setTimestamp ${this.fullPath_(path)}`);
|
||||
return tryAndRepeat(() => this.driver_.setTimestamp(this.fullPath_(path), timestampMs), this.requestRepeatCount());
|
||||
// return this.driver_.setTimestamp(this.fullPath_(path), timestampMs);
|
||||
}
|
||||
|
||||
mkdir(path) {
|
||||
this.logger().debug(`mkdir ${this.fullPath_(path)}`);
|
||||
logger.debug(`mkdir ${this.fullPath_(path)}`);
|
||||
return tryAndRepeat(() => this.driver_.mkdir(this.fullPath_(path)), this.requestRepeatCount());
|
||||
}
|
||||
|
||||
async stat(path) {
|
||||
this.logger().debug(`stat ${this.fullPath_(path)}`);
|
||||
logger.debug(`stat ${this.fullPath_(path)}`);
|
||||
|
||||
const output = await tryAndRepeat(() => this.driver_.stat(this.fullPath_(path)), this.requestRepeatCount());
|
||||
|
||||
@@ -246,12 +254,12 @@ class FileApi {
|
||||
get(path, options = null) {
|
||||
if (!options) options = {};
|
||||
if (!options.encoding) options.encoding = 'utf8';
|
||||
this.logger().debug(`get ${this.fullPath_(path)}`);
|
||||
logger.debug(`get ${this.fullPath_(path)}`);
|
||||
return tryAndRepeat(() => this.driver_.get(this.fullPath_(path), options), this.requestRepeatCount());
|
||||
}
|
||||
|
||||
async put(path, content, options = null) {
|
||||
this.logger().debug(`put ${this.fullPath_(path)}`, options);
|
||||
logger.debug(`put ${this.fullPath_(path)}`, options);
|
||||
|
||||
if (options && options.source === 'file') {
|
||||
if (!(await this.fsDriver().exists(options.path))) throw new JoplinError(`File not found: ${options.path}`, 'fileNotFound');
|
||||
@@ -261,13 +269,13 @@ class FileApi {
|
||||
}
|
||||
|
||||
delete(path) {
|
||||
this.logger().debug(`delete ${this.fullPath_(path)}`);
|
||||
logger.debug(`delete ${this.fullPath_(path)}`);
|
||||
return tryAndRepeat(() => this.driver_.delete(this.fullPath_(path)), this.requestRepeatCount());
|
||||
}
|
||||
|
||||
// Deprectated
|
||||
move(oldPath, newPath) {
|
||||
this.logger().debug(`move ${this.fullPath_(oldPath)} => ${this.fullPath_(newPath)}`);
|
||||
logger.debug(`move ${this.fullPath_(oldPath)} => ${this.fullPath_(newPath)}`);
|
||||
return tryAndRepeat(() => this.driver_.move(this.fullPath_(oldPath), this.fullPath_(newPath)), this.requestRepeatCount());
|
||||
}
|
||||
|
||||
@@ -281,7 +289,7 @@ class FileApi {
|
||||
}
|
||||
|
||||
delta(path, options = null) {
|
||||
this.logger().debug(`delta ${this.fullPath_(path)}`);
|
||||
logger.debug(`delta ${this.fullPath_(path)}`);
|
||||
return tryAndRepeat(() => this.driver_.delta(this.fullPath_(path), options), this.requestRepeatCount());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1262,12 +1262,6 @@ function renderLine(line: any) {
|
||||
let hiddenLines = ['<div style="display: none;">'];
|
||||
hiddenLines = hiddenLines.concat(renderLines(line.lines));
|
||||
hiddenLines.push('</div>');
|
||||
|
||||
// We need to add two new lines after the HTML block, or the Markdown
|
||||
// after that will not render.
|
||||
// https://github.com/markdown-it/markdown-it/issues/746
|
||||
hiddenLines.push(NEWLINE);
|
||||
hiddenLines.push(NEWLINE);
|
||||
return hiddenLines;
|
||||
} else if (typeof line === 'object') {
|
||||
console.warn('Unhandled object type:', line);
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"OK":"موافق","Cancel":"إلغاء","Goto Anything...":"اذهب إلى أي شيء...","Exporting to \"%s\" as \"%s\" format. Please wait...":"التصدير إلى \"%s\" بتنسيق \"%s\". فضلاً انتظر...","Current version is up-to-date.":"النسخة الحالية محدَّثة.","%s (pre-release)":"%s (ما قبل الإصدار)","An update is available, do you want to download it now?":"يتوفر تحديث ، هل تريد تنزيله الآن؟","Your version: %s":"النسخة لديك: %s","New version: %s":"النسخة الجديدة: %s","Full Release Notes":"ملاحظات الإصدار الكامل","Search...":"بحث...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"تمت استعادة الملاحظة \"%s\" بنجاح إلى دفتر الملاحظات \"%s\".","This note has no history":"هذه المذكرة ليس لها تاريخ","Unsupported link or message: %s":"رابط أو رسالة غير مدعومان: %s","Restore":"استعادة","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"انقر \"%s\" لاستعادة الملاحظة. سيتم نسخه في دفتر الملاحظات المسمى \"%s\". لن يتم استبدال أو تعديل الإصدار الحالي من الملاحظة.","Back":"عودة","Remove":"إزالة","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"حذف دفتر الملاحظات \"%s\" ؟\n\nسيتم حذف كل الملاحظات و دفاتر الملاحظات الفرعية ضمن هذا الدفتر أيضاً.","Delete":"حذف","Remove tag \"%s\" from all notes?":"إزالة الوسم \"%s\" من كل الملاحظات؟","Remove this search from the sidebar?":"حذف هذا البحث من الشريط الجانبي؟","Export":"تصدير","All notes":"جميع الملاحظات","Synchronise":"زامِن","Notebooks":"دفاتر ملاحظات","Tags":"وسوم","Decrypting items: %d/%d":"فك تشفير العناصر: %d/%d","Fetching resources: %d/%d":"جلب الموارد: %d/%d","Sidebar":"الشريط الجانبي","Focus":"تركيز","Please select where the sync status should be exported to":"فضلاً اختر أين سيتم تصدير حالة المزامنة","Retry":"إعادة المحاولة","strong text":"نص مشدَّد","Insert Hyperlink":"إدراج ارتباط تشعبي","List item":"عنصر قائمة","Layout":"تخطيط","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"ليس لهذه الملاحظة أي محتوى. اضغط على \"%s\" لتبديل المحرّر وتحرير الملاحظة.","Cut":"قص","Copy":"نسخ","Paste":"لصق","Edit":"تحرير","Attach file":"إرفاق ملف","Insert Date Time":"إدراج التاريخ والوقت","Open...":"فتح...","Save as...":"حفظ باسم...","Copy path to clipboard":"نسخ المسار إلى الحافظة","Copy Link Address":"نسخ عنوان الرابط","to-do":"قائمة مهام","note":"ملاحظة","Creating new %s...":"إنشاء %s جديد ...","In: %s":"في: %s","Select all":"اختيار الكل","Bold":"غامق","Italic":"مائل","Hyperlink":"ارتباط تشعبي","Code":"رمز","Numbered List":"قائمة مرقّمة","Bulleted List":"قائمة تعداد نقطي","Checkbox":"خانة اختيار","Heading":"ترويسة","Horizontal Rule":"خط تسطير أفقي","Note title":"عنوان الملاحظة","Search in current note":"البحث في الملاحظة الحاليّة","Note body":"متن الملاحظة","ID":"المعرّف","Created":"الإنشاء","Updated":"التحديث","Location":"المكان","URL":"عنوان URL","Note History":"تاريخ الملاحظة","Markup":"ترميز","Previous versions of this note":"الإصدارات السابقة من هذه الملاحظة","Note properties":"خصائص الملاحظة","Disabled":"معطَّل","Import":"استيراد","Quit":"إغلاق","Website and documentation":"موقع الويب و التوثيق","Close Window":"إغلاق النافذة","Options":"خيارات","Save":"حفظ","Some items cannot be synchronised.":"لا يمكن مزامنة بعض العناصر.","View them now":"عرضها الآن","Some items cannot be decrypted.":"لا يمكن فك تشفير بعض العناصر.","One or more master keys need a password.":"مفتاح رئيسي واحد أو أكثر يحتاج إلى كلمة مرور.","Set the password":"ضبط كلمة المرور","Rename":"إعادة تسمية","Rename notebook:":"إعادة تسمية دفتر الملاحظات:","New to-do":"قائمة جديدة للمهام","Toggle note list":"تبديل قائمة الملاحظات","Toggle sidebar":"تبديل الشريط الجانبي","Set alarm":"ضبLine truncated
|
||||
{"OK":"موافق","Cancel":"إلغاء","Goto Anything...":"اذهب إلى أي شيء...","Exporting to \"%s\" as \"%s\" format. Please wait...":"التصدير إلى \"%s\" بتنسيق \"%s\". فضلاً انتظر...","Current version is up-to-date.":"النسخة الحالية محدَّثة.","%s (pre-release)":"%s (ما قبل الإصدار)","An update is available, do you want to download it now?":"يتوفر تحديث ، هل تريد تنزيله الآن؟","Your version: %s":"النسخة لديك: %s","New version: %s":"النسخة الجديدة: %s","Full Release Notes":"ملاحظات الإصدار الكامل","Search...":"بحث...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"تمت استعادة الملاحظة \"%s\" بنجاح إلى دفتر الملاحظات \"%s\".","This note has no history":"هذه المذكرة ليس لها تاريخ","Unsupported link or message: %s":"رابط أو رسالة غير مدعومان: %s","Restore":"استعادة","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"انقر \"%s\" لاستعادة الملاحظة. سيتم نسخه في دفتر الملاحظات المسمى \"%s\". لن يتم استبدال أو تعديل الإصدار الحالي من الملاحظة.","Back":"عودة","Remove":"إزالة","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"حذف دفتر الملاحظات \"%s\" ؟\n\nسيتم حذف كل الملاحظات و دفاتر الملاحظات الفرعية ضمن هذا الدفتر أيضاً.","Delete":"حذف","Remove tag \"%s\" from all notes?":"إزالة الوسم \"%s\" من كل الملاحظات؟","Remove this search from the sidebar?":"حذف هذا البحث من الشريط الجانبي؟","Export":"تصدير","All notes":"جميع الملاحظات","Synchronise":"زامِن","Notebooks":"دفاتر ملاحظات","Tags":"وسوم","Decrypting items: %d/%d":"فك تشفير العناصر: %d/%d","Fetching resources: %d/%d":"جلب الموارد: %d/%d","Sidebar":"الشريط الجانبي","Focus":"تركيز","Please select where the sync status should be exported to":"فضلاً اختر أين سيتم تصدير حالة المزامنة","Retry":"إعادة المحاولة","strong text":"نص مشدَّد","Insert Hyperlink":"إدراج ارتباط تشعبي","List item":"عنصر قائمة","Layout":"تخطيط","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"ليس لهذه الملاحظة أي محتوى. اضغط على \"%s\" لتبديل المحرّر وتحرير الملاحظة.","Cut":"قص","Copy":"نسخ","Paste":"لصق","Edit":"تحرير","Attach file":"إرفاق ملف","Insert Date Time":"إدراج التاريخ والوقت","Open...":"فتح...","Save as...":"حفظ باسم...","Copy path to clipboard":"نسخ المسار إلى الحافظة","Copy Link Address":"نسخ عنوان الرابط","to-do":"قائمة مهام","note":"ملاحظة","Creating new %s...":"إنشاء %s جديد ...","In: %s":"في: %s","Select all":"اختيار الكل","Bold":"غامق","Italic":"مائل","Hyperlink":"ارتباط تشعبي","Code":"رمز","Numbered List":"قائمة مرقّمة","Bulleted List":"قائمة تعداد نقطي","Checkbox":"خانة اختيار","Heading":"ترويسة","Horizontal Rule":"خط تسطير أفقي","Note title":"عنوان الملاحظة","Search in current note":"البحث في الملاحظة الحاليّة","Note body":"متن الملاحظة","ID":"المعرّف","Created":"الإنشاء","Updated":"التحديث","Location":"المكان","URL":"عنوان URL","Note History":"تاريخ الملاحظة","Markup":"ترميز","Previous versions of this note":"الإصدارات السابقة من هذه الملاحظة","Note properties":"خصائص الملاحظة","Disabled":"معطَّل","Import":"استيراد","Quit":"إغلاق","Website and documentation":"موقع الويب و التوثيق","Close Window":"إغلاق النافذة","Options":"خيارات","Save":"حفظ","Some items cannot be synchronised.":"لا يمكن مزامنة بعض العناصر.","View them now":"عرضها الآن","Some items cannot be decrypted.":"لا يمكن فك تشفير بعض العناصر.","One or more master keys need a password.":"مفتاح رئيسي واحد أو أكثر يحتاج إلى كلمة مرور.","Set the password":"ضبط كلمة المرور","Rename":"إعادة تسمية","Rename notebook:":"إعادة تسمية دفتر الملاحظات:","New to-do":"قائمة جديدة للمهام","Toggle note list":"تبديل قائمة الملاحظات","Toggle sidebar":"تبديل الشريط الجانبي","Set alarm":"ضبLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"Добре","Cancel":"Отмени","Goto Anything...":"Отиди на нещо...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Експортирам към \"%s\" във формат \"%s\". Моля изчакайте...","Current version is up-to-date.":"Настоящата версия е най-новата.","%s (pre-release)":"%s (експериментална)","An update is available, do you want to download it now?":"Има обновление, искате ли да го свалите сега?","Your version: %s":"Вашата версия: %s","New version: %s":"Нова версия: %s","Search...":"Търсене...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Бележка \"%s\" бе успешно създадена и сложена в тетрадка \"%s\".","This note has no history":"Тази бележка няма история","Unsupported link or message: %s":"Неподдържан линк или съобщение: %s","Restore":"Възстанови","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Натиснете \"%s\" за да възстановите бележката. Тя ще бъде копирана в тетрадка с име \"%s\". Настоящата версия на бележката няма да бъде подменена или променена.","Back":"Назад","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Да изтрия ли тетрадка \"%s\"?\n\nВсички бележки и под-тетрадки също ще бъдат изтрити.","Delete":"Изтрий","Remove tag \"%s\" from all notes?":"Да премахна ли таг \"%s\" от всички бележки?","Remove this search from the sidebar?":"Да премахна ли това търсене от страничния панел?","Export":"Експортиране","Synchronise":"Синхронизация","Notebooks":"Тетрадки","Tags":"Тагове","Decrypting items: %d/%d":"Декриптиране на обекти: %d/%d","Fetching resources: %d/%d":"Взимане на ресурси: %d/%d","Sidebar":"Страничен панел","Focus":"Фокусирай","Please select where the sync status should be exported to":"Моля изберете къде да бъде експортиран статуса на синхронизацията","Retry":"Нов опит","strong text":"силно наблегнат текст","Insert Hyperlink":"Вкарай линк","List item":"Елемент на списък","Layout":"Разположеня","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Тази бележка няма съдържание. Натиснете \"%s\" за да покажете редакторя и да редактирате бележката.","Cut":"Изрежи","Copy":"Копирай","Paste":"Постави","Edit":"Редактиране","Attach file":"Прикачи файл","Insert Date Time":"Постави датата и часа","Open...":"Отвори...","Save as...":"Запазаи като...","Copy path to clipboard":"Копирай пътя в клипборда","Copy Link Address":"Копирай адреса на линка","to-do":"задача","note":"бележка","Creating new %s...":"Създаване на нова %s...","In: %s":"В: %s","Select all":"Избери всичко","Bold":"Удебелен","Italic":"Курсив","Hyperlink":"Линк","Code":"Код","Numbered List":"Номериран списък","Bulleted List":"Неномериран списък","Checkbox":"Поле за отметка","Heading":"Заглавие","Horizontal Rule":"Хоризонтална черта","Note title":"Заглавие на бележката","Search in current note":"Търсене в настоящата бележка","Note body":"Съдържание на бележката","ID":"Идентификатор","Created":"Създаден","Updated":"Обновен","Location":"Местоположение","URL":"Уеб адрес (URL)","Note History":"История на бележката","Previous versions of this note":"Предишни версии на бележката","Note properties":"Атрибути на бележката","Disabled":"Изключено","Import":"Импортиране","Quit":"Изход","Website and documentation":"Уебсайт и документация","Close Window":"Затвори прозорец","Options":"Конфигурация","Save":"Запази","Some items cannot be synchronised.":"Някои обекти не можаха да бъдат синхронизирани.","View them now":"Покажи ги сега","One or more master keys need a password.":"Поне едиLine truncated
|
||||
{"OK":"Добре","Cancel":"Отмени","Goto Anything...":"Отиди на нещо...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Експортирам към \"%s\" във формат \"%s\". Моля изчакайте...","Current version is up-to-date.":"Настоящата версия е най-новата.","%s (pre-release)":"%s (експериментална)","An update is available, do you want to download it now?":"Има обновление, искате ли да го свалите сега?","Your version: %s":"Вашата версия: %s","New version: %s":"Нова версия: %s","Search...":"Търсене...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Бележка \"%s\" бе успешно създадена и сложена в тетрадка \"%s\".","This note has no history":"Тази бележка няма история","Unsupported link or message: %s":"Неподдържан линк или съобщение: %s","Restore":"Възстанови","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Натиснете \"%s\" за да възстановите бележката. Тя ще бъде копирана в тетрадка с име \"%s\". Настоящата версия на бележката няма да бъде подменена или променена.","Back":"Назад","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Да изтрия ли тетрадка \"%s\"?\n\nВсички бележки и под-тетрадки също ще бъдат изтрити.","Delete":"Изтрий","Remove tag \"%s\" from all notes?":"Да премахна ли таг \"%s\" от всички бележки?","Remove this search from the sidebar?":"Да премахна ли това търсене от страничния панел?","Export":"Експортиране","Synchronise":"Синхронизация","Notebooks":"Тетрадки","Tags":"Тагове","Decrypting items: %d/%d":"Декриптиране на обекти: %d/%d","Fetching resources: %d/%d":"Взимане на ресурси: %d/%d","Sidebar":"Страничен панел","Focus":"Фокусирай","Please select where the sync status should be exported to":"Моля изберете къде да бъде експортиран статуса на синхронизацията","Retry":"Нов опит","strong text":"силно наблегнат текст","Insert Hyperlink":"Вкарай линк","List item":"Елемент на списък","Layout":"Разположеня","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Тази бележка няма съдържание. Натиснете \"%s\" за да покажете редакторя и да редактирате бележката.","Cut":"Изрежи","Copy":"Копирай","Paste":"Постави","Edit":"Редактиране","Attach file":"Прикачи файл","Insert Date Time":"Постави датата и часа","Open...":"Отвори...","Save as...":"Запазаи като...","Copy path to clipboard":"Копирай пътя в клипборда","Copy Link Address":"Копирай адреса на линка","to-do":"задача","note":"бележка","Creating new %s...":"Създаване на нова %s...","In: %s":"В: %s","Select all":"Избери всичко","Bold":"Удебелен","Italic":"Курсив","Hyperlink":"Линк","Code":"Код","Numbered List":"Номериран списък","Bulleted List":"Неномериран списък","Checkbox":"Поле за отметка","Heading":"Заглавие","Horizontal Rule":"Хоризонтална черта","Note title":"Заглавие на бележката","Search in current note":"Търсене в настоящата бележка","Note body":"Съдържание на бележката","ID":"Идентификатор","Created":"Създаден","Updated":"Обновен","Location":"Местоположение","URL":"Уеб адрес (URL)","Note History":"История на бележката","Previous versions of this note":"Предишни версии на бележката","Note properties":"Атрибути на бележката","Disabled":"Изключено","Import":"Импортиране","Quit":"Изход","Website and documentation":"Уебсайт и документация","Close Window":"Затвори прозорец","Options":"Конфигурация","Save":"Запази","Some items cannot be synchronised.":"Някои обекти не можаха да бъдат синхронизирани.","View them now":"Покажи ги сега","One or more master keys need a password.":"Поне едиLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"Uredu","Cancel":"Otkaži","Goto Anything...":"Pronađite bilo šta...","Current version is up-to-date.":"Trenutna je verzija ažurirana.","%s (pre-release)":"%s (verzija pred objavljivanje)","An update is available, do you want to download it now?":"Nova je verzija dostupna. Želite li je preuzeti?","Your version: %s":"Vaša verzija: %s","New version: %s":"Nova verzija: %s","Search...":"Pretraživanje...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Bilješka \"%s\" uspješno je rekonstruisana i pohranjena u bilježnicu \"%s\".","This note has no history":"Bilješka nema ranijih verzija","Unsupported link or message: %s":"Nepodržana veza ili poruka: %s","Restore":"Rekonstruiši","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Pritisnite na \"%s\" da rekonstruišete bilješku. Rezultat će biti kopiran u bilježnicu \"%s\". Trenutna verzija bilješke ostat će netaknuta.","Back":"Nazad","Remove":"Ukloni","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Izbrisati bilježnicu \"%s\"?\n\nSve bilješke i bilježnice unutar ove bilježnice također će biti izbrisane.","Delete":"Izbriši","Remove tag \"%s\" from all notes?":"Ukloniti oznaku \"%s\" iz svih bilješki?","Remove this search from the sidebar?":"Ukloniti ovu pretragu iz pomoćnog menija?","Export":"Iznesi","All notes":"Sve bilješke","Synchronise":"Sinhronizuj","Notebooks":"Bilježnice","Tags":"Oznake","Decrypting items: %d/%d":"Dešifrujem stavke: %d/%d","Fetching resources: %d/%d":"Preuzimam resurse: %d/%d","Sidebar":"Bočni meni","Focus":"Fokus","Please select where the sync status should be exported to":"Navedite gdje će biti pohranjen status sinhronizacije","Retry":"Ponovi","strong text":"podebljani tekst","Insert Hyperlink":"Unesi poveznicu","List item":"Stavka nabrajanja","Layout":"Prikaz","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Bilješka je prazna. Pritisnite na \"%s\" da otvorite program za rad s tekstom i uredite bilješku.","Cut":"Izreži","Copy":"Kopiraj","Paste":"Zalijepi","Edit":"Uredi","Attach file":"Priloži datoteku","Code Block":"Kōd (izdvojen)","Inline Code":"Kōd (unutar teksta)","Insert Date Time":"Unesi datum i vrijeme","Drop notes or files here":"Ispustite bilješke ili datoteke ovdje","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Pričekajte dok svi prilozi ne budu preuzeti i dešifrovani. Također možete otvoriti %s da uredite bilješku.","There was an error downloading this attachment:":"Došlo je do greške prilikom preuzimanja priloga:","Open...":"Otvori...","Save as...":"Pohrani kao...","Reveal file in folder":"Pokaži datoteku u direktoriju","Copy path to clipboard":"Kopiraj putanju u spremnik","Copy Link Address":"Kopiraj adresu veze","to-do":"zadatak","note":"bilješka","Creating new %s...":"Kreiram: %s...","In: %s":"U: %s","Select all":"Označi sve","Bold":"Masna slova","Italic":"Kurziv","Hyperlink":"Poveznica","Code":"Kōd","Numbered List":"Numerisano nabrajanje","Bulleted List":"Nabrajanje","Checkbox":"Polje za kvačicu","Heading":"Naslov","Horizontal Rule":"Vodoravna linija","Search in current note":"Potraži u trenutnoj bilješci","ID":"ID","Created":"Kreirano","Updated":"Ažurirano","Location":"Lokacija","URL":"URL","Note History":"Historija bilješke","Markup":"Markup","Previous versions of this note":"Ranije verzije ove bilješke","Note properties":"Svojstva bilješke","Disabled":"Isključeno","Import":"Unesi","Quit":"Zatvori","Actual Size":"Početne dimenzije","Website and documentation":"Internet stranica i dokumentacija","Close Window":"Zatvori prozor","Options":"Opcije","Save":"Pohrani","Some items cannot be synchronised.":"Neke stavke nije moguće sinhronizovati.","View them now":"Pregledajte ih sada","One or more master keys need a password.":"Jedan ili više glavnih ključeva zahtijevaju lozinku.","Set the password":"Zadajte lozinku","Statistics...":"Statistika...","Rename":"Preimenuj","Rename notebook:":"Preimenujte bilježnicu:","New to-do":"Novi zadatak","Toggle sidebar":"Bočni meni","Set alarm":"Podesi zvučnu napomenu","Set alarm:":"Podesite zvučnu napomenu:","PDF File":"PDF datoteka","New note":"Nova bilješka","Toggle editor layout":"Prikaži uređivač","Rename tag:":"Preimenujte oznaku:","New notebook":"Nova bilježnica","Notebook title:":"Naziv bilježnice:","Template file:":"Šablon:","Add or remove tags:":"Dodajte ili uklonite oznake:","Print":"Štampaj","To allow Joplin to synchronise with Dropbox, please follow the steps below:":"Slijedite ove korake da dopustite Joplinu sinhronizovanje sa Dropboxom:","Step 1: Open this URL in your browser to authorise the application:":"Korak 1: otvorite ovu adresu u Vašem internet pregledniku i ovjerite aplikaciju:","Step 2: Enter the code provided by DrLine truncated
|
||||
{"OK":"Uredu","Cancel":"Otkaži","Goto Anything...":"Pronađite bilo šta...","Current version is up-to-date.":"Trenutna je verzija ažurirana.","%s (pre-release)":"%s (verzija pred objavljivanje)","An update is available, do you want to download it now?":"Nova je verzija dostupna. Želite li je preuzeti?","Your version: %s":"Vaša verzija: %s","New version: %s":"Nova verzija: %s","Search...":"Pretraživanje...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Bilješka \"%s\" uspješno je rekonstruisana i pohranjena u bilježnicu \"%s\".","This note has no history":"Bilješka nema ranijih verzija","Unsupported link or message: %s":"Nepodržana veza ili poruka: %s","Restore":"Rekonstruiši","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Pritisnite na \"%s\" da rekonstruišete bilješku. Rezultat će biti kopiran u bilježnicu \"%s\". Trenutna verzija bilješke ostat će netaknuta.","Back":"Nazad","Remove":"Ukloni","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Izbrisati bilježnicu \"%s\"?\n\nSve bilješke i bilježnice unutar ove bilježnice također će biti izbrisane.","Delete":"Izbriši","Remove tag \"%s\" from all notes?":"Ukloniti oznaku \"%s\" iz svih bilješki?","Remove this search from the sidebar?":"Ukloniti ovu pretragu iz pomoćnog menija?","Export":"Iznesi","All notes":"Sve bilješke","Synchronise":"Sinhronizuj","Notebooks":"Bilježnice","Tags":"Oznake","Decrypting items: %d/%d":"Dešifrujem stavke: %d/%d","Fetching resources: %d/%d":"Preuzimam resurse: %d/%d","Sidebar":"Bočni meni","Focus":"Fokus","Please select where the sync status should be exported to":"Navedite gdje će biti pohranjen status sinhronizacije","Retry":"Ponovi","strong text":"podebljani tekst","Insert Hyperlink":"Unesi poveznicu","List item":"Stavka nabrajanja","Layout":"Prikaz","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Bilješka je prazna. Pritisnite na \"%s\" da otvorite program za rad s tekstom i uredite bilješku.","Cut":"Izreži","Copy":"Kopiraj","Paste":"Zalijepi","Edit":"Uredi","Attach file":"Priloži datoteku","Code Block":"Kōd (izdvojen)","Inline Code":"Kōd (unutar teksta)","Insert Date Time":"Unesi datum i vrijeme","Drop notes or files here":"Ispustite bilješke ili datoteke ovdje","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Pričekajte dok svi prilozi ne budu preuzeti i dešifrovani. Također možete otvoriti %s da uredite bilješku.","There was an error downloading this attachment:":"Došlo je do greške prilikom preuzimanja priloga:","Open...":"Otvori...","Save as...":"Pohrani kao...","Reveal file in folder":"Pokaži datoteku u direktoriju","Copy path to clipboard":"Kopiraj putanju u spremnik","Copy Link Address":"Kopiraj adresu veze","to-do":"zadatak","note":"bilješka","Creating new %s...":"Kreiram: %s...","In: %s":"U: %s","Select all":"Označi sve","Bold":"Masna slova","Italic":"Kurziv","Hyperlink":"Poveznica","Code":"Kōd","Numbered List":"Numerisano nabrajanje","Bulleted List":"Nabrajanje","Checkbox":"Polje za kvačicu","Heading":"Naslov","Horizontal Rule":"Vodoravna linija","Search in current note":"Potraži u trenutnoj bilješci","ID":"ID","Created":"Kreirano","Updated":"Ažurirano","Location":"Lokacija","URL":"URL","Note History":"Historija bilješke","Markup":"Markup","Previous versions of this note":"Ranije verzije ove bilješke","Note properties":"Svojstva bilješke","Disabled":"Isključeno","Import":"Unesi","Quit":"Zatvori","Actual Size":"Početne dimenzije","Website and documentation":"Internet stranica i dokumentacija","Close Window":"Zatvori prozor","Options":"Opcije","Save":"Pohrani","Some items cannot be synchronised.":"Neke stavke nije moguće sinhronizovati.","View them now":"Pregledajte ih sada","One or more master keys need a password.":"Jedan ili više glavnih ključeva zahtijevaju lozinku.","Set the password":"Zadajte lozinku","Statistics...":"Statistika...","Rename":"Preimenuj","Rename notebook:":"Preimenujte bilježnicu:","New to-do":"Novi zadatak","Toggle sidebar":"Bočni meni","Set alarm":"Podesi zvučnu napomenu","Set alarm:":"Podesite zvučnu napomenu:","PDF File":"PDF datoteka","New note":"Nova bilješka","Toggle editor layout":"Prikaži uređivač","Rename tag:":"Preimenujte oznaku:","New notebook":"Nova bilježnica","Notebook title:":"Naziv bilježnice:","Template file:":"Šablon:","Add or remove tags:":"Dodajte ili uklonite oznake:","Print":"Štampaj","To allow Joplin to synchronise with Dropbox, please follow the steps below:":"Slijedite ove korake da dopustite Joplinu sinhronizovanje sa Dropboxom:","Step 1: Open this URL in your browser to authorise the application:":"Korak 1: otvorite ovu adresu u Vašem internet pregledniku i ovjerite aplikaciju:","Step 2: Enter the code provided by DrLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"D'acord","Cancel":"Cancel·la","Goto Anything...":"Anar a qualsevol cosa...","Exporting to \"%s\" as \"%s\" format. Please wait...":"S'està exportant a «%s» com a format «%s». Espereu...","Could not export notes: %s":"No s'han pogut exportar les notes: %s","Current version is up-to-date.":"La versió actual està actualitzada.","%s (pre-release)":"%s (pre-llençament)","An update is available, do you want to download it now?":"Hi ha disponible una actualització. Voleu descarregar-la ara?","Your version: %s":"La vostra versió: %s","New version: %s":"Nova versió: %s","Full Release Notes":"Notes completes de la versió","Search...":"Cerca...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"La nota «%s» s'ha restaurat amb èxit en el bloc de notes «%s».","This note has no history":"Aquesta nota no té historial","Unsupported link or message: %s":"Missatge o enllaç no suportat: %s","Restore":"Restaurar","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Cliqueu «%s» per restaurar la nota. Aquesta serà copiada al el notebook anomenat «%s». La versió actual de la nota no serà substituïda o modificada.","Back":"Enrere","Remove":"Elimina","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Voleu suprimir el bloc de notes \"%s\"? \n\nTambé se suprimiran totes les notes i els sub-blocs d'aquest bloc de notes.","Delete":"Suprimeix","Remove tag \"%s\" from all notes?":"Voleu suprimir l'etiqueta \"%s\" de totes les notes?","Remove this search from the sidebar?":"Voleu suprimir aquesta cerca de la barra lateral?","Export":"Exporta","All notes":"Totes les notes","Synchronise":"Sincronitza","Notebooks":"Blocs de notes","Tags":"Etiquetes","Decrypting items: %d/%d":"S'estan desxifrant els elements: %d/%d","Fetching resources: %d/%d":"Obtenint recursos: %d/%d","Sidebar":"Barra lateral","Focus":"Focus","Please select where the sync status should be exported to":"Seleccioneu on s'hauria d'exportar l'estat de la sincronització","Retry All":"Torna a provar-los tots","Retry":"Torna a provar","strong text":"text destacat","emphasised text":"text ressaltat","Insert Hyperlink":"Introdueix un enllaç","List item":"Element de llista","Layout":"Disposició","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Aquesta nota no té contingut. Feu clic a «%s» per a anar a l'editor i modificar-la.","Cut":"Retalla","Copy":"Copia","Paste":"Enganxa","Checkbox list":"Llista de caselles de verificació","Edit":"Edita","Attach file":"Adjunta un fitxer","Code Block":"Bloc de codi","Inline Code":"Codi en línia","Insert Date Time":"Insereix la data i hora","Drop notes or files here":"Arrossega les notes o fitxers aquí","Code View":"Vista de codi","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Espereu que tots els adjunts hagin estat descarregats i desxifrats. També podeu canviar a %s per editar la nota.","There was an error downloading this attachment:":"Hi ha hagut un error al descarregar aquest adjunt:","This attachment is not downloaded or not decrypted yet":"Aquest adjunt no ha estat descarregat o desxifrat encara","Open...":"Obre...","Save as...":"Anomena i desa...","Reveal file in folder":"Mostra el fitxer a la carpeta","Copy path to clipboard":"Copia el camí al porta-retalls","Copy Link Address":"Copia l'adreça de l'enllaç","to-do":"tasques pendents","note":"nota","Creating new %s...":"S'està creant una %s...","In: %s":"A: %s","Select all":"Seleccioneu tot","Bold":"Negreta","Italic":"Cursiva","Hyperlink":"Enllaç","Code":"Codi","Numbered List":"Llista numerada","Bulleted List":"Llista de pics","Checkbox":"Casella de verificació","Heading":"Capçalera","Horizontal Rule":"Línia horitzontal","Note title":"Títol de la nota","Search in current note":"Cerca en la nota actual","Note body":"Cos de la nota","ID":"ID","Created":"Creació","Updated":"Actualització","Completed":"Finalitzat","Location":"Ubicació","URL":"URL","Note History":"Historial de la nota","Markup":"Marcatge","Previous versions of this note":"Versions prèvies d'aquesta nota","Note properties":"Propietats de la nota","Disabled":"Desactivat","Import":"Importació","Quit":"Surt","Insert template":"Insereix plantilla","Actual Size":"Mida real","Website and documentation":"Lloc web i documentació","Close Window":"Tanca la finestra","Options":"Opcions","Save":"Desa","Some items cannot be synchronised.":"Alguns elements no s'han pogut sincronitzar.","View them now":"Mostra'ls ara","Some items cannot be decrypted.":"Alguns elements no s'han pogut desxifrar.","One or more master keys need a password.":"Una o més claus mestres necessiten una contrasenya.","Set the password":"Establiu la contrasenya","One of your master keys use an obsolete encryption method.":"Una de les vostres clLine truncated
|
||||
{"OK":"D'acord","Cancel":"Cancel·la","Goto Anything...":"Anar a qualsevol cosa...","Exporting to \"%s\" as \"%s\" format. Please wait...":"S'està exportant a «%s» com a format «%s». Espereu...","Could not export notes: %s":"No s'han pogut exportar les notes: %s","Current version is up-to-date.":"La versió actual està actualitzada.","%s (pre-release)":"%s (pre-llençament)","An update is available, do you want to download it now?":"Hi ha disponible una actualització. Voleu descarregar-la ara?","Your version: %s":"La vostra versió: %s","New version: %s":"Nova versió: %s","Full Release Notes":"Notes completes de la versió","Search...":"Cerca...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"La nota «%s» s'ha restaurat amb èxit en el bloc de notes «%s».","This note has no history":"Aquesta nota no té historial","Unsupported link or message: %s":"Missatge o enllaç no suportat: %s","Restore":"Restaurar","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Cliqueu «%s» per restaurar la nota. Aquesta serà copiada al el notebook anomenat «%s». La versió actual de la nota no serà substituïda o modificada.","Back":"Enrere","Remove":"Elimina","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Voleu suprimir el bloc de notes \"%s\"? \n\nTambé se suprimiran totes les notes i els sub-blocs d'aquest bloc de notes.","Delete":"Suprimeix","Remove tag \"%s\" from all notes?":"Voleu suprimir l'etiqueta \"%s\" de totes les notes?","Remove this search from the sidebar?":"Voleu suprimir aquesta cerca de la barra lateral?","Export":"Exporta","All notes":"Totes les notes","Synchronise":"Sincronitza","Notebooks":"Blocs de notes","Tags":"Etiquetes","Decrypting items: %d/%d":"S'estan desxifrant els elements: %d/%d","Fetching resources: %d/%d":"Obtenint recursos: %d/%d","Sidebar":"Barra lateral","Focus":"Focus","Please select where the sync status should be exported to":"Seleccioneu on s'hauria d'exportar l'estat de la sincronització","Retry All":"Torna a provar-los tots","Retry":"Torna a provar","strong text":"text destacat","emphasised text":"text ressaltat","Insert Hyperlink":"Introdueix un enllaç","List item":"Element de llista","Layout":"Disposició","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Aquesta nota no té contingut. Feu clic a «%s» per a anar a l'editor i modificar-la.","Cut":"Retalla","Copy":"Copia","Paste":"Enganxa","Checkbox list":"Llista de caselles de verificació","Edit":"Edita","Attach file":"Adjunta un fitxer","Code Block":"Bloc de codi","Inline Code":"Codi en línia","Insert Date Time":"Insereix la data i hora","Drop notes or files here":"Arrossega les notes o fitxers aquí","Code View":"Vista de codi","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Espereu que tots els adjunts hagin estat descarregats i desxifrats. També podeu canviar a %s per editar la nota.","There was an error downloading this attachment:":"Hi ha hagut un error al descarregar aquest adjunt:","This attachment is not downloaded or not decrypted yet":"Aquest adjunt no ha estat descarregat o desxifrat encara","Open...":"Obre...","Save as...":"Anomena i desa...","Reveal file in folder":"Mostra el fitxer a la carpeta","Copy path to clipboard":"Copia el camí al porta-retalls","Copy Link Address":"Copia l'adreça de l'enllaç","to-do":"tasques pendents","note":"nota","Creating new %s...":"S'està creant una %s...","In: %s":"A: %s","Select all":"Seleccioneu tot","Bold":"Negreta","Italic":"Cursiva","Hyperlink":"Enllaç","Code":"Codi","Numbered List":"Llista numerada","Bulleted List":"Llista de pics","Checkbox":"Casella de verificació","Heading":"Capçalera","Horizontal Rule":"Línia horitzontal","Note title":"Títol de la nota","Search in current note":"Cerca en la nota actual","Note body":"Cos de la nota","ID":"ID","Created":"Creació","Updated":"Actualització","Completed":"Finalitzat","Location":"Ubicació","URL":"URL","Note History":"Historial de la nota","Markup":"Marcatge","Previous versions of this note":"Versions prèvies d'aquesta nota","Note properties":"Propietats de la nota","Disabled":"Desactivat","Import":"Importació","Quit":"Surt","Insert template":"Insereix plantilla","Actual Size":"Mida real","Website and documentation":"Lloc web i documentació","Close Window":"Tanca la finestra","Options":"Opcions","Save":"Desa","Some items cannot be synchronised.":"Alguns elements no s'han pogut sincronitzar.","View them now":"Mostra'ls ara","Some items cannot be decrypted.":"Alguns elements no s'han pogut desxifrar.","One or more master keys need a password.":"Una o més claus mestres necessiten una contrasenya.","Set the password":"Establiu la contrasenya","One of your master keys use an obsolete encryption method.":"Una de les vostres clLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Zrušit","The app is now going to close. Please relaunch it to complete the process.":"Aplikace se nyní vypne. Pro dokončení procesu ji znovu spusťte.","Goto Anything...":"Přejít kamkoliv...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportuji do \"%s\" jako formát \"%s\". Chvíli strpení...","Could not export notes: %s":"Nelze exportovat poznámky: %s","Current version is up-to-date.":"Současná verze je aktuální.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Je k dispozici update, chcete jej stáhnout?","Your version: %s":"Vaše verze: %s","New version: %s":"Nová verze: %s","Full Release Notes":"Úplné poznámky k verzi","Search...":"Hledat...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Poznámka \"%s\" byla úspěšně obnovena v zápisníku \"%s\".","This note has no history":"Tato poznámka nemá historii","Unsupported link or message: %s":"Nepodporovaný link či zpráva: %s","Restore":"Obnovit","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klikněte na \"%s\" pro obnovení poznámky. Poznámka bude zkopírována do zápisníku s názvem \"%s\". Současná verze poznámky nebude nahrazena či změněna.","Back":"Zpět","Remove":"Odstranit","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Smazat zápisník \"%s\"?\n\nBudou smazány i všechny poznámky a pod-zápisníky v tomto zápisníku.","Delete":"Odstranit","Remove tag \"%s\" from all notes?":"Odebrat tag \"%s\" ze všech poznámek?","Remove this search from the sidebar?":"Smazat tento hledaný výraz z panelu?","Export":"Export","All notes":"Všechny poznámky","Synchronise":"Synchronizovat","Notebooks":"Zápisníky","Tags":"Tagy","Decrypting items: %d/%d":"Rozšifrované položky: %d/%d","Fetching resources: %d/%d":"Stahování zdrojů: %d/%d","Sidebar":"Postranní lišta","Focus":"Přejít na","Please select where the sync status should be exported to":"Prosím vyberte, kam má být stav synchronizace exportován","Retry All":"Opakovat vše","Retry":"Znovu","strong text":"tučný text","emphasised text":"zvýrazněný text","Insert Hyperlink":"Vložit odkaz","List item":"Seznam položek","Layout":"Rozvržení","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Tato poznámka je prázdný. Klikněte na \"%s\" pro otevření editoru.","Cut":"Vyjmout","Copy":"Kopírovat","Paste":"Vložit","Checkbox list":"Zaškrtávací pole","Edit":"Upravit","Attach file":"Přiložit soubor","Code Block":"Blok kódu","Inline Code":"Vložený kód","Insert Date Time":"Vložit datum a čas","Drop notes or files here":"Sem přetáhněte poznámky nebo soubory","Code View":"Zobrazit kód","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Počkejte prosím na stažení a dešifrování všech příloh. Můžete také přepnout na %s a poznámku upravit.","There was an error downloading this attachment:":"Při stahování této přílohy došlo k chybě:","This attachment is not downloaded or not decrypted yet":"Tato příloha ještě není stažena nebo dešifrována","Open...":"Otevřít...","Save as...":"Uložit jako...","Reveal file in folder":"Ukázat soubor ve složce","Copy path to clipboard":"Kopírovat cestu do schránky","Copy Link Address":"Kopírovat adresu odkazu","to-do":"úkol","note":"poznámka","Creating new %s...":"Vytvářím %s...","The following attachments are being watched for changes:":"Následující přílohy jsou sledovány, zda došlo k jejich změně:","The attachments will no longer be watched when you switch to a different note.":"Když přepnete na jinou poznámku, přílohy již nebudou sledovány.","In: %s":"V: %s","Select all":"Vybrat vše","Bold":"Tučně","Italic":"Kurzíva","Hyperlink":"Odkaz","Code":"Kód","Numbered List":"Číslovanáý seznam","Bulleted List":"Seznam s odrážkami","Checkbox":"Zaškrtávací pole","Heading":"Nadpis","Horizontal Rule":"Horizontální čára","Note title":"Název zápisníku","Search in current note":"Hledat v aktuální poznámce","Note body":"Tělo poznámky","ID":"ID","Created":"Vytvořeno","Updated":"Upraveno","Completed":"Dokončeno","Location":"Lokace","URL":"URL","Note History":"Historie poznámky","Markup":"Markup","Previous versions of this note":"Předchozí verze poznámky","Note properties":"Nastavení poznámek","Error: %s":"Chyba: %s","Disabled":"Vypnuto","Import":"Import","Command":"Příkaz","Keyboard Shortcut":"Klávesová zkratka","Quit":"Ukončit","Insert template":"Vložit šablonu","Actual Size":"Skutečná velikost","Website and documentation":"Web a dokumentace","Hide Joplin":"Skrýt Joplin","Close Window":"Zavřít akno","Preferences":"Nastavení","Options":"Nastavení","Press the shortcut":"StisLine truncated
|
||||
{"OK":"OK","Cancel":"Zrušit","The app is now going to close. Please relaunch it to complete the process.":"Aplikace se nyní vypne. Pro dokončení procesu ji znovu spusťte.","Goto Anything...":"Přejít kamkoliv...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportuji do \"%s\" jako formát \"%s\". Chvíli strpení...","Could not export notes: %s":"Nelze exportovat poznámky: %s","Current version is up-to-date.":"Současná verze je aktuální.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Je k dispozici update, chcete jej stáhnout?","Your version: %s":"Vaše verze: %s","New version: %s":"Nová verze: %s","Full Release Notes":"Úplné poznámky k verzi","Search...":"Hledat...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Poznámka \"%s\" byla úspěšně obnovena v zápisníku \"%s\".","This note has no history":"Tato poznámka nemá historii","Unsupported link or message: %s":"Nepodporovaný link či zpráva: %s","Restore":"Obnovit","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klikněte na \"%s\" pro obnovení poznámky. Poznámka bude zkopírována do zápisníku s názvem \"%s\". Současná verze poznámky nebude nahrazena či změněna.","Back":"Zpět","Remove":"Odstranit","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Smazat zápisník \"%s\"?\n\nBudou smazány i všechny poznámky a pod-zápisníky v tomto zápisníku.","Delete":"Odstranit","Remove tag \"%s\" from all notes?":"Odebrat tag \"%s\" ze všech poznámek?","Remove this search from the sidebar?":"Smazat tento hledaný výraz z panelu?","Export":"Export","All notes":"Všechny poznámky","Synchronise":"Synchronizovat","Notebooks":"Zápisníky","Tags":"Tagy","Decrypting items: %d/%d":"Rozšifrované položky: %d/%d","Fetching resources: %d/%d":"Stahování zdrojů: %d/%d","Sidebar":"Postranní lišta","Focus":"Přejít na","Please select where the sync status should be exported to":"Prosím vyberte, kam má být stav synchronizace exportován","Retry All":"Opakovat vše","Retry":"Znovu","strong text":"tučný text","emphasised text":"zvýrazněný text","Insert Hyperlink":"Vložit odkaz","List item":"Seznam položek","Layout":"Rozvržení","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Tato poznámka je prázdný. Klikněte na \"%s\" pro otevření editoru.","Cut":"Vyjmout","Copy":"Kopírovat","Paste":"Vložit","Checkbox list":"Zaškrtávací pole","Edit":"Upravit","Attach file":"Přiložit soubor","Code Block":"Blok kódu","Inline Code":"Vložený kód","Insert Date Time":"Vložit datum a čas","Drop notes or files here":"Sem přetáhněte poznámky nebo soubory","Code View":"Zobrazit kód","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Počkejte prosím na stažení a dešifrování všech příloh. Můžete také přepnout na %s a poznámku upravit.","There was an error downloading this attachment:":"Při stahování této přílohy došlo k chybě:","This attachment is not downloaded or not decrypted yet":"Tato příloha ještě není stažena nebo dešifrována","Open...":"Otevřít...","Save as...":"Uložit jako...","Reveal file in folder":"Ukázat soubor ve složce","Copy path to clipboard":"Kopírovat cestu do schránky","Copy Link Address":"Kopírovat adresu odkazu","to-do":"úkol","note":"poznámka","Creating new %s...":"Vytvářím %s...","The following attachments are being watched for changes:":"Následující přílohy jsou sledovány, zda došlo k jejich změně:","The attachments will no longer be watched when you switch to a different note.":"Když přepnete na jinou poznámku, přílohy již nebudou sledovány.","In: %s":"V: %s","Select all":"Vybrat vše","Bold":"Tučně","Italic":"Kurzíva","Hyperlink":"Odkaz","Code":"Kód","Numbered List":"Číslovanáý seznam","Bulleted List":"Seznam s odrážkami","Checkbox":"Zaškrtávací pole","Heading":"Nadpis","Horizontal Rule":"Horizontální čára","Note title":"Název zápisníku","Search in current note":"Hledat v aktuální poznámce","Note body":"Tělo poznámky","ID":"ID","Created":"Vytvořeno","Updated":"Upraveno","Completed":"Dokončeno","Location":"Lokace","URL":"URL","Note History":"Historie poznámky","Markup":"Markup","Previous versions of this note":"Předchozí verze poznámky","Note properties":"Nastavení poznámek","Error: %s":"Chyba: %s","Disabled":"Vypnuto","Import":"Import","Command":"Příkaz","Keyboard Shortcut":"Klávesová zkratka","Quit":"Ukončit","Insert template":"Vložit šablonu","Actual Size":"Skutečná velikost","Website and documentation":"Web a dokumentace","Hide Joplin":"Skrýt Joplin","Close Window":"Zavřít akno","Preferences":"Nastavení","Options":"Nastavení","Press the shortcut":"StisLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Fortryd","Exporting to \"%s\" as \"%s\" format. Please wait...":"Eksporterer til \"%s\" som \"%s\"-format. Vent venligst...","Current version is up-to-date.":"Aktuel version er nyeste.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Opdatering er til rådighed, vil du hente den nu?","Your version: %s":"Din version: %s","New version: %s":"Ny version: %s","Full Release Notes":"Fulde udgivelses noter","Search...":"Søg...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Noten \"%s\" er blevet gendannet til notesbogen \"%s\".","This note has no history":"Denne note har ingen historie","Unsupported link or message: %s":"Ugyldigt- eller ulovligt link eller besked: %s","Restore":"Gendan","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Tryk på \"%s\" for at gendanne noten. Den vil blive kopieret til notesbogen \"%s\". Den nuværende version af noten vil ikke blive erstattet eller ændret.","Back":"Tilbage","Remove":"Fjern","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Slet notesbogen \"%s\"?\n\nAlle noter og undernotesbøger i notesbogen bliver også slettet.","Delete":"Slet","Remove tag \"%s\" from all notes?":"Slet markeringen \"%s\" fra alle noter?","Remove this search from the sidebar?":"Slet denne søgning fra sidebjælke?","Export":"Eksporter","All notes":"Alle noter","Synchronise":"Synkroniser","Notebooks":"Notesbøger","Tags":"Mærker","Decrypting items: %d/%d":"Dekrypterede emner: %d/%d","Fetching resources: %d/%d":"Henter ressourcer: %d/%d","Sidebar":"Sidebar","Focus":"Fokuser","Please select where the sync status should be exported to":"Vælg hvor sync status skal eksporteres til","Retry":"Prøv igen","Insert Hyperlink":"Indsæt hyperlink","List item":"Listepunkt","Layout":"Layout","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Denne note er tom. Klik på \"%s\" for at starte editor og rette noten.","Cut":"Klip","Copy":"Kopier","Paste":"Indsæt","Edit":"Ret","Attach file":"Vedhæft fil","Code Block":"Kode blok","Insert Date Time":"Indsæt dato og tid","Open...":"Åben...","Save as...":"Gem som...","Copy path to clipboard":"Kopier sti til udklipsholderen","Copy Link Address":"Kopier link","to-do":"opgave","note":"note","Creating new %s...":"Opretter ny %s...","The following attachments are being watched for changes:":"Følgende vedhæftninger bliver overvåget for ændringer:","In: %s":"I: %s","Select all":"Vælg alt","Bold":"Fremhævet","Italic":"Kursiv","Hyperlink":"Hyperlink","Code":"Kode","Numbered List":"Nummeret liste","Bulleted List":"Punktliste","Checkbox":"Afkrydsningsfelt","Heading":"Overskrift","Horizontal Rule":"Vandret linje","Search in current note":"Søg i denne note","ID":"ID","Created":"Oprettet","Updated":"Opdateret","Completed":"Fuldført","Location":"Placering","URL":"URL","Note History":"Notehistore","Markup":"Markup","Previous versions of this note":"Tidligere udgaver af denne note","Note properties":"Note egenskaber","Disabled":"Deaktiveret","Import":"Importer","Keyboard Shortcut":"Tastaturgenvej","Quit":"Afslut","Actual Size":"Aktuelle størelse","Website and documentation":"Joplins hjemmeside og dokumentation","Close Window":"Luk vindue","Options":"Muligheder","Press the shortcut":"Klik genvejen","Save":"Gem","Restart and upgrade":"Genstart og upgrader","Some items cannot be synchronised.":"Nogle emner kan ikke synkroniseres.","View them now":"Vis dem nu","Some items cannot be decrypted.":"Nogle emner kan ikke krypteres.","One or more master keys need a password.":"En eller flere hovednøgler mangler et kodeord.","Set the password":"Indstil kodeord","The default encryption method has been changed, you should re-encrypt your data.":"Standard krypterings metoden er blevet ændret, du skal genkryptere dine data.","Statistics...":"Statistikker...","Rename":"Omdøb","Rename notebook:":"Omdøb notesbog:","New to-do":"Ny opgave","Toggle sidebar":"Slå sidebar til eller fra","Set alarm":"Indstil alarm","Set alarm:":"Indstil alarm:","PDF File":"PDF fil","New note":"Ny note","Move to notebook":"Flyt til notesbog","Move to notebook:":"Flyt til notesbog:","Toggle editor layout":"Skift editor layout","Rename tag:":"Omdøb mærke:","New notebook":"Ny notesbog","Notebook title:":"Notesbogs titel:","Share note...":"Del note...","Template file:":"Skabelonfil:","Add or remove tags:":"Tilføj eller slet mærker:","Print":"Udskriv","To allow Joplin to synchronise with Dropbox, please follow the steps below:":"For at Joplin kan synkronisere med Dropbox, skal man igennem nedenstående trin:","Step 1: Open this URL in your browser to authorise the application:":"Trin 1: Åben denne URL i din browser for at autorisere applikationen:","Step 2: Enter the code provided by Dropbox:":"Trin 2: Indtast koden, som er oplyLine truncated
|
||||
{"OK":"OK","Cancel":"Fortryd","Exporting to \"%s\" as \"%s\" format. Please wait...":"Eksporterer til \"%s\" som \"%s\"-format. Vent venligst...","Current version is up-to-date.":"Aktuel version er nyeste.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Opdatering er til rådighed, vil du hente den nu?","Your version: %s":"Din version: %s","New version: %s":"Ny version: %s","Full Release Notes":"Fulde udgivelses noter","Search...":"Søg...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Noten \"%s\" er blevet gendannet til notesbogen \"%s\".","This note has no history":"Denne note har ingen historie","Unsupported link or message: %s":"Ugyldigt- eller ulovligt link eller besked: %s","Restore":"Gendan","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Tryk på \"%s\" for at gendanne noten. Den vil blive kopieret til notesbogen \"%s\". Den nuværende version af noten vil ikke blive erstattet eller ændret.","Back":"Tilbage","Remove":"Fjern","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Slet notesbogen \"%s\"?\n\nAlle noter og undernotesbøger i notesbogen bliver også slettet.","Delete":"Slet","Remove tag \"%s\" from all notes?":"Slet markeringen \"%s\" fra alle noter?","Remove this search from the sidebar?":"Slet denne søgning fra sidebjælke?","Export":"Eksporter","All notes":"Alle noter","Synchronise":"Synkroniser","Notebooks":"Notesbøger","Tags":"Mærker","Decrypting items: %d/%d":"Dekrypterede emner: %d/%d","Fetching resources: %d/%d":"Henter ressourcer: %d/%d","Sidebar":"Sidebar","Focus":"Fokuser","Please select where the sync status should be exported to":"Vælg hvor sync status skal eksporteres til","Retry":"Prøv igen","Insert Hyperlink":"Indsæt hyperlink","List item":"Listepunkt","Layout":"Layout","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Denne note er tom. Klik på \"%s\" for at starte editor og rette noten.","Cut":"Klip","Copy":"Kopier","Paste":"Indsæt","Edit":"Ret","Attach file":"Vedhæft fil","Code Block":"Kode blok","Insert Date Time":"Indsæt dato og tid","Open...":"Åben...","Save as...":"Gem som...","Copy path to clipboard":"Kopier sti til udklipsholderen","Copy Link Address":"Kopier link","to-do":"opgave","note":"note","Creating new %s...":"Opretter ny %s...","The following attachments are being watched for changes:":"Følgende vedhæftninger bliver overvåget for ændringer:","In: %s":"I: %s","Select all":"Vælg alt","Bold":"Fremhævet","Italic":"Kursiv","Hyperlink":"Hyperlink","Code":"Kode","Numbered List":"Nummeret liste","Bulleted List":"Punktliste","Checkbox":"Afkrydsningsfelt","Heading":"Overskrift","Horizontal Rule":"Vandret linje","Search in current note":"Søg i denne note","ID":"ID","Created":"Oprettet","Updated":"Opdateret","Completed":"Fuldført","Location":"Placering","URL":"URL","Note History":"Notehistore","Markup":"Markup","Previous versions of this note":"Tidligere udgaver af denne note","Note properties":"Note egenskaber","Disabled":"Deaktiveret","Import":"Importer","Keyboard Shortcut":"Tastaturgenvej","Quit":"Afslut","Actual Size":"Aktuelle størelse","Website and documentation":"Joplins hjemmeside og dokumentation","Close Window":"Luk vindue","Options":"Muligheder","Press the shortcut":"Klik genvejen","Save":"Gem","Restart and upgrade":"Genstart og upgrader","Some items cannot be synchronised.":"Nogle emner kan ikke synkroniseres.","View them now":"Vis dem nu","Some items cannot be decrypted.":"Nogle emner kan ikke krypteres.","One or more master keys need a password.":"En eller flere hovednøgler mangler et kodeord.","Set the password":"Indstil kodeord","The default encryption method has been changed, you should re-encrypt your data.":"Standard krypterings metoden er blevet ændret, du skal genkryptere dine data.","Statistics...":"Statistikker...","Rename":"Omdøb","Rename notebook:":"Omdøb notesbog:","New to-do":"Ny opgave","Toggle sidebar":"Slå sidebar til eller fra","Set alarm":"Indstil alarm","Set alarm:":"Indstil alarm:","PDF File":"PDF fil","New note":"Ny note","Move to notebook":"Flyt til notesbog","Move to notebook:":"Flyt til notesbog:","Toggle editor layout":"Skift editor layout","Rename tag:":"Omdøb mærke:","New notebook":"Ny notesbog","Notebook title:":"Notesbogs titel:","Share note...":"Del note...","Template file:":"Skabelonfil:","Add or remove tags:":"Tilføj eller slet mærker:","Print":"Udskriv","To allow Joplin to synchronise with Dropbox, please follow the steps below:":"For at Joplin kan synkronisere med Dropbox, skal man igennem nedenstående trin:","Step 1: Open this URL in your browser to authorise the application:":"Trin 1: Åben denne URL i din browser for at autorisere applikationen:","Step 2: Enter the code provided by Dropbox:":"Trin 2: Indtast koden, som er oplyLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Abbrechen","The app is now going to close. Please relaunch it to complete the process.":"Die App wird nun geschlossen. Bitte starte sie erneut, um den Vorgang abzuschließen.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Gib den Titel einer Notiz oder einen Teil seines Inhalts ein, um dorthin zu springen. Oder gib # gefolgt von einem Schlagwort oder @ gefolgt vom Namen eines Notizbuchs ein. Oder gib : für eine Suche nach Kommandos ein.","Goto Anything...":"Gehe zu ...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Es wird nach „%s“ im Format „%s“ exportiert. Bitte warten ...","Could not export notes: %s":"Konnte Notizen nicht exportieren: %s","Current version is up-to-date.":"Die aktuelle Version ist auf dem neuesten Stand.","%s (pre-release)":"%s (Vorabversion)","An update is available, do you want to download it now?":"Es ist eine Aktualisierung verfügbar. Soll sie jetzt heruntergeladen werden?","Your version: %s":"Deine Version: %s","New version: %s":"Neue Version: %s","Full Release Notes":"Alle Versionshinweise","Search...":"Suchen ...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Die Notiz „%s“ wurde erfolgreich im Notizbuch „%s“ wiederhergestellt.","This note has no history":"Diese Notiz hat keinen Verlauf","Unsupported link or message: %s":"Nicht unterstützter Link oder Nachricht: %s","Restore":"Wiederherstellen","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klicke „%s“, um die Notiz wiederherzustellen. Sie wird in das Notizbuch namens „%s“ kopiert. Die aktuelle Version der Notiz wird nicht ersetzt oder verändert.","Back":"Zurück","Remove":"Entfernen","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Notizbuch „%s“ löschen?\n\nAlle Notizen und Unter-Notizbücher in diesem Notizbuch werden ebenfalls gelöscht.","Delete":"Löschen","Remove tag \"%s\" from all notes?":"Schlagwort „%s“ von allen Notizen entfernen?","Remove this search from the sidebar?":"Diese Suche von der Seitenleiste entfernen?","Export":"Exportieren","All notes":"Alle Notizen","Synchronise":"Synchronisieren","Notebooks":"Notizbücher","Tags":"Schlagwörter","Decrypting items: %d/%d":"Entschlüsselte Objekte: %d/%d","Fetching resources: %d/%d":"Anhänge abrufen: %d/%d","Sidebar":"Seitenleiste","Focus":"Fokus","Please select where the sync status should be exported to":"Bitte wähle aus, wohin der Synchronisations-Status exportiert werden soll","Retry All":"Erneut alle versuchen","Retry":"Erneut versuchen","strong text":"fetter Text","emphasised text":"hervorgehobener Text","Insert Hyperlink":"Weblink einfügen","List item":"Listeneintrag","Layout":"Layout","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Diese Notiz hat keinen Inhalt. Klicke auf „%s“, um den Editor zu aktivieren und die Notiz zu bearbeiten.","Cut":"Ausschneiden","Copy":"Kopieren","Paste":"Einfügen","Checkbox list":"Liste mit Kontrollkästchen","Edit":"Bearbeiten","Attach file":"Datei anhängen","Code Block":"Code-Block","Inline Code":"Code im Fließtext","Insert Date Time":"Datum / Uhrzeit einfügen","Drop notes or files here":"Notizen oder Dateien hierher ziehen","Code View":"Code-Ansicht","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Bitte warte, bis alle Anhänge heruntergeladen und entschlüsselt sind. Du kannst auch auf/zu %s wechseln, um die Notiz zu bearbeiten.","There was an error downloading this attachment:":"Es gab einen Fehler beim Herunterladen dieses Anhangs:","This attachment is not downloaded or not decrypted yet":"Dieser Anhang wurde noch nicht heruntergeladen oder entschlüsselt","Open...":"Öffnen ...","Save as...":"Speichern unter ...","Reveal file in folder":"Datei im Ordner anzeigen","Copy path to clipboard":"Pfad in Zwischenablage kopieren","Copy Link Address":"Link-Adresse kopieren","to-do":"Aufgabe","note":"Notiz","Creating new %s...":"Neue(s) %s wird erstellt ...","The following attachments are being watched for changes:":"Die folgenden Anhänge werden auf Änderungen überwacht:","The attachments will no longer be watched when you switch to a different note.":"Die Anhänge werden nicht mehr überwacht, wenn Sie zu einer anderen Notiz wechseln.","In: %s":"In: %s","Select all":"Alles auswählen","Bold":"Fett","Italic":"Kursiv","Hyperlink":"Hyperlink","Code":"Code","Numbered List":"Nummerierte Liste","Bulleted List":"Aufzählung","Checkbox":"Kontrollkästchen","Heading":"Überschrift","Horizontal Rule":"Horizontale Linie","Note title":"Notiz-Titel","Search in current note":"Aktuelle Notiz durchsuchen","Note body":"Notiz-Text","ID":"ID","Created":"Erstellt","Updated":"AktualisiLine truncated
|
||||
{"OK":"OK","Cancel":"Abbrechen","The app is now going to close. Please relaunch it to complete the process.":"Die App wird nun geschlossen. Bitte starte sie erneut, um den Vorgang abzuschließen.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Gib den Titel einer Notiz oder einen Teil seines Inhalts ein, um dorthin zu springen. Oder gib # gefolgt von einem Schlagwort oder @ gefolgt vom Namen eines Notizbuchs ein. Oder gib : für eine Suche nach Kommandos ein.","Goto Anything...":"Gehe zu ...","Command palette":"Befehlspalette","Exporting to \"%s\" as \"%s\" format. Please wait...":"Es wird nach „%s“ im Format „%s“ exportiert. Bitte warten ...","Could not export notes: %s":"Konnte Notizen nicht exportieren: %s","Current version is up-to-date.":"Die aktuelle Version ist auf dem neuesten Stand.","%s (pre-release)":"%s (Vorabversion)","An update is available, do you want to download it now?":"Es ist eine Aktualisierung verfügbar. Soll sie jetzt heruntergeladen werden?","Your version: %s":"Deine Version: %s","New version: %s":"Neue Version: %s","Download":"Herunterladen","Full Release Notes":"Alle Versionshinweise","Search...":"Suchen ...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Die Notiz „%s“ wurde erfolgreich im Notizbuch „%s“ wiederhergestellt.","This note has no history":"Diese Notiz hat keinen Verlauf","Unsupported link or message: %s":"Nicht unterstützter Link oder Nachricht: %s","Restore":"Wiederherstellen","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klicke „%s“, um die Notiz wiederherzustellen. Sie wird in das Notizbuch namens „%s“ kopiert. Die aktuelle Version der Notiz wird nicht ersetzt oder verändert.","Back":"Zurück","Remove":"Entfernen","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Notizbuch „%s“ löschen?\n\nAlle Notizen und Unter-Notizbücher in diesem Notizbuch werden ebenfalls gelöscht.","Delete":"Löschen","Remove tag \"%s\" from all notes?":"Schlagwort „%s“ von allen Notizen entfernen?","Remove this search from the sidebar?":"Diese Suche von der Seitenleiste entfernen?","Export":"Exportieren","All notes":"Alle Notizen","Synchronise":"Synchronisieren","Notebooks":"Notizbücher","Tags":"Schlagwörter","Decrypting items: %d/%d":"Entschlüsselte Objekte: %d/%d","Fetching resources: %d/%d":"Anhänge abrufen: %d/%d","Sidebar":"Seitenleiste","Focus":"Fokus","Please select where the sync status should be exported to":"Bitte wähle aus, wohin der Synchronisations-Status exportiert werden soll","Retry All":"Erneut alle versuchen","Retry":"Erneut versuchen","strong text":"fetter Text","emphasised text":"hervorgehobener Text","Insert Hyperlink":"Weblink einfügen","List item":"Listeneintrag","Layout":"Layout","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Diese Notiz hat keinen Inhalt. Klicke auf „%s“, um den Editor zu aktivieren und die Notiz zu bearbeiten.","Cut":"Ausschneiden","Copy":"Kopieren","Paste":"Einfügen","Checkbox list":"Liste mit Kontrollkästchen","Edit":"Bearbeiten","Attach file":"Datei anhängen","Code Block":"Code-Block","Inline Code":"Code im Fließtext","Insert Date Time":"Datum / Uhrzeit einfügen","Drop notes or files here":"Notizen oder Dateien hierher ziehen","Code View":"Code-Ansicht","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Bitte warte, bis alle Anhänge heruntergeladen und entschlüsselt sind. Du kannst auch auf/zu %s wechseln, um die Notiz zu bearbeiten.","There was an error downloading this attachment:":"Es gab einen Fehler beim Herunterladen dieses Anhangs:","This attachment is not downloaded or not decrypted yet":"Dieser Anhang wurde noch nicht heruntergeladen oder entschlüsselt","Open...":"Öffnen ...","Save as...":"Speichern unter ...","Reveal file in folder":"Datei im Ordner anzeigen","Copy path to clipboard":"Pfad in Zwischenablage kopieren","Copy Link Address":"Link-Adresse kopieren","to-do":"Aufgabe","note":"Notiz","Creating new %s...":"Neue(s) %s wird erstellt ...","The following attachments are being watched for changes:":"Die folgenden Anhänge werden auf Änderungen überwacht:","The attachments will no longer be watched when you switch to a different note.":"Die Anhänge werden nicht mehr überwacht, wenn Sie zu einer anderen Notiz wechseln.","In: %s":"In: %s","Select all":"Alles auswählen","Bold":"Fett","Italic":"Kursiv","Hyperlink":"Hyperlink","Code":"Code","Numbered List":"Nummerierte Liste","Bulleted List":"Aufzählung","Checkbox":"Kontrollkästchen","Heading":"Überschrift","Horizontal Rule":"Horizontale Linie","Note title":"Notiz-Titel","Search in current note":"Aktuelle Notiz durchsuchen","Note body":"NLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"Εντάξει","Cancel":"Άκυρο","Goto Anything...":"Γρήγορη Μετακίνηση...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Γίνεται εξαγωγή στο \"%s\" με μορφή \"%s\". Παρακαλώ περιμένετε...","Could not export notes: %s":"Δεν ήταν δυνατή η εξαγωγή σημειώσεων: %s","Current version is up-to-date.":"Η τρέχουσα έκδοση είναι ενημερωμένη.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Υπάρχει διαθέσιμη μια ενημέρωση, θέλετε να την κατεβάσετε τώρα;","Your version: %s":"Η έκδοσή σου: %s","New version: %s":"Νέα έκδοση: %s","Full Release Notes":"Πλήρεις σημειώσεις έκδοσης","Search...":"Αναζήτηση...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Η σημείωση \"%s\" έχει επαναφερθεί με επιτυχία στο σημειωματάριο \"%s\".","This note has no history":"Αυτή η σημείωση δεν έχει ιστορικό","Unsupported link or message: %s":"Μη υποστηριζόμενος σύνδεσμος ή μήνυμα: %s","Restore":"Επαναφορά","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Κάντε κλικ στο \"%s\" για να επαναφέρετε τη σημείωση. Θα αντιγραφεί στο σημειωματάριο που ονομάζεται \"%s\". Η τρέχουσα έκδοση της σημείωσης δεν αντικαθίσταται ή τροποποιείται.","Back":"Πίσω","Remove":"Κατάργηση","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Διαγραφή σημειωματάριου \"%s\";\n\nΌλες οι σημειώσεις και τα υπο-σημειωματάρια που περιέχει θα διαγραφούν επίσης.","Delete":"Διαγραφή","Remove tag \"%s\" from all notes?":"Κατάργηση της ετικέτας \"%s\" από όλες τις σημειώσεις;","Remove this search from the sidebar?":"Κατάργηση αυτής της αναζήτησης από την πλευρική μπάρα;","Export":"Εξαγωγή","All notes":"Όλες οι σημειώσεις","Synchronise":"Συγχρονισμός","Notebooks":"Σημειωματάρια","Tags":"Ετικέτες","Decrypting items: %d/%d":"Αποκρυπτογράφηση αντικειμένων: %d/%d","Fetching resources: %d/%d":"Λήψη πόρων: %d/%d","Sidebar":"Πλευρική μπάρα","Focus":"Εστίαση σε","Please select where the sync status should be exported to":"Επιλέξτε την τοποθεσία στην οποία θα εξαχθεί η κατάσταση του συγχρονισμού","Retry All":"Δοκιμή ξανά για Όλα","Retry":"Δοκιμή ξανά","strong text":"έντονη γραφή","emphasised text":"κείμενο με έμφαση","Insert Hyperlink":"Εισαγωγή υπερσύνδεσης","List item":"Στοιχείο λίστας","Layout":"Διάταξη","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Αυτή η σημείωση δεν περιέχει περιεχόμενο. Κάντε κλικ στο \"%s\" για να επεξεργαστείτε τη σημείωση στον editor.","Cut":"Αποκοπή","Copy":"Αντιγραφή","Paste":"Επικόλληση","Checkbox list":"Λίστα πλαισίων ελέγχου","Edit":"Επεξεργασία","Attach file":"Επισύναψη αρχείου","Code Block":"Μπλοκ Κώδικα","Inline Code":"Ενσωματωμένος κώδικας","Insert Date Time":"Εισαγωγή Ημερομηνίας Ώρας","Drop notes or files here":"Απόθεση σημειώσεων ή αρχείων εδώ","Code View":"Προβολή κώδικα","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Παρακαλώ περιμένετε να γίνει λήψη και αποκρυπτογράφηση όλων των συνημμένων. Μπορείτε επίσης να μεταβείτε στο %s για να επεξεργαστείτε τη σημείωση.","There was an error downloading this attachment:":"Παρουσιάστηκε σφάλμα κατά τη λήψη αυτού του συνημμένου:","This attachment is not downloaded or not decrypted yet":"Αυτό το συνημμένο δεν έχει ακόμη μεταφορτωθεί ή αποκρυπτογραφηθεί","Open...":"Άνοιγμα...","Save as...":"Αποθήκευση ως...","Reveal file in folder":"Αποκάλυψη αρχLine truncated
|
||||
{"OK":"Εντάξει","Cancel":"Άκυρο","Goto Anything...":"Γρήγορη Μετακίνηση...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Γίνεται εξαγωγή στο \"%s\" με μορφή \"%s\". Παρακαλώ περιμένετε...","Could not export notes: %s":"Δεν ήταν δυνατή η εξαγωγή σημειώσεων: %s","Current version is up-to-date.":"Η τρέχουσα έκδοση είναι ενημερωμένη.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Υπάρχει διαθέσιμη μια ενημέρωση, θέλετε να την κατεβάσετε τώρα;","Your version: %s":"Η έκδοσή σου: %s","New version: %s":"Νέα έκδοση: %s","Full Release Notes":"Πλήρεις σημειώσεις έκδοσης","Search...":"Αναζήτηση...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Η σημείωση \"%s\" έχει επαναφερθεί με επιτυχία στο σημειωματάριο \"%s\".","This note has no history":"Αυτή η σημείωση δεν έχει ιστορικό","Unsupported link or message: %s":"Μη υποστηριζόμενος σύνδεσμος ή μήνυμα: %s","Restore":"Επαναφορά","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Κάντε κλικ στο \"%s\" για να επαναφέρετε τη σημείωση. Θα αντιγραφεί στο σημειωματάριο που ονομάζεται \"%s\". Η τρέχουσα έκδοση της σημείωσης δεν αντικαθίσταται ή τροποποιείται.","Back":"Πίσω","Remove":"Κατάργηση","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Διαγραφή σημειωματάριου \"%s\";\n\nΌλες οι σημειώσεις και τα υπο-σημειωματάρια που περιέχει θα διαγραφούν επίσης.","Delete":"Διαγραφή","Remove tag \"%s\" from all notes?":"Κατάργηση της ετικέτας \"%s\" από όλες τις σημειώσεις;","Remove this search from the sidebar?":"Κατάργηση αυτής της αναζήτησης από την πλευρική μπάρα;","Export":"Εξαγωγή","All notes":"Όλες οι σημειώσεις","Synchronise":"Συγχρονισμός","Notebooks":"Σημειωματάρια","Tags":"Ετικέτες","Decrypting items: %d/%d":"Αποκρυπτογράφηση αντικειμένων: %d/%d","Fetching resources: %d/%d":"Λήψη πόρων: %d/%d","Sidebar":"Πλευρική μπάρα","Focus":"Εστίαση σε","Please select where the sync status should be exported to":"Επιλέξτε την τοποθεσία στην οποία θα εξαχθεί η κατάσταση του συγχρονισμού","Retry All":"Δοκιμή ξανά για Όλα","Retry":"Δοκιμή ξανά","strong text":"έντονη γραφή","emphasised text":"κείμενο με έμφαση","Insert Hyperlink":"Εισαγωγή υπερσύνδεσης","List item":"Στοιχείο λίστας","Layout":"Διάταξη","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Αυτή η σημείωση δεν περιέχει περιεχόμενο. Κάντε κλικ στο \"%s\" για να επεξεργαστείτε τη σημείωση στον editor.","Cut":"Αποκοπή","Copy":"Αντιγραφή","Paste":"Επικόλληση","Checkbox list":"Λίστα πλαισίων ελέγχου","Edit":"Επεξεργασία","Attach file":"Επισύναψη αρχείου","Code Block":"Μπλοκ Κώδικα","Inline Code":"Ενσωματωμένος κώδικας","Insert Date Time":"Εισαγωγή Ημερομηνίας Ώρας","Drop notes or files here":"Απόθεση σημειώσεων ή αρχείων εδώ","Code View":"Προβολή κώδικα","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Παρακαλώ περιμένετε να γίνει λήψη και αποκρυπτογράφηση όλων των συνημμένων. Μπορείτε επίσης να μεταβείτε στο %s για να επεξεργαστείτε τη σημείωση.","There was an error downloading this attachment:":"Παρουσιάστηκε σφάλμα κατά τη λήψη αυτού του συνημμένου:","This attachment is not downloaded or not decrypted yet":"Αυτό το συνημμένο δεν έχει ακόμη μεταφορτωθεί ή αποκρυπτογραφηθεί","Open...":"Άνοιγμα...","Save as...":"Αποθήκευση ως...","Reveal file in folder":"Αποκάλυψη αρχLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"Synchronise":"Synchronize","emphasised text":"emphasized text","Some items cannot be synchronised.":"Some items cannot be synchronized.","Some items cannot be decrypted.":"Some items cannot be synchronized.","To allow Joplin to synchronise with Dropbox, please follow the steps below:":"To allow Joplin to synchronize with Dropbox, please follow the steps below:","Step 1: Open this URL in your browser to authorise the application:":"Step 1: Open this URL in your browser to authorize the application:","Authorisation token:":"Authorization token:","This authorisation token is only needed to allow third-party applications to access Joplin.":"This authorization token is only needed to allow third-party applications to access Joplin.","Synchronisation Status":"Synchronization Status","In order to do so, your entire data set will have to be encrypted and synchronised, so it is best to run it overnight.\n\nTo start, please follow these instructions:\n\n1. Synchronise all your devices.\n2. Click \"%s\".\n3. Let it run to completion. While it runs, avoid changing any note on your other devices, to avoid conflicts.\n4. Once sync is done on this device, sync all your other devices and let it run to completion.\n\nImportant: you only need to run this ONCE on one device.":"In order to do so, your entire data set will have to be encrypted and synchronized, so it is best to run it overnight.\n\nTo start, please follow these instructions:\n\n1. Synchronize all your devices.\n2. Click \"%s\".\n3. Let it run to completion. While it runs, avoid changing any note on your other devices, to avoid conflicts.\n4. Once sync is done on this device, sync all your other devices and let it run to completion.\n\nImportant: you only need to run this ONCE on one device.","Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?":"Disabling encryption means *all* your notes and attachments are going to be re-synchronized and sent unencrypted to the sync target. Do you wish to continue?","Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.":"Enabling encryption means *all* your notes and attachments are going to be re-synchronized and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.","The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.":"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronization.","Check synchronisation configuration":"Check synchronization configuration","Search in all the notes":"Search in all notes","Synchronising...":"Synchronizing...","In order to use file system synchronisation your permission to write to external storage is required.":"In order to use file system synchronization your permission to write to external storage is required.","- Storage: to allow attaching files to notes and to enable filesystem synchronisation.":"- Storage: to allow attaching files to notes and to enable filesystem synchronization.","The application has been authorised - you may now close this browser tab.":"The application has been authorized - you may now close this browser tab.","The application has been successfully authorised.":"The application has been successfully authorized.","Solarised Light":"Solarized Light","Solarised Dark":"Solarized Dark","Synchronisation target":"Synchronization target","The target to synchonise to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).":"The target to synchonize to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).","Directory to synchronise with (absolute path)":"Directory to synchronize with (absolute path)","Attachment download behaviour":"Attachment download behavior","This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronised, thus reducing the number of conflicts.":"This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronized, thus reducing the number of conflicts.","Start application minimised in the tray icon":"Start application minimized in the tray icon","Synchronisation interval":"Synchronization interval","Comma-separated list of paths to directorLine truncated
|
||||
{"Synchronise":"Synchronize","emphasised text":"emphasized text","Some items cannot be synchronised.":"Some items cannot be synchronized.","Some items cannot be decrypted.":"Some items cannot be synchronized.","To allow Joplin to synchronise with Dropbox, please follow the steps below:":"To allow Joplin to synchronize with Dropbox, please follow the steps below:","Step 1: Open this URL in your browser to authorise the application:":"Step 1: Open this URL in your browser to authorize the application:","Authorisation token:":"Authorization token:","This authorisation token is only needed to allow third-party applications to access Joplin.":"This authorization token is only needed to allow third-party applications to access Joplin.","Synchronisation Status":"Synchronization Status","In order to do so, your entire data set will have to be encrypted and synchronised, so it is best to run it overnight.\n\nTo start, please follow these instructions:\n\n1. Synchronise all your devices.\n2. Click \"%s\".\n3. Let it run to completion. While it runs, avoid changing any note on your other devices, to avoid conflicts.\n4. Once sync is done on this device, sync all your other devices and let it run to completion.\n\nImportant: you only need to run this ONCE on one device.":"In order to do so, your entire data set will have to be encrypted and synchronized, so it is best to run it overnight.\n\nTo start, please follow these instructions:\n\n1. Synchronize all your devices.\n2. Click \"%s\".\n3. Let it run to completion. While it runs, avoid changing any note on your other devices, to avoid conflicts.\n4. Once sync is done on this device, sync all your other devices and let it run to completion.\n\nImportant: you only need to run this ONCE on one device.","Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?":"Disabling encryption means *all* your notes and attachments are going to be re-synchronized and sent unencrypted to the sync target. Do you wish to continue?","Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.":"Enabling encryption means *all* your notes and attachments are going to be re-synchronized and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.","The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.":"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronization.","Check synchronisation configuration":"Check synchronization configuration","Search in all the notes":"Search in all notes","Synchronising...":"Synchronizing...","In order to use file system synchronisation your permission to write to external storage is required.":"In order to use file system synchronization your permission to write to external storage is required.","- Storage: to allow attaching files to notes and to enable filesystem synchronisation.":"- Storage: to allow attaching files to notes and to enable filesystem synchronization.","The application has been authorised - you may now close this browser tab.":"The application has been authorized - you may now close this browser tab.","The application has been successfully authorised.":"The application has been successfully authorized.","Solarised Light":"Solarized Light","Solarised Dark":"Solarized Dark","Synchronisation target":"Synchronization target","The target to synchronise to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).":"The target to synchronize to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).","Directory to synchronise with (absolute path)":"Directory to synchronize with (absolute path)","Attachment download behaviour":"Attachment download behavior","This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronised, thus reducing the number of conflicts.":"This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronized, thus reducing the number of conflicts.","Start application minimised in the tray icon":"Start application minimized in the tray icon","Synchronisation interval":"Synchronization interval","Comma-separated list of paths to directLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Cancelar","The app is now going to close. Please relaunch it to complete the process.":"La aplicación se va a cerrar. Por favor, vuelva a iniciarla para completar el proceso.","Goto Anything...":"Ir a...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportando el formato de «%s» a «%s». Por favor espere...","Could not export notes: %s":"No se pudo exportar las notas: %s","Current version is up-to-date.":"La versión actual está actualizada.","%s (pre-release)":"%s (prelanzamiento)","An update is available, do you want to download it now?":"Hay disponible una actualización. ¿Quiere descargarla ahora?","Your version: %s":"Tu versión: %s","New version: %s":"Nueva versión: %s","Full Release Notes":"Notas completas de la versión","Search...":"Buscar...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"La nota «%s» se ha restaurado correctamente en la libreta «%s».","This note has no history":"Esta nota no dispone de historial","Unsupported link or message: %s":"Enlace o mensaje no soportado: %s","Restore":"Restaurar","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Pulse «%s» para restaurar la nota. Se copiará en la libreta «%s». La versión actual de la nota no se reemplazará ni se modificará.","Back":"Atrás","Remove":"Eliminar","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Borrar Libreta «%s»?\n\nTodas las notas y sublibretas de esta libreta serán borradas.","Delete":"Eliminar","Remove tag \"%s\" from all notes?":"Desea borrar las etiquetas pertenecientes a «%s» de todas las notas?","Remove this search from the sidebar?":"¿Desea eliminar esta búsqueda de la barra lateral?","Export":"Exportar","All notes":"Todas las notas","Synchronise":"Sincronizar","Notebooks":"Libretas","Tags":"Etiquetas","Decrypting items: %d/%d":"Descifrando elementos: %d/%d","Fetching resources: %d/%d":"Obteniendo recursos: %d/%d","Sidebar":"Barra lateral","Focus":"Foco","Please select where the sync status should be exported to":"Seleccione a dónde se debería exportar el estado de sincronización","Retry All":"Reintentar todos","Retry":"Reintento","strong text":"texto destacado","emphasised text":"texto resaltado","Insert Hyperlink":"Insertar hipervínculo","List item":"Listar elementos","Layout":"Diseño","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Esta nota no tiene contenido. Pulse en «%s» para cambiar al editor y editar la nota.","Cut":"Cortar","Copy":"Copiar","Paste":"Pegar","Checkbox list":"Casilla","Edit":"Editar","Attach file":"Adjuntar archivo","Code Block":"Bloque de Código","Inline Code":"Código Integrado","Insert Date Time":"Introduce fecha","Drop notes or files here":"Suelta notas o archivos aquí","Code View":"Código","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Por favor espere a que todos los adjuntos hayan sido descargados y descifrados. Puede también cambiar a %s para editar la nota.","There was an error downloading this attachment:":"Ha habido un error descargando este adjunto:","This attachment is not downloaded or not decrypted yet":"Este adjunto no ha sido descargado o descifrado todavía","Open...":"Abrir...","Save as...":"Guardar como...","Reveal file in folder":"Mostrar archivo en directorio","Copy path to clipboard":"Copiar la ruta en el portapapeles","Copy Link Address":"Copiar enlace","to-do":"lista de tareas","note":"nota","Creating new %s...":"Creando nuevo %s...","The following attachments are being watched for changes:":"Los siguientes adjuntos están siendo vigilados para ver si hay cambios:","The attachments will no longer be watched when you switch to a different note.":"Los archivos adjuntos ya no se verán cuándo cambies a una nota diferente.","In: %s":"En: %s","Select all":"Seleccionar todo","Bold":"Negrita","Italic":"Cursiva","Hyperlink":"Hipervínculo","Code":"Código","Numbered List":"Lista numerada","Bulleted List":"Lista con viñetas","Checkbox":"Casilla","Heading":"Título","Horizontal Rule":"Regla horizontal","Note title":"Titulo de nota","Search in current note":"Buscar en nota actual","Note body":"Cuerpo de nota","ID":"ID","Created":"Creado","Updated":"Actualizado","Completed":"Completado","Location":"Localización","URL":"URL","Note History":"Historial\n de notas","Markup":"Aumento","Previous versions of this note":"Versiones anteriores de esta nota","Note properties":"Propiedades de nota","Error: %s":"Error: %s","Disabled":"Deshabilitado","Import":"Importar","Command":"Comando","Keyboard Shortcut":"Atajo de teclado","Quit":"Salir","Insert template":"Insertar plantilla","Actual Size":"Tamaño actual","Website and documentation":"Sitio web y documentación","Hide Joplin":"Ocultar Joplin","Close Window":"Cerrar Ventana","Preferences":"PreLine truncated
|
||||
{"OK":"OK","Cancel":"Cancelar","The app is now going to close. Please relaunch it to complete the process.":"La aplicación se va a cerrar. Por favor, vuelva a iniciarla para completar el proceso.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Escriba el título de una nota o parte de su contenido para abrirla. O escriba # seguido del nombre de una etiqueta, o @ seguido del nombre de una libreta. O escriba : para buscar comandos.","Goto Anything...":"Ir a...","Command palette":"Paleta de comandos","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportando a «%s» como formato «%s». Por favor espere...","Could not export notes: %s":"No se pudo exportar las notas: %s","Current version is up-to-date.":"La versión actual está actualizada.","%s (pre-release)":"%s (prelanzamiento)","An update is available, do you want to download it now?":"Está disponible una actualización. ¿Quiere descargarla ahora?","Your version: %s":"Su versión: %s","New version: %s":"Nueva versión: %s","Download":"Descargado","Full Release Notes":"Notas Completas de la Versión","Search...":"Buscar...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"La nota «%s» se ha restaurado exitosamente a la libreta «%s».","This note has no history":"Esta nota no tiene historial","Unsupported link or message: %s":"Enlace o mensaje no soportado: %s","Restore":"Restaurar","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Haga clic en «%s» para restaurar la nota. Será copiada en la libreta «%s». La versión actual de la nota no se reemplazará ni se modificará.","Back":"Atrás","Remove":"Eliminar","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"¿Borrar libreta «%s»?\n\nTodas las notas y sublibretas de esta libreta serán borradas.","Delete":"Borrar","Remove tag \"%s\" from all notes?":"¿Desea eliminar la etiqueta «%s» de todas las notas?","Remove this search from the sidebar?":"¿Desea eliminar esta búsqueda de la barra lateral?","Export":"Exportar","All notes":"Todas las notas","Synchronise":"Sincronizar","Notebooks":"Libretas","Tags":"Etiquetas","Decrypting items: %d/%d":"Descifrando elementos: %d/%d","Fetching resources: %d/%d":"Obteniendo recursos: %d/%d","Sidebar":"Barra lateral","Focus":"Enfocar","Please select where the sync status should be exported to":"Seleccione a dónde se debería exportar el estado de sincronización","Retry All":"Reintentar Todos","Retry":"Reintentar","strong text":"texto en negrita","emphasised text":"texto en cursiva","Insert Hyperlink":"Insertar Hipervínculo","List item":"Listar elemento","Layout":"Diseño","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Esta nota no tiene contenido. Haga clic en «%s» para cambiar al editor y editar la nota.","Cut":"Cortar","Copy":"Copiar","Paste":"Pegar","Checkbox list":"Casillas","Edit":"Editar","Attach file":"Adjuntar archivo","Code Block":"Bloque de Código","Inline Code":"Código Integrado","Insert Date Time":"Introducir fecha","Drop notes or files here":"Suelta notas o archivos aquí","Code View":"Código","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Por favor espere a que todos los adjuntos hayan sido descargados y descifrados. Puede también cambiar a %s para editar la nota.","There was an error downloading this attachment:":"Ha habido un error al descargar este adjunto:","This attachment is not downloaded or not decrypted yet":"Este adjunto todavía no ha sido descargado o descifrado","Open...":"Abrir...","Save as...":"Guardar como...","Reveal file in folder":"Mostrar archivo en carpeta","Copy path to clipboard":"Copiar la ruta al portapapeles","Copy Link Address":"Copiar Enlace","to-do":"tarea","note":"nota","Creating new %s...":"Creando nuevo %s...","This Rich Text editor has a number of limitations and it is recommended to be aware of them before using it.":"Este editor de Texto Enriquecido tiene ciertas limitaciones y se recomienda estar consciente de estas antes de usarlo.","Read more about it":"Leer más al respecto","Dismiss":"Descartar","The following attachments are being watched for changes:":"Los adjuntos siguientes están siendo vigilados por cambios:","The attachments will no longer be watched when you switch to a different note.":"Los adjuntos no serán vigilados cuando cambie a una nota diferente.","In: %s":"En: %s","Select all":"Seleccionar todo","Bold":"Negrita","Italic":"Cursiva","Hyperlink":"Hipervínculo","Code":"Código","Numbered List":"Lista numerada","Bulleted List":"Lista con viñetas","Checkbox":"Casilla","Heading":"Título","Horizontal Rule":"Regla horizontal","Delete line":"Borrar línea","Undo":"Deshacer","Redo":"Rehacer",Line truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Utzi","Unsupported link or message: %s":"Esteka edo mezu ez dago onartua: %s","Back":"Atzera","Delete":"Ezabatu","Remove this search from the sidebar?":"Kendu bilaketa hori ohar guztietatik?","Synchronise":"Sinkronizatu","Notebooks":"Koadernoak","Tags":"Etiketak","Layout":"Diseinua","Cut":"Moztu","Copy":"Kopiatu","Paste":"Itsatsi","Edit":"Editatu","Attach file":"Erantsi fitxategia","ID":"ID","Created":"Sortua","Updated":"Eguneratua","Disabled":"Desgaituta","Import":"Inportatu","Quit":"Irten","Website and documentation":"Web orria eta dokumentazioa (en)","Options":"Aukerak","Save":"Gorde","Some items cannot be synchronised.":"Zenbait item ezin dira sinkronizatu.","View them now":"Ikusi hori orain","Some items cannot be decrypted.":"Zenbait item ezin dira deszifratu.","Set the password":"Ezarri pasahitza","Rename":"Berrizendatu","Rename notebook:":"Berrizendatu koadernoa:","New to-do":"Zeregin berria","Set alarm":"Ezarri alarma","Set alarm:":"Ezarri alarma:","New note":"Ohar berria","New notebook":"Koaderno berria","Notebook title:":"Koadernoaren izenburua: ","Add or remove tags:":"Gehitu edo ezabatu etiketak:","Synchronisation Status":"Sinkronizazioaren egoera","About Joplin":"Joplin-i buruz","New notebook \"%s\" will be created and file \"%s\" will be imported into it":"\"%s\" koaderno berria sortuko da eta \"%s\" Fitxategia inportatuko da bertara","Found: %d.":"Aurkitua: %d","Created: %d.":"Sortuta: %d.","Updated: %d.":"Eguneratuta: %d.","Skipped: %d.":"Saltatuta: %d.","Resources: %d.":"Baliabideak: %d.","Tagged: %d.":"Etiketatuta: %d.","The notes have been imported: %s":"Oharrak inportatu dira: %s","Switch between note and to-do type":"Aldatu oharra eta zeregin eren artean.","Authentication was not completed (did not receive an authentication token).":"Autentifikazioa ez da egin osorik (ez du token-ik hartu).","Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?":"Zifratua desgaitzeak esan nahi du zure ohar eta eranskin *guztiak* berriro deszifratuta sinkronizatuko eta bidaliko direla sinkronizazio helburura. Segitu nahi duzu?","Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.":"Zifratua gaitzeak esan nahi du zure ohar eta eranskin *guztiak* zifratuta sinkronizatuko eta bidaliko direla sinkronizazio helburura. Ez galdu pasahitza, bera izango baita datuak deszifratzeko bide *bakarra*! Zifratua baimentzeko, mesedez, aurretik sartu zure pasahitza.","Disable encryption":"Zifratzea desgaitu","Enable encryption":"Zifratua gaitu","Master Keys":"Pasahitz nagusia","Active":"Aktibo","Source":"Iturburua","Password":"Pasahitza","Password OK":"Pasahitza ondo","Status":"Egoera","Encryption is:":"Zifratua da:","Enabled":"Gaituta","OneDrive Login":"Logeatu OneDriven","Clear":"Garbitu","No notes in here. Create one by clicking on \"New note\".":"Hemen ez dago oharrik. Sortu bat \"Ohar berria\" sakatuta.","There is currently no notebook. Create one by clicking on \"New notebook\".":"Momentuz ez dago koadernorik. Sortu bat \"Koaderno berria\" sakatuta.","Search in all the notes":"Bilatu ohar guztietan","Untitled":"Titulu gabekoa","Error opening note in editor: %s":"Errorea editorean oharra zabaltzean: %s","Delete these notes?":"Oharrok ezabatu?","Configuration":"Konfigurazioa","There are currently no notes. Create one by clicking on the (+) button.":"Ez dago oharrik. Sortu bat (+) botoian klik eginaz.","The notebook could not be saved: %s":"Koadernoa ezin gorde daiteke: %s","Edit notebook":"Editatu koadernoa","Login with OneDrive":"Login with OneDrive","Master Key %s":"Pasahitz Nagusia %s","Created: %s":"Sortuta: %s","Password:":"Pasahitza:","Password cannot be empty":"Pasahitza ezin utz daiteke hutsik","Enable":"Gaituta","Encryption Config":"Zifratze Ezarpenak","Encryption is: %s":"Zifratzea da: %s","Log":"Egunkaria","Export Debug Report":"Esportatu arazketa txostena","This note has been modified:":"Ohar hau mugitua izan da:","Save changes":"Gorde aldaketak","Discard changes":"Bertan behera utzi aldaketak","Delete note?":"Oharra ezabatu?","Unsupported image type: %s":"Irudi formatua ez onartua: %s","View on map":"Ikusi mapan","Attach photo":"Argazkia erantsi","Convert to note":"Oharra bihurtu","Convert to todo":"Zeregina bihurtu","Search":"Bilatu","The application has been authorised - you may now close this browser tab.":"Aplikazioak baimena hartu du - Orain fitxa hau zarratu dezakezu.","The application has been successfully authorised.":"Aplikazioak baimena hartu du.","Cannot access %s":"Ezin atzituta %s","Conflicts":"Gatazkak","Notebooks cannot be named \"%s\", which is a reserved title.":"Koadernoak ezin izendatu daitezke \"%s\", izen hori Joplinek gordeta daLine truncated
|
||||
{"OK":"OK","Cancel":"Utzi","Unsupported link or message: %s":"Esteka edo mezu ez dago onartua: %s","Back":"Atzera","Delete":"Ezabatu","Remove this search from the sidebar?":"Kendu bilaketa hori ohar guztietatik?","Synchronise":"Sinkronizatu","Notebooks":"Koadernoak","Tags":"Etiketak","Layout":"Diseinua","Cut":"Moztu","Copy":"Kopiatu","Paste":"Itsatsi","Edit":"Editatu","Attach file":"Erantsi fitxategia","ID":"ID","Created":"Sortua","Updated":"Eguneratua","Disabled":"Desgaituta","Import":"Inportatu","Quit":"Irten","Website and documentation":"Web orria eta dokumentazioa (en)","Options":"Aukerak","Save":"Gorde","Some items cannot be synchronised.":"Zenbait item ezin dira sinkronizatu.","View them now":"Ikusi hori orain","Some items cannot be decrypted.":"Zenbait item ezin dira deszifratu.","Set the password":"Ezarri pasahitza","Rename":"Berrizendatu","Rename notebook:":"Berrizendatu koadernoa:","New to-do":"Zeregin berria","Set alarm":"Ezarri alarma","Set alarm:":"Ezarri alarma:","New note":"Ohar berria","New notebook":"Koaderno berria","Notebook title:":"Koadernoaren izenburua: ","Add or remove tags:":"Gehitu edo ezabatu etiketak:","Synchronisation Status":"Sinkronizazioaren egoera","About Joplin":"Joplin-i buruz","New notebook \"%s\" will be created and file \"%s\" will be imported into it":"\"%s\" koaderno berria sortuko da eta \"%s\" Fitxategia inportatuko da bertara","Found: %d.":"Aurkitua: %d","Created: %d.":"Sortuta: %d.","Updated: %d.":"Eguneratuta: %d.","Skipped: %d.":"Saltatuta: %d.","Resources: %d.":"Baliabideak: %d.","Tagged: %d.":"Etiketatuta: %d.","The notes have been imported: %s":"Oharrak inportatu dira: %s","Switch between note and to-do type":"Aldatu oharra eta zeregin eren artean.","Authentication was not completed (did not receive an authentication token).":"Autentifikazioa ez da egin osorik (ez du token-ik hartu).","Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?":"Zifratua desgaitzeak esan nahi du zure ohar eta eranskin *guztiak* berriro deszifratuta sinkronizatuko eta bidaliko direla sinkronizazio helburura. Segitu nahi duzu?","Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.":"Zifratua gaitzeak esan nahi du zure ohar eta eranskin *guztiak* zifratuta sinkronizatuko eta bidaliko direla sinkronizazio helburura. Ez galdu pasahitza, bera izango baita datuak deszifratzeko bide *bakarra*! Zifratua baimentzeko, mesedez, aurretik sartu zure pasahitza.","Disable encryption":"Zifratzea desgaitu","Enable encryption":"Zifratua gaitu","Master Keys":"Pasahitz nagusia","Active":"Aktibo","Source":"Iturburua","Password":"Pasahitza","Password OK":"Pasahitza ondo","Status":"Egoera","Encryption is:":"Zifratua da:","Enabled":"Gaituta","OneDrive Login":"Logeatu OneDriven","Clear":"Garbitu","No notes in here. Create one by clicking on \"New note\".":"Hemen ez dago oharrik. Sortu bat \"Ohar berria\" sakatuta.","There is currently no notebook. Create one by clicking on \"New notebook\".":"Momentuz ez dago koadernorik. Sortu bat \"Koaderno berria\" sakatuta.","Search in all the notes":"Bilatu ohar guztietan","Untitled":"Titulu gabekoa","Error opening note in editor: %s":"Errorea editorean oharra zabaltzean: %s","Delete these notes?":"Oharrok ezabatu?","Configuration":"Konfigurazioa","There are currently no notes. Create one by clicking on the (+) button.":"Ez dago oharrik. Sortu bat (+) botoian klik eginaz.","The notebook could not be saved: %s":"Koadernoa ezin gorde daiteke: %s","Edit notebook":"Editatu koadernoa","Login with OneDrive":"Login with OneDrive","Master Key %s":"Pasahitz Nagusia %s","Created: %s":"Sortuta: %s","Password:":"Pasahitza:","Password cannot be empty":"Pasahitza ezin utz daiteke hutsik","Enable":"Gaituta","Encryption Config":"Zifratze Ezarpenak","Encryption is: %s":"Zifratzea da: %s","Log":"Egunkaria","Export Debug Report":"Esportatu arazketa txostena","This note has been modified:":"Ohar hau mugitua izan da:","Save changes":"Gorde aldaketak","Discard changes":"Bertan behera utzi aldaketak","Delete note?":"Oharra ezabatu?","Unsupported image type: %s":"Irudi formatua ez onartua: %s","View on map":"Ikusi mapan","Attach photo":"Argazkia erantsi","Convert to note":"Oharra bihurtu","Convert to todo":"Zeregina bihurtu","Search":"Bilatu","The application has been authorised - you may now close this browser tab.":"Aplikazioak baimena hartu du - Orain fitxa hau zarratu dezakezu.","The application has been successfully authorised.":"Aplikazioak baimena hartu du.","Cannot access %s":"Ezin atzituta %s","Conflicts":"Gatazkak","Notebooks cannot be named \"%s\", which is a reserved title.":"Koadernoak ezin izendatu daitezke \"%s\", izen hori Joplinek gordeta daLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Peruuta","The app is now going to close. Please relaunch it to complete the process.":"Sovellus suljetaan nyt. Käynnistä se uudelleen prosessin loppuun saamiseksi.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Kirjoita muistiinpanon otsikko, jos haluat siirtyä siihen. Voit myös kirjoittaa # ja sen jälkeen tunnisteen nimen tai @ ja sen jälkeen muistikirjan nimen. Voit myös etsiä komentoja kirjoittamalla : .","Goto Anything...":"Siirry mihin tahansa...","Command palette":"Komentovalikoima","Exporting to \"%s\" as \"%s\" format. Please wait...":"Viedään tiedostoon \"%s\" muodossa \"%s\". Odota...","Could not export notes: %s":"Muistiinpanoja ei voitu viedä: %s","Current version is up-to-date.":"Nykyinen versio on ajan tasalla.","%s (pre-release)":"%s (ennakkojulkaisu)","An update is available, do you want to download it now?":"Päivitys on saatavilla. Haluatko ladata sen nyt?","Your version: %s":"Sinun versiosi: %s","New version: %s":"Uusi versio: %s","Download":"Lataa","Full Release Notes":"Täydelliset julkaisutiedot","Search...":"Etsi...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Muistiinpano \"%s\" on palautettu muistikirjaan \"%s\".","This note has no history":"Tällä muistiinpanolla ei ole historiaa","Unsupported link or message: %s":"Linkkiä tai viestiä ei tueta: %s","Restore":"Palauttaa","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Napsauta \"%s\" palauttaaksesi muistiinpanon. Se kopioidaan muistikirjaan nimeltä \"%s\". Huomautuksen nykyistä versiota ei korvata tai muuteta.","Back":"Takaisin","Remove":"Poista","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Poista muistikirja \"%s\"?\n\nMyös kaikki tämän muistikirjan muistiinpanot ja alimuistikirjat poistetaan.","Delete":"Poista","Remove tag \"%s\" from all notes?":"Poistetaanko tunniste \"%s\" kaikista muistiinpanoista?","Remove this search from the sidebar?":"Poistetaanko tämä haku sivupalkista?","Export":"Vie","All notes":"Kaikki muistiinpanot","Synchronise":"Synkronoida","Notebooks":"Muistikirjat","Tags":"Tunnisteet","Decrypting items: %d/%d":"Kohteiden salauksen purkaminen: %d/%d","Fetching resources: %d/%d":"Haetaan resursseja: %d/%d","Sidebar":"Sivupalkki","Focus":"Keskittää","Please select where the sync status should be exported to":"Valitse, mihin synkronoinnin tila viedään","Retry All":"Yritä uudelleen kaikkia","Retry":"Yritä uudelleen","strong text":"vahva teksti","emphasised text":"korostettu teksti","Insert Hyperlink":"Lisää hyperlinkki","List item":"Luettelon kohde","Layout":"Ulkoasu","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Tällä muistiinpanolla ei ole sisältöä. Napsauta \"%s\" vaihtaaksesi editoria ja muokataksesi muistiinpanoa.","Cut":"Leikkaa","Copy":"Kopioi","Paste":"Liitä","Checkbox list":"Valintaruutujen luettelo","Edit":"Muokkaa","Attach file":"Liitä tiedosto","Code Block":"Koodilohko","Inline Code":"Inline-koodi","Insert Date Time":"Lisää Päivämäärä Aika","Drop notes or files here":"Pudota muistiinpanot tai tiedostot tähän","Code View":"Koodinäkymä","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Odota, että kaikki liitteet ladataan ja puretaan. Voit myös vaihtaa kohtaan %s muokkaamaan muistiinpanoa.","There was an error downloading this attachment:":"Tämän liitteen lataamisessa tapahtui virhe:","This attachment is not downloaded or not decrypted yet":"Tätä liitettä ei ole vielä ladattu tai sitä ei ole vielä purettu","Open...":"Avaa...","Save as...":"Tallenna nimellä...","Reveal file in folder":"Osoita kansion tiedosto","Copy path to clipboard":"Kopioi polku leikepöydälle","Copy Link Address":"Kopioi linkin osoite","to-do":"tehtävä","note":"merkintä","Creating new %s...":"Luodaan uusi %s...","The following attachments are being watched for changes:":"Seuraavia liitteitä tarkkaillaan muutosten vuoksi:","The attachments will no longer be watched when you switch to a different note.":"Liitteitä ei enää katsota, kun vaihdat toiseen muistiinpanoon.","In: %s":"Sisään: %s","Select all":"Valitse kaikki","Bold":"Lihavoitu","Italic":"Kursiivi","Hyperlink":"Hyperlinkki","Code":"Koodi","Numbered List":"Numeroitu luettelo","Bulleted List":"Luettelomerkitty luettelo","Checkbox":"Valintaruutu","Heading":"Otsikko","Horizontal Rule":"Vaakaviiva","Note title":"Muistiinpanon otsikko","Search in current note":"Etsi nykyisestä muistiinpanosta","Note body":"Muistiinpanon kappale","ID":"ID","Created":"Luotu","Updated":"Päivitetty","Completed":"Valmis","Location":"Sijainti","URL":"URL","Note History":"Muistiinpano historia","Markup":"Merkintä","Previous Line truncated
|
||||
{"OK":"OK","Cancel":"Peruuta","The app is now going to close. Please relaunch it to complete the process.":"Sovellus suljetaan nyt. Käynnistä se uudelleen prosessin loppuun saamiseksi.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Kirjoita muistiinpanon otsikko, jos haluat siirtyä siihen. Voit myös kirjoittaa # ja sen jälkeen tunnisteen nimen tai @ ja sen jälkeen muistikirjan nimen. Voit myös etsiä komentoja kirjoittamalla : .","Goto Anything...":"Siirry mihin tahansa...","Command palette":"Komentovalikoima","Exporting to \"%s\" as \"%s\" format. Please wait...":"Viedään tiedostoon \"%s\" muodossa \"%s\". Odota...","Could not export notes: %s":"Muistiinpanoja ei voitu viedä: %s","Current version is up-to-date.":"Nykyinen versio on ajan tasalla.","%s (pre-release)":"%s (ennakkojulkaisu)","An update is available, do you want to download it now?":"Päivitys on saatavilla. Haluatko ladata sen nyt?","Your version: %s":"Sinun versiosi: %s","New version: %s":"Uusi versio: %s","Download":"Lataa","Full Release Notes":"Täydelliset julkaisutiedot","Search...":"Etsi...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Muistiinpano \"%s\" on palautettu muistikirjaan \"%s\".","This note has no history":"Tällä muistiinpanolla ei ole historiaa","Unsupported link or message: %s":"Linkkiä tai viestiä ei tueta: %s","Restore":"Palauttaa","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Napsauta \"%s\" palauttaaksesi muistiinpanon. Se kopioidaan muistikirjaan nimeltä \"%s\". Huomautuksen nykyistä versiota ei korvata tai muuteta.","Back":"Takaisin","Remove":"Poista","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Poista muistikirja \"%s\"?\n\nMyös kaikki tämän muistikirjan muistiinpanot ja alimuistikirjat poistetaan.","Delete":"Poista","Remove tag \"%s\" from all notes?":"Poistetaanko tunniste \"%s\" kaikista muistiinpanoista?","Remove this search from the sidebar?":"Poistetaanko tämä haku sivupalkista?","Export":"Vie","All notes":"Kaikki muistiinpanot","Synchronise":"Synkronoida","Notebooks":"Muistikirjat","Tags":"Tunnisteet","Decrypting items: %d/%d":"Kohteiden salauksen purkaminen: %d/%d","Fetching resources: %d/%d":"Haetaan resursseja: %d/%d","Sidebar":"Sivupalkki","Focus":"Keskittää","Please select where the sync status should be exported to":"Valitse, mihin synkronoinnin tila viedään","Retry All":"Yritä uudelleen kaikkia","Retry":"Yritä uudelleen","strong text":"vahva teksti","emphasised text":"korostettu teksti","Insert Hyperlink":"Lisää hyperlinkki","List item":"Luettelon kohde","Layout":"Ulkoasu","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Tällä muistiinpanolla ei ole sisältöä. Napsauta \"%s\" vaihtaaksesi editoria ja muokataksesi muistiinpanoa.","Cut":"Leikkaa","Copy":"Kopioi","Paste":"Liitä","Checkbox list":"Valintaruutujen luettelo","Edit":"Muokkaa","Attach file":"Liitä tiedosto","Code Block":"Koodilohko","Inline Code":"Inline-koodi","Insert Date Time":"Lisää Päivämäärä Aika","Drop notes or files here":"Pudota muistiinpanot tai tiedostot tähän","Code View":"Koodinäkymä","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Odota, että kaikki liitteet ladataan ja puretaan. Voit myös vaihtaa kohtaan %s muokkaamaan muistiinpanoa.","There was an error downloading this attachment:":"Tämän liitteen lataamisessa tapahtui virhe:","This attachment is not downloaded or not decrypted yet":"Tätä liitettä ei ole vielä ladattu tai sitä ei ole vielä purettu","Open...":"Avaa...","Save as...":"Tallenna nimellä...","Reveal file in folder":"Osoita kansion tiedosto","Copy path to clipboard":"Kopioi polku leikepöydälle","Copy Link Address":"Kopioi linkin osoite","to-do":"tehtävä","note":"merkintä","Creating new %s...":"Luodaan uusi %s...","The following attachments are being watched for changes:":"Seuraavia liitteitä tarkkaillaan muutosten vuoksi:","The attachments will no longer be watched when you switch to a different note.":"Liitteitä ei enää katsota, kun vaihdat toiseen muistiinpanoon.","In: %s":"Sisään: %s","Select all":"Valitse kaikki","Bold":"Lihavoitu","Italic":"Kursiivi","Hyperlink":"Hyperlinkki","Code":"Koodi","Numbered List":"Numeroitu luettelo","Bulleted List":"Luettelomerkitty luettelo","Checkbox":"Valintaruutu","Heading":"Otsikko","Horizontal Rule":"Vaakaviiva","Note title":"Muistiinpanon otsikko","Search in current note":"Etsi nykyisestä muistiinpanosta","Note body":"Muistiinpanon kappale","ID":"ID","Created":"Luotu","Updated":"Päivitetty","Completed":"Valmis","Location":"Sijainti","URL":"URL","Note History":"Muistiinpano historia","Markup":"Merkintä","Previous Line truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Annuler","The app is now going to close. Please relaunch it to complete the process.":"L'application va maintenance fermer. Veuillez la relancer pour terminer l'opération.","Goto Anything...":"Navigation rapide…","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportation en cours vers \"%s\" au format \"%s\". Veuillez patienter...","Could not export notes: %s":"Impossible d'exporter les notes : %s","Current version is up-to-date.":"La version actuelle est à jour.","%s (pre-release)":"%s (pré-release)","An update is available, do you want to download it now?":"Une mise à jour est disponible, souhaitez vous la télécharger maintenant ?","Your version: %s":"Votre version : %s","New version: %s":"Nouvelle version : %s","Full Release Notes":"Notes de version complètes","Search...":"Chercher...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"La note \"%s\" a été restaurée dans le carnet \"%s\".","This note has no history":"Cette note n'a pas d'historique","Unsupported link or message: %s":"Lien ou message non géré : %s","Restore":"Restaurer","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Cliquez sur \"%s\" pour restaurer cette note. Elle sera copiée dans le carnet \"%s\". La version actuelle de la note ne sera pas replacée ou modifiée.","Back":"Retour","Remove":"Supprimer","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Effacer le carnet \"%s\" ?\n\nToutes les notes et sous-carnets dans ce carnet seront également effacés.","Delete":"Supprimer","Remove tag \"%s\" from all notes?":"Enlever l’étiquette \"%s\" de toutes les notes ?","Remove this search from the sidebar?":"Enlever cette recherche de la barre latérale ?","Export":"Exporter","All notes":"Toutes les notes","Synchronise":"Synchroniser","Notebooks":"Carnets","Tags":"Étiquettes","Decrypting items: %d/%d":"Déchiffrement des objets : %d/%d","Fetching resources: %d/%d":"Tél. ressources : %d/%d","Sidebar":"Barre latérale","Focus":"Naviguer","Please select where the sync status should be exported to":"Veuillez sélectionner un répertoire ou exporter l'état de la synchronisation","Retry All":"Tout réessayer","Retry":"Réessayer","strong text":"texte en gras","emphasised text":"texte en italique","Insert Hyperlink":"Insérer lien","List item":"Élément de liste","Layout":"Disposition","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Cette note n'a pas de contenu. Cliquer sur \"%s\" pour basculer vers l'éditeur et éditer cette note.","Cut":"Couper","Copy":"Copier","Paste":"Coller","Checkbox list":"Liste de cases à cocher","Edit":"Édition","Attach file":"Attacher un fichier","Code Block":"Bloc de code","Inline Code":"Ligne de code","Insert Date Time":"Insérer la date et l'heure","Drop notes or files here":"Déposez des notes ou fichiers ici","Code View":"Code","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Veuillez patienter jusqu'à ce que tous les fichiers joints soient téléchargés et déchiffrés. Vous pouvez également éditer la note maintenant en passant au mode %s","There was an error downloading this attachment:":"Il y a eu une erreur lors du téléchargement de ce fichier :","This attachment is not downloaded or not decrypted yet":"Cet fichier n'est pas téléchargé ou pas encore déchiffré","Open...":"Ouvrir...","Save as...":"Enregistrer sous...","Reveal file in folder":"Révéler fichier dans dossier","Copy path to clipboard":"Copier le chemin","Copy Link Address":"Copier l'adresse du lien","to-do":"tâche","note":"note","Creating new %s...":"Création de %s...","The following attachments are being watched for changes:":"Les changements sur les éléments suivants sont monitorés :","The attachments will no longer be watched when you switch to a different note.":"Les pièces jointes ne seront plus monitorées lorsque vous changerez de note.","In: %s":"Dans : %s","Select all":"Sélectionner tout","Bold":"Gras","Italic":"Italique","Hyperlink":"Lien","Code":"Code","Numbered List":"Liste numérotée","Bulleted List":"Liste à puces","Checkbox":"Case à cocher","Heading":"Titre","Horizontal Rule":"Règle horizontale","Note title":"Titre de la note","Search in current note":"Chercher dans la note en cours","Note body":"Corps de la note","ID":"ID","Created":"Créé","Updated":"Mis à jour","Completed":"Terminé","Location":"Lieu","URL":"URL","Note History":"Historique des notes","Markup":"Langage de balisage","Previous versions of this note":"Versions précédentes de cette note","Note properties":"Propriétés de la note","Error: %s":"Erreur : %s","Disabled":"Désactivé","Import":"Importer","Command":"Commande","Keyboard Shortcut":"Raccourci","Quit":"Quitter","Insert template":"Insérer un modèle","Actual Size"Line truncated
|
||||
{"OK":"OK","Cancel":"Annuler","The app is now going to close. Please relaunch it to complete the process.":"L'application va maintenance fermer. Veuillez la relancer pour terminer l'opération.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Entrez le titre d’une note, ou entrez # suivi du nom d’une étiquette, ou @ suivi du nom d’un carnet. Ou entrez : pour chercher une commande.","Goto Anything...":"Navigation rapide…","Command palette":"Palette de commandes","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportation en cours vers \"%s\" au format \"%s\". Veuillez patienter...","Could not export notes: %s":"Impossible d'exporter les notes : %s","Current version is up-to-date.":"La version actuelle est à jour.","%s (pre-release)":"%s (pré-release)","An update is available, do you want to download it now?":"Une mise à jour est disponible, souhaitez vous la télécharger maintenant ?","Your version: %s":"Votre version : %s","New version: %s":"Nouvelle version : %s","Download":"Télécharger","Full Release Notes":"Notes de version complètes","Search...":"Chercher...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"La note \"%s\" a été restaurée dans le carnet \"%s\".","This note has no history":"Cette note n'a pas d'historique","Unsupported link or message: %s":"Lien ou message non géré : %s","Restore":"Restaurer","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Cliquez sur \"%s\" pour restaurer cette note. Elle sera copiée dans le carnet \"%s\". La version actuelle de la note ne sera pas replacée ou modifiée.","Back":"Retour","Remove":"Supprimer","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Effacer le carnet \"%s\" ?\n\nToutes les notes et sous-carnets dans ce carnet seront également effacés.","Delete":"Supprimer","Remove tag \"%s\" from all notes?":"Enlever l’étiquette \"%s\" de toutes les notes ?","Remove this search from the sidebar?":"Enlever cette recherche de la barre latérale ?","Export":"Exporter","All notes":"Toutes les notes","Synchronise":"Synchroniser","Notebooks":"Carnets","Tags":"Étiquettes","Decrypting items: %d/%d":"Déchiffrement des objets : %d/%d","Fetching resources: %d/%d":"Tél. ressources : %d/%d","Sidebar":"Barre latérale","Focus":"Naviguer","Please select where the sync status should be exported to":"Veuillez sélectionner un répertoire ou exporter l'état de la synchronisation","Retry All":"Tout réessayer","Retry":"Réessayer","strong text":"texte en gras","emphasised text":"texte en italique","Insert Hyperlink":"Insérer lien","List item":"Élément de liste","Layout":"Disposition","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Cette note n'a pas de contenu. Cliquer sur \"%s\" pour basculer vers l'éditeur et éditer cette note.","Cut":"Couper","Copy":"Copier","Paste":"Coller","Checkbox list":"Liste de cases à cocher","Edit":"Édition","Attach file":"Attacher un fichier","Code Block":"Bloc de code","Inline Code":"Ligne de code","Insert Date Time":"Insérer la date et l'heure","Drop notes or files here":"Déposez des notes ou fichiers ici","Code View":"Code","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Veuillez patienter jusqu'à ce que tous les fichiers joints soient téléchargés et déchiffrés. Vous pouvez également éditer la note maintenant en passant au mode %s.","There was an error downloading this attachment:":"Il y a eu une erreur lors du téléchargement de ce fichier :","This attachment is not downloaded or not decrypted yet":"Cet fichier n'est pas téléchargé ou pas encore déchiffré","Open...":"Ouvrir...","Save as...":"Enregistrer sous...","Reveal file in folder":"Révéler fichier dans dossier","Copy path to clipboard":"Copier le chemin","Copy Link Address":"Copier l'adresse du lien","to-do":"tâche","note":"note","Creating new %s...":"Création de %s...","This Rich Text editor has a number of limitations and it is recommended to be aware of them before using it.":"Cet éditeur de texte enrichi a certaines limitations, et il est recommandé de les connaître avant de l'utiliser.","Read more about it":"En savoir plus","Dismiss":"Fermer","The following attachments are being watched for changes:":"Les changements sur les éléments suivants sont monitorés :","The attachments will no longer be watched when you switch to a different note.":"Les pièces jointes ne seront plus monitorées lorsque vous changerez de note.","In: %s":"Dans : %s","Select all":"Sélectionner tout","Bold":"Gras","Italic":"Italique","Hyperlink":"Lien","Code":"Code","Numbered List":"Liste numérotée","Bulleted List":"Liste à puces","Checkbox":"Case à cocherLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"Aceptar","Cancel":"Cancelar","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportando a «%s» como formato «%s». Agarde...","Current version is up-to-date.":"A versión actual está actualizada.","An update is available, do you want to download it now?":"Hai unha actualización dispoñíbel, desexa descargala agora?","Search...":"Buscar…","Unsupported link or message: %s":"Ligazón ou mensaxe incompatíbeis: %s","Back":"Anterior","Delete":"Eliminar","Remove this search from the sidebar?":"Desexa eliminar esta busca da barra lateral?","Export":"Exportar","Synchronise":"Sincronizar","Notebooks":"Cadernos","Tags":"Etiquetas","Please select where the sync status should be exported to":"Seleccione onde exportar o estado da sincronización","Layout":"Disposición","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Esta nota non ten contido. Prema en «%s» para ir ao editor e modificar a nota.","Cut":"Cortar","Copy":"Copiar","Paste":"Pegar","Edit":"Edtar","Attach file":"Anexar un ficheiro","Open...":"Abrir…","Save as...":"Gardar como…","to-do":"tarefas pendentes","note":"nota","Creating new %s...":"Criando novo %s...","ID":"ID","Created":"Creada","Updated":"Actualizado","Disabled":"Desactivado","Import":"Importar","Quit":"Saír","Website and documentation":"Sitio web e documentación","Options":"Opcións","Save":"Gardar","Some items cannot be synchronised.":"Non é posíbel sincronizar algúns elementos.","View them now":"Visualizar agora","Some items cannot be decrypted.":"Non é posíbel descifrar algúns elementos.","Set the password":"Estabelecer un contrasinal","Rename":"Renomear","Rename notebook:":"Renomear caderno:","New to-do":"Nova tarefa","Set alarm":"Estabelecer alarma","Set alarm:":"Estabelecer alarma:","PDF File":"Ficheiro PDF","New note":"Nova nota","Toggle editor layout":"Cambiar a disposición do editor","New notebook":"Novo caderno","Notebook title:":"Título do caderno:","Add or remove tags:":"Engadir ou eliminar etiquetas:","Print":"Imprimir","Importing from \"%s\" as \"%s\" format. Please wait...":"Importando de «%s» como formato «%s». Agarde...","Synchronisation Status":"Estado da sincronización","About Joplin":"Sobre o Joplin","Check for updates...":"Buscar actualizacións…","Hide %s":"Ocultar %s","Make a donation":"Doar","New notebook \"%s\" will be created and file \"%s\" will be imported into it":"Crearase o novo caderno «%s» e o ficheiro «%s» importarse dentro del","Found: %d.":"Atopado: %d.","Created: %d.":"Creado: %d.","Updated: %d.":"Actualizado: %d.","Skipped: %d.":"Ignorado: %d.","Resources: %d.":"Recursos: %d.","Tagged: %d.":"Etiquetado: %d.","The notes have been imported: %s":"As notas foron importadas: %s","Switch between note and to-do type":"Cambiar entre notas e tarefas","Authentication was not completed (did not receive an authentication token).":"A autenticación non foi completada (non recibiu un token de autenticación).","Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?":"Desactivar o cifrado significa que *todas* as súas notas e anexos serán sincronizados de novo e enviados sen cifrar ao destino. Desexa continuar?","Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.":"A activación do cifrado significa que *todas* as súas notas e anexos van ser resincronizados e enviados cifrados ao destino da sincronización. Non perda o contrasinal xa que, por motivos de seguranza, é a *única* forma de descifrar os datos. Para activar o cifrado, introduza o contrasinal a continuación.","Disable encryption":"Desactivar cifrado","Enable encryption":"Activar cifrado","Master Keys":"Chaves mestras","Active":"Activa","Source":"Orixe","Password":"Contrasinal","Password OK":"Contrasinal correcto","Note: Only one master key is going to be used for encryption (the one marked as \"active\"). Any of the keys might be used for decryption, depending on how the notes or notebooks were originally encrypted.":"Nota: só se vai usar unha chave mestre para cifrados (a marcada como «activa»). Algunha das chaves pode usarse para descifrar elementos dependendo de cantas notas ou cadernos foron cifrados inicialmente.","Missing Master Keys":"Faltan as chaves mestras","The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.":"As chaves mestras con estes ID úsanse para cifrar algúns dos seus elementos, con todo o aplicativo non ten actualmente acceso a eles. Probabelmente serán descargados pola sincronización.","Status":"Estado","Encryption isLine truncated
|
||||
{"OK":"Aceptar","Cancel":"Cancelar","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportando a «%s» como formato «%s». Agarde...","Current version is up-to-date.":"A versión actual está actualizada.","An update is available, do you want to download it now?":"Hai unha actualización dispoñíbel, desexa descargala agora?","Search...":"Buscar…","Unsupported link or message: %s":"Ligazón ou mensaxe incompatíbeis: %s","Back":"Anterior","Delete":"Eliminar","Remove this search from the sidebar?":"Desexa eliminar esta busca da barra lateral?","Export":"Exportar","Synchronise":"Sincronizar","Notebooks":"Cadernos","Tags":"Etiquetas","Please select where the sync status should be exported to":"Seleccione onde exportar o estado da sincronización","Layout":"Disposición","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Esta nota non ten contido. Prema en «%s» para ir ao editor e modificar a nota.","Cut":"Cortar","Copy":"Copiar","Paste":"Pegar","Edit":"Edtar","Attach file":"Anexar un ficheiro","Open...":"Abrir…","Save as...":"Gardar como…","to-do":"tarefas pendentes","note":"nota","Creating new %s...":"Criando novo %s...","ID":"ID","Created":"Creada","Updated":"Actualizado","Disabled":"Desactivado","Import":"Importar","Quit":"Saír","Website and documentation":"Sitio web e documentación","Options":"Opcións","Save":"Gardar","Some items cannot be synchronised.":"Non é posíbel sincronizar algúns elementos.","View them now":"Visualizar agora","Some items cannot be decrypted.":"Non é posíbel descifrar algúns elementos.","Set the password":"Estabelecer un contrasinal","Rename":"Renomear","Rename notebook:":"Renomear caderno:","New to-do":"Nova tarefa","Set alarm":"Estabelecer alarma","Set alarm:":"Estabelecer alarma:","PDF File":"Ficheiro PDF","New note":"Nova nota","Toggle editor layout":"Cambiar a disposición do editor","New notebook":"Novo caderno","Notebook title:":"Título do caderno:","Add or remove tags:":"Engadir ou eliminar etiquetas:","Print":"Imprimir","Importing from \"%s\" as \"%s\" format. Please wait...":"Importando de «%s» como formato «%s». Agarde...","Synchronisation Status":"Estado da sincronización","About Joplin":"Sobre o Joplin","Check for updates...":"Buscar actualizacións…","Hide %s":"Ocultar %s","Make a donation":"Doar","New notebook \"%s\" will be created and file \"%s\" will be imported into it":"Crearase o novo caderno «%s» e o ficheiro «%s» importarse dentro del","Found: %d.":"Atopado: %d.","Created: %d.":"Creado: %d.","Updated: %d.":"Actualizado: %d.","Skipped: %d.":"Ignorado: %d.","Resources: %d.":"Recursos: %d.","Tagged: %d.":"Etiquetado: %d.","The notes have been imported: %s":"As notas foron importadas: %s","Switch between note and to-do type":"Cambiar entre notas e tarefas","Authentication was not completed (did not receive an authentication token).":"A autenticación non foi completada (non recibiu un token de autenticación).","Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?":"Desactivar o cifrado significa que *todas* as súas notas e anexos serán sincronizados de novo e enviados sen cifrar ao destino. Desexa continuar?","Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.":"A activación do cifrado significa que *todas* as súas notas e anexos van ser resincronizados e enviados cifrados ao destino da sincronización. Non perda o contrasinal xa que, por motivos de seguranza, é a *única* forma de descifrar os datos. Para activar o cifrado, introduza o contrasinal a continuación.","Disable encryption":"Desactivar cifrado","Enable encryption":"Activar cifrado","Master Keys":"Chaves mestras","Active":"Activa","Source":"Orixe","Password":"Contrasinal","Password OK":"Contrasinal correcto","Note: Only one master key is going to be used for encryption (the one marked as \"active\"). Any of the keys might be used for decryption, depending on how the notes or notebooks were originally encrypted.":"Nota: só se vai usar unha chave mestre para cifrados (a marcada como «activa»). Algunha das chaves pode usarse para descifrar elementos dependendo de cantas notas ou cadernos foron cifrados inicialmente.","Missing Master Keys":"Faltan as chaves mestras","The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.":"As chaves mestras con estes ID úsanse para cifrar algúns dos seus elementos, con todo o aplicativo non ten actualmente acceso a eles. Probabelmente serán descargados pola sincronización.","Status":"Estado","Encryption isLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"Baik","Cancel":"Batal","Goto Anything...":"Pergi ke apa saja...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Mengekspor ke \"%s\" sebagai format \"%s\". Mohon tunggu...","Could not export notes: %s":"Tidak dapat mengekspor catatan: %s","Current version is up-to-date.":"Versi saat ini adalah versi terbaru.","%s (pre-release)":"%s (prarilis)","An update is available, do you want to download it now?":"Pembaruan tersedia, apakah Anda mau mengunduhnya sekarang?","Your version: %s":"Versi Anda: %s","New version: %s":"Versi baru: %s","Full Release Notes":"Catatan Rilis Lengkap","Search...":"Pencarian….","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Catatan \"%s\" telah berhasil dipulihkan ke buku catatan \"%s\".","This note has no history":"Catatan ini tidak memiliki riwayat","Unsupported link or message: %s":"Tautan atau pesan yang tidak didukung: %s","Restore":"Pulihkan","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klik \"%s\" untuk memulihkan catatan. Catatan akan disalin dalam buku catatan bernama \"%s\". Versi catatan saat ini tidak akan diganti atau dimodifikasi.","Back":"Kembali","Remove":"Hapus","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Hapus buku catatan \"%s\"?\n\nSemua catatan dan sub-buku catatan dalam buku catatan ini juga akan dihapus.","Delete":"Hapus","Remove tag \"%s\" from all notes?":"Hapus label \"%s\" dari semua catatan?","Remove this search from the sidebar?":"Hapus pencarian ini dari bilah samping?","Export":"Ekspor","All notes":"Semua catatan","Synchronise":"Sinkronisasi %s","Notebooks":"Buku catatan","Tags":"Label","Decrypting items: %d/%d":"Mendekripsi item: %d/%d","Fetching resources: %d/%d":"Mengambil sumber daya: %d/%d","Sidebar":"Bilah samping","Focus":"Fokus","Please select where the sync status should be exported to":"Silakan pilih di mana status sinkronisasi seharusnya diekspor","Retry All":"Coba lagi semua","Retry":"Coba lagi","strong text":"teks yang ditekankan lebih kuat (strong text)","Insert Hyperlink":"Masukkan Tautan","List item":"Item daftar","Layout":"Tata letak","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Catatan ini tidak memiliki konten. Klik \"%s\" untuk beralih ke editor dan mengedit catatan.","Cut":"Potong","Copy":"Salin","Paste":"Tempel","Edit":"Ubah","Attach file":"Lampirkan berkas","Insert Date Time":"Masukkan Waktu dan Tanggal","There was an error downloading this attachment:":"Terjadi kesalahan saat mengunduh lampiran ini:","This attachment is not downloaded or not decrypted yet":"Lampiran ini belum diunduh atau belum didekripsi","Open...":"Buka...","Save as...":"Simpan sebagai...","Copy path to clipboard":"Salin jalur ke papan klip","Copy Link Address":"Salin Alamat Tautan","to-do":"tugas","note":"catatan","Creating new %s...":"Membuat %s baru...","In: %s":"Di: %s","Select all":"Pilih semua","Bold":"Tebal","Italic":"Miring","Hyperlink":"Tautan","Code":"Kode","Numbered List":"Daftar nomor","Bulleted List":"Daftar berpoin","Checkbox":"Kotak centang","Heading":"Tajuk","Horizontal Rule":"Garis Horisontal","Note title":"Judul catatan","Search in current note":"Pencarian di catatan sekarang","Note body":"Isi catatan","ID":"ID","Created":"Dibuat","Updated":"Diubah","Completed":"Selesai","Location":"Lokasi","URL":"URL","Note History":"Riwayat catatan","Markup":"Markah","Previous versions of this note":"Versi sebelumnya dari catatan ini","Note properties":"Properti catatan","Disabled":"Dinonaktifkan","Import":"Impor","Quit":"Keluar","Insert template":"Masukkan templat","Actual Size":"Ukuran sebenarnya","Website and documentation":"Situs web dan dokumentasi","Close Window":"Tutup jendela","Options":"Pilihan","Save":"Simpan","Some items cannot be synchronised.":"Beberapa item tidak dapat di sinkronisasi.","View them now":"Lihat sekarang","Some items cannot be decrypted.":"Beberapa item tidak dapat di dekripsi.","One or more master keys need a password.":"Satu atau lebih kunci utama membutuhkan sandi.","Set the password":"Atur kata sandi","One of your master keys use an obsolete encryption method.":"Salah satu kunci utama Anda menggunakan metode enkripsi yang usang.","The default encryption method has been changed, you should re-encrypt your data.":"Metode enkripsi default telah diubah, Kamu harus mengenkripsi ulang datamu.","More info":"Info lain","Statistics...":"Statistik...","Rename":"Ganti nama","Rename notebook:":"Ganti nama buku catatan:","New to-do":"Tugas baru","Toggle note list":"Alihkan daftar catatan","Toggle sidebar":"Alihkan bilah samping","Set alarm":"Setel alarm","Set alarm:":"Setel alarm:","PDF File":"Berkas PDF","New note":"Catatan baru","Move to notebook":"Pindah ke buku catatan","Move to notebook:":"Pindah ke buku catatan:","Toggle editor layout":"Alihkan tata letak editor","Rename tag:":"Ganti nama laLine truncated
|
||||
{"OK":"Baik","Cancel":"Batal","Goto Anything...":"Pergi ke apa saja...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Mengekspor ke \"%s\" sebagai format \"%s\". Mohon tunggu...","Could not export notes: %s":"Tidak dapat mengekspor catatan: %s","Current version is up-to-date.":"Versi saat ini adalah versi terbaru.","%s (pre-release)":"%s (prarilis)","An update is available, do you want to download it now?":"Pembaruan tersedia, apakah Anda mau mengunduhnya sekarang?","Your version: %s":"Versi Anda: %s","New version: %s":"Versi baru: %s","Full Release Notes":"Catatan Rilis Lengkap","Search...":"Pencarian….","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Catatan \"%s\" telah berhasil dipulihkan ke buku catatan \"%s\".","This note has no history":"Catatan ini tidak memiliki riwayat","Unsupported link or message: %s":"Tautan atau pesan yang tidak didukung: %s","Restore":"Pulihkan","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klik \"%s\" untuk memulihkan catatan. Catatan akan disalin dalam buku catatan bernama \"%s\". Versi catatan saat ini tidak akan diganti atau dimodifikasi.","Back":"Kembali","Remove":"Hapus","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Hapus buku catatan \"%s\"?\n\nSemua catatan dan sub-buku catatan dalam buku catatan ini juga akan dihapus.","Delete":"Hapus","Remove tag \"%s\" from all notes?":"Hapus label \"%s\" dari semua catatan?","Remove this search from the sidebar?":"Hapus pencarian ini dari bilah samping?","Export":"Ekspor","All notes":"Semua catatan","Synchronise":"Sinkronisasi %s","Notebooks":"Buku catatan","Tags":"Label","Decrypting items: %d/%d":"Mendekripsi item: %d/%d","Fetching resources: %d/%d":"Mengambil sumber daya: %d/%d","Sidebar":"Bilah samping","Focus":"Fokus","Please select where the sync status should be exported to":"Silakan pilih di mana status sinkronisasi seharusnya diekspor","Retry All":"Coba lagi semua","Retry":"Coba lagi","strong text":"teks yang ditekankan lebih kuat (strong text)","Insert Hyperlink":"Masukkan Tautan","List item":"Item daftar","Layout":"Tata letak","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Catatan ini tidak memiliki konten. Klik \"%s\" untuk beralih ke editor dan mengedit catatan.","Cut":"Potong","Copy":"Salin","Paste":"Tempel","Edit":"Ubah","Attach file":"Lampirkan berkas","Insert Date Time":"Masukkan Waktu dan Tanggal","There was an error downloading this attachment:":"Terjadi kesalahan saat mengunduh lampiran ini:","This attachment is not downloaded or not decrypted yet":"Lampiran ini belum diunduh atau belum didekripsi","Open...":"Buka...","Save as...":"Simpan sebagai...","Copy path to clipboard":"Salin jalur ke papan klip","Copy Link Address":"Salin Alamat Tautan","to-do":"tugas","note":"catatan","Creating new %s...":"Membuat %s baru...","In: %s":"Di: %s","Select all":"Pilih semua","Bold":"Tebal","Italic":"Miring","Hyperlink":"Tautan","Code":"Kode","Numbered List":"Daftar nomor","Bulleted List":"Daftar berpoin","Checkbox":"Kotak centang","Heading":"Tajuk","Horizontal Rule":"Garis Horisontal","Note title":"Judul catatan","Search in current note":"Pencarian di catatan sekarang","Note body":"Isi catatan","ID":"ID","Created":"Dibuat","Updated":"Diubah","Completed":"Selesai","Location":"Lokasi","URL":"URL","Note History":"Riwayat catatan","Markup":"Markah","Previous versions of this note":"Versi sebelumnya dari catatan ini","Note properties":"Properti catatan","Disabled":"Dinonaktifkan","Import":"Impor","Quit":"Keluar","Insert template":"Masukkan templat","Actual Size":"Ukuran sebenarnya","Website and documentation":"Situs web dan dokumentasi","Close Window":"Tutup jendela","Options":"Pilihan","Save":"Simpan","Some items cannot be synchronised.":"Beberapa item tidak dapat di sinkronisasi.","View them now":"Lihat sekarang","Some items cannot be decrypted.":"Beberapa item tidak dapat di dekripsi.","One or more master keys need a password.":"Satu atau lebih kunci utama membutuhkan sandi.","Set the password":"Atur kata sandi","One of your master keys use an obsolete encryption method.":"Salah satu kunci utama Anda menggunakan metode enkripsi yang usang.","The default encryption method has been changed, you should re-encrypt your data.":"Metode enkripsi default telah diubah, Kamu harus mengenkripsi ulang datamu.","More info":"Info lain","Statistics...":"Statistik...","Rename":"Ganti nama","Rename notebook:":"Ganti nama buku catatan:","New to-do":"Tugas baru","Toggle note list":"Alihkan daftar catatan","Toggle sidebar":"Alihkan bilah samping","Set alarm":"Setel alarm","Set alarm:":"Setel alarm:","PDF File":"Berkas PDF","New note":"Catatan baru","Move to notebook":"Pindah ke buku catatan","Move to notebook:":"Pindah ke buku catatan:","Toggle editor layout":"Alihkan tata letak editor","Rename tag:":"Ganti nama laLine truncated
|
||||
@@ -39,43 +39,43 @@ locales['tr_TR'] = require('./tr_TR.json');
|
||||
locales['vi'] = require('./vi.json');
|
||||
locales['zh_CN'] = require('./zh_CN.json');
|
||||
locales['zh_TW'] = require('./zh_TW.json');
|
||||
stats['ar'] = {"percentDone":77};
|
||||
stats['eu'] = {"percentDone":33};
|
||||
stats['bs_BA'] = {"percentDone":79};
|
||||
stats['bg_BG'] = {"percentDone":64};
|
||||
stats['ca'] = {"percentDone":92};
|
||||
stats['ar'] = {"percentDone":75};
|
||||
stats['eu'] = {"percentDone":32};
|
||||
stats['bs_BA'] = {"percentDone":77};
|
||||
stats['bg_BG'] = {"percentDone":62};
|
||||
stats['ca'] = {"percentDone":89};
|
||||
stats['hr_HR'] = {"percentDone":26};
|
||||
stats['cs_CZ'] = {"percentDone":96};
|
||||
stats['da_DK'] = {"percentDone":79};
|
||||
stats['de_DE'] = {"percentDone":96};
|
||||
stats['et_EE'] = {"percentDone":63};
|
||||
stats['cs_CZ'] = {"percentDone":93};
|
||||
stats['da_DK'] = {"percentDone":77};
|
||||
stats['de_DE'] = {"percentDone":95};
|
||||
stats['et_EE'] = {"percentDone":61};
|
||||
stats['en_GB'] = {"percentDone":100};
|
||||
stats['en_US'] = {"percentDone":100};
|
||||
stats['es_ES'] = {"percentDone":96};
|
||||
stats['eo'] = {"percentDone":36};
|
||||
stats['fi_FI'] = {"percentDone":97};
|
||||
stats['fr_FR'] = {"percentDone":96};
|
||||
stats['gl_ES'] = {"percentDone":42};
|
||||
stats['id_ID'] = {"percentDone":88};
|
||||
stats['it_IT'] = {"percentDone":97};
|
||||
stats['nl_BE'] = {"percentDone":33};
|
||||
stats['nl_NL'] = {"percentDone":96};
|
||||
stats['nb_NO'] = {"percentDone":85};
|
||||
stats['fa'] = {"percentDone":79};
|
||||
stats['pl_PL'] = {"percentDone":95};
|
||||
stats['pt_BR'] = {"percentDone":93};
|
||||
stats['pt_PT'] = {"percentDone":95};
|
||||
stats['ro'] = {"percentDone":74};
|
||||
stats['sl_SI'] = {"percentDone":41};
|
||||
stats['sv'] = {"percentDone":68};
|
||||
stats['th_TH'] = {"percentDone":50};
|
||||
stats['vi'] = {"percentDone":82};
|
||||
stats['tr_TR'] = {"percentDone":94};
|
||||
stats['el_GR'] = {"percentDone":92};
|
||||
stats['ru_RU'] = {"percentDone":92};
|
||||
stats['sr_RS'] = {"percentDone":69};
|
||||
stats['zh_CN'] = {"percentDone":97};
|
||||
stats['zh_TW'] = {"percentDone":91};
|
||||
stats['ja_JP'] = {"percentDone":97};
|
||||
stats['ko'] = {"percentDone":97};
|
||||
stats['es_ES'] = {"percentDone":99};
|
||||
stats['eo'] = {"percentDone":35};
|
||||
stats['fi_FI'] = {"percentDone":94};
|
||||
stats['fr_FR'] = {"percentDone":99};
|
||||
stats['gl_ES'] = {"percentDone":40};
|
||||
stats['id_ID'] = {"percentDone":85};
|
||||
stats['it_IT'] = {"percentDone":96};
|
||||
stats['nl_BE'] = {"percentDone":32};
|
||||
stats['nl_NL'] = {"percentDone":93};
|
||||
stats['nb_NO'] = {"percentDone":82};
|
||||
stats['fa'] = {"percentDone":77};
|
||||
stats['pl_PL'] = {"percentDone":92};
|
||||
stats['pt_BR'] = {"percentDone":91};
|
||||
stats['pt_PT'] = {"percentDone":92};
|
||||
stats['ro'] = {"percentDone":72};
|
||||
stats['sl_SI'] = {"percentDone":40};
|
||||
stats['sv'] = {"percentDone":66};
|
||||
stats['th_TH'] = {"percentDone":49};
|
||||
stats['vi'] = {"percentDone":79};
|
||||
stats['tr_TR'] = {"percentDone":99};
|
||||
stats['el_GR'] = {"percentDone":89};
|
||||
stats['ru_RU'] = {"percentDone":96};
|
||||
stats['sr_RS'] = {"percentDone":67};
|
||||
stats['zh_CN'] = {"percentDone":99};
|
||||
stats['zh_TW'] = {"percentDone":95};
|
||||
stats['ja_JP'] = {"percentDone":96};
|
||||
stats['ko'] = {"percentDone":96};
|
||||
module.exports = { locales: locales, stats: stats };
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Annulla","The app is now going to close. Please relaunch it to complete the process.":"Ora l'applicazione si chiuderà. Premi rilancia per completare il processo.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Scrivi il titolo di una nota o parte del suo contenuto per aprirla. Oppure digita # seguito dal nome di un'etichetta, oppure @ seguito dal nome di un taccuino. O scrivi : per cercare un comando.","Goto Anything...":"Vai a...","Command palette":"Comandi","Exporting to \"%s\" as \"%s\" format. Please wait...":"Esportazione da \"%s\" come formato \"%s\". Si prega di attendere...","Could not export notes: %s":"Non è possibile esportare le note: %s","Current version is up-to-date.":"La versione attuale è aggiornata.","%s (pre-release)":"%s (pre-rilascio)","An update is available, do you want to download it now?":"È disponibile un aggiornamento, vuoi scaricarlo ora?","Your version: %s":"La tua versione: %s","New version: %s":"Nuova versione: %s","Download":"Scarica","Full Release Notes":"Note di rilascio complete","Search...":"Cerca...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"La nota \"%s\" è stata ripristinata con successo nel taccuino \"%s\".","This note has no history":"Questa nota non ha cronologia","Unsupported link or message: %s":"Link o Messaggio non supportato: %s","Restore":"Ripristina","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Clicca \"%s\" per ripristinare la nota. Verrà copiata nel taccuino denominato \"%s\". La versione corrente della nota non verrà sostituita o modificata.","Back":"Indietro","Remove":"Rimuovi","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Eliminare taccuino \"%s\"?\n\nAnche tutte le note e cartelle di questo taccuino saranno eliminati.","Delete":"Elimina","Remove tag \"%s\" from all notes?":"Rimuovere l’etichetta \"%s\" da tutte le note?","Remove this search from the sidebar?":"Rimuovere questa ricerca dalla barra laterale?","Export":"Esporta","All notes":"Tutte le note","Synchronise":"Sincronizza","Notebooks":"Taccuini","Tags":"Tag","Decrypting items: %d/%d":"Decrittografia Elementi: %d/%d","Fetching resources: %d/%d":"Recupero risorse: %d/%d","Sidebar":"Barra laterale","Focus":"Focus","Please select where the sync status should be exported to":"Prego selezionare dove lo stato della sincronizzazione deve essere esportato","Retry All":"Riprova tutti","Retry":"Riprova","strong text":"testo in grassetto","emphasised text":"testo sottolineato","Insert Hyperlink":"Inserire collegamento ipertestuale","List item":"Elemento della lista","Layout":"Disposizione","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Questa nota non ha contenuto. Fai clic su \"%s\" per attivare l'editor e modificare la nota.","Cut":"Taglia","Copy":"Copia","Paste":"Incolla","Checkbox list":"Lista di caselle di spunta","Edit":"Modifica","Attach file":"Allega File","Code Block":"Blocco di codice","Inline Code":"Codice inline","Insert Date Time":"Inserisci data e ora","Drop notes or files here":"Trascina qui note o file","Code View":"Codice","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Attendi che tutti gli allegati vengano scaricati e decrittografati. Puoi anche passare a %s per modificare la nota.","There was an error downloading this attachment:":"Errore nel scaricare questo allegato:","This attachment is not downloaded or not decrypted yet":"Questo allegato non è ancora stato scaricato o decriptato","Open...":"Apri...","Save as...":"Salva come...","Reveal file in folder":"Visualizza file nella cartella","Copy path to clipboard":"Copia il percorso negli appunti","Copy Link Address":"Copia l'indirizzo del link","to-do":"attività","note":"nota","Creating new %s...":"Creare nuovo %s...","The following attachments are being watched for changes:":"I seguenti allegati sono monitorati per eventuali modifiche:","The attachments will no longer be watched when you switch to a different note.":"Gli allegati non verranno più monitorati quando passerai ad una nota differente.","In: %s":"In: %s","Select all":"Seleziona tutto","Bold":"Grassetto","Italic":"Corsivo","Hyperlink":"Collegamento ipertestuale","Code":"Codice","Numbered List":"Elenco Numerato","Bulleted List":"Elenco Puntato","Checkbox":"Casella di controllo","Heading":"Intestazione","Horizontal Rule":"Riga orizzontale","Note title":"Titolo della nota","Search in current note":"Cerca nella nota corrente","Note body":"Corpo della nota","ID":"ID","Created":"Creato","Updated":"Aggiornato","Completed":"Completato","Location":"Posizione","URL":"URL","Note History":"Cronologia nota","Markup":"Marcatura","Previous versions of this nLine truncated
|
||||
{"OK":"OK","Cancel":"Annulla","The app is now going to close. Please relaunch it to complete the process.":"Ora l'applicazione si chiuderà. Per favore rilancia per completare il processo.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Scrivi il titolo di una nota o parte del suo contenuto per aprirla. Oppure digita # seguito dal nome di un'etichetta, oppure @ seguito dal nome di un taccuino. O scrivi : per cercare un comando.","Goto Anything...":"Goto...","Command palette":"Comandi","Exporting to \"%s\" as \"%s\" format. Please wait...":"Esportazione da \"%s\" in formato \"%s\". Si prega di attendere...","Could not export notes: %s":"Impossibile esportare le note: %s","Current version is up-to-date.":"La versione attuale è aggiornata.","%s (pre-release)":"%s (pre-rilascio)","An update is available, do you want to download it now?":"È disponibile un aggiornamento, vuoi scaricarlo ora?","Your version: %s":"La tua versione: %s","New version: %s":"Nuova versione: %s","Download":"Scarica","Full Release Notes":"Note di rilascio complete","Search...":"Cerca...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"La nota \"%s\" è stata ripristinata con successo nel taccuino \"%s\".","This note has no history":"Questa nota non ha cronologia","Unsupported link or message: %s":"Link o messaggio non supportato: %s","Restore":"Ripristina","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Clicca \"%s\" per ripristinare la nota. Verrà copiata nel taccuino denominato \"%s\". La versione corrente della nota non verrà sostituita o modificata.","Back":"Indietro","Remove":"Rimuovi","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Eliminare taccuino \"%s\"?\n\nAnche tutte le note e cartelle di questo taccuino saranno eliminati.","Delete":"Elimina","Remove tag \"%s\" from all notes?":"Rimuovere l’etichetta \"%s\" da tutte le note?","Remove this search from the sidebar?":"Rimuovere questa ricerca dalla barra laterale?","Export":"Esporta","All notes":"Tutte le note","Synchronise":"Sincronizza","Notebooks":"Taccuini","Tags":"Etichette","Decrypting items: %d/%d":"Decrittografia elementi: %d/%d","Fetching resources: %d/%d":"Recupero risorse: %d/%d","Sidebar":"Barra laterale","Focus":"Focus","Please select where the sync status should be exported to":"Prego selezionare dove lo stato della sincronizzazione deve essere esportato","Retry All":"Riprova tutti","Retry":"Riprova","strong text":"testo in grassetto","emphasised text":"testo sottolineato","Insert Hyperlink":"Inserire collegamento ipertestuale","List item":"Elemento della lista","Layout":"Disposizione","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Questa nota non ha contenuto. Fai clic su \"%s\" per attivare l'editor e modificare la nota.","Cut":"Taglia","Copy":"Copia","Paste":"Incolla","Checkbox list":"Lista di caselle di spunta","Edit":"Modifica","Attach file":"Allega file","Code Block":"Blocco di codice","Inline Code":"Codice inline","Insert Date Time":"Inserisci data e ora","Drop notes or files here":"Trascina qui note o file","Code View":"Codice","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Attendi che tutti gli allegati vengano scaricati e decrittografati. Puoi anche passare a %s per modificare la nota.","There was an error downloading this attachment:":"Errore nello scaricamento di questo allegato:","This attachment is not downloaded or not decrypted yet":"Questo allegato non è ancora stato scaricato o decriptato","Open...":"Apri...","Save as...":"Salva come...","Reveal file in folder":"Visualizza file nella cartella","Copy path to clipboard":"Copia il percorso negli appunti","Copy Link Address":"Copia l'indirizzo del link","to-do":"attività","note":"nota","Creating new %s...":"Creare nuovo %s...","The following attachments are being watched for changes:":"I seguenti allegati sono monitorati per eventuali modifiche:","The attachments will no longer be watched when you switch to a different note.":"Gli allegati non verranno più monitorati quando passerai ad una nota differente.","In: %s":"In: %s","Select all":"Seleziona tutto","Bold":"Grassetto","Italic":"Corsivo","Hyperlink":"Collegamento ipertestuale","Code":"Codice","Numbered List":"Elenco numerato","Bulleted List":"Elenco puntato","Checkbox":"Casella di controllo","Heading":"Intestazione","Horizontal Rule":"Riga orizzontale","Note title":"Titolo della nota","Search in current note":"Cerca nella nota corrente","Note body":"Corpo della nota","ID":"ID","Created":"Creato","Updated":"Aggiornato","Completed":"Completato","Location":"Posizione","URL":"URL","Note History":"Cronologia nota","Markup":"Marcatura","Previous versionLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"キャンセル","The app is now going to close. Please relaunch it to complete the process.":"まもなくアプリケーションは終了します。もう一度起動して処理を完了させてください。","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"題名や本文の一部を入力してノートを検索し、そのノートに移動できます。また、「#タグ名」で該当タグ付きノートの一覧に、「@ノートブック名」で該当ノートブックに移動できます。あるいは「:」でコマンドを検索して実行できます。","Goto Anything...":"Goto Anything...","Command palette":"コマンドパレット","Exporting to \"%s\" as \"%s\" format. Please wait...":"\"%s\" を \"%s\" フォーマットにエクスポート中。しばらくお待ちください...","Could not export notes: %s":"ノートをエクスポートできませんでした: %s","Current version is up-to-date.":"現在のバージョンは最新版です。","%s (pre-release)":"%s (プレリリース)","An update is available, do you want to download it now?":"アップデートがあります。すぐにダウンロードしますか?","Your version: %s":"あなたのバージョン: %s","New version: %s":"新バージョン: %s","Full Release Notes":"リリースノート(完全版)","Search...":"検索...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"ノート \"%s\" のノートブック \"%s\"への復元は成功しました。","This note has no history":"このノートに履歴はありません","Unsupported link or message: %s":"次のリンクまたはメッセージはサポートしていません: %s","Restore":"復元","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"\"%s\"をクリックすると復元を行います。復元されるノートは\"%s\"というノートブックにコピーされます。現在のバージョンのノートの置換や変更は行われません。","Back":"戻る","Remove":"削除","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"ノートブック \"%s\" を削除しますか?\n\nこのノートブックにあるノートとサブノートはすべて消えてしまいます。","Delete":"削除","Remove tag \"%s\" from all notes?":"すべてのノートからタグ \"%s\" を削除しますか?","Remove this search from the sidebar?":"サイドバーからこの検索を削除しますか?","Export":"エクスポート","All notes":"すべてのノート","Synchronise":"同期","Notebooks":"ノートブック","Tags":"タグ","Decrypting items: %d/%d":"復号中のアイテム: %d/%d","Fetching resources: %d/%d":"取得中のリソース: %d/%d","Sidebar":"サイドバー","Focus":"フォーカス","Please select where the sync status should be exported to":"同期状況の出力先を選択してください","Retry All":"すべて再試行","Retry":"再実行","strong text":"文字を太字に","emphasised text":"強調したいテキスト","Insert Hyperlink":"ハイパーリンクの挿入","List item":"リストアイテム","Layout":"レイアウト","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"このノートには中身がありません。 \"%s\" をクリックしてエディターを表示し、ノートを編集してください。","Cut":"切り取り","Copy":"コピー","Paste":"貼り付け","Checkbox list":"チェックボックスリスト","Edit":"編集","Attach file":"ファイルを添付する","Code Block":"コードブロック","Inline Code":"インラインコード","Insert Date Time":"日付の入力","Drop notes or files here":"ノートやファイルをここにドロップします","Code View":"コードビュー","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"すべての添付ファイルのダウンロードと復号が終わるまでお待ちください。%sに切り替えてノートを編集することはできます。","There was an error downloading this attachment:":"この添付ファイルをダウンロードするときにエラーが発生しました:","This attachment is not downloaded or not decrypted yet":"この添付ファイルはダウンロードされていないか、まだ復号されていません","Open...":"開く...","Save as...":"名前を付けて保存...","Reveal file in folder":"ファイルのあるフォルダーを開く","Copy path to clipboard":"クリップボードにパスを保存","Copy Link Address":"リンクアドレスをコピー","to-do":"to-do","note":"ノート","Creating new %s...":"新しい %s を作成中...",Line truncated
|
||||
{"OK":"OK","Cancel":"キャンセル","The app is now going to close. Please relaunch it to complete the process.":"まもなくアプリケーションは終了します。もう一度起動して処理を完了させてください。","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"題名や本文の一部を入力してノートを検索し、そのノートに移動できます。また、「#タグ名」で該当タグ付きノートの一覧に、「@ノートブック名」で該当ノートブックに移動できます。あるいは「:」でコマンドを検索して実行できます。","Goto Anything...":"Goto Anything...","Command palette":"コマンドパレット","Exporting to \"%s\" as \"%s\" format. Please wait...":"\"%s\" を \"%s\" フォーマットにエクスポート中。しばらくお待ちください...","Could not export notes: %s":"ノートをエクスポートできませんでした: %s","Current version is up-to-date.":"現在のバージョンは最新版です。","%s (pre-release)":"%s (プレリリース)","An update is available, do you want to download it now?":"アップデートがあります。すぐにダウンロードしますか?","Your version: %s":"あなたのバージョン: %s","New version: %s":"新バージョン: %s","Download":"ダウンロード","Full Release Notes":"リリースノート(完全版)","Search...":"検索...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"ノート \"%s\" のノートブック \"%s\"への復元は成功しました。","This note has no history":"このノートに履歴はありません","Unsupported link or message: %s":"次のリンクまたはメッセージはサポートしていません: %s","Restore":"復元","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"\"%s\"をクリックすると復元を行います。復元されるノートは\"%s\"というノートブックにコピーされます。現在のバージョンのノートの置換や変更は行われません。","Back":"戻る","Remove":"削除","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"ノートブック \"%s\" を削除しますか?\n\nこのノートブックにあるノートとサブノートはすべて消えてしまいます。","Delete":"削除","Remove tag \"%s\" from all notes?":"すべてのノートからタグ \"%s\" を削除しますか?","Remove this search from the sidebar?":"サイドバーからこの検索を削除しますか?","Export":"エクスポート","All notes":"すべてのノート","Synchronise":"同期","Notebooks":"ノートブック","Tags":"タグ","Decrypting items: %d/%d":"復号中のアイテム: %d/%d","Fetching resources: %d/%d":"取得中のリソース: %d/%d","Sidebar":"サイドバー","Focus":"フォーカス","Please select where the sync status should be exported to":"同期状況の出力先を選択してください","Retry All":"すべて再試行","Retry":"再実行","strong text":"文字を太字に","emphasised text":"強調したいテキスト","Insert Hyperlink":"ハイパーリンクの挿入","List item":"リストアイテム","Layout":"レイアウト","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"このノートには中身がありません。 \"%s\" をクリックしてエディターを表示し、ノートを編集してください。","Cut":"切り取り","Copy":"コピー","Paste":"貼り付け","Checkbox list":"チェックボックスリスト","Edit":"編集","Attach file":"ファイルを添付する","Code Block":"コードブロック","Inline Code":"インラインコード","Insert Date Time":"日付の入力","Drop notes or files here":"ノートやファイルをここにドロップします","Code View":"コードビュー","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"すべての添付ファイルのダウンロードと復号が終わるまでお待ちください。%sに切り替えてノートを編集することはできます。","There was an error downloading this attachment:":"この添付ファイルをダウンロードするときにエラーが発生しました:","This attachment is not downloaded or not decrypted yet":"この添付ファイルはダウンロードされていないか、まだ復号されていません","Open...":"開く...","Save as...":"名前を付けて保存...","Reveal file in folder":"ファイルのあるフォルダーを開く","Copy path to clipboard":"クリップボードにパスを保存","Copy Link Address":"リンクアドレスをコピー","to-do":"to-do","note":"ノート","Creating new %s..."Line truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"확인","Cancel":"취소","The app is now going to close. Please relaunch it to complete the process.":"애플리케이션이 곧 종료됩니다. 프로세스를 완료하려면 다시 실해주세요.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"노트 제목이나 내용의 일부를 입력하여 바로 이동하세요. 혹은 #으로 시작하는 태그 이름이나 @로 시작하는 노트북 이름을 입력하거나, :을 입력하여 명령을 검색하세요.\"","Goto Anything...":"가고자 하는 곳으로 이동...","Command palette":"명령 팔레트","Exporting to \"%s\" as \"%s\" format. Please wait...":"\"%s\"에 \"%s\" 포맷으로 내보내는 중입니다. 잠시만 기다려주세요...","Could not export notes: %s":"노트를 내보낼 수 없습니다: %s","Current version is up-to-date.":"현재 최신 버전을 사용중입니다.","%s (pre-release)":"%s (프리-릴리즈)","An update is available, do you want to download it now?":"업데이트가 있습니다. 지금 다운로드 할까요?","Your version: %s":"현재 버전: %s","New version: %s":"새 버전: %s","Download":"다운로드","Full Release Notes":"전체 릴리즈된 노트들","Search...":"찾기...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"노트 “%s”가 노트북 “%s\"에 성공적으로 복구되었습니다.","This note has no history":"이 노트엔 역사가 없습니다","Unsupported link or message: %s":"지원하지 않는 링크 또는 메세지: %s","Restore":"복구","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"\"%s\"를 클릭하여 노트를 복구하세요. 노트는 \"%s\" 이름을 가진 노트북에 복사될 것입니다. 현재 버전의 노트는 이동하거나 수정되지 않습니다.","Back":"뒤로 가기","Remove":"삭제","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"\"%s\" 노트북을 삭제할까요?\n\n이 노트북 안에 있는 모든 노트와 더불어 하위 노트북들도 함께 삭제됩니다.","Delete":"삭제","Remove tag \"%s\" from all notes?":"모든 노트에서 “%s” 태그를 제거할까요?","Remove this search from the sidebar?":"사이드바에서 이 검색 항목을 제거할까요?","Export":"내보내기","All notes":"모든 노트","Synchronise":"동기화","Notebooks":"노트북","Tags":"태그","Decrypting items: %d/%d":"복호화 항목: %d/%d","Fetching resources: %d/%d":"리소스 가져오는 중: %d/%d","Sidebar":"사이드바","Focus":"강조","Please select where the sync status should be exported to":"동기화 상태를 내보낼 대상을 선택하세요","Retry All":"전부 재시도","Retry":"재시도","strong text":"굵게","emphasised text":"강조","Insert Hyperlink":"하이퍼링크 삽입","List item":"목록 추가","Layout":"배치","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"비어있는 노트입니다. \"%s\" 항목을 선택해서 편집기를 전환하고 노트를 편집하세요.","Cut":"잘라내기","Copy":"복사","Paste":"붙여넣기","Checkbox list":"선택상자 목록","Edit":"편집","Attach file":"파일 첨부","Code Block":"코드 블록","Inline Code":"인라인 코드","Insert Date Time":"날짜와 시간 입력","Drop notes or files here":"노트나 파일을 여기에 끌어놓습니다","Code View":"코드 보기","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"모든 첨부 파일들이 다운로드 및 복호화될 때까지 기다려주세요. %s를 통해 이 노트를 편집하도록 전환할 수 있습니다.","There was an error downloading this attachment:":"첨부 파일을 다운로드하던 중에 오류가 발생했습니다:","This attachment is not downloaded or not decrypted yet":"이 첨부 파일은 아직 다운로드 또는 복호화 되지 않았습니다","Open...":"열기...","Save as...":"다른 이름으로 저장...","Reveal file in folder":"폴더에 있는 파일 표시","Copy path to clipboard":"경로를 클립보드에 복사","Copy Link Address":"링크 주소 복사","to-do":"할 일","note":"노트","Creating new %s...":"%s 새로 만들기...","The following attachments are being watched for changes:":"다음 첨부 파일들이 변경되었는지 감시하고 있습니다:","The attachments will no longer be watched when you switch to a different note.":"다른 노트로 전환하면 첨부 파일이 더 이상 감시되지 않습니다.","In: %s":"내부: %s","Select all":"모두 선택","Bold":"굵게","Italic":"기울임","Hyperlink":"하이퍼링크","Code":"코드","Numbered List":"번호 매기기 목록","Bulleted List":"글머리 기호 목록","CLine truncated
|
||||
{"OK":"확인","Cancel":"취소","The app is now going to close. Please relaunch it to complete the process.":"애플리케이션이 곧 종료됩니다. 프로세스를 완료하려면 다시 실해주세요.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"노트 제목이나 내용의 일부를 입력하여 바로 이동하세요. 혹은 #으로 시작하는 태그 이름이나 @로 시작하는 노트북 이름을 입력하거나, :을 입력하여 명령을 검색하세요.","Goto Anything...":"가고자 하는 곳으로 이동...","Command palette":"명령 팔레트를","Exporting to \"%s\" as \"%s\" format. Please wait...":"\"%s\"에 \"%s\" 포맷으로 내보내는 중입니다. 잠시만 기다려주세요...","Could not export notes: %s":"노트를 내보낼 수 없습니다: %s","Current version is up-to-date.":"현재 최신 버전을 사용중입니다.","%s (pre-release)":"%s (프리-릴리즈)","An update is available, do you want to download it now?":"업데이트가 있습니다. 지금 다운로드 할까요?","Your version: %s":"현재 버전: %s","New version: %s":"새 버전: %s","Download":"다운로드","Full Release Notes":"전체 릴리즈된 노트들","Search...":"찾기...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"노트 “%s”가 노트북 “%s\"에 성공적으로 복구되었습니다.","This note has no history":"이 노트엔 역사가 없습니다","Unsupported link or message: %s":"지원하지 않는 링크 또는 메세지: %s","Restore":"복구","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"\"%s\"를 클릭하여 노트를 복구하세요. 노트는 \"%s\" 이름을 가진 노트북에 복사될 것입니다. 현재 버전의 노트는 이동하거나 수정되지 않습니다.","Back":"뒤로 가기","Remove":"삭제","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"\"%s\" 노트북을 삭제할까요?\n\n이 노트북 안에 있는 모든 노트와 더불어 하위 노트북들도 함께 삭제됩니다.","Delete":"삭제","Remove tag \"%s\" from all notes?":"모든 노트에서 “%s” 태그를 제거할까요?","Remove this search from the sidebar?":"사이드바에서 이 검색 항목을 제거할까요?","Export":"내보내기","All notes":"모든 노트","Synchronise":"동기화","Notebooks":"노트북","Tags":"태그","Decrypting items: %d/%d":"복호화 항목: %d/%d","Fetching resources: %d/%d":"리소스 가져오는 중: %d/%d","Sidebar":"사이드바","Focus":"강조","Please select where the sync status should be exported to":"동기화 상태를 내보낼 대상을 선택하세요","Retry All":"전부 재시도","Retry":"재시도","strong text":"굵게","emphasised text":"강조","Insert Hyperlink":"하이퍼링크 삽입","List item":"목록 추가","Layout":"배치","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"비어있는 노트입니다. \"%s\" 항목을 선택해서 편집기를 전환하고 노트를 편집하세요.","Cut":"잘라내기","Copy":"복사","Paste":"붙여넣기","Checkbox list":"선택상자 목록","Edit":"편집","Attach file":"파일 첨부","Code Block":"코드 블록","Inline Code":"인라인 코드","Insert Date Time":"날짜와 시간 입력","Drop notes or files here":"노트나 파일을 여기에 끌어놓습니다","Code View":"코드 보기","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"모든 첨부 파일들이 다운로드 및 복호화될 때까지 기다려주세요. %s를 통해 이 노트를 편집하도록 전환할 수 있습니다.","There was an error downloading this attachment:":"첨부 파일을 다운로드하던 중에 오류가 발생했습니다:","This attachment is not downloaded or not decrypted yet":"이 첨부 파일은 아직 다운로드 또는 복호화 되지 않았습니다","Open...":"열기...","Save as...":"다른 이름으로 저장...","Reveal file in folder":"폴더에 있는 파일 표시","Copy path to clipboard":"경로를 클립보드에 복사","Copy Link Address":"링크 주소 복사","to-do":"할 일","note":"노트","Creating new %s...":"%s 새로 만들기...","The following attachments are being watched for changes:":"다음 첨부 파일들이 변경되었는지 감시하고 있습니다:","The attachments will no longer be watched when you switch to a different note.":"다른 노트로 전환하면 첨부 파일이 더 이상 감시되지 않습니다.","In: %s":"내부: %s","Select all":"모두 선택","Bold":"굵게","Italic":"기울임","Hyperlink":"하이퍼링크","Code":"코드","Numbered List":"번호 매기기 목록","Bulleted List":"글머리 기호 목록","Line truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Avbryt","Goto Anything...":"Hopp til...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Eksporterer til \"%s\" i \"%s\" format. Vennligst vent...","Current version is up-to-date.":"Nåværende versjon er den siste tilgjengelige.","%s (pre-release)":"%s (førutgivelse)","An update is available, do you want to download it now?":"En oppdatering er tilgjengelig, vil du laste den ned nå?","Your version: %s":"Din versjon: %s","New version: %s":"Ny versjon: %s","Full Release Notes":"Alle utgivelsesnotater","Search...":"Søk...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Notatet \"%s\" has blitt vellykket gjenopprettet i notatboken \"%s\".","This note has no history":"Dette notatet har ingen historikk","Unsupported link or message: %s":"Usupportert lenke eller melding: %s","Restore":"Gjenopprett","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Velg \"%s\" for å gjenopprette notatet. Det vil bli kopiert til notatboken\"%s\". Den nåværende versjonen av notatet vil ikke bli erstattet eller modifisert.","Back":"Tilbake","Remove":"Fjern","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Slette notatbok \"&s\"?\n\nAlle notater og underliggende notatbøker i denne notatboken vil også bli slettet.","Delete":"Slett","Remove tag \"%s\" from all notes?":"Fjern denne merkelappen \"%s\" fra alle notater?","Remove this search from the sidebar?":"Fjerne dette søket fra sidepanelet?","Export":"Eksporter","All notes":"Alle notater","Synchronise":"Synkroniser","Notebooks":"Notatbøker","Tags":"Merkelapper","Decrypting items: %d/%d":"Dekrypterer elementer: %d/%d","Fetching resources: %d/%d":"Henter ressurser: %d","Sidebar":"Sidepanel","Focus":"Fokuser","Please select where the sync status should be exported to":"Velg hvor synkroniseringsstatusen skal eksporteres til","Retry":"Prøv igjen","strong text":"fet tekst","Insert Hyperlink":"Sett inn hyperlenke","List item":"Listeelement","Layout":"Visning","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Dette notatet har ikke noe innhold. Klikk på \"%s\" for å redigere notatet.","Cut":"Klipp ut","Copy":"Kopier","Paste":"Lim inn","Edit":"Rediger","Attach file":"Legg ved fil","Insert Date Time":"Sett inn dato/tid","There was an error downloading this attachment:":"Det oppstod en feil ved nedlastingen av dette vedlegget:","This attachment is not downloaded or not decrypted yet":"Dette vedlegget er ikke lastet ned eller dekryptert enda.","Open...":"Åpne...","Save as...":"Lagre som...","Copy path to clipboard":"Kopier sti til utklippstavlen","Copy Link Address":"Kopier linkadresse","to-do":"gjøremål","note":"notat","Creating new %s...":"Oppretter nytt %s...","In: %s":"I: %s","Select all":"Marker alt","Bold":"Fet","Italic":"Kursiv","Hyperlink":"Hyperlenke","Code":"Kode","Numbered List":"Nummerert liste","Bulleted List":"Kulepunktliste","Checkbox":"Avmerkingsboks","Heading":"Overskrift","Horizontal Rule":"Horisontal strek","Note title":"Tittel på notat:","Search in current note":"Søk i nåværende notat","Note body":"Notatbrødtekst","ID":"ID","Created":"Opprettet","Updated":"Oppdatert","Completed":"Fullført","Location":"Lokasjon","URL":"URL","Note History":"Notathistorikk","Markup":"Markup","Previous versions of this note":"Forrige versjon av dette notatet","Note properties":"Notategenskaper","Disabled":"Deaktivitert","Import":"Importer","Quit":"Avslutt","Insert template":"Legg inn mal","Actual Size":"Faktisk størrelse","Website and documentation":"Nettsted og dokumentasjon","Close Window":"Lukk vindu","Options":"Generelle innstillinger","Save":"Lagre","Some items cannot be synchronised.":"Noen elementer kan ikke synkroniseres.","View them now":"Vis nå","Some items cannot be decrypted.":"Noen elementer kan ikke dekrypteres.","One or more master keys need a password.":"En eller flere masternøkler trenger et passord.","Set the password":"Sett passord","One of your master keys use an obsolete encryption method.":"En eller flere masternøkler bruker en utdatert krypteringsmetode.","The default encryption method has been changed, you should re-encrypt your data.":"Standard krypteringsmetode har blitt endret. Du bør rekryptere ditt innhold.","More info":"Mer informasjon","Rename":"Gi nytt navn","Rename notebook:":"Gi nytt navn til notatbok:","New to-do":"Nytt gjøremål","Toggle note list":"Skru på/av notatliste","Toggle sidebar":"Vis/skjul sidepanel","Set alarm":"Angi alarm","Set alarm:":"Angi alarm:","PDF File":"PDF-fil","New note":"Nytt notat","Toggle editor layout":"Bytt editorvisning","Rename tag:":"Gi nytt navn til merkelapp:","New notebook":"Ny notatbok","Notebook title:":"Tittel på notatbok:","Share note...":"Del notat...","New sub-notebook":"Ny undernotatbok","Template file:":"Malfiler","Add or remove tags:":"Legge til eller Line truncated
|
||||
{"OK":"OK","Cancel":"Avbryt","Goto Anything...":"Hopp til...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Eksporterer til \"%s\" i \"%s\" format. Vennligst vent...","Current version is up-to-date.":"Nåværende versjon er den siste tilgjengelige.","%s (pre-release)":"%s (førutgivelse)","An update is available, do you want to download it now?":"En oppdatering er tilgjengelig, vil du laste den ned nå?","Your version: %s":"Din versjon: %s","New version: %s":"Ny versjon: %s","Full Release Notes":"Alle utgivelsesnotater","Search...":"Søk...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Notatet \"%s\" has blitt vellykket gjenopprettet i notatboken \"%s\".","This note has no history":"Dette notatet har ingen historikk","Unsupported link or message: %s":"Usupportert lenke eller melding: %s","Restore":"Gjenopprett","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Velg \"%s\" for å gjenopprette notatet. Det vil bli kopiert til notatboken\"%s\". Den nåværende versjonen av notatet vil ikke bli erstattet eller modifisert.","Back":"Tilbake","Remove":"Fjern","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Slette notatbok \"&s\"?\n\nAlle notater og underliggende notatbøker i denne notatboken vil også bli slettet.","Delete":"Slett","Remove tag \"%s\" from all notes?":"Fjern denne merkelappen \"%s\" fra alle notater?","Remove this search from the sidebar?":"Fjerne dette søket fra sidepanelet?","Export":"Eksporter","All notes":"Alle notater","Synchronise":"Synkroniser","Notebooks":"Notatbøker","Tags":"Merkelapper","Decrypting items: %d/%d":"Dekrypterer elementer: %d/%d","Fetching resources: %d/%d":"Henter ressurser: %d","Sidebar":"Sidepanel","Focus":"Fokuser","Please select where the sync status should be exported to":"Velg hvor synkroniseringsstatusen skal eksporteres til","Retry":"Prøv igjen","strong text":"fet tekst","Insert Hyperlink":"Sett inn hyperlenke","List item":"Listeelement","Layout":"Visning","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Dette notatet har ikke noe innhold. Klikk på \"%s\" for å redigere notatet.","Cut":"Klipp ut","Copy":"Kopier","Paste":"Lim inn","Edit":"Rediger","Attach file":"Legg ved fil","Insert Date Time":"Sett inn dato/tid","There was an error downloading this attachment:":"Det oppstod en feil ved nedlastingen av dette vedlegget:","This attachment is not downloaded or not decrypted yet":"Dette vedlegget er ikke lastet ned eller dekryptert enda.","Open...":"Åpne...","Save as...":"Lagre som...","Copy path to clipboard":"Kopier sti til utklippstavlen","Copy Link Address":"Kopier linkadresse","to-do":"gjøremål","note":"notat","Creating new %s...":"Oppretter nytt %s...","In: %s":"I: %s","Select all":"Marker alt","Bold":"Fet","Italic":"Kursiv","Hyperlink":"Hyperlenke","Code":"Kode","Numbered List":"Nummerert liste","Bulleted List":"Kulepunktliste","Checkbox":"Avmerkingsboks","Heading":"Overskrift","Horizontal Rule":"Horisontal strek","Note title":"Tittel på notat:","Search in current note":"Søk i nåværende notat","Note body":"Notatbrødtekst","ID":"ID","Created":"Opprettet","Updated":"Oppdatert","Completed":"Fullført","Location":"Lokasjon","URL":"URL","Note History":"Notathistorikk","Markup":"Markup","Previous versions of this note":"Forrige versjon av dette notatet","Note properties":"Notategenskaper","Disabled":"Deaktivitert","Import":"Importer","Quit":"Avslutt","Insert template":"Legg inn mal","Actual Size":"Faktisk størrelse","Website and documentation":"Nettsted og dokumentasjon","Close Window":"Lukk vindu","Options":"Generelle innstillinger","Save":"Lagre","Some items cannot be synchronised.":"Noen elementer kan ikke synkroniseres.","View them now":"Vis nå","Some items cannot be decrypted.":"Noen elementer kan ikke dekrypteres.","One or more master keys need a password.":"En eller flere masternøkler trenger et passord.","Set the password":"Sett passord","One of your master keys use an obsolete encryption method.":"En eller flere masternøkler bruker en utdatert krypteringsmetode.","The default encryption method has been changed, you should re-encrypt your data.":"Standard krypteringsmetode har blitt endret. Du bør rekryptere ditt innhold.","More info":"Mer informasjon","Rename":"Gi nytt navn","Rename notebook:":"Gi nytt navn til notatbok:","New to-do":"Nytt gjøremål","Toggle note list":"Skru på/av notatliste","Toggle sidebar":"Vis/skjul sidepanel","Set alarm":"Angi alarm","Set alarm:":"Angi alarm:","PDF File":"PDF-fil","New note":"Nytt notat","Toggle editor layout":"Bytt editorvisning","Rename tag:":"Gi nytt navn til merkelapp:","New notebook":"Ny notatbok","Notebook title:":"Tittel på notatbok:","Share note...":"Del notat...","New sub-notebook":"Ny undernotatbok","Template file:":"Malfiler","Add or remove tags:":"Legge til eller Line truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"Oké","Cancel":"Annuleren","The app is now going to close. Please relaunch it to complete the process.":"De applicatie zal nu afsluiten. Gelieve het weer op te starten om het proces te voltooien.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Typ de titel van een notitie of een deel van de inhoud om er naartoe te springen. Typ # gevolgd door de naam van een label, @ gevolgd door de naam van een notitieboek, of : om te zoeken op commando's.","Goto Anything...":"Ga naar Alles...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Bezig met exporteren van \"%s\" in het formaat \"%s\". Even geduld...","Could not export notes: %s":"Kon geen notities exporteren: %s","Current version is up-to-date.":"De huidige versie is up-to-date.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Er is een update beschikbaar. Wilt u deze nu downloaden?","Your version: %s":"Uw versie: %s","New version: %s":"Nieuwe versie: %s","Download":"Downloaden","Full Release Notes":"Volledige Release Notes","Search...":"Zoeken...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"De notitie “%s” is succesvol hersteld naar notitieboek “%s”.","This note has no history":"Deze notitie heeft geen geschiedenis","Unsupported link or message: %s":"Niet-ondersteunde link of bericht: %s","Restore":"Herstel","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klik “%s” om de notitie te herstellen. Het wordt gekopieerd naar het notitieboek genaamd “%s”. De huidige versie van de notitie wordt niet vervangen of aangepast.","Back":"Terug","Remove":"Verwijderen","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Notitieboek “%s” verwijderen?\n\nAlle notities en sub-notitieboeken in dit notitieboek worden eveneens verwijderd.","Delete":"Verwijderen","Remove tag \"%s\" from all notes?":"Label “%s” verwijderen van alle notities?","Remove this search from the sidebar?":"Deze zoekopdracht verwijderen uit de zijbalk?","Export":"Exporteren","All notes":"Alle notities","Synchronise":"Synchroniseren","Notebooks":"Notitieboeken","Tags":"Labels","Decrypting items: %d/%d":"Bezig met ontsleutelen van items: %d/%d","Fetching resources: %d/%d":"Bronnen ophalen: %d/%d","Sidebar":"Zijbalk","Focus":"Focus","Please select where the sync status should be exported to":"Kies waar de synchronisatiestatus naar moet worden geëxporteerd","Retry All":"Alles opnieuw proberen","Retry":"Opnieuw proberen","strong text":"vetgedrukte tekst","emphasised text":"benadrukte tekst","Insert Hyperlink":"Hyperlink invoegen","List item":"Lijstitem","Layout":"Indeling","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Deze notitie bevat geen inhoud. Klik op \"%s\" om de editor te openen en de notitie te bewerken.","Cut":"Knippen","Copy":"Kopiëren","Paste":"Plakken","Checkbox list":"Checkboxlijst","Edit":"Bewerken","Attach file":"Bestand bijvoegen","Code Block":"Code Blok","Inline Code":"Inline-code","Insert Date Time":"Datum en tijd invoegen","Drop notes or files here":"Notities bestanden hier neerzetten","Code View":"Codeweergave","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Wacht tot alle bijlagen zijn gedownload en versleuteld. Je mag ook overschakelen naar %s om de notitie te wijzigen.","There was an error downloading this attachment:":"Er is iets misgegaan tijdens het downloaden van deze bijlage:","This attachment is not downloaded or not decrypted yet":"Deze bijlage is niet gedownload of nog niet ontsleuteld","Open...":"Openen...","Save as...":"Opslaan als...","Reveal file in folder":"Bestand in map onthullen","Copy path to clipboard":"Pad kopiëren naar klembord","Copy Link Address":"Linkadres kopiëren","to-do":"taak","note":"notitie","Creating new %s...":"Bezig met creëren van nieuw(e) %s...","The following attachments are being watched for changes:":"De volgende bijlagen worden gecontroleerd op wijzigingen:","The attachments will no longer be watched when you switch to a different note.":"De bijlagen worden niet meer gecontroleerd wanneer je naar een andere notitie schakelt.","In: %s":"In: %s","Select all":"Alles selecteren","Bold":"Vetgedrukt","Italic":"Cursief","Hyperlink":"Hyperlink","Code":"Code","Numbered List":"Genummerde lijst","Bulleted List":"Opsommingslijst","Checkbox":"Checkbox","Heading":"Kop","Horizontal Rule":"Horizontale regel","Note title":"Titel van notitie","Search in current note":"Huidige notitie doorzoeken","Note body":"Inhoud van notitie","ID":"ID","Created":"Gecreëerd","Updated":"Bijgewerkt","Completed":"Voltooid","Location":"Locatie","URL":"URL","Note History":"Notitiegeschiedenis","Markup":"OpmaaLine truncated
|
||||
{"OK":"Oké","Cancel":"Annuleren","The app is now going to close. Please relaunch it to complete the process.":"De applicatie zal nu afsluiten. Gelieve het weer op te starten om het proces te voltooien.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Typ de titel van een notitie of een deel van de inhoud om er naartoe te springen. Typ # gevolgd door de naam van een label, @ gevolgd door de naam van een notitieboek, of : om te zoeken op commando's.","Goto Anything...":"Ga naar Alles...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Bezig met exporteren van \"%s\" in het formaat \"%s\". Even geduld...","Could not export notes: %s":"Kon geen notities exporteren: %s","Current version is up-to-date.":"De huidige versie is up-to-date.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Er is een update beschikbaar. Wilt u deze nu downloaden?","Your version: %s":"Uw versie: %s","New version: %s":"Nieuwe versie: %s","Download":"Downloaden","Full Release Notes":"Volledige Release Notes","Search...":"Zoeken...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"De notitie “%s” is succesvol hersteld naar notitieboek “%s”.","This note has no history":"Deze notitie heeft geen geschiedenis","Unsupported link or message: %s":"Niet-ondersteunde link of bericht: %s","Restore":"Herstel","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klik “%s” om de notitie te herstellen. Het wordt gekopieerd naar het notitieboek genaamd “%s”. De huidige versie van de notitie wordt niet vervangen of aangepast.","Back":"Terug","Remove":"Verwijderen","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Notitieboek “%s” verwijderen?\n\nAlle notities en sub-notitieboeken in dit notitieboek worden eveneens verwijderd.","Delete":"Verwijderen","Remove tag \"%s\" from all notes?":"Label “%s” verwijderen van alle notities?","Remove this search from the sidebar?":"Deze zoekopdracht verwijderen uit de zijbalk?","Export":"Exporteren","All notes":"Alle notities","Synchronise":"Synchroniseren","Notebooks":"Notitieboeken","Tags":"Labels","Decrypting items: %d/%d":"Bezig met ontsleutelen van items: %d/%d","Fetching resources: %d/%d":"Bronnen ophalen: %d/%d","Sidebar":"Zijbalk","Focus":"Focus","Please select where the sync status should be exported to":"Kies waar de synchronisatiestatus naar moet worden geëxporteerd","Retry All":"Alles opnieuw proberen","Retry":"Opnieuw proberen","strong text":"vetgedrukte tekst","emphasised text":"benadrukte tekst","Insert Hyperlink":"Hyperlink invoegen","List item":"Lijstitem","Layout":"Indeling","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Deze notitie bevat geen inhoud. Klik op \"%s\" om de editor te openen en de notitie te bewerken.","Cut":"Knippen","Copy":"Kopiëren","Paste":"Plakken","Checkbox list":"Checkboxlijst","Edit":"Bewerken","Attach file":"Bestand bijvoegen","Code Block":"Code Blok","Inline Code":"Inline-code","Insert Date Time":"Datum en tijd invoegen","Drop notes or files here":"Notities bestanden hier neerzetten","Code View":"Codeweergave","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Wacht tot alle bijlagen zijn gedownload en versleuteld. Je mag ook overschakelen naar %s om de notitie te wijzigen.","There was an error downloading this attachment:":"Er is iets misgegaan tijdens het downloaden van deze bijlage:","This attachment is not downloaded or not decrypted yet":"Deze bijlage is niet gedownload of nog niet ontsleuteld","Open...":"Openen...","Save as...":"Opslaan als...","Reveal file in folder":"Bestand in map onthullen","Copy path to clipboard":"Pad kopiëren naar klembord","Copy Link Address":"Linkadres kopiëren","to-do":"taak","note":"notitie","Creating new %s...":"Bezig met creëren van nieuw(e) %s...","The following attachments are being watched for changes:":"De volgende bijlagen worden gecontroleerd op wijzigingen:","The attachments will no longer be watched when you switch to a different note.":"De bijlagen worden niet meer gecontroleerd wanneer je naar een andere notitie schakelt.","In: %s":"In: %s","Select all":"Alles selecteren","Bold":"Vetgedrukt","Italic":"Cursief","Hyperlink":"Hyperlink","Code":"Code","Numbered List":"Genummerde lijst","Bulleted List":"Opsommingslijst","Checkbox":"Checkbox","Heading":"Kop","Horizontal Rule":"Horizontale regel","Note title":"Titel van notitie","Search in current note":"Huidige notitie doorzoeken","Note body":"Inhoud van notitie","ID":"ID","Created":"Gecreëerd","Updated":"Bijgewerkt","Completed":"Voltooid","Location":"Locatie","URL":"URL","Note History":"Notitiegeschiedenis","Markup":"OpmaaLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Anuluj","The app is now going to close. Please relaunch it to complete the process.":"Aplikacja zostanie teraz zamknięta. Uruchom ją ponownie aby ukończyć proces.","Goto Anything...":"Idź do...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Eksportowanie do \"%s\" jako \"%s\". Proszę czekać...","Could not export notes: %s":"Nie udało się wyeksportować notatek: %s","Current version is up-to-date.":"Obecna wersja jest aktualna.","%s (pre-release)":"%s (przedpremiera)","An update is available, do you want to download it now?":"Aktualizacja jest dostępna, czy chcesz ją pobrać?","Your version: %s":"Twoja wersja: %s","New version: %s":"Nowa wersja: %s","Full Release Notes":"Całe informacje o wersji / opis zmian","Search...":"Wyszukaj...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Notatka \"%s\" została pomyślnie przywrócona do notatnika \"%s\".","This note has no history":"Notatka nie posiada historii","Unsupported link or message: %s":"Niewspierany odnośnik lub wiadomość: %s","Restore":"Przywróć","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Naciśnij \"%s\" aby przywrócić notatkę. Zostanie ona skopiowana do notatnika o nazwie \"%s\". Obecna wersja notatki nie zostanie nadpisana lub zmodyfikowana.","Back":"Cofnij","Remove":"Usuń","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Usunąć notatnik \"%s:?\n\nWszystkie notatki i notatniki podrzędne zawarte w tym notatniku także zostaną usunięte.","Delete":"Usuń","Remove tag \"%s\" from all notes?":"Usunąć znacznik \"%s\" ze wszystkich notatek?","Remove this search from the sidebar?":"Usunąć wyszukiwanie z nawigatora?","Export":"Eksportuj","All notes":"Wszystkie notatki","Synchronise":"Synchronizuj","Notebooks":"Notatniki","Tags":"Znaczniki","Decrypting items: %d/%d":"Deszyfrowanie obiektów %d/%d","Fetching resources: %d/%d":"Pobieranie zasobów: %d/%d","Sidebar":"Nawigator","Focus":"Wyszczególnienie","Please select where the sync status should be exported to":"Proszę wybrać gdzie powinen zostać eksportowany status synchronizacji","Retry All":"Ponów wszystko","Retry":"Ponów","strong text":"pogrubienie","emphasised text":"wyszczególnienie","Insert Hyperlink":"Wstaw Hyperlink","List item":"Obiekt listy","Layout":"Układ","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Notatka nie posiada zawartości. Naciśnik na \"%s\" aby przełączyć edytor i edytować notatkę.","Cut":"Wytnij","Copy":"Kopiuj","Paste":"Wklej","Checkbox list":"Lista checkboxów","Edit":"Edytuj","Attach file":"Załącz plik","Code Block":"Blok kodu","Inline Code":"Kod w linii","Insert Date Time":"Wstaw stempel czasowy","Drop notes or files here":"Upuść notatki lub pliki tutaj","Code View":"Widok kodu","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Poczekaj na pobranie I odszyfrowanie wszystkich załączników. Możesz też przenieść się do %s żeby edytować notatkę.","There was an error downloading this attachment:":"Wystąpił błąd pobierania załącznika:","This attachment is not downloaded or not decrypted yet":"Załącznik nie został jeszcze pobrany lub deszyfrowany","Open...":"Otwórz...","Save as...":"Zapisz jako...","Reveal file in folder":"Odkryj plik w folderze","Copy path to clipboard":"Skopiuj ścieżkę do schowka","Copy Link Address":"Skopiuj adres odnośnika","to-do":"zadanie","note":"notatka","Creating new %s...":"Tworzenie nowego %s...","The following attachments are being watched for changes:":"Następujące załączniki są obserwowane pod kątem zmian:","The attachments will no longer be watched when you switch to a different note.":"Załączniki nie będą obserwowane gdy przejdziesz do innej notatki.","In: %s":"W: %s","Select all":"Wybierz wszystko","Bold":"Pogrubienie","Italic":"Kursywa","Hyperlink":"Hyperlink","Code":"Kod","Numbered List":"Lista numerowana","Bulleted List":"Lista punktowa","Checkbox":"Pole wyboru","Heading":"Nagłówek","Horizontal Rule":"Linia horyzontalna","Note title":"Tytuł notatki","Search in current note":"Wyszukaj w obecnej notatce","Note body":"Zawartość notatki","ID":"ID","Created":"Utworzono","Updated":"Zaaktualizowano","Completed":"Ukończono","Location":"Lokacja","URL":"Odnośnik","Note History":"Historia notatek","Markup":"Markup","Previous versions of this note":"Poprzednie wersje notatki","Note properties":"Właściwośći notatki","Disabled":"Deaktywowano","Import":"Zaimportuj","Command":"Komenda","Keyboard Shortcut":"Skrót klawiszowy","Quit":"Wyjdź","Insert template":"Wstaw szablon","Actual Size":"Rozmiar rzeczywisty","Website and documentation":"Strona internetowa i dokumentacja","Hide Joplin":"Ukryj okno aplikacji","Close Window":"Zamknij okno","Preferences":"Ustawienia"Line truncated
|
||||
{"OK":"OK","Cancel":"Anuluj","The app is now going to close. Please relaunch it to complete the process.":"Aplikacja zostanie teraz zamknięta. Uruchom ją ponownie aby ukończyć proces.","Goto Anything...":"Idź do...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Eksportowanie do \"%s\" jako \"%s\". Proszę czekać...","Could not export notes: %s":"Nie udało się wyeksportować notatek: %s","Current version is up-to-date.":"Obecna wersja jest aktualna.","%s (pre-release)":"%s (przedpremiera)","An update is available, do you want to download it now?":"Aktualizacja jest dostępna, czy chcesz ją pobrać?","Your version: %s":"Twoja wersja: %s","New version: %s":"Nowa wersja: %s","Full Release Notes":"Całe informacje o wersji / opis zmian","Search...":"Wyszukaj...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Notatka \"%s\" została pomyślnie przywrócona do notatnika \"%s\".","This note has no history":"Notatka nie posiada historii","Unsupported link or message: %s":"Niewspierany odnośnik lub wiadomość: %s","Restore":"Przywróć","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Naciśnij \"%s\" aby przywrócić notatkę. Zostanie ona skopiowana do notatnika o nazwie \"%s\". Obecna wersja notatki nie zostanie nadpisana lub zmodyfikowana.","Back":"Cofnij","Remove":"Usuń","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Usunąć notatnik \"%s:?\n\nWszystkie notatki i notatniki podrzędne zawarte w tym notatniku także zostaną usunięte.","Delete":"Usuń","Remove tag \"%s\" from all notes?":"Usunąć znacznik \"%s\" ze wszystkich notatek?","Remove this search from the sidebar?":"Usunąć wyszukiwanie z nawigatora?","Export":"Eksportuj","All notes":"Wszystkie notatki","Synchronise":"Synchronizuj","Notebooks":"Notatniki","Tags":"Znaczniki","Decrypting items: %d/%d":"Deszyfrowanie obiektów %d/%d","Fetching resources: %d/%d":"Pobieranie zasobów: %d/%d","Sidebar":"Nawigator","Focus":"Wyszczególnienie","Please select where the sync status should be exported to":"Proszę wybrać gdzie powinen zostać eksportowany status synchronizacji","Retry All":"Ponów wszystko","Retry":"Ponów","strong text":"pogrubienie","emphasised text":"wyszczególnienie","Insert Hyperlink":"Wstaw Hyperlink","List item":"Obiekt listy","Layout":"Układ","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Notatka nie posiada zawartości. Naciśnik na \"%s\" aby przełączyć edytor i edytować notatkę.","Cut":"Wytnij","Copy":"Kopiuj","Paste":"Wklej","Checkbox list":"Lista checkboxów","Edit":"Edytuj","Attach file":"Załącz plik","Code Block":"Blok kodu","Inline Code":"Kod w linii","Insert Date Time":"Wstaw stempel czasowy","Drop notes or files here":"Upuść notatki lub pliki tutaj","Code View":"Widok kodu","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Poczekaj na pobranie I odszyfrowanie wszystkich załączników. Możesz też przenieść się do %s żeby edytować notatkę.","There was an error downloading this attachment:":"Wystąpił błąd pobierania załącznika:","This attachment is not downloaded or not decrypted yet":"Załącznik nie został jeszcze pobrany lub deszyfrowany","Open...":"Otwórz...","Save as...":"Zapisz jako...","Reveal file in folder":"Odkryj plik w folderze","Copy path to clipboard":"Skopiuj ścieżkę do schowka","Copy Link Address":"Skopiuj adres odnośnika","to-do":"zadanie","note":"notatka","Creating new %s...":"Tworzenie nowego %s...","The following attachments are being watched for changes:":"Następujące załączniki są obserwowane pod kątem zmian:","The attachments will no longer be watched when you switch to a different note.":"Załączniki nie będą obserwowane gdy przejdziesz do innej notatki.","In: %s":"W: %s","Select all":"Wybierz wszystko","Bold":"Pogrubienie","Italic":"Kursywa","Hyperlink":"Hyperlink","Code":"Kod","Numbered List":"Lista numerowana","Bulleted List":"Lista punktowa","Checkbox":"Pole wyboru","Heading":"Nagłówek","Horizontal Rule":"Linia horyzontalna","Note title":"Tytuł notatki","Search in current note":"Wyszukaj w obecnej notatce","Note body":"Zawartość notatki","ID":"ID","Created":"Utworzono","Updated":"Zaaktualizowano","Completed":"Ukończono","Location":"Lokacja","URL":"Odnośnik","Note History":"Historia notatek","Markup":"Markup","Previous versions of this note":"Poprzednie wersje notatki","Note properties":"Właściwośći notatki","Disabled":"Deaktywowano","Import":"Zaimportuj","Command":"Komenda","Keyboard Shortcut":"Skrót klawiszowy","Quit":"Wyjdź","Insert template":"Wstaw szablon","Actual Size":"Rozmiar rzeczywisty","Website and documentation":"Strona internetowa i dokumentacja","Hide Joplin":"Ukryj okno aplikacji","Close Window":"Zamknij okno","Preferences":"Ustawienia"Line truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Cancelar","The app is now going to close. Please relaunch it to complete the process.":"O app irá fechar agora. Por favor, reabra-o para completar o processo.","Goto Anything...":"Ir para qualquer coisa...","Command palette":"Paleta de Comandos","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportando para \"%s\" com o formato \"%s\". Por favor, aguarde...","Could not export notes: %s":"Não foi possível exportar notas: %s","Current version is up-to-date.":"A versão atual está atualizada.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Uma atualização está disponível, você quer baixar agora?","Your version: %s":"Sua versão: %s","New version: %s":"Nova versão: %s","Full Release Notes":"Notas da versão completas","Search...":"Pesquisar...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"A nota \"%s\" foi restaurada com sucesso no caderno \"%s\".","This note has no history":"Esta nota não tem histórico","Unsupported link or message: %s":"Link ou mensagem não suportada: %s","Restore":"Restaurar","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Clique \"%s\" para restaurar a nota. Ela será copiada no caderno com nomes \"%s\". A versão atual da nota não será substituída ou modificada.","Back":"Voltar","Remove":"Remover","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Excluir o caderno\"%s\"?\n\nTodas as notas e sub-cadernos dentro deste também serão excluídos.","Delete":"Excluir","Remove tag \"%s\" from all notes?":"Remover a tag \"%s\" de todas as notas?","Remove this search from the sidebar?":"Remover essa pesquisa da barra lateral?","Export":"Exportar","All notes":"Todas as notas","Synchronise":"Sincronizar","Notebooks":"Cadernos","Tags":"Tags","Decrypting items: %d/%d":"Decriptando itens: %d/%d","Fetching resources: %d/%d":"Buscando recursos: %d/%d","Sidebar":"Barra Lateral","Focus":"Focar","Please select where the sync status should be exported to":"Favor selecionar o local para onde o status de sincronia deveria ser exportado","Retry All":"Tentar Todos de novo","Retry":"Tentar novamente","strong text":"texto forte","emphasised text":"texto enfatizado","Insert Hyperlink":"Inserir Hiperlink","List item":"Listar item","Layout":"Layout","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Esta nota não possui conteúdo. Clique em \"%s\" para alternar para o editor, e edite a nota.","Cut":"Cortar","Copy":"Copiar","Paste":"Colar","Checkbox list":"Lista de Opções","Edit":"Editar","Attach file":"Anexar arquivo","Code Block":"Bloco de Código","Inline Code":"Código","Insert Date Time":"Inserir Data e Hora","Drop notes or files here":"Solte notas e arquivos aqui","Code View":"Visualizar Código","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Por favor, aguarde que todos os anexos sejam baixados e decriptados. Você também pode mudar para %s para editar a nota.","There was an error downloading this attachment:":"Houve um erro ao baixar este anexo:","This attachment is not downloaded or not decrypted yet":"O anexo ainda não foi baixado ou decriptado","Open...":"Abrir...","Save as...":"Salvar como...","Reveal file in folder":"Mostrar aquivo na pasta","Copy path to clipboard":"Copiar caminho para a área de transferência","Copy Link Address":"Copiar endereço do link","to-do":"tarefa","note":"nota","Creating new %s...":"Criando novo %s...","The attachments will no longer be watched when you switch to a different note.":"Os anexos não serão mais observados quando você mudar para uma notadiferente.","In: %s":"Em: %s","Select all":"Selecionar tudo","Bold":"Negrito","Italic":"Itálico","Hyperlink":"Hiperlink","Code":"Código","Numbered List":"Lista numerada","Bulleted List":"Lista com bullets","Checkbox":"Checkbox","Heading":"Cabeçalho","Horizontal Rule":"Régua horizontal","Note title":"Título da Nota","Search in current note":"Pesquisar na nota atual","Note body":"Corpo da Nota","ID":"ID","Created":"Criado","Updated":"Atualizado","Completed":"Completado","Location":"Localização","URL":"URL","Note History":"Histórico da Nota","Markup":"Marcação","Previous versions of this note":"Versões anteriores desta nota","Note properties":"Propriedades da nota","Disabled":"Desabilitado","Import":"Importar","Command":"Command","Quit":"Sair","Insert template":"Inserir template","Actual Size":"Tamanho Atual","Website and documentation":"Website e documentação","Close Window":"Fechar Janela","Options":"Opções","Press the shortcut":"Digite o atalho","Press the shortcut and then press ENTER. Or, press BACKSPACE to clear the shortcut.":"Digite o atalho e então aperte ENTER. Ou, pressione BARRA DE ESPAÇO para limpar oatalho","Save":"Salvar","TheLine truncated
|
||||
{"OK":"OK","Cancel":"Cancelar","The app is now going to close. Please relaunch it to complete the process.":"O app irá fechar agora. Por favor, reabra-o para completar o processo.","Goto Anything...":"Ir para qualquer coisa...","Command palette":"Paleta de Comandos","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportando para \"%s\" com o formato \"%s\". Por favor, aguarde...","Could not export notes: %s":"Não foi possível exportar notas: %s","Current version is up-to-date.":"A versão atual está atualizada.","%s (pre-release)":"%s (pre-release)","An update is available, do you want to download it now?":"Uma atualização está disponível, você quer baixar agora?","Your version: %s":"Sua versão: %s","New version: %s":"Nova versão: %s","Full Release Notes":"Notas da versão completas","Search...":"Pesquisar...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"A nota \"%s\" foi restaurada com sucesso no caderno \"%s\".","This note has no history":"Esta nota não tem histórico","Unsupported link or message: %s":"Link ou mensagem não suportada: %s","Restore":"Restaurar","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Clique \"%s\" para restaurar a nota. Ela será copiada no caderno com nomes \"%s\". A versão atual da nota não será substituída ou modificada.","Back":"Voltar","Remove":"Remover","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Excluir o caderno\"%s\"?\n\nTodas as notas e sub-cadernos dentro deste também serão excluídos.","Delete":"Excluir","Remove tag \"%s\" from all notes?":"Remover a tag \"%s\" de todas as notas?","Remove this search from the sidebar?":"Remover essa pesquisa da barra lateral?","Export":"Exportar","All notes":"Todas as notas","Synchronise":"Sincronizar","Notebooks":"Cadernos","Tags":"Tags","Decrypting items: %d/%d":"Decriptando itens: %d/%d","Fetching resources: %d/%d":"Buscando recursos: %d/%d","Sidebar":"Barra Lateral","Focus":"Focar","Please select where the sync status should be exported to":"Favor selecionar o local para onde o status de sincronia deveria ser exportado","Retry All":"Tentar Todos de novo","Retry":"Tentar novamente","strong text":"texto forte","emphasised text":"texto enfatizado","Insert Hyperlink":"Inserir Hiperlink","List item":"Listar item","Layout":"Layout","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Esta nota não possui conteúdo. Clique em \"%s\" para alternar para o editor, e edite a nota.","Cut":"Cortar","Copy":"Copiar","Paste":"Colar","Checkbox list":"Lista de Opções","Edit":"Editar","Attach file":"Anexar arquivo","Code Block":"Bloco de Código","Inline Code":"Código","Insert Date Time":"Inserir Data e Hora","Drop notes or files here":"Solte notas e arquivos aqui","Code View":"Visualizar Código","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Por favor, aguarde que todos os anexos sejam baixados e decriptados. Você também pode mudar para %s para editar a nota.","There was an error downloading this attachment:":"Houve um erro ao baixar este anexo:","This attachment is not downloaded or not decrypted yet":"O anexo ainda não foi baixado ou decriptado","Open...":"Abrir...","Save as...":"Salvar como...","Reveal file in folder":"Mostrar aquivo na pasta","Copy path to clipboard":"Copiar caminho para a área de transferência","Copy Link Address":"Copiar endereço do link","to-do":"tarefa","note":"nota","Creating new %s...":"Criando novo %s...","The attachments will no longer be watched when you switch to a different note.":"Os anexos não serão mais observados quando você mudar para uma notadiferente.","In: %s":"Em: %s","Select all":"Selecionar tudo","Bold":"Negrito","Italic":"Itálico","Hyperlink":"Hiperlink","Code":"Código","Numbered List":"Lista numerada","Bulleted List":"Lista com bullets","Checkbox":"Checkbox","Heading":"Cabeçalho","Horizontal Rule":"Régua horizontal","Note title":"Título da Nota","Search in current note":"Pesquisar na nota atual","Note body":"Corpo da Nota","ID":"ID","Created":"Criado","Updated":"Atualizado","Completed":"Completado","Location":"Localização","URL":"URL","Note History":"Histórico da Nota","Markup":"Marcação","Previous versions of this note":"Versões anteriores desta nota","Note properties":"Propriedades da nota","Disabled":"Desabilitado","Import":"Importar","Command":"Command","Quit":"Sair","Insert template":"Inserir template","Actual Size":"Tamanho Atual","Website and documentation":"Website e documentação","Close Window":"Fechar Janela","Options":"Opções","Press the shortcut":"Digite o atalho","Press the shortcut and then press ENTER. Or, press BACKSPACE to clear the shortcut.":"Digite o atalho e então aperte ENTER. Ou, pressione BARRA DE ESPAÇO para limpar oatalho","Save":"Salvar","TheLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Cancelar","The app is now going to close. Please relaunch it to complete the process.":"A aplicação vai fechar. Por favor volte a executá-la para completar o processo.","Goto Anything...":"Saltar para...","Exporting to \"%s\" as \"%s\" format. Please wait...":"A exportar para \"%s\" com o formato \"%s\". Por favor, aguarde...","Could not export notes: %s":"Não foi possível exportar as notas: %s","Current version is up-to-date.":"A versão atual está atualizada.","%s (pre-release)":"%s (pré-lançamento)","An update is available, do you want to download it now?":"Uma atualização está disponível, pretende transferi-la agora?","Your version: %s":"A sua versão: %s","New version: %s":"A nova versão %s","Full Release Notes":"Notas de Lançamento Completas","Search...":"Procurar...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"A nota \"%s\" foi recuperada com sucesso para o caderno \"%s\".","This note has no history":"Esta nota não tem histórico","Unsupported link or message: %s":"Ligação ou mensagem não suportados: %s","Restore":"Restaurar","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Carregue \"%s\" para restaurar a nota. A mesma será copiada para um caderno intitulado \"%s\". A versão atual da nota não será substituída ou modificada.","Back":"Atrás","Remove":"Remover","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Remover caderno \"%s\"?\n\nTodas as notas e sub-cadernos no interior deste caderno também serão eliminados.","Delete":"Eliminar","Remove tag \"%s\" from all notes?":"Remover a etiqueta \"%s\" de todas as notas?","Remove this search from the sidebar?":"Remover esta pesquisa da barra lateral?","Export":"Exportar","All notes":"Todas as notas","Synchronise":"Sincronizar","Notebooks":"Cadernos","Tags":"Etiquetas","Decrypting items: %d/%d":"A desencriptar itens: %d/%d","Fetching resources: %d/%d":"A obter recursos: %d/%d","Sidebar":"Barra lateral","Focus":"Foco","Please select where the sync status should be exported to":"Por favor, selecione para onde deverá o estado de sincronização ser exportado","Retry All":"Voltar a tentar tudo","Retry":"Repetir","strong text":"texto destacado","emphasised text":"texto realçado","Insert Hyperlink":"Inserir Hiperligação","List item":"Listar item","Layout":"Estrutura","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Esta nota não tem conteúdo. Carregue em \"%s\" para abrir o editor e editar a nota.","Cut":"Cortar","Copy":"Copiar","Paste":"Colar","Checkbox list":"Lista de caixas de seleção","Edit":"Editar","Attach file":"Anexar ficheiro","Code Block":"Bloco de Código","Inline Code":"Código em Linha","Insert Date Time":"Inserir Data e Hora","Drop notes or files here":"Insira notas ou ficheiros aqui","Code View":"Vista de Código","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Por favor espere que todos os anexados sejam transferidos e desencriptados. Também pode mudar para %s para editar a nota.","There was an error downloading this attachment:":"Ocorreu um erro ao transferir este anexo:","This attachment is not downloaded or not decrypted yet":"Este anexo ainda não foi descarregado ou ainda não foi desencriptado","Open...":"Abrir...","Save as...":"Guardar como...","Reveal file in folder":"Revelar arquivo na pasta","Copy path to clipboard":"Copiar caminho para a área de transferência","Copy Link Address":"Copiar Endereço da Ligação","to-do":"tarefa","note":"nota","Creating new %s...":"A criar novo/a %s...","The following attachments are being watched for changes:":"Os anexos seguintes estão a ser monitorizados quanto a alterações:","The attachments will no longer be watched when you switch to a different note.":"Os anexos deixarão de ser monitorizados quando mudar para uma nota diferente.","In: %s":"Em: %s","Select all":"Selecionar tudo","Bold":"Negrito","Italic":"Itálico","Hyperlink":"Hiperligação","Code":"Código","Numbered List":"Lista Enumerada","Bulleted List":"Lista com Marcadores","Checkbox":"Campo de seleção","Heading":"Cabeçalho","Horizontal Rule":"Régua Horizontal","Note title":"Título da nota","Search in current note":"Procurar nesta nota","Note body":"Corpo da nota","ID":"ID","Created":"Criado","Updated":"Atualizado","Completed":"Concluído","Location":"Localização","URL":"Endereço","Note History":"Histórico de notas","Markup":"Sinalização","Previous versions of this note":"Versões prévias desta nota","Note properties":"Propriedades da nota","Error: %s":"Erro: %s","Disabled":"Desativada","Import":"Importar","Command":"Comando","Keyboard Shortcut":"Atalhos de Teclado","Quit":"Sair","Insert template":"Inserir modelo","Actual Size":"Dimensão Atual","Website and documentation":"Página da internLine truncated
|
||||
{"OK":"OK","Cancel":"Cancelar","The app is now going to close. Please relaunch it to complete the process.":"A aplicação vai fechar. Por favor volte a executá-la para completar o processo.","Goto Anything...":"Saltar para...","Exporting to \"%s\" as \"%s\" format. Please wait...":"A exportar para \"%s\" com o formato \"%s\". Por favor, aguarde...","Could not export notes: %s":"Não foi possível exportar as notas: %s","Current version is up-to-date.":"A versão atual está atualizada.","%s (pre-release)":"%s (pré-lançamento)","An update is available, do you want to download it now?":"Uma atualização está disponível, pretende transferi-la agora?","Your version: %s":"A sua versão: %s","New version: %s":"A nova versão %s","Full Release Notes":"Notas de Lançamento Completas","Search...":"Procurar...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"A nota \"%s\" foi recuperada com sucesso para o caderno \"%s\".","This note has no history":"Esta nota não tem histórico","Unsupported link or message: %s":"Ligação ou mensagem não suportados: %s","Restore":"Restaurar","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Carregue \"%s\" para restaurar a nota. A mesma será copiada para um caderno intitulado \"%s\". A versão atual da nota não será substituída ou modificada.","Back":"Atrás","Remove":"Remover","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Remover caderno \"%s\"?\n\nTodas as notas e sub-cadernos no interior deste caderno também serão eliminados.","Delete":"Eliminar","Remove tag \"%s\" from all notes?":"Remover a etiqueta \"%s\" de todas as notas?","Remove this search from the sidebar?":"Remover esta pesquisa da barra lateral?","Export":"Exportar","All notes":"Todas as notas","Synchronise":"Sincronizar","Notebooks":"Cadernos","Tags":"Etiquetas","Decrypting items: %d/%d":"A desencriptar itens: %d/%d","Fetching resources: %d/%d":"A obter recursos: %d/%d","Sidebar":"Barra lateral","Focus":"Foco","Please select where the sync status should be exported to":"Por favor, selecione para onde deverá o estado de sincronização ser exportado","Retry All":"Voltar a tentar tudo","Retry":"Repetir","strong text":"texto destacado","emphasised text":"texto realçado","Insert Hyperlink":"Inserir Hiperligação","List item":"Listar item","Layout":"Estrutura","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Esta nota não tem conteúdo. Carregue em \"%s\" para abrir o editor e editar a nota.","Cut":"Cortar","Copy":"Copiar","Paste":"Colar","Checkbox list":"Lista de caixas de seleção","Edit":"Editar","Attach file":"Anexar ficheiro","Code Block":"Bloco de Código","Inline Code":"Código em Linha","Insert Date Time":"Inserir Data e Hora","Drop notes or files here":"Insira notas ou ficheiros aqui","Code View":"Vista de Código","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Por favor espere que todos os anexados sejam transferidos e desencriptados. Também pode mudar para %s para editar a nota.","There was an error downloading this attachment:":"Ocorreu um erro ao transferir este anexo:","This attachment is not downloaded or not decrypted yet":"Este anexo ainda não foi descarregado ou ainda não foi desencriptado","Open...":"Abrir...","Save as...":"Guardar como...","Reveal file in folder":"Revelar arquivo na pasta","Copy path to clipboard":"Copiar caminho para a área de transferência","Copy Link Address":"Copiar Endereço da Ligação","to-do":"tarefa","note":"nota","Creating new %s...":"A criar novo/a %s...","The following attachments are being watched for changes:":"Os anexos seguintes estão a ser monitorizados quanto a alterações:","The attachments will no longer be watched when you switch to a different note.":"Os anexos deixarão de ser monitorizados quando mudar para uma nota diferente.","In: %s":"Em: %s","Select all":"Selecionar tudo","Bold":"Negrito","Italic":"Itálico","Hyperlink":"Hiperligação","Code":"Código","Numbered List":"Lista Enumerada","Bulleted List":"Lista com Marcadores","Checkbox":"Campo de seleção","Heading":"Cabeçalho","Horizontal Rule":"Régua Horizontal","Note title":"Título da nota","Search in current note":"Procurar nesta nota","Note body":"Corpo da nota","ID":"ID","Created":"Criado","Updated":"Atualizado","Completed":"Concluído","Location":"Localização","URL":"Endereço","Note History":"Histórico de notas","Markup":"Sinalização","Previous versions of this note":"Versões prévias desta nota","Note properties":"Propriedades da nota","Error: %s":"Erro: %s","Disabled":"Desativada","Import":"Importar","Command":"Comando","Keyboard Shortcut":"Atalhos de Teclado","Quit":"Sair","Insert template":"Inserir modelo","Actual Size":"Dimensão Atual","Website and documentation":"Página da internLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Отмена","Goto Anything...":"Перейти к чему-либо…","Exporting to \"%s\" as \"%s\" format. Please wait...":"Экспорт в \"%s\" в формате \"%s\". Пожалуйста, подождите...","Could not export notes: %s":"Не удалось экспортировать заметки: %s","Current version is up-to-date.":"Установлена последняя версия.","%s (pre-release)":"%s (предварительный выпуск)","An update is available, do you want to download it now?":"Доступно обновление, хотите загрузить его сейчас?","Your version: %s":"Ваша версия: %s","New version: %s":"Новая версия: %s","Full Release Notes":"Описание установленной версии","Search...":"Поиск...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Заметка “%s” была успешно восстановлена в блокнот “%s”.","This note has no history":"Эта заметка не имеет предыдущих версий","Unsupported link or message: %s":"Неподдерживаемая ссылка или сообщение: %s","Restore":"Восстановить","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Нажмите “%s”, чтобы восстановить заметку. Она будет скопирована в блокнот “%s”. Текущая версия заметки не будет заменена или изменена.","Back":"Назад","Remove":"Удалить","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Удалить блокнот “%s”?\n\nВсе заметки и вложенные блокноты также будут удалены.","Delete":"Удалить","Remove tag \"%s\" from all notes?":"Удалить метку “%s” из всех заметок?","Remove this search from the sidebar?":"Удалить этот поиск из боковой панели?","Export":"Экспорт","All notes":"Все заметки","Synchronise":"Синхронизировать","Notebooks":"Блокноты","Tags":"Метки","Decrypting items: %d/%d":"Расшифровка элементов: %d/%d","Fetching resources: %d/%d":"Загрузка ресурсов: %d/%d","Sidebar":"Боковая панель","Focus":"Фокус","Please select where the sync status should be exported to":"Пожалуйста, выберите, куда должен быть экспортирован статус синхронизации","Retry All":"Повторить попытку для всех","Retry":"Повторить попытку","strong text":"полужирный текст","Insert Hyperlink":"Вставить гиперссылку","List item":"Элемент списка","Layout":"Вид редактора","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Эта пустая заметка. Нажмите на \"%s\", чтобы переключиться в редактор и отредактировать ее.","Cut":"Вырезать","Copy":"Копировать","Paste":"Вставить","Checkbox list":"Список флажков","Edit":"Правка","Attach file":"Прикрепить файл","Code Block":"Блок кода","Inline Code":"Инлайн код","Insert Date Time":"Вставить дату и время","Drop notes or files here":"Перетащите сюда заметки или файлы","Code View":"Просмотр кода","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Пожалуйста, дождитесь окончания загрузки и расшифровки всех вложений. Вы можете переключиться на %s для редактирования заметки.","There was an error downloading this attachment:":"Произошла ошибка при загрузке вложения:","This attachment is not downloaded or not decrypted yet":"Это вложение еще не загружено или еще не расшифровано","Open...":"Открыть...","Save as...":"Сохранить как...","Reveal file in folder":"Показать файл в папке","Copy path to clipboard":"Скопировать путь в буфер обмена","Copy Link Address":"Скопировать ссылку","to-do":"задача","note":"заметка","Creating new %s...":"Создание новой %s...","In: %s":"В: %s","Select all":"Выбрать все","Bold":"Полужирный","Italic":"Курсивный","Hyperlink":"Гиперссылка","Code":"Код","Numbered List":"НуLine truncated
|
||||
{"OK":"OK","Cancel":"Отмена","The app is now going to close. Please relaunch it to complete the process.":"Приложение будет закрыто. Пожалуйста, перезапустите его чтобы завершить установку.","Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.":"Введите название заметки, чтобы перейти к ней, либо введите #имя_метки или @имя_блокнота, либо введите : для поиска команд.","Goto Anything...":"Перейти к чему-либо…","Command palette":"Палитра команд","Exporting to \"%s\" as \"%s\" format. Please wait...":"Экспорт в \"%s\" в формате \"%s\". Пожалуйста, подождите...","Could not export notes: %s":"Не удалось экспортировать заметки: %s","Current version is up-to-date.":"Установлена последняя версия.","%s (pre-release)":"%s (предварительный выпуск)","An update is available, do you want to download it now?":"Доступно обновление, хотите загрузить его сейчас?","Your version: %s":"Ваша версия: %s","New version: %s":"Новая версия: %s","Download":"Загрузить","Full Release Notes":"Описание установленной версии","Search...":"Поиск...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Заметка “%s” была успешно восстановлена в блокнот “%s”.","This note has no history":"Эта заметка не имеет предыдущих версий","Unsupported link or message: %s":"Неподдерживаемая ссылка или сообщение: %s","Restore":"Восстановить","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Нажмите “%s”, чтобы восстановить заметку. Она будет скопирована в блокнот “%s”. Текущая версия заметки не будет заменена или изменена.","Back":"Назад","Remove":"Удалить","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Удалить блокнот “%s”?\n\nВсе заметки и вложенные блокноты также будут удалены.","Delete":"Удалить","Remove tag \"%s\" from all notes?":"Удалить метку “%s” из всех заметок?","Remove this search from the sidebar?":"Удалить этот поиск из боковой панели?","Export":"Экспорт","All notes":"Все заметки","Synchronise":"Синхронизировать","Notebooks":"Блокноты","Tags":"Метки","Decrypting items: %d/%d":"Расшифровка элементов: %d/%d","Fetching resources: %d/%d":"Загрузка ресурсов: %d/%d","Sidebar":"Боковая панель","Focus":"Фокус","Please select where the sync status should be exported to":"Пожалуйста, выберите, куда должен быть экспортирован статус синхронизации","Retry All":"Повторить попытку для всех","Retry":"Повторить попытку","strong text":"полужирный текст","emphasised text":"курсивный текст","Insert Hyperlink":"Вставить гиперссылку","List item":"Элемент списка","Layout":"Вид редактора","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Эта пустая заметка. Нажмите на \"%s\", чтобы переключиться в редактор и отредактировать ее.","Cut":"Вырезать","Copy":"Копировать","Paste":"Вставить","Checkbox list":"Список флажков","Edit":"Правка","Attach file":"Прикрепить файл","Code Block":"Блок кода","Inline Code":"Инлайн код","Insert Date Time":"Вставить дату и время","Drop notes or files here":"Перетащите сюда заметки или файлы","Code View":"Просмотр кода","Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.":"Пожалуйста, дождитесь окончания загрузки и расшифровки всех вложений. Вы можете переключиться на %s для редактирования заметки.","There was an error downloading this attachment:":"Произошла ошибка при загрузке вложLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Prekliči","Exporting to \"%s\" as \"%s\" format. Please wait...":"Izvažam v \"%s\" kot \"%s\" format. Prosim počakajte...","Current version is up-to-date.":"Sedanja verzija je najnovejša.","An update is available, do you want to download it now?":"Posodobitev je na voljo, jo želite prenesti sedaj?","Unsupported link or message: %s":"Nepodprta povezava ali sporočilo: %s","Back":"Nazaj","Delete":"Izbriši","Remove this search from the sidebar?":"Odstranite ta iskalni niz iz stranske vrstice?","Export":"Izvozi","Synchronise":"Sinhroniziraj","Notebooks":"Beležnice","Tags":"Oznake","Please select where the sync status should be exported to":"Prosim izberite, kam želite izvoziti sinhronizacijski status","Layout":"Izgled","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Ta zabeležka nima vsebine. Kliknite na \"%s\" da menjate med urejevalnikom in urejanje zabeležke.","Cut":"Izreži","Copy":"Kopiraj","Paste":"Prilepi","Edit":"Uredi","Attach file":"Pripni datoteko","Open...":"Odpri...","Save as...":"Shrani kot...","to-do":"seznam opravil","note":"zabeležka","Creating new %s...":"Ustvarjanje nove %s...","ID":"ID","Created":"Ustvarjeno","Updated":"Posodobljeno","Disabled":"Onemogočeno","Import":"Uvozi","Quit":"Izhod","Website and documentation":"Spletna stran in dokumentacija","Options":"Možnosti","Save":"Shrani","Some items cannot be synchronised.":"Nekateri premeti ne morejo biti sinhronizirani.","View them now":"Prikaži jih sedaj","Some items cannot be decrypted.":"Nekateri predmeti ne morejo biti dekriptirani.","Set the password":"Nastavi geslo","Rename":"Preimenuj","Rename notebook:":"Preimenuj beležnico:","New to-do":"Novi seznam opravil","Set alarm":"Nastavi alarm","Set alarm:":"Nastavi alarm:","PDF File":"PDF datoteka","New note":"Nova zabeležka","Toggle editor layout":"Spremeni izgled urejevalnika","New notebook":"Nova beležnica","Notebook title:":"Naslov beležnice:","Add or remove tags:":"Dodaj ali odstrani oznako:","Print":"Natisni","Importing from \"%s\" as \"%s\" format. Please wait...":"Uvažam v \"%s\" kot \"%s\" format. Prosim počakajte...","Synchronisation Status":"Sinhronizacijski status","About Joplin":"O Joplinu","Check for updates...":"Preverjanje za posodobitvami...","Hide %s":"Skrij %s","Make a donation":"Doniraj","New notebook \"%s\" will be created and file \"%s\" will be imported into it":"Nova beležnica \"%s\" bo ustvarjena in datoteka \"%s\" bo uvožena v njo","Found: %d.":"Najdeno: %d.","Created: %d.":"Ustvarjeno: %d.","Updated: %d.":"Posodobljeno: %d.","Skipped: %d.":"Preskočeno: %d.","Resources: %d.":"Viri: %d.","Tagged: %d.":"Zaznamovano: %d.","The notes have been imported: %s":"Zabeležke so bile uvožene: %s","Switch between note and to-do type":"Menjaj med zabeležko in seznamom opravil","Authentication was not completed (did not receive an authentication token).":"Avtentikacija ni bila uspešna(autentikacijski token ni bil prejet).","Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?":"Onemogočanje enkripcije pomeni da bodo *vse* vaše zabeležke in priponke ponovno sinhronizirane in poslane neenkriptirane do ciljne sinhronizacijske naprave. Ali želite nadaljevati?","Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.":"Omogočanje enkripcije pomeni, da bodo *vse* vaše zabeležke in priponke ponovno sinhronizirane in poslane enkriptirane do ciljne sinhronizacijske naprave. Obvezno si zapomnite geslo, saj bo zaradi varnostnih namenov to edini način, da dekriptirate vsebino beležnice. Da omogočite enkripcijo, vnesite geslo.","Disable encryption":"Onemogoči enkripcijo","Enable encryption":"Omogoči enkripcijo","Master Keys":"Glavno geslo","Active":"Aktiven","Source":"Vir","Password":"Geslo","Password OK":"Geslo OK","Note: Only one master key is going to be used for encryption (the one marked as \"active\"). Any of the keys might be used for decryption, depending on how the notes or notebooks were originally encrypted.":"Opomnik: samo eno glavno geslo bo uporabljeno za enkripcijo(tisto, ki je označena kot ''aktiven''). Vsa izmed gesel se lahko morda uporabijo za dekripcijo, odvisno od načina, kako so bile zabeležke in beležnice prvotno enkriptirane.","Missing Master Keys":"Manjkajoča glavna gesla","The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.":"Glavna gesla s sledečimi ID so uporabljena za enkripcijo nekaterih vaših predmetov. Kakorkoli, aplikacija trenutno nima dostopa do njih. Verjetno je, da bodo sčaLine truncated
|
||||
{"OK":"OK","Cancel":"Prekliči","Exporting to \"%s\" as \"%s\" format. Please wait...":"Izvažam v \"%s\" kot \"%s\" format. Prosim počakajte...","Current version is up-to-date.":"Sedanja verzija je najnovejša.","An update is available, do you want to download it now?":"Posodobitev je na voljo, jo želite prenesti sedaj?","Unsupported link or message: %s":"Nepodprta povezava ali sporočilo: %s","Back":"Nazaj","Delete":"Izbriši","Remove this search from the sidebar?":"Odstranite ta iskalni niz iz stranske vrstice?","Export":"Izvozi","Synchronise":"Sinhroniziraj","Notebooks":"Beležnice","Tags":"Oznake","Please select where the sync status should be exported to":"Prosim izberite, kam želite izvoziti sinhronizacijski status","Layout":"Izgled","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Ta zabeležka nima vsebine. Kliknite na \"%s\" da menjate med urejevalnikom in urejanje zabeležke.","Cut":"Izreži","Copy":"Kopiraj","Paste":"Prilepi","Edit":"Uredi","Attach file":"Pripni datoteko","Open...":"Odpri...","Save as...":"Shrani kot...","to-do":"seznam opravil","note":"zabeležka","Creating new %s...":"Ustvarjanje nove %s...","ID":"ID","Created":"Ustvarjeno","Updated":"Posodobljeno","Disabled":"Onemogočeno","Import":"Uvozi","Quit":"Izhod","Website and documentation":"Spletna stran in dokumentacija","Options":"Možnosti","Save":"Shrani","Some items cannot be synchronised.":"Nekateri premeti ne morejo biti sinhronizirani.","View them now":"Prikaži jih sedaj","Some items cannot be decrypted.":"Nekateri predmeti ne morejo biti dekriptirani.","Set the password":"Nastavi geslo","Rename":"Preimenuj","Rename notebook:":"Preimenuj beležnico:","New to-do":"Novi seznam opravil","Set alarm":"Nastavi alarm","Set alarm:":"Nastavi alarm:","PDF File":"PDF datoteka","New note":"Nova zabeležka","Toggle editor layout":"Spremeni izgled urejevalnika","New notebook":"Nova beležnica","Notebook title:":"Naslov beležnice:","Add or remove tags:":"Dodaj ali odstrani oznako:","Print":"Natisni","Importing from \"%s\" as \"%s\" format. Please wait...":"Uvažam v \"%s\" kot \"%s\" format. Prosim počakajte...","Synchronisation Status":"Sinhronizacijski status","About Joplin":"O Joplinu","Check for updates...":"Preverjanje za posodobitvami...","Hide %s":"Skrij %s","Make a donation":"Doniraj","New notebook \"%s\" will be created and file \"%s\" will be imported into it":"Nova beležnica \"%s\" bo ustvarjena in datoteka \"%s\" bo uvožena v njo","Found: %d.":"Najdeno: %d.","Created: %d.":"Ustvarjeno: %d.","Updated: %d.":"Posodobljeno: %d.","Skipped: %d.":"Preskočeno: %d.","Resources: %d.":"Viri: %d.","Tagged: %d.":"Zaznamovano: %d.","The notes have been imported: %s":"Zabeležke so bile uvožene: %s","Switch between note and to-do type":"Menjaj med zabeležko in seznamom opravil","Authentication was not completed (did not receive an authentication token).":"Avtentikacija ni bila uspešna(autentikacijski token ni bil prejet).","Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?":"Onemogočanje enkripcije pomeni da bodo *vse* vaše zabeležke in priponke ponovno sinhronizirane in poslane neenkriptirane do ciljne sinhronizacijske naprave. Ali želite nadaljevati?","Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target. Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.":"Omogočanje enkripcije pomeni, da bodo *vse* vaše zabeležke in priponke ponovno sinhronizirane in poslane enkriptirane do ciljne sinhronizacijske naprave. Obvezno si zapomnite geslo, saj bo zaradi varnostnih namenov to edini način, da dekriptirate vsebino beležnice. Da omogočite enkripcijo, vnesite geslo.","Disable encryption":"Onemogoči enkripcijo","Enable encryption":"Omogoči enkripcijo","Master Keys":"Glavno geslo","Active":"Aktiven","Source":"Vir","Password":"Geslo","Password OK":"Geslo OK","Note: Only one master key is going to be used for encryption (the one marked as \"active\"). Any of the keys might be used for decryption, depending on how the notes or notebooks were originally encrypted.":"Opomnik: samo eno glavno geslo bo uporabljeno za enkripcijo(tisto, ki je označena kot ''aktiven''). Vsa izmed gesel se lahko morda uporabijo za dekripcijo, odvisno od načina, kako so bile zabeležke in beležnice prvotno enkriptirane.","Missing Master Keys":"Manjkajoča glavna gesla","The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.":"Glavna gesla s sledečimi ID so uporabljena za enkripcijo nekaterih vaših predmetov. Kakorkoli, aplikacija trenutno nima dostopa do njih. Verjetno je, da bodo sčaLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"ОК","Cancel":"Обустави","Goto Anything...":"Иди на било шта...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Извозим у \"%s као \"%s\" формат. Молимо вас да сачекате...","Current version is up-to-date.":"Тренутна верзија је ажурна.","%s (pre-release)":"%s (верзија пре главне)","An update is available, do you want to download it now?":"Доступно је ажурирање програма, да ли желите да га сада преузмете?","Your version: %s":"Ваша верзија: %s","New version: %s":"Нова верзија: %s","Search...":"Претрага...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Ова белешка \"%s\" је успешно враћена у бележницу \"%s\".","This note has no history":"Ова белешка нема историју","Unsupported link or message: %s":"Неподржана веза или порука: %s","Restore":"Повраћај","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Кликните \"%s\" за повраћај белешке. Биће копирана у бележницу под називом \"%s\". Тренутна верзија белешке неће бити замењена или измењена.","Back":"Назад","Remove":"Уклони","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Обрисати бележницу \"%s\"\n\nСве белешке и под-бележницe унутар ове бележнице ће такође бити обрисане.","Delete":"Обриши","Remove tag \"%s\" from all notes?":"Уклонити ознаку \"%s\" из свих белешки?","Remove this search from the sidebar?":"Уклонити ову претраку из бочне траке?","Export":"Извоз","Synchronise":"Синхронизуј","Notebooks":"Бележнице","Tags":"Ознаке","Decrypting items: %d/%d":"Дешифрујем ставке: %d/%d","Fetching resources: %d/%d":"Дохватам ресурсе: %d/%d","Sidebar":"Бочна трака","Focus":"Концентрација","Please select where the sync status should be exported to":"Молимо вас да одаберете где ће се извести статус синхронизације","Retry":"Покушај поново","strong text":"подебљан текст","Insert Hyperlink":"Уметни хипер-везу","List item":"Lиста ставки","Layout":"Распоред","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Ова белешка нема садржаја. Кликните на \"%s\" да активирате уредника и уредите белешку.","Cut":"Исецфи","Copy":"Копирај","Paste":"Налепи","Edit":"Уреди","Attach file":"Приложи фајл","Insert Date Time":"Уметни време и датум","There was an error downloading this attachment:":"Дошло је до грешке приликом преузимања овог прилога","Open...":"Отвори...","Save as...":"Сачувај као...","Copy path to clipboard":"Копирај путању у клипборд","Copy Link Address":"Копирај адресу везе","to-do":"ставка задужења","note":"белешка","Creating new %s...":"Креирам ново %s...","In: %s":"У: %s","Select all":"Одабери све","Bold":"Подебљај","Italic":"Искошено","Hyperlink":"Хипер-веза","Code":"Код","Numbered List":"Нумерисана листа","Bulleted List":"Листа са знаковима за набрајање","Checkbox":"Поље за потврду","Heading":"Заглавље","Horizontal Rule":"Хоризонтална линија","Note title":"Наслов белешке","Search in current note":"Птретрага у тренутној белешци","Note body":"Тело белешке","ID":"ИД","Created":"Креирано","Updated":"Ажурирано","Location":"Локација","URL":"УРЛ","Note History":"Историја о белешци","Markup":"Означавање","Previous versions of this note":"Претхнодне верзије ове белешке","Note properties":"Својства белешке","Disabled":"Онемогућено","Import":"Увоз","Quit":"Излаз","Website and documentation":"Вебсајт и документација","Close Window":"Затвори прозор","Options":"Опције","Save":"Сними","Some items cannot be synchronised.":"Неке ставке се не могу синхронизовати.","View them now":"Прикажи ставку одмах","One or more master keys need aLine truncated
|
||||
{"OK":"ОК","Cancel":"Обустави","Goto Anything...":"Иди на било шта...","Exporting to \"%s\" as \"%s\" format. Please wait...":"Извозим у \"%s као \"%s\" формат. Молимо вас да сачекате...","Current version is up-to-date.":"Тренутна верзија је ажурна.","%s (pre-release)":"%s (верзија пре главне)","An update is available, do you want to download it now?":"Доступно је ажурирање програма, да ли желите да га сада преузмете?","Your version: %s":"Ваша верзија: %s","New version: %s":"Нова верзија: %s","Search...":"Претрага...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Ова белешка \"%s\" је успешно враћена у бележницу \"%s\".","This note has no history":"Ова белешка нема историју","Unsupported link or message: %s":"Неподржана веза или порука: %s","Restore":"Повраћај","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Кликните \"%s\" за повраћај белешке. Биће копирана у бележницу под називом \"%s\". Тренутна верзија белешке неће бити замењена или измењена.","Back":"Назад","Remove":"Уклони","Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.":"Обрисати бележницу \"%s\"\n\nСве белешке и под-бележницe унутар ове бележнице ће такође бити обрисане.","Delete":"Обриши","Remove tag \"%s\" from all notes?":"Уклонити ознаку \"%s\" из свих белешки?","Remove this search from the sidebar?":"Уклонити ову претраку из бочне траке?","Export":"Извоз","Synchronise":"Синхронизуј","Notebooks":"Бележнице","Tags":"Ознаке","Decrypting items: %d/%d":"Дешифрујем ставке: %d/%d","Fetching resources: %d/%d":"Дохватам ресурсе: %d/%d","Sidebar":"Бочна трака","Focus":"Концентрација","Please select where the sync status should be exported to":"Молимо вас да одаберете где ће се извести статус синхронизације","Retry":"Покушај поново","strong text":"подебљан текст","Insert Hyperlink":"Уметни хипер-везу","List item":"Lиста ставки","Layout":"Распоред","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Ова белешка нема садржаја. Кликните на \"%s\" да активирате уредника и уредите белешку.","Cut":"Исецфи","Copy":"Копирај","Paste":"Налепи","Edit":"Уреди","Attach file":"Приложи фајл","Insert Date Time":"Уметни време и датум","There was an error downloading this attachment:":"Дошло је до грешке приликом преузимања овог прилога","Open...":"Отвори...","Save as...":"Сачувај као...","Copy path to clipboard":"Копирај путању у клипборд","Copy Link Address":"Копирај адресу везе","to-do":"ставка задужења","note":"белешка","Creating new %s...":"Креирам ново %s...","In: %s":"У: %s","Select all":"Одабери све","Bold":"Подебљај","Italic":"Искошено","Hyperlink":"Хипер-веза","Code":"Код","Numbered List":"Нумерисана листа","Bulleted List":"Листа са знаковима за набрајање","Checkbox":"Поље за потврду","Heading":"Заглавље","Horizontal Rule":"Хоризонтална линија","Note title":"Наслов белешке","Search in current note":"Птретрага у тренутној белешци","Note body":"Тело белешке","ID":"ИД","Created":"Креирано","Updated":"Ажурирано","Location":"Локација","URL":"УРЛ","Note History":"Историја о белешци","Markup":"Означавање","Previous versions of this note":"Претхнодне верзије ове белешке","Note properties":"Својства белешке","Disabled":"Онемогућено","Import":"Увоз","Quit":"Излаз","Website and documentation":"Вебсајт и документација","Close Window":"Затвори прозор","Options":"Опције","Save":"Сними","Some items cannot be synchronised.":"Неке ставке се не могу синхронизовати.","View them now":"Прикажи ставку одмах","One or more master keys need aLine truncated
|
||||
@@ -1 +1 @@
|
||||
{"OK":"OK","Cancel":"Avbryt","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportera till \"%s\" som \"%s\" format. Vänta...","Current version is up-to-date.":"Nuvarande version är uppdaterad.","%s (pre-release)":"%s (förhandsversion)","An update is available, do you want to download it now?":"En uppdatering är tillgänglig, vill du hämta den nu?","Your version: %s":"Din version: %s","New version: %s":"Ny version: %s","Full Release Notes":"Fullständig information om denna version","Search...":"Sök...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Den här anteckningen \"%s\" har framgångsrikt återställts till anteckningsboken \"%s\".","Unsupported link or message: %s":"Länk eller meddelande stöds inte: %s","Restore":"Återställ","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klicka på \"%s\" för att återställa anteckningen. Den kommer kopieras till anteckningsboken som heter \"%s\". Den nuvarande versionen kommer inte att ersättas eller modifieras.","Back":"Tillbaka","Remove":"Ta bort","Delete":"Ta bort","Remove this search from the sidebar?":"Ta bort den här sökningen från sidofältet?","Export":"Exportera","Synchronise":"Synkronisera","Notebooks":"Anteckningsböcker","Tags":"Taggar","Decrypting items: %d/%d":"Dekrypterar objekt: %d/%d","Fetching resources: %d/%d":"Hämtar resurser: %d/%d","Sidebar":"Sidofältet","Focus":"Fokus","Please select where the sync status should be exported to":"Välj vart synkroniseringstillståndet ska exporteras till","Retry All":"Försök alla igen","Retry":"Försök igen","strong text":"stark text","Insert Hyperlink":"Infoga hyperlänk","List item":"Listobjekt","Layout":"Layout","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Den här anteckningen har inget innehåll. Klicka på \"%s\" för att växla redigeraren och redigera anteckningen.","Cut":"Klipp ut","Copy":"Kopiera","Paste":"Klistra in","Edit":"Redigera","Attach file":"Bifoga fil","Insert Date Time":"Infoga datumtid","There was an error downloading this attachment:":"Något blev fel vid nedladdningen av denna bilaga:","Open...":"Öppna...","Save as...":"Spara som...","Copy path to clipboard":"Kopiera sökväg till urklipp","Copy Link Address":"Kopiera länkadress","to-do":"att-göra","note":"anteckning","Creating new %s...":"Skapar ny %s...","In: %s":"I: %s","Select all":"Välj alla","Bold":"Fet","Italic":"Kursiv","Hyperlink":"Hyperlänk","Code":"Kod","Numbered List":"Numrerad lista","Bulleted List":"Punktlista","Checkbox":"Kryssruta","Heading":"Rubrik","Horizontal Rule":"Horisontell regel","Note title":"Rubriken","Search in current note":"Sök i aktuell anteckning","Note body":"Texten","ID":"ID","Created":"Skapad","Updated":"Uppdaterad","Location":"Plats","URL":"URL","Previous versions of this note":"Tidigare versioner av denna anteckning","Note properties":"Anteckningens egenskaper","Disabled":"Inaktiverad","Import":"Importera","Quit":"Avsluta","Actual Size":"Faktiskt storlek","Website and documentation":"Webbplats och dokumentation","Close Window":"Stäng fönster","Options":"Inställningar","Save":"Spara","Some items cannot be synchronised.":"Några objekt kan inte synkroniseras.","View them now":"Visa dem nu","Some items cannot be decrypted.":"Några objekt kan inte dekrypteras.","Set the password":"Ställ in lösenord","The default encryption method has been changed, you should re-encrypt your data.":"Standardkrypteringsmetoden har ändrats, du bör omkryptera din data.","Rename":"Byt namn","Rename notebook:":"Byt namn på anteckningsbok:","New to-do":"Ny att-göra","Toggle sidebar":"Växla sidofältet","Set alarm":"Sätt alarm","Set alarm:":"Ställ in alarm:","PDF File":"PDF-fil","New note":"Ny anteckning","Toggle editor layout":"Växla redigeringslayout","Rename tag:":"Byt namn på tagg:","New notebook":"Ny anteckningsbok","Notebook title:":"Titel på anteckningsbok:","Template file:":"Fil för mall:","Add or remove tags:":"Lägg till eller ta bort taggar:","Print":"Skriv ut","To allow Joplin to synchronise with Dropbox, please follow the steps below:":"För att tillåta Joplin att synkronisera med Dropbox, följ stegen nedan:","Step 1: Open this URL in your browser to authorise the application:":"Steg 1: Öppna den här webbadressen i din webbläsare för att godkänna programmet:","Step 2: Enter the code provided by Dropbox:":"Steg 2: Ange koden som tillhandahålls av Dropbox:","Submit":"Skicka","Token has been copied to the clipboard!":"Token har kopierats till urklipp!","The web clipper service is enabled and set to auto-start.":"Web clipper-tjänsten är aktiverad och inställd för automatisk start.","Status: Started on port %d":"Tillstånd: Startad på port %d","Status: %s":"Tillstånd: %s","Disable Web Clipper Service":"Inaktivera Web Clipper-tjänsten","The web clipper service is not enabled.":"Web clipLine truncated
|
||||
{"OK":"OK","Cancel":"Avbryt","Exporting to \"%s\" as \"%s\" format. Please wait...":"Exportera till \"%s\" som \"%s\" format. Vänta...","Current version is up-to-date.":"Nuvarande version är uppdaterad.","%s (pre-release)":"%s (förhandsversion)","An update is available, do you want to download it now?":"En uppdatering är tillgänglig, vill du hämta den nu?","Your version: %s":"Din version: %s","New version: %s":"Ny version: %s","Full Release Notes":"Fullständig information om denna version","Search...":"Sök...","The note \"%s\" has been successfully restored to the notebook \"%s\".":"Den här anteckningen \"%s\" har framgångsrikt återställts till anteckningsboken \"%s\".","Unsupported link or message: %s":"Länk eller meddelande stöds inte: %s","Restore":"Återställ","Click \"%s\" to restore the note. It will be copied in the notebook named \"%s\". The current version of the note will not be replaced or modified.":"Klicka på \"%s\" för att återställa anteckningen. Den kommer kopieras till anteckningsboken som heter \"%s\". Den nuvarande versionen kommer inte att ersättas eller modifieras.","Back":"Tillbaka","Remove":"Ta bort","Delete":"Ta bort","Remove this search from the sidebar?":"Ta bort den här sökningen från sidofältet?","Export":"Exportera","Synchronise":"Synkronisera","Notebooks":"Anteckningsböcker","Tags":"Taggar","Decrypting items: %d/%d":"Dekrypterar objekt: %d/%d","Fetching resources: %d/%d":"Hämtar resurser: %d/%d","Sidebar":"Sidofältet","Focus":"Fokus","Please select where the sync status should be exported to":"Välj vart synkroniseringstillståndet ska exporteras till","Retry All":"Försök alla igen","Retry":"Försök igen","strong text":"stark text","Insert Hyperlink":"Infoga hyperlänk","List item":"Listobjekt","Layout":"Layout","This note has no content. Click on \"%s\" to toggle the editor and edit the note.":"Den här anteckningen har inget innehåll. Klicka på \"%s\" för att växla redigeraren och redigera anteckningen.","Cut":"Klipp ut","Copy":"Kopiera","Paste":"Klistra in","Edit":"Redigera","Attach file":"Bifoga fil","Insert Date Time":"Infoga datumtid","There was an error downloading this attachment:":"Något blev fel vid nedladdningen av denna bilaga:","Open...":"Öppna...","Save as...":"Spara som...","Copy path to clipboard":"Kopiera sökväg till urklipp","Copy Link Address":"Kopiera länkadress","to-do":"att-göra","note":"anteckning","Creating new %s...":"Skapar ny %s...","In: %s":"I: %s","Select all":"Välj alla","Bold":"Fet","Italic":"Kursiv","Hyperlink":"Hyperlänk","Code":"Kod","Numbered List":"Numrerad lista","Bulleted List":"Punktlista","Checkbox":"Kryssruta","Heading":"Rubrik","Horizontal Rule":"Horisontell regel","Note title":"Rubriken","Search in current note":"Sök i aktuell anteckning","Note body":"Texten","ID":"ID","Created":"Skapad","Updated":"Uppdaterad","Location":"Plats","URL":"URL","Previous versions of this note":"Tidigare versioner av denna anteckning","Note properties":"Anteckningens egenskaper","Disabled":"Inaktiverad","Import":"Importera","Quit":"Avsluta","Actual Size":"Faktiskt storlek","Website and documentation":"Webbplats och dokumentation","Close Window":"Stäng fönster","Options":"Inställningar","Save":"Spara","Some items cannot be synchronised.":"Några objekt kan inte synkroniseras.","View them now":"Visa dem nu","Some items cannot be decrypted.":"Några objekt kan inte dekrypteras.","Set the password":"Ställ in lösenord","The default encryption method has been changed, you should re-encrypt your data.":"Standardkrypteringsmetoden har ändrats, du bör omkryptera din data.","Rename":"Byt namn","Rename notebook:":"Byt namn på anteckningsbok:","New to-do":"Ny att-göra","Toggle sidebar":"Växla sidofältet","Set alarm":"Sätt alarm","Set alarm:":"Ställ in alarm:","PDF File":"PDF-fil","New note":"Ny anteckning","Toggle editor layout":"Växla redigeringslayout","Rename tag:":"Byt namn på tagg:","New notebook":"Ny anteckningsbok","Notebook title:":"Titel på anteckningsbok:","Template file:":"Fil för mall:","Add or remove tags:":"Lägg till eller ta bort taggar:","Print":"Skriv ut","To allow Joplin to synchronise with Dropbox, please follow the steps below:":"För att tillåta Joplin att synkronisera med Dropbox, följ stegen nedan:","Step 1: Open this URL in your browser to authorise the application:":"Steg 1: Öppna den här webbadressen i din webbläsare för att godkänna programmet:","Step 2: Enter the code provided by Dropbox:":"Steg 2: Ange koden som tillhandahålls av Dropbox:","Submit":"Skicka","Token has been copied to the clipboard!":"Token har kopierats till urklipp!","The web clipper service is enabled and set to auto-start.":"Web clipper-tjänsten är aktiverad och inställd för automatisk start.","Status: Started on port %d":"Tillstånd: Startad på port %d","Status: %s":"Tillstånd: %s","Disable Web Clipper Service":"Inaktivera Web Clipper-tjänsten","The web clipper service is not enabled.":"Web clipLine truncated
|
||||
Loaded 100 of 272 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user