1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-08-24 20:19:10 +02:00

Compare commits

...

746 Commits

Author SHA1 Message Date
Laurent Cozic
43774ad3fb Electron release v1.0.102 2018-06-21 19:05:58 +01:00
Laurent Cozic
b3ba5b7747 All: Revert #554 to try to fix #624: WebDAV error when syncing with SeaFile 2018-06-21 19:00:20 +01:00
Laurent Cozic
599f4ccef4 Electron: Fixes #626: Auto-completion for indented items 2018-06-21 18:53:42 +01:00
Laurent Cozic
a67600d264 Updated Chinese and French translation 2018-06-21 18:04:10 +01:00
Laurent Cozic
ebf4c89ef0 All: Fixes #343, Fixes #191: Added options to specify custom TLS certificates 2018-06-20 01:18:58 +01:00
Laurent Cozic
aa7da784fc All: Fixes #343, Fixes #191: Added options to ignore TLS cert errors to allow self-signed certificates on desktop and CLI 2018-06-20 00:28:50 +01:00
Laurent Cozic
617ed42d8c Update website 2018-06-18 19:08:13 +01:00
Laurent Cozic
5848e7d90d Doc: Fixed image 2018-06-18 19:08:07 +01:00
Laurent Cozic
54d06646aa Update website 2018-06-18 19:01:52 +01:00
Laurent Cozic
81da46035a Doc: Fixed image 2018-06-18 19:01:42 +01:00
Laurent Cozic
74d0f75802 Update website 2018-06-18 19:00:07 +01:00
Laurent Cozic
f25a352dcb Doc: Mentioned Web Clipper 2018-06-18 18:59:54 +01:00
Laurent Cozic
21ef8da45f Clipper: Completed doc and simplified logic to get clipper port to make it easier to use by third-party 2018-06-18 18:54:48 +01:00
Laurent Cozic
1f3a1c49df Electron: Resolves #611: Allow opening and editing note in external editor 2018-06-18 18:56:07 +00:00
Laurent Cozic
a8b58aaec3 All: Fixes #632: Handle restricted_content error in Dropbox 2018-06-18 08:47:51 +01:00
Laurent Cozic
44f9b35d93 Update website 2018-06-17 19:35:25 +01:00
Laurent Cozic
711af9beed Electron release v1.0.101 2018-06-17 19:12:28 +01:00
Laurent Cozic
971339ca9a Electron: Fixes #630: PDF export in context menu 2018-06-17 17:12:28 +01:00
Laurent Cozic
f5a72ffbaf All: Fixes #593: Resource should not be auto-deleted if they've never been linked to any note 2018-06-17 16:59:06 +01:00
Laurent Cozic
cf4331c5af Electron: Fixes #623: Improved handling of text selection and fixed infinite loop 2018-06-17 02:44:37 +01:00
Laurent Cozic
553b086ba2 Update website 2018-06-15 19:56:17 +01:00
Laurent Cozic
ff89537899 Update website 2018-06-15 19:28:58 +01:00
Laurent Cozic
f20792889a Removed Twitter and FB share buttons 2018-06-15 19:28:35 +01:00
Laurent Cozic
ee22a7ff73 Update website 2018-06-15 18:23:23 +01:00
Laurent Cozic
4fc4353859 Update translation 2018-06-15 18:23:15 +01:00
Laurent Cozic
f4f9e25e6b Update website 2018-06-15 18:14:55 +01:00
Laurent Cozic
e54f9934b5 Fixed Catalan flag 2018-06-15 18:14:31 +01:00
Laurent Cozic
f599ae065a CLI v1.0.108 2018-06-14 22:42:43 +01:00
Laurent Cozic
5bd9bf6a4e Update dependencies 2018-06-14 22:42:15 +01:00
Laurent Cozic
cb9e8d4f76 Update website 2018-06-14 18:41:57 +01:00
Laurent Cozic
f64596672e Android release v1.0.127 2018-06-14 18:23:14 +01:00
Laurent Cozic
961150b2d3 Electron release v1.0.100 2018-06-14 18:19:48 +01:00
Laurent Cozic
0cd8e1cbc0 Updated translations 2018-06-14 18:18:48 +01:00
Laurent Cozic
b503aff5e9 Clipper: v1.0.5 2018-06-14 18:17:42 +01:00
Laurent Cozic
54bde47c67 Merge pull request #607 from jmontane/patch-1
Add Catalan Translation
2018-06-14 18:16:53 +01:00
Laurent Cozic
d345f8dc13 Clipper: Fixed extension being incorrectly detected as dev mode. Improved build process. 2018-06-14 18:11:22 +00:00
Laurent Cozic
979b0c0e78 Electron: Fixed prompt dialog font 2018-06-14 09:04:58 +01:00
Laurent Cozic
13525f3327 Electron: Switched icons to Fork Awesome 2018-06-14 09:02:01 +01:00
Laurent Cozic
5d9c2c0904 Electron: Added more toolbar icons and upgraded Font Awesome 2018-06-14 08:52:12 +01:00
Laurent Cozic
c748281d86 Update website 2018-06-13 19:22:49 +01:00
Laurent Cozic
fa619eba7c Added zh_TW translation 2018-06-13 19:22:18 +01:00
Laurent Cozic
17a75f7cf5 Electron: Made checkbox button more consistent 2018-06-13 17:53:41 +01:00
Joan Montané
a74cfbfb25 Add Catalan Translation 2018-06-12 14:46:51 +02:00
Laurent Cozic
af01fed950 Electron: Added hyperlink, checkbox and code options in toolbar 2018-06-12 00:12:06 +01:00
Laurent Cozic
218b446915 Electron: Added Bold and Italic toolbar buttons 2018-06-11 23:47:44 +01:00
Laurent Cozic
a68df18cd5 Updated website 2018-06-11 22:18:34 +01:00
Laurent Cozic
f79326b2d5 Updated website 2018-06-11 22:10:04 +01:00
Laurent Cozic
b08dcdfd90 Electron: Fixes #598: Allow opening any URL with a valid protocol in an external app 2018-06-11 00:35:01 +01:00
Laurent Cozic
ced14e578f Merge branch 'master' of github.com:laurent22/joplin 2018-06-11 00:24:44 +01:00
Laurent Cozic
0528c6e970 All: Try to display more info when there is a Dropbox API error 2018-06-11 00:24:29 +01:00
Laurent Cozic
df9c1e0aeb Electron: Fixes #570: Allow opening files by right-clicking on a resource in macOS 2018-06-11 00:08:57 +01:00
Laurent Cozic
b6619b41df All: Fixes #600: Improved resuming of long sync operations so that it doesn't needlessly re-download the items from the beginning 2018-06-10 23:16:27 +01:00
Laurent Cozic
ab9675544c All: Fixes #597: Also import sub-notebooks when importing JEX data 2018-06-10 19:15:40 +01:00
Laurent Cozic
0d9f703c75 Update DE translation 2018-06-10 17:44:00 +01:00
Laurent Cozic
f6ee5dd0e7 Mobile: Display decryption progress in side bar 2018-06-10 17:43:24 +01:00
Laurent Cozic
423d880b92 Merge branch 'master' of github.com:laurent22/joplin 2018-06-10 15:18:10 +01:00
Laurent Cozic
41017b9ab8 Update website 2018-06-10 15:18:07 +01:00
Laurent Cozic
e3314c859f Merge pull request #554 from bradmcl/master
Handle Nginx DAV PROPFIND responses correctly
2018-06-10 15:11:38 +01:00
bradmcl
8f794fdbc6 Search for 404 anywhere in return status 2018-06-10 10:04:52 -04:00
Laurent Cozic
80b0773618 Update website 2018-06-10 14:18:50 +01:00
Laurent Cozic
ac848241b9 Electron release v1.0.99 2018-06-10 14:03:17 +01:00
Laurent Cozic
b4432e2efc Removed snap support 2018-06-10 14:02:55 +01:00
Laurent Cozic
52f60a2cf6 Electron release v1.0.98 2018-06-10 13:52:11 +01:00
Laurent Cozic
03c8438050 Removed broken snap package 2018-06-10 13:45:05 +01:00
Laurent Cozic
0e1c36ccf1 Electron: Fixes #601: Linux app cannot start anymore due to build error 2018-06-10 12:37:12 +01:00
Laurent Cozic
1b2b68c485 Electron: Fixes #562: Disable power saving when syncing in Linux 2018-06-10 12:19:36 +01:00
Laurent Cozic
5c36f3e78a Update translations 2018-06-10 11:54:29 +01:00
Laurent Cozic
d4ec8ae823 Merge pull request #588 from zblesk/search-display-notebook
Displaying the notebook's name in the Note toolbar when search is act…
2018-06-10 11:50:08 +01:00
Laurent Cozic
449a70d840 Merge pull request #575 from foxmask/issue572
fix #572 - Translation submenu
2018-06-10 11:41:12 +01:00
zblesk
8375030135 Reverting previous change; using disabled button for the label. 2018-06-10 11:18:02 +02:00
Laurent Cozic
e9f938b0fb Electron: Fixes #560: Drag the note that was clicked, which might be different from the note that was selected 2018-06-10 01:27:20 +01:00
Laurent Cozic
b0e57a5990 All: Fixes #557: Handle ENEX am-pm date format 2018-06-10 01:19:24 +01:00
Laurent Cozic
f47610e6fd Update website 2018-06-09 20:23:52 +01:00
Laurent Cozic
c131cb9bb8 Electron release v1.0.97 2018-06-09 20:02:00 +01:00
Laurent Cozic
023f775bd2 Merge branch 'master' of github.com:laurent22/joplin 2018-06-09 20:00:35 +01:00
Laurent Cozic
1127eb6e09 Clipper: Fixes #573: Better handling of certain code blocks 2018-06-09 20:00:26 +01:00
Ladislav Benc
0d7437c7d2 Also showing the display when browsing tags. 2018-06-06 15:18:58 +02:00
Ladislav Benc
6dbc691973 Fixing locale and making the Notebook name no longer behave like a button. 2018-06-06 14:11:46 +02:00
Laurent Cozic
fe53200a3a Added link to NixNote info 2018-06-06 00:16:21 +01:00
zblesk
c7f61271a0 Displaying the notebook's name in the Note toolbar when search is active. 2018-06-05 10:27:07 +02:00
Laurent Cozic
b826e2d97b Clipper: Fixes #569: Make clipper service available on localhost only 2018-06-01 16:44:16 +01:00
Laurent Cozic
d8ad42b04a Clipper: Take zoom into account when clipping screenshot 2018-06-01 16:12:49 +01:00
Laurent Cozic
b3ca30b8b6 Merge branch 'master' of github.com:laurent22/joplin 2018-06-01 15:50:23 +01:00
Laurent Cozic
bdd9da3d22 Clipper: More consistent REST API 2018-06-01 15:50:11 +01:00
Laurent Cozic
eb43ddc701 Merge pull request #576 from zuphilip/patch-1
Update de_DE.po
2018-05-31 11:16:40 +01:00
Philipp Zumstein
f9c65a148f Update de_DE.po 2018-05-30 19:43:10 +02:00
FoxMaSk
bd0b9dff51 fix #572 - Translation submenu 2018-05-30 19:22:07 +02:00
Laurent Cozic
3822309657 All: Auto-delete resources only after 10 days to handle some edge cases 2018-05-27 12:50:12 +01:00
Laurent Cozic
ac2ec65c81 Update ES translation 2018-05-27 12:44:41 +01:00
Laurent Cozic
c0943f1776 Merge branch 'master' of github.com:laurent22/joplin 2018-05-27 12:44:09 +01:00
Laurent Cozic
5a2ab5fae7 Mobile: Fixes #565: Translate strings in dialog 2018-05-27 12:42:31 +01:00
bradmcl
281e36fde7 Update file-api-driver-webdav.js 2018-05-26 21:06:51 -04:00
Laurent Cozic
1af1c445c6 Merge pull request #564 from fmrtn/master
Updated Spanish translation
2018-05-26 22:31:20 +01:00
Fernando
e6d2e028ad Updated Spanish translation 2018-05-26 21:01:34 +02:00
Laurent Cozic
8d25b8075d Update website 2018-05-26 17:37:17 +01:00
Laurent Cozic
58201fd6c3 Clipper: Disable incorrect detection of dev mode for Firefox extension 2018-05-26 17:37:03 +01:00
Laurent Cozic
2b624a9aed Electron release v1.0.96 2018-05-26 17:25:15 +01:00
Laurent Cozic
792fd7c50d Update translations 2018-05-26 17:25:11 +01:00
Laurent Cozic
90d37a15bd Electron: Added link to Firefox extension 2018-05-26 17:13:27 +01:00
Laurent Cozic
ef57ee803f Clipper: Fixes to get it working in Firefox 2018-05-26 16:28:55 +01:00
Laurent Cozic
e2bfb74895 Clipper: Minor improvement to screenshot usability 2018-05-26 15:53:50 +01:00
Laurent Cozic
89b486a3ee Clipper: Allow selecting a folder and fixed screenshot taking issue 2018-05-26 15:46:57 +01:00
Laurent Cozic
d6c6ef20d4 Update website 2018-05-26 12:58:44 +01:00
Laurent Cozic
6cb6e9541f Clipper: started doc 2018-05-26 12:57:14 +01:00
Laurent Cozic
a8acecb703 Clipper: Display server status in popup 2018-05-26 12:17:41 +01:00
Laurent Cozic
0938297250 Clipper: Make dev icon look different and run dev server on different port 2018-05-26 11:18:54 +01:00
Laurent Cozic
a2da2f681c Update website 2018-05-25 14:04:48 +01:00
Laurent Cozic
32477e901d Electron release v1.0.95 2018-05-25 13:31:42 +01:00
Laurent Cozic
1841c4dc11 Merge branch 'master' of github.com:laurent22/joplin 2018-05-25 13:31:27 +01:00
Laurent Cozic
f81dce3321 Merge branch 'clipper' 2018-05-25 13:31:15 +01:00
Laurent Cozic
e15f84716a Clipper: Added Clipper config screen and improved server 2018-05-25 13:30:27 +01:00
Laurent Cozic
d11ecd8fac Clipper: Better handling of clipper server detection 2018-05-25 11:18:47 +01:00
Laurent Cozic
012e70d668 Clipper: Dynamically allocate and detect clipper service port 2018-05-25 11:08:22 +01:00
Laurent Cozic
264ee4f319 Clipper: Support clipping screenshots 2018-05-25 08:51:54 +01:00
Laurent Cozic
4640d6d6e3 Clipper: Made extension compatible with Chrome and started screenshot clipping 2018-05-24 18:32:30 +01:00
Laurent Cozic
9db9d98419 Clipper: Skip style section when importing HTML 2018-05-24 13:32:43 +01:00
Laurent Cozic
f79d7b9626 Clipper: Set source URL and fixed issues with tables and urls 2018-05-24 12:44:13 +01:00
Laurent Cozic
a8da469523 Clipper: Improved download of images and conversion to resources 2018-05-23 14:25:59 +01:00
Laurent Cozic
3c5eb99c59 Clipper: Download images and convert them to resources 2018-05-23 12:14:38 +01:00
bradmcl
8dc14516d6 Handle Nginx DAV PROPFIND responses correctly
Parse the d:status field for d:propstat sections within a d:multistatus response to a DAV PROPFIND because Nginx returns 404 statuses wrapped in an overall 207
2018-05-22 21:08:14 -04:00
Laurent Cozic
84efc6a04e ios-v10.0.24 2018-05-22 16:09:25 +01:00
Laurent Cozic
86e3038cfe Mobile: Fixes #531: Get WebDAV to work with certain servers that require a trailing slash on directories 2018-05-22 15:55:38 +01:00
Laurent Cozic
6898b9ca4c All: Identify another Dropbox missing auth error, to allow resetting the token 2018-05-22 15:03:55 +01:00
Laurent Cozic
9eb62920f7 Update SyncTargetDropbox.js 2018-05-22 15:02:35 +01:00
Laurent Cozic
7cf267254f Clipper: Improved Html To Md conversion 2018-05-22 00:54:23 +01:00
Laurent Cozic
5a0e3cbbf2 ios-v10.0.23 2018-05-21 23:02:47 +01:00
Laurent Cozic
4b376ec5c2 Update website 2018-05-21 21:53:13 +01:00
Laurent Cozic
92b71d3eb2 Electron release v1.0.94 2018-05-21 20:17:13 +01:00
Laurent Cozic
c32d7de7c4 Updated French transaltion 2018-05-21 20:17:00 +01:00
Laurent Cozic
c83a61d45d Android: Resolves #538 (kind of): Added info to ask user to set app permissions 2018-05-21 17:24:09 +01:00
Laurent Cozic
429f2d5aab All: Fixes #536: Allow changing sync target file path 2018-05-21 16:26:01 +01:00
Laurent Cozic
ed70cf571c Electron: partially resolves #532: Better handling of Dropbox error message 2018-05-21 16:24:57 +01:00
Laurent Cozic
fd77671575 Electron: Fixes #535: Note preview was not always updated when it should 2018-05-21 15:29:35 +01:00
Laurent Cozic
9d915a916e Fixed test 2018-05-21 15:21:08 +01:00
Laurent Cozic
acb90935c7 Fixed tests 2018-05-20 13:33:26 +01:00
Laurent Cozic
6301ba0a12 Electron: Fixes #527: Remove empty section separators from menus 2018-05-20 13:01:07 +01:00
Laurent Cozic
44e1245416 Electron: Fixes #528: Set translation in bridge functions too 2018-05-20 12:54:42 +01:00
Laurent Cozic
6527d9db83 Update translation 2018-05-20 12:31:54 +01:00
Laurent Cozic
2bcaf62a2f Merge pull request #543 from Abijeet/tag-rename
Adds functionality to allow for renaming of tags.
2018-05-20 12:24:15 +01:00
Laurent Cozic
2db3998f11 Merge pull request #540 from Abijeet/master
Added styles to fix margin bottom for  nested lists
2018-05-20 12:24:01 +01:00
Laurent Cozic
04724c58d1 All: Fixes #491: Handle non-standard ports and better handling of fetchBlob errors 2018-05-20 12:20:15 +01:00
Laurent Cozic
7ed9c2770c Clipper: Improved UI and integration with main app 2018-05-20 10:19:59 +01:00
Abijeet
48883bfa13 Adds functionality to allow for renaming of tags.
Towards #374

Signed-off-by: Abijeet <abijeetpatro@gmail.com>
2018-05-20 13:09:32 +05:30
Abijeet
b6d9e695d1 Added styles to fix margin bottom for nested lists
Fixes #482

Signed-off-by: Abijeet <abijeetpatro@gmail.com>
2018-05-19 23:39:27 +05:30
Laurent Cozic
43bab3c1bd Merge branch 'master' of github.com:laurent22/joplin 2018-05-16 15:34:09 +01:00
Laurent Cozic
dd67602b87 ios v10.0.22 2018-05-16 15:33:52 +01:00
Laurent Cozic
c96a416c2c Clipper: Clean up 2018-05-16 14:21:33 +01:00
Laurent Cozic
c4ca9cde32 Electron: Allow copying path of resources 2018-05-16 14:16:43 +01:00
Laurent Cozic
6c5d208893 Clipper: Added first files 2018-05-16 14:16:14 +01:00
Laurent Cozic
795fd8b58c HtmlToMD: Finish restoring codes that could be saved, and scoped tests to ENEX-like data 2018-05-16 10:56:30 +01:00
Laurent Cozic
c226940792 HtmlToMd: Re-applied recent changes that can be kept 2018-05-16 10:09:46 +01:00
Laurent Cozic
bdd0a6106f HtmlToMd: Revert to version a677b2e844 2018-05-16 10:09:07 +01:00
Laurent Cozic
d1ea7ad3ea HtmlToMd: Minor fix on table 2018-05-16 09:54:13 +01:00
Laurent Cozic
a2b1181f7c HtmlToMd: Fixed handling of inline tags 2018-05-15 13:26:53 +01:00
Laurent Cozic
8cce2f17d5 HtmlToMd: Improved import of inline and code block 2018-05-15 13:13:55 +01:00
Laurent Cozic
658b911513 HtmlToMd: Minor tweak on LI tag 2018-05-15 09:52:56 +01:00
Laurent Cozic
3c95979d94 HtmlToMd: Fix LI tags that contains blocks 2018-05-14 23:13:17 +01:00
Laurent Cozic
2e32211a28 HtmlToMd: Fix conversion of tables 2018-05-14 23:04:40 +01:00
Laurent Cozic
ba2874173d HtmlToMd: Added more test cases and fixed some issues 2018-05-14 19:48:52 +01:00
Laurent Cozic
ba9598682c HtmlToMd: Fixed various tests 2018-05-14 18:46:04 +01:00
Laurent Cozic
30bfd82683 Update website 2018-05-14 12:47:51 +01:00
Laurent Cozic
10c6774c28 Fix download links 2018-05-14 12:47:36 +01:00
Laurent Cozic
c4ad9019aa Update website 2018-05-14 12:42:06 +01:00
Laurent Cozic
7c99ab9947 Update Readme for portable app 2018-05-14 12:41:45 +01:00
Laurent Cozic
feb7778fe4 Electron release v1.0.93 2018-05-14 12:18:40 +01:00
Laurent Cozic
b45185780f Fixed auto-update download url 2018-05-14 12:18:00 +01:00
Laurent Cozic
4e032c0c55 Electron release v1.0.92 2018-05-14 11:36:40 +01:00
Laurent Cozic
2e2b35dfeb Fixed import of tables and added tests 2018-05-14 11:36:02 +01:00
Laurent Cozic
526ef7e1d2 Don't add new table when processing a table 2018-05-14 11:24:19 +01:00
Laurent Cozic
a37005446a Fixed tests 2018-05-14 11:23:18 +01:00
Laurent Cozic
e012b927dc Merge branch 'clipper' 2018-05-14 11:09:57 +01:00
Laurent Cozic
359b8d5545 Various tweaks to build portable version 2018-05-14 11:08:33 +01:00
Laurent Cozic
23c592b322 Merge branch 'master' of github.com:laurent22/joplin 2018-05-14 10:31:32 +01:00
Laurent Cozic
9aeddf86f4 Updated PortableApps build files 2018-05-14 10:31:16 +01:00
FoxMaSk
0e1887988e add OneDrive
add OneDrive to the general description of the supported services
2018-05-13 14:42:36 +02:00
Laurent Cozic
394f2df664 All: More robust HTML to MD conversion and started adding test units for it 2018-05-12 11:48:39 +01:00
Laurent Cozic
2a04378a0d Merge branch 'clipper' 2018-05-11 15:32:45 +01:00
Laurent Cozic
bac68f2c42 All: Various changes to improve import of HTML 2018-05-11 15:29:44 +01:00
Laurent Cozic
0f0ff86ffa Merge pull request #409 from petrz12/better-evernote-import
Merge monospace text lines when importing from Evernote
2018-05-11 15:25:26 +01:00
Laurent Cozic
8b38752cbf Fix downloads 2018-05-11 14:36:52 +01:00
Laurent Cozic
3c24589450 Fixed deployment script 2018-05-11 14:36:22 +01:00
Laurent Cozic
65065a62d8 CLI v1.0.107 2018-05-11 13:50:19 +01:00
Laurent Cozic
482e9340bc Android release v1.0.125 2018-05-10 21:31:58 +01:00
Laurent Cozic
69d490996e Mobile: Remove uneeded GCM and C2DM dependencies from Android to make it acceptable for F-Droid 2018-05-10 21:25:06 +01:00
Laurent Cozic
3494937e34 Mobile: Resolves #503: Share note with other apps 2018-05-10 20:39:41 +01:00
Laurent Cozic
41ba1043be All: Fixed incorrect timeout for sync-after-save (was using ms instead of sec). Removed needless caching of note IDs in database. 2018-05-10 19:50:44 +01:00
Laurent Cozic
cc57de60c0 Update website 2018-05-10 15:48:16 +01:00
Laurent Cozic
60a2b9e5c6 Electron release v1.0.91 2018-05-10 15:24:46 +01:00
Laurent Cozic
8e1fb666a5 Electron: Fixes #510: Removed reference to missing file 2018-05-10 15:24:38 +01:00
Laurent Cozic
f4ad777bbf Update website 2018-05-10 14:32:33 +01:00
Laurent Cozic
2eacf6146a Android release v1.0.124 2018-05-10 12:24:36 +01:00
Laurent Cozic
fe2ba34cb4 Electron release v1.0.90 2018-05-10 12:22:33 +01:00
Laurent Cozic
84daa0db61 Update readme 2018-05-10 12:22:14 +01:00
Laurent Cozic
b9118a90be All: Resolves #443: Various optimisations to make dealing with large notes easier and make Katex re-rendering faster 2018-05-10 12:02:39 +01:00
Laurent Cozic
ef2ffd4e52 Electron: Resolves #200, Resolves #416: Allow attaching images by pasting them in. Allow attaching files by drag and dropping them. Insert attachement at cursor position. 2018-05-10 10:45:44 +01:00
Laurent Cozic
5e3063abe0 Updated translations 2018-05-09 21:05:52 +01:00
Laurent Cozic
f460b2497a Merge pull request #506 from fmrtn/master
Updated Spanish translation
2018-05-09 21:04:20 +01:00
Laurent Cozic
c080d7054f Merge branch 'master' of github.com:laurent22/joplin 2018-05-09 21:00:33 +01:00
Laurent Cozic
61dd4cefbc All: Resolves #345: Option to hide completed todos 2018-05-09 21:00:05 +01:00
Laurent Cozic
63d99b2d70 Mobile: Fixes #497: Make sure Dropbox text input is visible when keyboard is visible on iPhone SE 2018-05-09 19:11:48 +01:00
Laurent Cozic
55332d7671 Electron: Fixes #481: Shortcuts were not working when text editor had focus 2018-05-09 18:41:32 +01:00
Laurent Cozic
16635defcd Mobile: Fixes #455: Use active folder when creating new note from Welcome screen 2018-05-09 18:12:00 +01:00
Laurent Cozic
595cf3fcad Mobile: Fixes #433: Don't scroll note back to top when changing checkbox state 2018-05-09 18:04:48 +01:00
Fernando
c9b9f82130 Updated Spanish translation 2018-05-09 18:48:32 +02:00
Laurent Cozic
f5bca733d7 Fixed translator email encoding issue 2018-05-09 17:06:02 +01:00
Laurent Cozic
494e235e18 Electron: Resolves #500: Fixed XSS security vulnerability 2018-05-09 16:59:33 +01:00
Laurent Cozic
85219a6004 Android release v1.0.123 2018-05-09 16:43:33 +01:00
Laurent Cozic
e4a7851e57 Update debugging.md 2018-05-09 16:33:16 +01:00
Laurent Cozic
b7529b40b5 Updated tests 2018-05-09 16:14:27 +01:00
Laurent Cozic
74827e5324 Electron: Fixed tag display 2018-05-09 15:31:42 +01:00
Laurent Cozic
2e16cc5433 ios-v10.0.21 2018-05-09 14:15:04 +01:00
Laurent Cozic
7f41bc5703 Update website 2018-05-09 14:10:13 +01:00
Laurent Cozic
a2380fb752 Android release v1.0.122 2018-05-09 13:18:39 +01:00
Laurent Cozic
f6a902809d Electron release v1.0.89 2018-05-09 13:17:08 +01:00
Laurent Cozic
33a853397d Electron release v1.0.88 2018-05-09 13:16:55 +01:00
Laurent Cozic
4f02481899 Electron release v1.0.87 2018-05-09 13:14:42 +01:00
Laurent Cozic
b18076565f Update translations 2018-05-09 13:14:17 +01:00
Laurent Cozic
853ddc5840 Update website 2018-05-09 13:11:03 +01:00
Laurent Cozic
7930ab66c6 Merge branch 'master' into subnotebooks 2018-05-09 13:10:20 +01:00
Laurent Cozic
c7716c0d59 All: Resolves #122: Sub-notebook support in desktop, mobile and cli app 2018-05-09 13:08:00 +01:00
Laurent Cozic
49cbb254d0 CLI: Fixed link handling 2018-05-09 12:50:50 +01:00
Laurent Cozic
cf9246796d CLI: Added support for sub-notebooks 2018-05-09 12:39:27 +01:00
Laurent Cozic
e1dee546dc Mobile: Added support for sub-notebooks 2018-05-09 12:39:17 +01:00
Laurent Cozic
da6fdad2de All: Handle saving collapsed states of sub-notebook 2018-05-09 10:49:31 +01:00
Laurent Cozic
567596643c Electron: Handle drag and dropping notebooks to change the parent 2018-05-09 09:53:47 +01:00
Laurent Cozic
cb617e1b14 All: Fixes #61: Handle path that ends with slash for file system sync. 2018-05-08 11:29:25 +01:00
Laurent Cozic
facf8afa8b Update translations 2018-05-08 11:12:36 +01:00
Laurent Cozic
f0dd61a711 Merge pull request #495 from fmrtn/master
Updated Spanish translation
2018-05-08 11:12:01 +01:00
Laurent Cozic
e958211a13 Merge pull request #496 from zuphilip/patch-1
Update address pronouns "du" in German translation
2018-05-08 11:11:45 +01:00
Philipp Zumstein
0ed170b5bc Update address pronouns "du" in German translation 2018-05-07 07:12:01 +02:00
Fernando
473d3453a2 Updated Spanish translation 2018-05-06 20:29:35 +02:00
Laurent Cozic
fa9d7b0408 Electron: Started UI and backend for sub-notebook support 2018-05-06 12:11:59 +01:00
Laurent Cozic
d4a28f48c9 Update website 2018-05-06 11:17:34 +01:00
Laurent Cozic
ead6fff861 Merge branch 'master' of github.com:laurent22/joplin 2018-05-06 11:16:52 +01:00
Laurent Cozic
c7d06b35cd Merge pull request #494 from stweil/typo
Fix some typos
2018-05-06 11:16:43 +01:00
Laurent Cozic
fa939e5c76 Merge branch 'master' of github.com:laurent22/joplin 2018-05-06 11:16:19 +01:00
Laurent Cozic
1bf2601f4f Merge pull request #492 from zuphilip/patch-1
Update de_DE.po
2018-05-06 11:15:59 +01:00
Stefan Weil
feb0c02c9a ReactNativeClient: Fix some typos (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2018-05-05 16:25:37 +02:00
Stefan Weil
40a34a7c05 Fix typos in documentation (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2018-05-05 16:23:48 +02:00
Stefan Weil
c62dcd96b0 CliClient: Fix some typos (found by codespell)
Remove also a "translation" which was none from locales/hr_HR.po.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2018-05-05 16:22:14 +02:00
Philipp Zumstein
1364d6786d Update de_DE.po 2018-05-05 11:08:47 +02:00
petrz12
9f2666aef9 Evernote code block conversion added, better handling of monospace empty lines 2018-05-04 00:23:19 +02:00
Laurent Cozic
a6a351e68d Electron: Export/Import links to notes 2018-05-03 13:11:45 +01:00
Laurent Cozic
1db38a9699 Merge pull request #484 from fmrtn/master
Spanish translation updated
2018-05-03 12:08:57 +01:00
Fernando
c57db1834f Spanish translation updated 2018-05-03 13:07:36 +02:00
Laurent Cozic
3aeb49b469 Merge branch 'master' of github.com:laurent22/joplin 2018-05-03 11:31:17 +01:00
Laurent Cozic
80b467eead All: For now, disable attaching resources larger than 10MB due to #371 2018-05-03 11:31:07 +01:00
Laurent Cozic
61572f287a Update README.md
Added note about large resources
2018-05-03 11:06:12 +01:00
petrz12
f136664c11 codeblock detection added 2018-05-02 22:39:50 +02:00
Laurent Cozic
0e545baf10 Update issue_template.md 2018-05-02 21:39:11 +01:00
Laurent Cozic
e65e647359 Update issue_template.md 2018-05-02 21:38:49 +01:00
Laurent Cozic
238268884e Update debugging.md 2018-05-02 20:16:08 +01:00
Laurent Cozic
4c210d0956 Electron: Fixes #480: Ignore invalid flag automatically passed by macOS 2018-05-02 15:51:33 +01:00
Laurent Cozic
5f32c6466a Update website 2018-05-02 15:33:18 +01:00
Laurent Cozic
71bd39a8a3 Update website 2018-05-02 15:31:17 +01:00
Laurent Cozic
ffb660f0f4 Move tool file 2018-05-02 15:28:13 +01:00
Laurent Cozic
dde23632c1 Move tool file 2018-05-02 15:27:12 +01:00
Laurent Cozic
9d26f13db0 Android release v1.0.120 2018-05-02 15:18:13 +01:00
Laurent Cozic
2a4c9c4427 Electron release v1.0.86 2018-05-02 15:16:02 +01:00
Laurent Cozic
3bfde26b74 Merge branch 'master' of github.com:laurent22/joplin 2018-05-02 15:13:28 +01:00
Laurent Cozic
a419bc7253 All: Resolves #134: Allow linking to a note from another note 2018-05-02 15:13:20 +01:00
Laurent Cozic
89e0dad88b Update README.md
32-bit is now supported
2018-05-02 13:16:04 +01:00
Laurent Cozic
ff1ee1249b Mobile: Resolves #61: Enable File System sync on mobile as the driver seems to be working now 2018-05-02 10:27:37 +01:00
Laurent Cozic
ba9cfd8041 Electron: Increased timeout for sync-after-save to 30 seconds 2018-05-02 08:34:54 +01:00
Laurent Cozic
80a51e02a4 Update readme downloads 2018-05-01 22:33:01 +01:00
Laurent Cozic
a2e2a9a2f5 Electron release v1.0.85 2018-05-01 21:16:24 +01:00
Laurent Cozic
49e4c37cac Electron: Check that the filename contains 'Setup' when auto-updating 2018-05-01 21:13:41 +01:00
Laurent Cozic
11d323d8b7 Electron: Fixes #479: Currently loaded note was cleared when creating new note 2018-05-01 21:13:17 +01:00
Laurent Cozic
784ba45f1f Electron release v1.0.84 2018-05-01 19:39:06 +01:00
Laurent Cozic
e534414874 All: Fixes #434: Handle Katex block mode 2018-05-01 19:34:42 +01:00
Laurent Cozic
01f4faf8f1 Mobile: Fixes #426: Fix missing menu icon on Android 4 2018-05-01 19:30:41 +01:00
Laurent Cozic
b33d30ca47 Merge branch 'master' of github.com:laurent22/joplin 2018-05-01 19:05:33 +01:00
Laurent Cozic
1ba3fae101 All: Resolves #470: Make it clear that spaces in URLs are invalid. 2018-05-01 19:05:14 +01:00
Laurent Cozic
9550347e04 Merge pull request #448 from solariz/master
Fix for Issue #430
2018-05-01 18:54:43 +01:00
Laurent Cozic
398946d39a Mobile: Fixes #393: Fixed moving new notes before they are saved 2018-05-01 18:53:45 +01:00
Laurent Cozic
05faf55e8d All: Fixes #363: Fixed indentation and rendering of lists 2018-05-01 16:45:17 +01:00
Laurent Cozic
4cf5525e20 Electron: Fixes #355: Set undo state properly when loading new note 2018-05-01 10:48:15 +01:00
Laurent Cozic
62e91c44d7 Electron: Fixes #346: Make sure links have an address when exporting to PDF 2018-05-01 10:14:48 +01:00
Laurent Cozic
e4ec4ae92b Mobile: Fix action button when note is being edited. 2018-05-01 10:09:36 +01:00
Laurent Cozic
c1f5dfd9cc Keep Blob tests to revisit in a few weeks 2018-04-30 21:21:17 +01:00
Laurent Cozic
0c0efeac1f Android release v1.0.119 2018-04-30 18:34:55 +01:00
Laurent Cozic
5e0f2642e3 Android release v1.0.118 2018-04-30 17:41:39 +01:00
Laurent Cozic
93966b0fa1 Mobile: Trying to upgrade to React Native 0.55 2018-04-30 17:38:19 +01:00
Laurent Cozic
e90abf3517 Updated translations 2018-04-28 11:44:07 +02:00
Laurent Cozic
d3fa0dce96 Updated translations 2018-04-28 11:40:55 +02:00
Laurent Cozic
58a7c2fa94 Doc: Added forum link to website 2018-04-28 11:40:27 +02:00
Laurent Cozic
962a8700c2 Added ptBR translation 2018-04-28 11:35:28 +02:00
Laurent Cozic
b5c704e2bb Doc: Updated website 2018-04-25 20:08:59 +02:00
Laurent Cozic
e7b52b19d7 Doc: Updated website 2018-04-25 20:04:25 +02:00
Laurent Cozic
903c2e6d92 Doc: Updated website 2018-04-25 19:25:54 +02:00
Laurent Cozic
abcb1ac760 Doc: Update website 2018-04-25 19:24:13 +02:00
Laurent Cozic
b6bf76cc4c Doc: Mentioned forums and other community-related links 2018-04-25 11:59:43 +02:00
Laurent Cozic
2bf87655da Electron: Various tweaks to get PortableApps format to work 2018-04-23 21:50:29 +02:00
Laurent Cozic
d4b19f19a1 Electron: Use built-in image resizing instead of Sharp 2018-04-22 21:10:43 +02:00
Laurent Cozic
d8ccc38d5b All: Better handling of resources that are incorrectly flagged as encrypted 2018-04-22 14:33:12 +02:00
petrz12
c8c9f80cc5 Making monospace merging permanent 2018-04-21 13:55:18 +02:00
Marco G
577bef5704 Fix for Issue #430 2018-04-21 10:25:13 +02:00
Laurent Cozic
4e3b8a06ea Merge branch 'master' of github.com:laurent22/joplin 2018-04-19 19:43:27 +02:00
Laurent Cozic
363632ffa7 Doc: Added Arch Linux package info 2018-04-19 19:42:44 +02:00
Laurent Cozic
994c99f47f Merge pull request #442 from solariz/master
Common EU Date format DD.MM.YYYY added, issue #405
2018-04-19 19:32:22 +02:00
Marco G
96571baadc Common EU Date format DD.MM.YYYY added, issue #405 2018-04-19 17:03:16 +02:00
Laurent Cozic
4ce2b2c948 Doc: Added link to AUR package 2018-04-19 11:14:43 +02:00
Laurent Cozic
5d69f7a0a7 Doc: Added link to AUR package 2018-04-19 11:13:33 +02:00
petrz12
69ddcc6e30 Remove debug lines, fixing some comments 2018-04-18 14:13:19 +02:00
Laurent Cozic
bcb1f36ad8 Merge pull request #428 from Abijeet/master
Add the toggle sidebar option to the View app menu bar.
2018-04-17 11:17:24 +02:00
Abijeet
34c65a686c Add the toggle sidebar option to the View app menu bar.
Towards #183

Signed-off-by: Abijeet <abijeetpatro@gmail.com>
2018-04-16 22:57:36 +05:30
Laurent Cozic
0b32741a12 Electron: Resolves #252: Allow enabling tray icon in Linux 2018-04-16 19:18:28 +02:00
Laurent Cozic
dbb321a3cc CLI: Resolves #411: Fixed documentation 2018-04-16 16:29:34 +02:00
Laurent Cozic
a6e4f47adf All: Resolves #389: Documented method being used to encrypt master keys 2018-04-16 16:16:31 +02:00
Laurent Cozic
fb6dee32ac All: Resolves #380: Fixed documentation inconsitencies for webdav url 2018-04-16 16:09:38 +02:00
Laurent Cozic
984dd6f2c0 Electron: Rotate sidebar icon when it is hidden 2018-04-16 15:32:33 +02:00
Laurent Cozic
02bde2c6e9 Merge pull request #424 from Abijeet/master
Adds support to toggle the sidebar.
2018-04-16 15:24:33 +02:00
Laurent Cozic
782d24cc04 Updated Spanish translation 2018-04-16 15:16:29 +02:00
Laurent Cozic
4d0af575e5 Mobile: Resolves #360: Don't crash if theme not set and improved logging. 2018-04-16 15:15:29 +02:00
Laurent Cozic
be8bda8e73 Added Joplin letter as SVG 2018-04-16 11:20:33 +02:00
Abijeet
1242de532e Adds support to toggle the sidebar.
Closes #183

Signed-off-by: Abijeet <abijeetpatro@gmail.com>
2018-04-15 21:20:39 +05:30
Laurent Cozic
7d7ec7f15e Update translation 2018-04-11 21:39:37 +02:00
Laurent Cozic
ca112ec5d3 Merge branch 'master' of github.com:laurent22/joplin 2018-04-11 21:39:13 +02:00
Laurent Cozic
5deb8cf76d Update translation 2018-04-11 19:27:45 +02:00
Laurent Cozic
a2c9737c17 utf-8 2018-04-11 19:27:20 +02:00
Laurent Cozic
d3fca3d6cc Mobile: Fixes #358: Fix cursor color in dark mode 2018-04-11 19:25:07 +02:00
petrz12
16554b22c7 Merge monospace text lines when importing from Evernote 2018-04-10 22:59:45 +02:00
Laurent Cozic
d5574098f0 Resolves #392: Clarified deletion of resources 2018-04-09 21:00:47 +02:00
Laurent Cozic
f5a683f25c Update issue_template.md 2018-04-09 20:58:35 +02:00
Laurent Cozic
5f04adb392 Merge pull request #376 from mjjzf/master
Updated Danish translation
2018-04-05 22:41:21 +02:00
Laurent Cozic
edd0f7e255 Update issue_template.md 2018-04-04 21:50:45 +02:00
Laurent Cozic
67145d9104 Updated website 2018-04-04 21:48:42 +02:00
Laurent Cozic
003e2afff7 Update readme downloads 2018-04-04 21:44:25 +02:00
Laurent Cozic
6e9d70c5cb Electron release v1.0.83 2018-04-04 21:25:45 +02:00
Laurent Cozic
4821b4cdf2 Electron: Fixes #365: Cannot paste in Dropbox screen 2018-04-04 21:25:27 +02:00
Morten Juhl-Johansen Zölde-Fejer
734d4db431 Updated Danish translation
Translated new strings, minor corrections
2018-04-04 12:32:30 +02:00
Morten Juhl-Johansen Zölde-Fejer
317aaed0ac Updated Danish translation
New strings and minor corrections.
2018-04-04 11:52:26 +02:00
Laurent Cozic
9778098d6c Merge pull request #366 from bimlas/patch-1
Clarify Windows build dependencies
2018-04-02 21:17:10 +02:00
Bimba Laszlo
5b1755f988 Clarify Windows build dependencies 2018-04-02 19:14:04 +02:00
Laurent Cozic
2a772895dd ios v10.0.20 2018-03-31 20:24:32 +02:00
Laurent Cozic
5fbb01cf2f Electron release v1.0.82 2018-03-31 19:23:06 +01:00
Laurent Cozic
f9e0870b4e Android release v1.0.116 2018-03-31 19:21:07 +01:00
Laurent Cozic
a58f1e9b4b Update Galician translation 2018-03-31 19:19:11 +01:00
Laurent Cozic
6fc0d89b30 Update website 2018-03-29 20:55:15 +01:00
Laurent Cozic
2dcadab7d2 Update website 2018-03-29 20:50:18 +01:00
Laurent Cozic
bb3307e156 Update website 2018-03-29 20:48:22 +01:00
Laurent Cozic
ecd07f1209 Update website 2018-03-29 20:42:11 +01:00
Laurent Cozic
266cb1174f Update website 2018-03-29 20:36:34 +01:00
Laurent Cozic
bfb9b77b6e Update website 2018-03-29 20:25:37 +01:00
Laurent Cozic
01b1361dcb Update website 2018-03-29 20:21:14 +01:00
Laurent Cozic
3a921720d6 Update website 2018-03-29 20:17:11 +01:00
Laurent Cozic
cdfd3d9c31 Updated French translation and added Galician translation 2018-03-29 18:30:33 +01:00
Laurent Cozic
9961fb64bb Updated website 2018-03-29 00:52:27 +01:00
Laurent Cozic
3137c355cf Added stats and changelog document 2018-03-28 17:41:14 +00:00
Laurent Cozic
16abaf60d2 Update readme downloads 2018-03-28 09:14:24 +01:00
Laurent Cozic
9004b710ea CLI v1.0.106 2018-03-27 23:22:06 +01:00
Laurent Cozic
6ebac21c2b Electron release v1.0.81 2018-03-27 23:03:25 +01:00
Laurent Cozic
99f79faf83 Android release v1.0.115 2018-03-27 23:01:56 +01:00
Laurent Cozic
613fa20806 Merge branch 'dropbox' 2018-03-27 23:00:49 +01:00
Laurent Cozic
1b5f812278 Merge branch 'master' of github.com:laurent22/joplin 2018-03-27 23:00:32 +01:00
Laurent Cozic
3a9643c1ea Electron release v1.0.80 2018-03-27 22:57:23 +01:00
Laurent Cozic
aee7f5a8ac Android release v1.0.114 2018-03-27 22:55:46 +01:00
Laurent Cozic
d3cd378922 Android release v1.0.113 2018-03-27 17:57:34 +01:00
Laurent Cozic
4f5e7367d0 Minor tweals 2018-03-27 17:48:55 +01:00
Laurent Cozic
2280fb5c43 Styled Dropbox mobile GUI 2018-03-27 17:41:19 +00:00
Laurent Cozic
96fb7c2087 Getting Dropbox to work in mobile app 2018-03-27 00:55:44 +01:00
Laurent Cozic
6e994fd8b9 All: Dropbox: Handle various error conditions 2018-03-27 00:05:39 +01:00
Laurent Cozic
a7cde1e269 All: Resolves #329: Add link to E2EE doc 2018-03-26 17:55:09 +00:00
Laurent Cozic
f8310ba0d5 Mobile: Fixed tag box styling in dark theme 2018-03-26 17:52:49 +00:00
Laurent Cozic
b239c3faba Update README.md 2018-03-26 18:51:03 +01:00
Laurent Cozic
3c2281dbf9 Merge branch 'master' into dropbox 2018-03-26 18:37:04 +01:00
Laurent Cozic
ac07bf784d Adding Dropbox sync to Electron app 2018-03-26 18:33:55 +01:00
Laurent Cozic
067455542f Update README.md 2018-03-25 20:02:54 +01:00
Laurent Cozic
5bfeaa357b Updated translations and added Czech translation 2018-03-24 20:15:36 +00:00
Laurent Cozic
fe27a64331 Merge branch 'master' of github.com:laurent22/joplin 2018-03-24 20:14:04 +00:00
Laurent Cozic
ed638612aa Moved to https:// domain 2018-03-24 20:13:52 +00:00
Laurent Cozic
1d7ec83510 Merge pull request #328 from hydrandt/czech_translation
adding Czech translation
2018-03-24 20:12:44 +00:00
Laurent Cozic
75c710232d Update readme downloads 2018-03-24 20:08:23 +00:00
hydrandt
5af52afadb adding Czech translation 2018-03-25 04:01:51 +08:00
Laurent Cozic
0f4324c2f8 All: Added backend for Dropbox support 2018-03-24 19:35:10 +00:00
Laurent Cozic
b48e1dac94 Update README.md
Fixes #327
2018-03-24 16:50:10 +00:00
Laurent Cozic
f0ca8e1e31 Update debugging.md 2018-03-24 15:37:33 +00:00
Laurent Cozic
74b83eb71e All: Fixes #318: Display full links in editor 2018-03-24 15:16:58 +00:00
Laurent Cozic
28dce0fbb5 iOS 19 2018-03-23 19:19:15 +00:00
Laurent Cozic
c12d402c7e Merge branch 'master' of github.com:laurent22/joplin 2018-03-23 18:19:46 +00:00
Laurent Cozic
014f5b123c iOS 15 2018-03-23 18:19:38 +00:00
Laurent Cozic
58601dfc04 CLI v1.0.104 2018-03-23 18:06:06 +00:00
Laurent Cozic
9fe7f0adae Android release v1.0.112 2018-03-23 17:32:29 +00:00
Laurent Cozic
ea1374371f Electron release v1.0.79 2018-03-23 17:30:24 +00:00
Laurent Cozic
bce4294529 Fix Mark loading state logic 2018-03-23 17:29:08 +00:00
Laurent Cozic
de409b632a Merge branch 'master' into highlight-search 2018-03-23 17:25:20 +00:00
Laurent Cozic
a677b2e844 Electron: Fixes #318, Fixes #317: ENEX: Improved handling and rendering of plain text links. Improved detection and import of resources. Improved import of tables. 2018-03-23 17:59:18 +00:00
Laurent Cozic
c63bb19cb6 Updated French translation and added Danish translation 2018-03-22 18:25:50 +00:00
Laurent Cozic
72fd77812e Update README.md 2018-03-21 07:48:29 +00:00
Laurent Cozic
40f3e72bd1 Update website 2018-03-20 17:41:48 +00:00
Laurent Cozic
d6d86f2aff Merge branch 'master' of github.com:laurent22/joplin 2018-03-20 17:37:36 +00:00
Laurent Cozic
c71809438b Updated website CSS 2018-03-20 17:36:07 +00:00
Laurent Cozic
3e6e1a0a36 Added badges 2018-03-20 10:24:26 +00:00
Laurent Cozic
f590ce4a34 Added Nextcloud logo and intro text 2018-03-19 23:25:55 +00:00
Laurent Cozic
67608e29c8 Electron: Resolves #144, Resolves #311: Highlight search results and search in real time. Associated Ctrl+F with searching. 2018-03-19 23:04:48 +00:00
Laurent Cozic
d5c2982093 Merge branch 'master' of github.com:laurent22/joplin 2018-03-18 12:45:59 +00:00
Laurent Cozic
90fad2a3ab Electron: Resolves #307: Use blue colour for sidebar, to be consistent with mobile app and logo 2018-03-18 12:45:39 +00:00
Laurent Cozic
bc7c82e3da Update README.md 2018-03-18 10:16:08 +00:00
Laurent Cozic
cb824f7dd7 Android release v1.0.110 2018-03-17 23:55:09 +00:00
Laurent Cozic
32c47a96f1 Electron: Resolves #73: Show modified date next to note in editor 2018-03-17 23:51:15 +00:00
Laurent Cozic
4e3f8893f7 Merge branch 'master' of github.com:laurent22/joplin 2018-03-17 23:00:22 +00:00
Laurent Cozic
ca3946689a Mobile: Made tag UI a dialog 2018-03-17 23:00:01 +00:00
Laurent Cozic
e2ad2dfcaa Update CONTRIBUTING.md 2018-03-17 22:23:50 +00:00
Laurent Cozic
d6f7893c56 Update readme downloads 2018-03-17 15:28:56 +00:00
Laurent Cozic
8c65a7cc31 Electron release v1.0.78 2018-03-17 15:13:00 +00:00
Laurent Cozic
aabb9be7de Mobile: Resolves #285: Create, edit and remove tags from notes 2018-03-16 20:17:52 +00:00
Laurent Cozic
544f93bf22 All: Handle deletion of resources that are not linked to any note 2018-03-16 17:39:44 +00:00
Laurent Cozic
f81dbf4a4c CLI v1.0.103 2018-03-16 14:36:09 +00:00
Laurent Cozic
fbec8263a3 Electron release v1.0.77 2018-03-16 14:34:10 +00:00
Laurent Cozic
68d77a69e6 Updated translations 2018-03-16 14:33:53 +00:00
Laurent Cozic
f2ef2446c6 Merge branch 'master' of github.com:laurent22/joplin 2018-03-16 14:33:16 +00:00
Laurent Cozic
875cb5387a Merge pull request #306 from tobias-grasse/tobias-grasse-patch-1
Update de_DE.po
2018-03-16 14:33:02 +00:00
Laurent Cozic
ae9ecdad40 All: Fix database upgrade 2018-03-16 14:32:47 +00:00
Laurent Cozic
86a0e34975 Update faq.md 2018-03-16 14:19:24 +00:00
Laurent Cozic
1141074745 Update faq.md 2018-03-16 14:19:10 +00:00
Tobias Grasse
efc46d9989 Update de_DE.po
Add missing translations, minor corrections for existing translations.
2018-03-16 12:13:42 +01:00
Laurent Cozic
2b45f745b6 Electron release v1.0.76 2018-03-16 10:12:27 +00:00
Laurent Cozic
37fb81e9b2 Trying to build only master branch 2018-03-16 10:12:23 +00:00
Laurent Cozic
255a4fac93 Electron release v1.0.75 2018-03-16 10:03:47 +00:00
Laurent Cozic
3e3fb88de8 Merge branch 'master' into resource_cleanup 2018-03-16 10:03:05 +00:00
Laurent Cozic
e4cf03ae46 Only build master branch 2018-03-16 10:02:58 +00:00
Laurent Cozic
554a3eb10d Electron release v1.0.74 2018-03-16 09:11:25 +00:00
Laurent Cozic
61881b528a Electron: Trying to fix signed executable issue 2018-03-16 09:11:10 +00:00
Laurent Cozic
c2507cbc4e CLI v1.0.101 2018-03-16 08:17:27 +00:00
Laurent Cozic
ed0f6d165c Android release v1.0.107 2018-03-16 08:10:32 +00:00
Laurent Cozic
8e22d38eb3 Electron release v1.0.73 2018-03-16 08:08:10 +00:00
Laurent Cozic
2599c425c3 Updated translations 2018-03-15 18:15:33 +00:00
Laurent Cozic
0e15821a81 Merge branch 'master' of github.com:laurent22/joplin 2018-03-15 18:10:11 +00:00
Laurent Cozic
c1bb51c12b All: Finished service to clean up resources 2018-03-15 18:08:46 +00:00
Laurent Cozic
1532b6d159 All: Made WebDAV options dynamics so that changing username or password doesn't require restarting the app 2018-03-15 17:57:11 +00:00
Laurent Cozic
945018b698 All: Allow deleting and syncing deleted resources 2018-03-15 17:46:54 +00:00
Laurent Cozic
df7b981e5e Merge branch 'master' into resource_cleanup 2018-03-15 18:19:06 +00:00
Laurent Cozic
4fe495675b Merge pull request #301 from fmrtn/master
Updated Spanish translation
2018-03-15 14:26:28 +00:00
Fernando
7828eef2ad Updated Spanish translation 2018-03-15 15:24:37 +01:00
Laurent Cozic
694f81b75f Merge pull request #300 from rtmkrlv/master
Updated Russian translation
2018-03-15 13:15:09 +00:00
rtmkrlv
8364b6e08d Updated Russian translation 2018-03-15 11:14:04 +02:00
rtmkrlv
3f4328ce9d Merge pull request #5 from laurent22/master
Update fork from original repository
2018-03-15 10:41:44 +02:00
Laurent Cozic
9e0bf1acb2 Mobile: Fixes #299: App freezes when connecting to OneDrive login page while internet connection is down 2018-03-14 23:17:02 +00:00
Laurent Cozic
c9e130a771 Merge branch 'master' into resource_cleanup 2018-03-14 17:41:06 +00:00
Laurent Cozic
26331f61e1 Electron: Resolves #298: Removed extraneous first characters from auto-title 2018-03-14 17:37:47 +00:00
Laurent Cozic
694672859a Updated translations 2018-03-14 17:32:05 +00:00
Laurent Cozic
858ead40b9 /bin/bash: qa: command not found 2018-03-14 17:29:13 +00:00
Laurent Cozic
b07fe5cc34 CLI: Fixes #288: Don't log commands in release versions 2018-03-14 17:28:41 +00:00
Laurent Cozic
0317171097 Electron: Fixes #292: Removed buggy electron-updater and implemented custom check 2018-03-14 17:23:19 +00:00
Laurent Cozic
9741a3a53d Merge pull request #283 from jcgerhard/master
Updated german translation de_DE
2018-03-14 16:44:54 +00:00
Laurent Cozic
7937fab5ff Electron: Fixes #291: Crash with empty backtick 2018-03-13 17:54:40 +00:00
Laurent Cozic
f595be07d4 Adding service to keep track of note resources associations 2018-03-12 23:40:43 +00:00
Laurent Cozic
eef106c99b Electron: Resolves #237: Export to PDF and print option 2018-03-12 18:01:47 +00:00
Laurent Cozic
dbe1833f92 Made easier to add export options 2018-03-12 08:30:10 +00:00
Jan C. Gerhard
520dc0ae21 Updated german translation de_DE 2018-03-12 08:08:14 +01:00
Laurent Cozic
c9be287f4a Electron release v1.0.72 2018-03-11 19:34:07 +00:00
Laurent Cozic
711f5dcaba Android release v1.0.106 2018-03-11 19:32:41 +00:00
Laurent Cozic
ebc0aa9809 Electron release v1.0.71 2018-03-11 19:31:07 +00:00
Laurent Cozic
dcaaf50a5a All: Fixes #271: Sort by created time was not respected 2018-03-10 15:34:55 +00:00
Laurent Cozic
3370b57134 Finished removing prettier 2018-03-10 15:34:29 +00:00
Laurent Cozic
55c5ddedf4 Revert "Applied prettier to code base"
This reverts commit c4f19465a6.
2018-03-09 20:59:12 +00:00
Laurent Cozic
5e8b09f5af All: Display icon next to resources and allow downloading them from Electron client 2018-03-09 20:46:28 +00:00
Laurent Cozic
1acffce62d All: Display last sync error unless it's a timeout or network error 2018-03-09 19:51:01 +00:00
Laurent Cozic
8555ecce87 Merge branch 'master' of github.com:laurent22/joplin 2018-03-09 19:07:47 +00:00
Laurent Cozic
4df5f668dc All: Improved sync when dealing with many items, in particular when using Nextcloud 2018-03-09 19:07:38 +00:00
Laurent Cozic
cceebeebef Update CONTRIBUTING.md 2018-03-09 17:59:41 +00:00
Laurent Cozic
c4f19465a6 Applied prettier to code base 2018-03-09 17:49:35 +00:00
Laurent Cozic
e868102c98 Revert "Adding prettier to all projects"
This reverts commit d6a4436313.
2018-03-09 17:45:42 +00:00
Laurent Cozic
0d4a1837f5 Merge branch 'master' of github.com:laurent22/joplin 2018-03-09 17:32:26 +00:00
Laurent Cozic
d6a4436313 Adding prettier to all projects 2018-03-09 17:32:10 +00:00
Laurent Cozic
03b5c6aa5e Added prettier options to ST project 2018-03-09 17:48:08 +00:00
Laurent Cozic
250cd47e02 Added prettier config file 2018-03-09 17:41:34 +00:00
Laurent Cozic
943fef32e7 Merge pull request #281 from fmrtn/master
Updated Spanish translation
2018-03-09 16:59:55 +00:00
Fernando
408634671c Updated Spanish translation 2018-03-09 17:28:39 +01:00
Laurent Cozic
570b5856ba Updated translations 2018-03-09 09:11:13 +00:00
Laurent Cozic
d114d14e87 Added donation links 2018-03-09 09:09:13 +00:00
Laurent Cozic
32791f502e More consistent links 2018-03-09 08:57:34 +00:00
Laurent Cozic
083ab0c788 Updated website 2018-03-09 08:53:26 +00:00
Laurent Cozic
003c4c4e26 Moved readme files to own folder 2018-03-09 08:47:21 +00:00
Laurent Cozic
f08f89ebd4 Added donate page 2018-03-09 08:30:36 +00:00
Laurent Cozic
3c973144c4 Added image 2018-03-09 08:18:02 +00:00
Laurent Cozic
82e99ca658 All: Better handling of startup errors 2018-03-07 19:11:55 +00:00
Laurent Cozic
b04d750cec Merge branch 'master' of github.com:laurent22/joplin 2018-03-07 17:40:00 +00:00
Laurent Cozic
c804e9f541 CLI: Fixes #268: Improve error message for invalid flags 2018-03-07 17:39:45 +00:00
Laurent Cozic
7753f3f842 Minor tweaks 2018-03-07 17:35:11 +00:00
Laurent Cozic
c985b7c682 Merge pull request #277 from fmrtn/master
Updated Spanish translation
2018-03-07 17:30:48 +00:00
Fernando
4509919c22 Updated Spanish translation 2018-03-07 17:04:10 +01:00
Laurent Cozic
89b164c7ca Merge pull request #272 from alexdevero/windows-build-instructions
Add build instructions for Windows
2018-03-06 23:16:32 +00:00
Alex Devero
e52d17b39a Add build instructions for Windows 2018-03-06 08:42:29 +01:00
Laurent Cozic
5014914dc9 Android release v1.0.104 2018-03-05 18:23:11 +00:00
Laurent Cozic
122ab83a84 Android: Fix when downloading many encrypted items 2018-03-05 18:21:42 +00:00
Laurent Cozic
7a985c2c8a Android release v1.0.103 2018-03-02 18:15:09 +00:00
Laurent Cozic
b11ad30a31 Updated translations 2018-03-02 18:12:58 +00:00
Laurent Cozic
5914fc97df Merge branch 'master' of github.com:laurent22/joplin 2018-03-02 18:03:28 +00:00
Laurent Cozic
e41ae1832d Minor tweaks 2018-03-02 18:24:02 +00:00
Laurent Cozic
89b50909ed Electron: Resolves #266: Allow setting text editor font family 2018-03-02 18:16:48 +00:00
Laurent Cozic
edccd7412f Merge pull request #265 from jaredcrowe/docs-correct-checkbox-syntax
correct the documentation about adding checkboxes
2018-03-02 17:59:33 +00:00
Jared Crowe
c76beae057 correct the documentation about adding checkboxes 2018-03-02 09:30:27 +11:00
Laurent Cozic
23c5934a7d Electron: Allow exporting only selected notes or notebook 2018-03-01 20:14:06 +00:00
Laurent Cozic
a078947d6d Allow importing and exporting single notes and notebooks 2018-03-01 18:35:17 +00:00
rtmkrlv
0faaf660b4 Merge pull request #4 from laurent22/master
Update fork from original repository
2018-03-01 15:31:51 +02:00
Laurent Cozic
5ba98b4200 CLI v1.0.100 2018-02-28 21:18:27 +00:00
Laurent Cozic
c36513b99d Updated translation 2018-02-28 20:46:15 +00:00
Laurent Cozic
97814531fa Update readme downloads 2018-02-28 20:06:06 +00:00
Laurent Cozic
fd3e335a02 Electron release v1.0.70 2018-02-28 18:57:10 +00:00
Laurent Cozic
e676fa2b57 Trying to fix Electron builder 2018-02-28 18:56:57 +00:00
Laurent Cozic
122cbbf673 Electron release v1.0.69 2018-02-28 18:43:12 +00:00
Laurent Cozic
271793b324 Trying to upgrade Electron Builder 2018-02-28 18:43:03 +00:00
Laurent Cozic
134b31933b Electron release v1.0.68 2018-02-28 18:13:02 +00:00
Laurent Cozic
0ec5518a62 Android release v1.0.102 2018-02-28 18:10:33 +00:00
Laurent Cozic
76931370d7 Updated readme for import/export 2018-02-27 22:15:20 +00:00
Laurent Cozic
8cf0e4517a Merge branch 'master' of github.com:laurent22/joplin 2018-02-28 17:27:06 +00:00
Laurent Cozic
e75c62bf0f Electron: Fix logic of hidding app in macOS 2018-02-27 21:54:40 +00:00
Laurent Cozic
058285e0b9 All: Made scheduled sync delay slightly shorter 2018-02-27 21:19:11 +00:00
Laurent Cozic
795568d8c2 Electron: Fixed note sorting bug 2018-02-27 21:11:53 +00:00
Laurent Cozic
df4933fddd All: Prevent export of encrypted items 2018-02-27 20:51:07 +00:00
Laurent Cozic
4046a51472 Electron: Handle import export 2018-02-27 20:04:38 +00:00
Laurent Cozic
45845f645d Refactored Interop service to make export/import code more modular 2018-02-26 19:25:54 +00:00
Laurent Cozic
d7fd8944f7 Moved Enex import to InteropService 2018-02-26 19:16:01 +00:00
Laurent Cozic
3cee671f25 Done MD importer 2018-02-26 18:43:50 +00:00
Laurent Cozic
8f2e5faff3 Support importing JEX and raw data 2018-02-25 17:01:16 +00:00
Laurent Cozic
39ddd934f6 Changed export format extension to JEX and made it a non-compressed tar file 2018-02-25 21:08:40 +00:00
Laurent Cozic
9f8a46b9d9 All: Added more export options including jpz format 2018-02-23 19:32:19 +00:00
Laurent Cozic
c6698eaea6 Electron: Fixes #256: Check that no other instance of Joplin is running before launching a new one 2018-02-23 17:51:23 +00:00
Laurent Cozic
8a96cf3434 All: Allow sorting notes by various fields 2018-02-22 18:58:15 +00:00
Laurent Cozic
74d255c056 Updated readme 2018-02-21 18:19:22 +00:00
Laurent Cozic
71aa841265 Mobile: Fixes #244: When accessing configuration or encrypt configuration option while making a note and the going back, the note gets erased 2018-02-21 22:08:34 +00:00
Laurent Cozic
14a93a9f26 All: Fixed sync interval sorting order 2018-02-21 19:58:28 +00:00
Laurent Cozic
e1fd9c6922 Clean up 2018-02-21 19:20:33 +00:00
Laurent Cozic
b9db747b5c Minor refactoring to make function purpose clearer 2018-02-21 18:36:29 +00:00
Laurent Cozic
4a56c76901 Electron: Fixes #247: Unreadable error messages when checking for updates 2018-02-20 18:07:31 +00:00
Laurent Cozic
6bb3184a72 macOS: Resolves #243: Added black and white tray icon for macOS 2018-02-20 00:41:52 +00:00
Laurent Cozic
7fb8fbd450 iOS: Added compatibility with iPad 2018-02-19 23:41:53 +00:00
Laurent Cozic
9d5bba472e iOS v1.0.13 2018-02-19 23:41:12 +00:00
Laurent Cozic
e6d821a45f CLI v1.0.99 2018-02-19 22:59:09 +00:00
Laurent Cozic
72f0027e21 Electron release v1.0.67 2018-02-19 21:05:43 +00:00
Laurent Cozic
29a13a9943 Android release v1.0.101 2018-02-19 21:04:27 +00:00
Laurent Cozic
3691ae4d13 Electron: Fixes #217: Display a message when the note has no content and only the note viewer is visible 2018-02-19 18:56:56 +00:00
Laurent Cozic
4dda397c29 Removed es_CR translation as it's unfortunately too incomplete and there's already a 100% Spanish translation 2018-02-19 18:44:41 +00:00
Laurent Cozic
b4b058998d Updated French and Español translation 2018-02-19 18:41:39 +00:00
Laurent Cozic
10919e415e Merge branch 'master' of github.com:laurent22/joplin 2018-02-19 18:38:56 +00:00
Laurent Cozic
4966d74864 All: Fixes #240: Tags should be handled in a case-insensitive way 2018-02-19 18:38:27 +00:00
Laurent Cozic
c70ecb30a5 All: Fixes #241: Ignore response for certain calls. Also re-enabled If-None-Match fix. 2018-02-19 18:37:44 +00:00
Laurent Cozic
acc0d17e0f Minor changes 2018-02-19 18:36:31 +00:00
Laurent Cozic
b509b878bf Merge pull request #238 from fmrtn/master
Improved Spanish translations
2018-02-19 18:02:58 +00:00
Laurent Cozic
322ec2efa1 Android release v1.0.100 2018-02-18 22:58:37 +00:00
Laurent Cozic
1232661b1e Electron release v1.0.66 2018-02-18 22:56:57 +00:00
Laurent Cozic
c46d123503 All: Fixed: Local items were no longer being deleted via sync. Also fixed Nextcloud sync target. 2018-02-18 21:52:07 +00:00
Laurent Cozic
8f4060999f Merge branch 'master' of github.com:laurent22/joplin 2018-02-18 21:16:26 +00:00
Laurent Cozic
0addd86069 iOS: Improved compatbility with some WebDAV services (Seafile) 2018-02-18 21:16:18 +00:00
Fernando
760086307b Improved Spanish translations 2018-02-18 17:15:18 +01:00
Laurent Cozic
fc6558a64c Electron release v1.0.65 2018-02-17 19:29:26 +00:00
Laurent Cozic
eca500880d All: Convert new lines in tables to BR tag, and added support for HTML tags in Markdown viewers 2018-02-17 19:29:10 +00:00
Laurent Cozic
90bcd7c977 Merge pull request #226 from fmrtn/master
Nextcloud typos and Spanish update
2018-02-17 11:05:25 +00:00
Fernando
cca0c6eaf3 Updated Spanish translation 2018-02-17 01:09:32 +01:00
Fernando
b0736002be Fixed several Nextcloud typos 2018-02-17 01:09:00 +01:00
Laurent Cozic
51fc2d8e51 CLI v1.0.98 2018-02-16 23:49:22 +00:00
Laurent Cozic
d87c192ff1 Updated readme and translation 2018-02-16 23:26:31 +00:00
Laurent Cozic
52ccf398a6 Update readme 2018-02-16 23:17:55 +00:00
Laurent Cozic
344d0e2687 Update readme 2018-02-16 23:14:26 +00:00
Laurent Cozic
1bc4d6b423 CLI v1.0.97 2018-02-16 23:08:57 +00:00
Laurent Cozic
baa9ca7ea3 Updated terminal readme 2018-02-16 23:08:04 +00:00
Laurent Cozic
e4d477fb4c CLI: Resolve #63: Allow customizing shortcuts 2018-02-16 22:53:53 +00:00
Laurent Cozic
71319eee28 Also add link to po file in translation table 2018-02-16 21:45:28 +00:00
Laurent Cozic
68b31526f8 Updated translations 2018-02-16 21:39:54 +00:00
Laurent Cozic
0b2b7324d9 Merge pull request #224 from fmrtn/master
Fixed and updated Spanish translation
2018-02-16 20:35:46 +00:00
Fernando
43512cf27b Fixed and updated Spanish translation 2018-02-16 20:36:58 +01:00
Laurent Cozic
4218b65969 Electron: Added several keyboard shortcuts 2018-02-16 18:08:02 +00:00
Laurent Cozic
7244e12b78 Electron: Fixed: Confirmation message boxes, and release notes text 2018-02-16 18:06:02 +00:00
Laurent Cozic
a796ef5c66 All: Fixed: Notify DecryptionWorker when item added due to conflict, to make sure it is decrypted as early as possible 2018-02-16 17:55:50 +00:00
Laurent Cozic
9474a05aaa Update readme 2018-02-16 00:17:05 +00:00
Laurent Cozic
41df355a7e CLI v1.0.96 2018-02-15 23:51:00 +00:00
Laurent Cozic
4f3ab87914 Electron release v1.0.64 2018-02-15 23:21:47 +00:00
Laurent Cozic
5d1a08707c Android release v1.0.98 2018-02-15 23:20:28 +00:00
Laurent Cozic
4f822df80e Merge branch 'master' of github.com:laurent22/joplin 2018-02-15 23:05:34 +00:00
Laurent Cozic
951be5cbf6 Electron: Fixes #201, Fixes #216: Make sure only one update check can run at a time, and improved modal dialog boxes 2018-02-15 23:05:04 +00:00
Laurent Cozic
b6c2341542 Merge pull request #219 from fmrtn/patch-1
Update README.md
2018-02-15 18:33:48 +00:00
Laurent Cozic
a6e6b49a9d Merge branch 'master' of github.com:laurent22/joplin 2018-02-15 18:33:21 +00:00
Laurent Cozic
3a4bbd571e All: Provide Content-Length header for WebDAV for better compatibility with more servers 2018-02-15 18:33:08 +00:00
Laurent Cozic
feccc6150e Merge branch 'master' of github.com:laurent22/joplin 2018-02-15 18:19:11 +00:00
Laurent Cozic
a37b599a6b macOS: Allow copy and paste from config and encryption screen 2018-02-15 18:19:00 +00:00
Laurent Cozic
9347683fe3 All: Fixed Nextcloud sync target ID (which was incorrectly set to WebDAV sync ID) 2018-02-15 18:01:05 +00:00
Laurent Cozic
3551c26e28 Fixed race condition when testing with memory driver and fixed encoding issue 2018-02-15 17:12:09 +00:00
Fernando
cfca0107eb Update README.md 2018-02-15 13:09:59 +01:00
rtmkrlv
dfbe37fdaf Merge pull request #3 from laurent22/master
Update fork from original repository
2018-02-15 10:37:59 +02:00
Laurent Cozic
81bc975193 Update readme 2018-02-14 21:54:34 +00:00
Laurent Cozic
7908fda451 Android release v1.0.97 2018-02-14 19:11:35 +00:00
Laurent Cozic
cdbb7c4b0d Merge branch 'master' of github.com:laurent22/joplin 2018-02-14 19:10:42 +00:00
Laurent Cozic
414e57ec55 Electron release v1.0.63 2018-02-14 19:08:24 +00:00
Laurent Cozic
1871123066 All: Improved WebDAV driver compatibility with some services (eg. Seafile) 2018-02-14 19:08:07 +00:00
Laurent Cozic
87bc08bef5 iOS: Fixed resource decryption issue, log page crash and text input rendering issue 2018-02-14 15:28:56 +00:00
Laurent Cozic
214a39c3d3 All: Improved the way settings are changed. Should also fixed issue with sync context being accidentally broken. 2018-02-13 18:26:33 +00:00
Laurent Cozic
ef0cc5e33e Update readme 2018-02-12 20:23:16 +00:00
Laurent Cozic
3a1fa583ab CLI v1.0.95 2018-02-12 18:07:20 +00:00
Laurent Cozic
c1161ae017 Android release v1.0.95 2018-02-12 17:58:55 +00:00
Laurent Cozic
1023ec6206 Electron release v1.0.62 2018-02-12 17:56:42 +00:00
Laurent Cozic
7841421c0d All: Fixes #209: Items with non-ASCII characters end up truncated on Nextcloud 2018-02-12 18:15:22 +00:00
Laurent Cozic
995d8c35dd Updated readme 2018-02-11 20:49:28 +00:00
Laurent Cozic
b179471eff Electron: Fixes #205: Importing Evernote notes while on import page re-imports previous import 2018-02-11 20:31:26 +00:00
Laurent Cozic
19a126ebfe Android release v1.0.94 2018-02-11 17:29:09 +00:00
Laurent Cozic
7e56e5b587 Mobile: Fixes #207: Crash when changing dropdown value in config screen 2018-02-11 17:26:20 +00:00
Laurent Cozic
acf0c79341 Graduated E2EE and WebDAV from beta, and moved to v1.0 2018-02-11 13:50:59 +00:00
Laurent Cozic
9fe7e23ffe Android release v0.10.92 2018-02-11 13:20:32 +00:00
Laurent Cozic
c94cc93971 Fixed translator names 2018-02-10 13:03:01 +00:00
Laurent Cozic
b26094eba8 Fixed Basque flag 2018-02-10 12:52:57 +00:00
Laurent Cozic
89a5ccdf93 Added Basque translation, fixed issue with handling invalid translations. Updated translation FR. 2018-02-10 12:43:45 +00:00
Laurent Cozic
ce2da0e6dc Update readme 2018-02-09 16:03:43 +00:00
Laurent Cozic
f49d644b6a Electron release v0.10.61 2018-02-08 18:15:49 +00:00
Laurent Cozic
02ac0b8593 Removed uneeded created_time property 2018-02-07 20:42:52 +00:00
Laurent Cozic
78e5eaf1e2 Electron: Toolbar button to set tags 2018-02-07 20:35:11 +00:00
Laurent Cozic
fc0d227396 Electron: Allowing opening and saving resource images 2018-02-07 20:23:17 +00:00
Laurent Cozic
f91c52cdf7 Mobile: Update time when app is activated 2018-02-07 19:51:58 +00:00
Laurent Cozic
3f14878d0f All: Improved request repeating mechanism 2018-02-07 19:46:07 +00:00
Laurent Cozic
69fd32e7c6 All: Use mutex when saving model to avoid race conditions when decrypting and syncing at the same time 2018-02-07 19:02:07 +00:00
Laurent Cozic
80801cedf0 Android release v0.10.91 2018-02-07 17:57:08 +00:00
Laurent Cozic
480e4fa94b Merge branch 'master' of github.com:laurent22/joplin 2018-02-07 17:56:36 +00:00
Laurent Cozic
717c789836 Android release v0.10.90 2018-02-07 17:55:54 +00:00
Laurent Cozic
f099376446 Update README.md 2018-02-07 17:55:17 +00:00
Laurent Cozic
41fa9d093e Android release v0.10.89 2018-02-07 17:54:06 +00:00
Laurent Cozic
e2f3f81eb6 Android release v0.10.88 2018-02-07 17:51:31 +00:00
Laurent Cozic
5cab7aeb55 Fixed: Make sure alarms and resources are attached to right note when creating new note 2018-02-06 19:31:22 +00:00
Laurent Cozic
fa5f418c22 All: Added sync config check to config screens 2018-02-06 18:59:36 +00:00
Laurent Cozic
a25fcacace Electron: Display message when creating new note or to-do 2018-02-06 18:12:43 +00:00
Laurent Cozic
727ba7300e All: Also support $ as delimiter for Katex expressoins 2018-02-06 17:58:54 +00:00
Laurent Cozic
d25d9b3f44 CLI v0.10.93 2018-02-06 13:17:10 +00:00
Laurent Cozic
9d762a4319 Android release v0.10.86 2018-02-06 13:01:20 +00:00
Laurent Cozic
18d94c7585 Electron release v0.10.60 2018-02-06 12:57:40 +00:00
Laurent Cozic
af82345eb8 Fixed tray icon and update issue 2018-02-06 13:11:59 +00:00
Laurent Cozic
1e94a22986 Merge branch 'master' of github.com:laurent22/joplin 2018-02-06 13:06:59 +00:00
Laurent Cozic
e19a8a99ff macOS: Fixed startup crash 2018-02-06 13:05:36 +00:00
Laurent Cozic
f975009e24 Update readme 2018-02-05 19:02:11 +00:00
Laurent Cozic
90640fafc7 Merge branch 'master' of github.com:laurent22/joplin 2018-02-05 18:49:58 +00:00
Laurent Cozic
42e0e1e5a5 Updated build instructions 2018-02-06 09:42:20 +00:00
Laurent Cozic
61f64fa933 Added Markdown doc 2018-02-05 22:53:10 +00:00
Laurent Cozic
0d0ffd6d27 Added Markdown doc 2018-02-05 22:50:17 +00:00
Laurent Cozic
023ccffd2e Electron release v0.10.59 2018-02-05 22:20:31 +00:00
Laurent Cozic
bc26098c7d Android release v0.10.85 2018-02-05 22:19:21 +00:00
Laurent Cozic
7257a71a18 Mobile: Fixes #159: Make sure text fields aren't hidden by keyboard on iOS 2018-02-05 18:32:59 +00:00
Laurent Cozic
8ad8b73585 Better error handling for Katex and handling of code blocks and inline 2018-02-05 17:55:35 +00:00
Laurent Cozic
9a06815db9 Electron release v0.10.58 2018-02-05 17:34:39 +00:00
Laurent Cozic
66947d4954 Fixing appveyor script 2018-02-05 17:34:31 +00:00
Laurent Cozic
3ec22185d5 Electron release v0.10.57 2018-02-05 17:32:54 +00:00
Laurent Cozic
0f05c23e26 Fixing deployment script 2018-02-05 17:32:48 +00:00
Laurent Cozic
74493fece0 Android release v0.10.83 2018-02-05 17:32:00 +00:00
Laurent Cozic
557a96e814 Electron release v0.10.56 2018-02-05 17:27:38 +00:00
Laurent Cozic
4b23b419a4 Electron release v0.10.55 2018-02-05 17:27:09 +00:00
Laurent Cozic
8b7f5b1151 Fix scrolling issue in Electron app 2018-02-04 18:45:52 +00:00
Laurent Cozic
29e9ccf216 Electron: Reverted to older Sharp version to fix Ubuntu issue 2018-02-04 18:31:13 +00:00
Laurent Cozic
2c04f5c8bc Improved Android and Electron release process 2018-02-04 18:05:07 +00:00
Laurent Cozic
5430a747e9 Improved Android and Electron release process 2018-02-04 17:55:22 +00:00
Laurent Cozic
13bc185829 Improved Android and Electron release process 2018-02-04 17:51:42 +00:00
Laurent Cozic
ed87581a8a Improved Android and Electron release process 2018-02-04 17:48:29 +00:00
Laurent Cozic
2645ec96a8 Fixed tool utils 2018-02-04 17:44:32 +00:00
Laurent Cozic
d278d830f0 Improved Android and Electron release process 2018-02-04 17:42:33 +00:00
Laurent Cozic
b4dce0ed46 All: Added Katex support 2018-02-04 17:12:24 +00:00
Laurent Cozic
e8416042d4 Merge branch 'master' into math-support 2018-02-02 20:35:32 +00:00
Laurent Cozic
70adbe5e76 Added flags 2018-02-01 20:21:54 +00:00
Laurent Cozic
f66be08d1d Added list of translated languages to README file 2018-02-01 20:15:31 +00:00
Laurent Cozic
fad96f5266 All: Added section to list missing master keys 2018-02-01 19:01:20 +00:00
Laurent Cozic
c33a7f5f47 Updated French translation 2018-02-02 00:08:37 +00:00
Laurent Cozic
28afbcde02 Updated translations 2018-02-02 00:02:47 +00:00
Laurent Cozic
691292d2b3 Merge branch 'master' of github.com:laurent22/joplin 2018-02-01 23:40:15 +00:00
Laurent Cozic
30ff81064f All: Made WebDAV driver more generic to support services other than Nextcloud and added WebDAV sync target 2018-02-01 23:40:05 +00:00
Laurent Cozic
f9f398ad98 Merge pull request #194 from rtmkrlv/russian-locale
Update Russian translation
2018-02-01 15:26:15 +01:00
rtmkrlv
537884bdcd Merge branch 'master' into russian-locale 2018-02-01 15:50:39 +02:00
rtmkrlv
d54400a7cb Updated Russian translation 2018-02-01 15:43:26 +02:00
rtmkrlv
37e7ea0b52 Merge pull request #2 from laurent22/master
Update fork from original repository
2018-02-01 14:43:34 +02:00
Laurent Cozic
42c78264fb Update website 2018-01-31 20:21:38 +00:00
Laurent Cozic
c52da82447 Electron: Fix: Don't allow adding notes and to-do to conflict notebook 2018-01-31 20:19:11 +00:00
Laurent Cozic
cca43624e4 Electron: Added tray icon support 2018-01-31 20:10:32 +00:00
Laurent Cozic
dac1cd7668 Mobile: Allow filtering log by warning/error 2018-01-31 19:51:29 +00:00
Laurent Cozic
b4c00db0e3 Electron release v0.10.54 2018-01-31 19:40:40 +00:00
Laurent Cozic
3ce393a8b2 Electron release v0.10.53 2018-01-31 19:34:47 +00:00
Laurent Cozic
2b627fe4ab Fixed auto-update check 2018-01-31 19:34:38 +00:00
Laurent Cozic
fcf8a1649d CLI v0.10.92 2018-01-31 19:28:31 +00:00
Laurent Cozic
8d3b050831 Update website 2018-01-31 19:26:21 +00:00
Laurent Cozic
43297ef0a3 Updated translations 2018-01-31 19:14:32 +00:00
Laurent Cozic
551fabdfc9 Tweak and error handling on auto-update 2018-01-31 19:10:45 +00:00
Laurent Cozic
d6de56b2db All: Fixed crash when having invalid UTF-8 string in text editor 2018-01-31 19:01:11 +00:00
Laurent Cozic
9e979804f3 Electron release v0.10.52 2018-01-31 17:53:18 +00:00
Laurent Cozic
b8e0f182cc Android release v0.10.81 2018-01-31 17:51:22 +00:00
Laurent Cozic
9a41b9e192 Electron: Improved auto-update process to avoid random crashes 2018-01-30 22:35:50 +00:00
Laurent Cozic
9b8f520b9f Electron: Allow focusing either title or body when creating a new note or to-odo 2018-01-30 21:49:22 +00:00
Laurent Cozic
5b6019805c Electron: Fixed auto-title when title is manually entered first 2018-01-30 21:36:54 +00:00
Laurent Cozic
a4106436c4 Fixed delta function when processing many items 2018-01-30 21:10:54 +00:00
Laurent Cozic
f6b4eb511e Add Content-Size header for WebDAV, which is required by some services 2018-01-30 20:24:09 +00:00
Laurent Cozic
eb67ac17a0 Allow decryption to continue even if an item cannot be decrypted 2018-01-30 20:15:05 +00:00
Laurent Cozic
7b760d03ef All: Handle case where file is left half-uploaded on Nextcloud instance (possibly an ocloud.de issue only) 2018-01-30 20:10:36 +00:00
Laurent Cozic
2805ae2acf Fixed crash when calling fetch() with invalid URL in RN app 2018-01-30 19:01:07 +00:00
Laurent Cozic
5cb5ccc781 All: Optimised Nextcloud sync delta functionality 2018-01-29 20:51:14 +00:00
Laurent Cozic
0dba2821b6 Merge pull request #189 from strobeltobias/patch-2
Update German translation
2018-01-29 18:59:20 +00:00
Tobias Strobel
1db7825b22 Update German translation
Grammar and wording fixes, translating new strings.
2018-01-29 14:24:50 +01:00
Laurent Cozic
8a92d6ad70 Update website 2018-01-28 18:47:22 +00:00
Laurent Cozic
138ad9fcad Mobile: Fixes #114: Update geolocation in metadata after it has been set 2018-01-28 18:42:43 +00:00
Laurent Cozic
08cb518c25 Check if current folder exists 2018-01-28 18:19:56 +00:00
Laurent Cozic
6d04eab200 Merge pull request #185 from pf-siedler/autocomp_file_and_item
Autocompletion for files and items
2018-01-28 18:17:01 +00:00
Laurent Cozic
8a8cb51e1b Electron release v0.10.51 2018-01-28 18:07:08 +00:00
Laurent Cozic
5c66042a2d CLI v0.10.91 2018-01-28 17:59:34 +00:00
Laurent Cozic
ae75181b02 Electron release v0.10.50 2018-01-28 17:52:15 +00:00
Laurent Cozic
9dc3238182 Added beta notice 2018-01-28 17:51:38 +00:00
Laurent Cozic
0a68749373 Android release v0.10.79 2018-01-28 17:45:54 +00:00
Laurent Cozic
1519116291 Updated French translation 2018-01-28 17:43:21 +00:00
Laurent Cozic
d023d841e2 Update translations 2018-01-28 17:38:30 +00:00
Laurent Cozic
d7a1465d8e Skip sync report events in log 2018-01-28 17:38:17 +00:00
Laurent Cozic
15848fc696 Closing a resource is async 2018-01-28 17:37:51 +00:00
Laurent Cozic
837ae2c9f2 Send only one NOT_LOADED event per master key 2018-01-28 17:37:29 +00:00
Laurent Cozic
6789b98ead Return fileNotFound error when file cannot be opened so that it is skipped by synchroniser 2018-01-28 17:37:03 +00:00
Laurent Cozic
29f6e74ee3 Convert fs errors to normal errors 2018-01-28 17:36:36 +00:00
Laurent Cozic
2780c38c45 Fixed WebDAV error handling 2018-01-28 17:36:11 +00:00
Laurent Cozic
4531838217 Display stars for secure config value 2018-01-28 17:35:20 +00:00
pf-siedler
7bccf7f65d Implement auto completaion for <item> usage 2018-01-28 23:12:54 +09:00
pf-siedler
c62a24a9cb Implement auto completion for <file> usage
Suggest file names from current directory.
2018-01-28 22:59:58 +09:00
Laurent Cozic
c6830499f7 Fixed Travis 2018-01-28 11:48:29 +00:00
Laurent Cozic
d9f00a2539 Electron release v0.10.49 2018-01-26 17:21:34 +00:00
Laurent Cozic
def83c9119 Merge branch 'master' of github.com:laurent22/joplin 2018-01-26 17:19:58 +00:00
Laurent Cozic
b6cb0056c7 CLI v0.10.90 2018-01-26 17:19:42 +00:00
Laurent Cozic
1669b5258a Fixed detection of encrypted item 2018-01-25 23:01:18 +00:00
Laurent Cozic
5a9e0bfc26 Handle password text input in mobile and desktop 2018-01-25 22:44:09 +00:00
Laurent Cozic
8f3fdb3afe Tweaks to make sure Nextcloud driver passes all test units 2018-01-25 21:15:58 +00:00
Laurent Cozic
7ab135c099 Various tweaks to get Nextcloud working in mobile 2018-01-25 20:48:01 +00:00
Laurent Cozic
1cc27f2509 Got Nextcloud sync to work in Electron 2018-01-25 19:01:14 +00:00
Laurent Cozic
ef700b421c Update CONTRIBUTING.md 2018-01-25 13:35:04 +00:00
Laurent Cozic
b9af5ac052 Update issue_template.md 2018-01-25 13:34:07 +00:00
Laurent Cozic
173f2d421d Update PULL_REQUEST_TEMPLATE 2018-01-25 13:32:19 +00:00
Laurent Cozic
9f82c069c9 Update CONTRIBUTING.md 2018-01-25 13:31:17 +00:00
Laurent Cozic
6ade09c228 Merge branch 'master' into webdav 2018-01-24 17:25:34 +00:00
Laurent Cozic
5393a1399c Finished WebDAV driver 2018-01-23 20:10:20 +00:00
Laurent Cozic
fd29f20b2e Electron: Fix checkbox issue in config screen 2018-01-23 18:31:49 +00:00
Laurent Cozic
c011b53d1f Electron: Upgraded Electron to 1.7.11 to fix security vulnerability 2018-01-23 18:10:30 +00:00
Laurent Cozic
26e3a7b68c Merge branch 'master' of github.com:laurent22/joplin 2018-01-23 17:53:19 +00:00
Laurent Cozic
e70a291698 Merge pull request #174 from gabcoh/fix171
Fix #171
2018-01-23 11:26:11 +00:00
Laurent Cozic
511bd57726 Merge pull request #175 from alexdevero/add-font-size-settings
Add font size settings
2018-01-23 11:25:47 +00:00
Laurent Cozic
c6de8598dc Electron release v0.10.48 2018-01-22 19:10:29 +00:00
Laurent Cozic
7bee25599d Removed uneeded code 2018-01-22 19:06:50 +00:00
Laurent Cozic
773a1ad829 Travis: only build tags 2018-01-21 20:03:40 +00:00
Laurent Cozic
1a1e264fa4 All: Refactored so that memory and file sync target use same delta logic 2018-01-21 19:45:32 +00:00
Laurent Cozic
5b99ecefca Merge branch 'master' into webdav 2018-01-21 19:10:39 +00:00
Laurent Cozic
1bfeed377a All: Optimised file sync logic so that it doesn't fetch the content of
all the items on each sync. Also limit the number of items in a batch
to 1000
2018-01-21 18:54:47 +00:00
Laurent Cozic
86eee376bb All: Handle case where resource blob is missing during sync 2018-01-21 17:48:50 +00:00
Laurent Cozic
6a7d368184 All: Started Nextcloud support 2018-01-21 17:01:37 +00:00
Alex Devero
1da19ae98d Fix indentation 2018-01-19 14:11:40 +01:00
Alex Devero
f52c117b09 Add font size settings 2018-01-19 13:27:44 +01:00
Laurent Cozic
2551f96149 Fixed Readme 2018-01-18 22:43:37 +00:00
Laurent Cozic
c984c19fee Android release v0.10.78 2018-01-18 22:35:05 +00:00
Laurent Cozic
ac8e91e82e Started FAQ 2018-01-18 22:34:27 +00:00
Gabe Cohen
af50d80541 Fix #171 2018-01-18 14:29:13 -06:00
Laurent Cozic
e355f4e49b Fixed license 2018-01-18 20:14:05 +00:00
Laurent Cozic
53da63e371 Trying to add math support 2018-01-11 19:51:01 +00:00
rtmkrlv
44bf518244 Revert "Updated Russian translation"
This reverts commit 63cb9b4968.
2018-01-06 14:36:37 +02:00
rtmkrlv
63cb9b4968 Updated Russian translation
Added translation of new strings and small corrections
2018-01-06 14:33:32 +02:00
rtmkrlv
a6cecc103c Merge pull request #1 from laurent22/master
Update
2018-01-06 13:43:28 +02:00
1231 changed files with 72197 additions and 10801 deletions

5
.gitignore vendored
View File

@@ -37,4 +37,7 @@ _mydocs
Assets/DownloadBadges*.psd
node_modules
Tools/github_oauth_token.txt
_releases
_releases
ReactNativeClient/lib/csstojs/
ElectronClient/app/gui/note-viewer/fonts/
Tools/commit_hook.txt

View File

@@ -1,5 +1,16 @@
# Only build tags (Doesn't work - doesn't build anything)
if: tag IS present
rvm: 2.3.3
# It's important to only build production branches otherwise Electron Builder
# might take assets from dev branches and overwrite those of production.
# https://docs.travis-ci.com/user/customizing-the-build/#Building-Specific-Branches
branches:
only:
- master
- /^v\d+\.\d+(\.\d+)?(-\S*)?$/
matrix:
include:
- os: osx
@@ -43,7 +54,8 @@ before_install:
script:
- |
cd ElectronClient/app
rsync -aP --delete ../../ReactNativeClient/lib/ lib/
cd Tools
npm install
yarn dist
cd ../ElectronClient/app
rsync -aP --delete ../../ReactNativeClient/lib/ lib/
npm install && yarn dist

62
Assets/JoplinLetter.svg Normal file
View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="116.54575mm"
height="131.19589mm"
viewBox="0 0 116.54575 131.19589"
version="1.1"
id="svg8"
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
sodipodi:docname="JoplinLetter.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.49497475"
inkscape:cx="152.11122"
inkscape:cy="-26.090631"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-2.7903623,-2.175533)">
<path
style="fill:#000000;stroke-width:0.26458332"
d="m 43.790458,133.13317 c -8.32317,-1.11843 -12.937,-2.40956 -18.46857,-5.16822 -10.21924,-5.09644 -18.1023498,-13.95338 -21.1745998,-23.79038 -1.22214,-3.91319 -1.3607,-4.872332 -1.35685,-9.392712 0.003,-3.72804 0.0907,-4.66941 0.59927,-6.44569 1.0664,-3.7246 2.49409,-6.1704 5.19529,-8.90014 3.2574198,-3.29184 6.6565798,-4.77332 11.3929598,-4.96548 4.53189,-0.18388 7.54661,0.59927 10.40386,2.70266 1.82035,1.34007 3.67693,3.96421 4.71565,6.66525 0.65839,1.71204 0.70959,2.1839 0.90042,8.29756 0.19973,6.39855 0.36372,7.6318 1.39223,10.469902 1.40468,3.87611 3.78939,6.56189 7.33039,8.25588 3.20047,1.53108 5.63801,2.00183 9.60817,1.8556 2.58182,-0.0951 3.60332,-0.25442 5.15337,-0.80371 4.61358,-1.63493 8.46322,-5.31381 10.31326,-9.85579 1.91154,-4.693002 1.90785,-4.609372 1.90213,-43.127082 -0.005,-33.78395 -0.0106,-34.14337 -0.54484,-35.32188 -1.30698,-2.882895 -2.68223,-3.398165 -9.66971,-3.622945 l -5.12472,-0.16486 V 10.998334 2.175533 l 31.41927,0.06723 31.419272,0.06723 0.0697,8.755726 0.0697,8.755724 -5.09675,0.1793 c -2.82759,0.0995 -5.60596,0.33101 -6.24051,0.52006 -1.72896,0.5151 -2.82899,1.538795 -3.52569,3.281045 l -0.61059,1.5269 -0.16762,34.7927 c -0.16988,35.26321 -0.19381,36.08914 -1.18496,40.914372 -1.81292,8.82581 -8.301582,17.89221 -16.959672,23.69719 -6.95182,4.66099 -14.48972,7.21214 -24.82645,8.40235 -2.7431,0.31585 -14.57797,0.31433 -16.93333,-0.002 z"
id="path21"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -8,7 +8,7 @@
brew install yarn node
echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
If you get a node-gyp related error you might need to manually install it: `npm install -g node-gyp`
## Linux and Windows (WSL) dependencies
@@ -17,6 +17,15 @@ If you get a node-gyp related error you might need to manually install it: `npm
- Install node v8.x (check with `node --version`) - https://nodejs.org/en/
- If you get a node-gyp related error you might need to manually install it: `npm install -g node-gyp`
# Building the tools
Before building any of the applications, you need to build the tools:
```
cd Tools
npm install
```
# Building the Electron application
```
@@ -28,12 +37,25 @@ yarn dist
If there's an error `while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory`, run `sudo apt-get install libgconf-2-4`
For node-gyp to work, you might need to install the `windows-build-tools` using `npm install --global windows-build-tools`.
That will create the executable file in the `dist` directory.
From `/ElectronClient` you can also run `run.sh` to run the app for testing.
## Building Electron application on Windows
```
cd Tools
npm install
cd ..\ElectronClient\app
xcopy /C /I /H /R /Y /S ..\..\ReactNativeClient\lib lib
npm install
yarn dist
```
If node-gyp does not works (MSBUILD: error MSB3428: Could not load the Visual C++ component "VCBuild.exe"), you might need to install the `windows-build-tools` using `npm install --global windows-build-tools`.
If `yarn dist` fails, it may need administrative rights.
# Building the Mobile application
First you need to setup React Native to build projects with native code. For this, follow the instructions on the [Get Started](https://facebook.github.io/react-native/docs/getting-started.html) tutorial, in the "Building Projects with Native Code" tab.

View File

@@ -1,6 +1,19 @@
# Adding new features
If you want to add a new feature, consider asking about it before implementing it to make sure it is within the scope of the project. Of course you are free to create the pull request directly but it is not guaranteed it is going to be accepted.
# User support
# Style
- Only use tabs for indentation, not spaces.
- Do not remove or add optional characters from other lines (such as colons or new line characters) as it can make the commit needlessly big, and create conflicts with other changes.
For general discussion about Joplin, user support, software development questions, and to discuss new features, please go to the [Joplin Forum](https://discourse.joplin.cozic.net/). It is possible to login with your GitHub account.
# Reporting a bug
Please check first that it [has not already been reported](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue). Also consider [enabling debug mode](https://github.com/laurent22/joplin/blob/master/readme/debugging.md) before reporting the issue so that you can provide as much details as possible to help fix it.
If possible, **please provide a screenshot**. A screenshot showing the problem is often more useful than a paragraph describing it as it can make it immediately clear what the issue is.
# Feature requests
Again, please check that it has not already been requested. If it has, simply **up-vote the issue** - the ones with the most up-votes are likely to be implemented. "+1" comments are not tracked.
# Adding new features
If you want to add a new feature, consider asking about it before implementing it or checking existing discussions to make sure it is within the scope of the project. Of course you are free to create the pull request directly but it is not guaranteed it is going to be accepted.
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/master/BUILD.md) for more details.

View File

@@ -18,4 +18,5 @@ tests/cli-integration/
tests/sync
out.txt
linkToLocal.sh
yarn-error.log
yarn-error.log
tests/support/dropbox-auth.txt

View File

@@ -1,5 +1,6 @@
const { Logger } = require('lib/logger.js');
const Folder = require('lib/models/Folder.js');
const BaseItem = require('lib/models/BaseItem.js');
const Tag = require('lib/models/Tag.js');
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
@@ -9,6 +10,8 @@ const { reducer, defaultState } = require('lib/reducer.js');
const { splitCommandString } = require('lib/string-utils.js');
const { reg } = require('lib/registry.js');
const { _ } = require('lib/locale.js');
const Entities = require('html-entities').AllHtmlEntities;
const htmlentities = (new Entities()).encode;
const chalk = require('chalk');
const tk = require('terminal-kit');
@@ -35,38 +38,55 @@ const ConsoleWidget = require('./gui/ConsoleWidget.js');
class AppGui {
constructor(app, store) {
this.app_ = app;
this.store_ = store;
constructor(app, store, keymap) {
try {
this.app_ = app;
this.store_ = store;
BaseWidget.setLogger(app.logger());
BaseWidget.setLogger(app.logger());
this.term_ = new TermWrapper(tk.terminal);
this.term_ = new TermWrapper(tk.terminal);
this.renderer_ = null;
this.logger_ = new Logger();
this.buildUi();
// Some keys are directly handled by the tkwidget framework
// so they need to be remapped in a different way.
this.tkWidgetKeys_ = {
'focus_next': 'TAB',
'focus_previous': 'SHIFT_TAB',
'move_up': 'UP',
'move_down': 'DOWN',
'page_down': 'PAGE_DOWN',
'page_up': 'PAGE_UP',
};
this.renderer_ = new Renderer(this.term(), this.rootWidget_);
this.renderer_ = null;
this.logger_ = new Logger();
this.buildUi();
this.app_.on('modelAction', async (event) => {
await this.handleModelAction(event.action);
});
this.renderer_ = new Renderer(this.term(), this.rootWidget_);
this.shortcuts_ = this.setupShortcuts();
this.app_.on('modelAction', async (event) => {
await this.handleModelAction(event.action);
});
this.inputMode_ = AppGui.INPUT_MODE_NORMAL;
this.keymap_ = this.setupKeymap(keymap);
this.commandCancelCalled_ = false;
this.inputMode_ = AppGui.INPUT_MODE_NORMAL;
this.currentShortcutKeys_ = [];
this.lastShortcutKeyTime_ = 0;
this.commandCancelCalled_ = false;
// Recurrent sync is setup only when the GUI is started. In
// a regular command it's not necessary since the process
// exits right away.
reg.setupRecurrentSync();
DecryptionWorker.instance().scheduleStart();
this.currentShortcutKeys_ = [];
this.lastShortcutKeyTime_ = 0;
// Recurrent sync is setup only when the GUI is started. In
// a regular command it's not necessary since the process
// exits right away.
reg.setupRecurrentSync();
DecryptionWorker.instance().scheduleStart();
} catch (error) {
this.fullScreen(false);
console.error(error);
process.exit(1);
}
}
store() {
@@ -105,6 +125,7 @@ class AppGui {
buildUi() {
this.rootWidget_ = new ReduxRootWidget(this.store_);
this.rootWidget_.name = 'root';
this.rootWidget_.autoShortcutsEnabled = false;
const folderList = new FolderListWidget();
folderList.style = {
@@ -269,155 +290,31 @@ class AppGui {
addCommandToConsole(cmd) {
if (!cmd) return;
const isConfigPassword = cmd.indexOf('config ') >= 0 && cmd.indexOf('password') >= 0;
if (isConfigPassword) return;
this.stdout(chalk.cyan.bold('> ' + cmd));
}
setupShortcuts() {
const shortcuts = {};
setupKeymap(keymap) {
const output = [];
shortcuts['TAB'] = {
friendlyName: 'Tab',
description: () => _('Give focus to next pane'),
isDocOnly: true,
}
for (let i = 0; i < keymap.length; i++) {
const item = Object.assign({}, keymap[i]);
shortcuts['SHIFT_TAB'] = {
friendlyName: 'Shift+Tab',
description: () => _('Give focus to previous pane'),
isDocOnly: true,
}
if (!item.command) throw new Error('Missing command for keymap item: ' + JSON.stringify(item));
shortcuts[':'] = {
description: () => _('Enter command line mode'),
action: async () => {
const cmd = await this.widget('statusBar').prompt();
if (!cmd) return;
this.addCommandToConsole(cmd);
await this.processCommand(cmd);
},
};
if (!('type' in item)) item.type = 'exec';
shortcuts['ESC'] = { // Built into terminal-kit inputField
description: () => _('Exit command line mode'),
isDocOnly: true,
};
shortcuts['ENTER'] = {
description: () => _('Edit the selected note'),
action: () => {
const w = this.widget('mainWindow').focusedWidget;
if (w.name === 'folderList') {
this.widget('noteList').focus();
} else if (w.name === 'noteList' || w.name === 'noteText') {
this.processCommand('edit $n');
}
},
}
shortcuts['CTRL_C'] = {
description: () => _('Cancel the current command.'),
friendlyName: 'Ctrl+C',
isDocOnly: true,
}
shortcuts['CTRL_D'] = {
description: () => _('Exit the application.'),
friendlyName: 'Ctrl+D',
isDocOnly: true,
}
shortcuts['DELETE'] = {
description: () => _('Delete the currently selected note or notebook.'),
action: async () => {
if (this.widget('folderList').hasFocus) {
const item = this.widget('folderList').selectedJoplinItem;
if (!item) return;
if (item.type_ === BaseModel.TYPE_FOLDER) {
await this.processCommand('rmbook ' + item.id);
} else if (item.type_ === BaseModel.TYPE_TAG) {
this.stdout(_('To delete a tag, untag the associated notes.'));
} else if (item.type_ === BaseModel.TYPE_SEARCH) {
this.store().dispatch({
type: 'SEARCH_DELETE',
id: item.id,
});
}
} else if (this.widget('noteList').hasFocus) {
await this.processCommand('rmnote $n');
} else {
this.stdout(_('Please select the note or notebook to be deleted first.'));
}
if (item.command in this.tkWidgetKeys_) {
item.type = 'tkwidgets';
}
};
shortcuts['BACKSPACE'] = {
alias: 'DELETE',
};
item.canRunAlongOtherCommands = item.type === 'function' && ['toggle_metadata', 'toggle_console'].indexOf(item.command) >= 0;
shortcuts[' '] = {
friendlyName: 'SPACE',
description: () => _('Set a to-do as completed / not completed'),
action: 'todo toggle $n',
output.push(item);
}
shortcuts['tc'] = {
description: () => _('[t]oggle [c]onsole between maximized/minimized/hidden/visible.'),
action: () => {
if (!this.consoleIsShown()) {
this.showConsole();
this.minimizeConsole();
} else {
if (this.consoleIsMaximized()) {
this.hideConsole();
} else {
this.maximizeConsole();
}
}
},
canRunAlongOtherCommands: true,
}
shortcuts['/'] = {
description: () => _('Search'),
action: { type: 'prompt', initialText: 'search ""', cursorPosition: -2 },
};
shortcuts['tm'] = {
description: () => _('[t]oggle note [m]etadata.'),
action: () => {
this.toggleNoteMetadata();
},
canRunAlongOtherCommands: true,
}
shortcuts['mn'] = {
description: () => _('[M]ake a new [n]ote'),
action: { type: 'prompt', initialText: 'mknote ""', cursorPosition: -2 },
}
shortcuts['mt'] = {
description: () => _('[M]ake a new [t]odo'),
action: { type: 'prompt', initialText: 'mktodo ""', cursorPosition: -2 },
}
shortcuts['mb'] = {
description: () => _('[M]ake a new note[b]ook'),
action: { type: 'prompt', initialText: 'mkbook ""', cursorPosition: -2 },
}
shortcuts['yn'] = {
description: () => _('Copy ([Y]ank) the [n]ote to a notebook.'),
action: { type: 'prompt', initialText: 'cp $n ""', cursorPosition: -2 },
}
shortcuts['dn'] = {
description: () => _('Move the note to a notebook.'),
action: { type: 'prompt', initialText: 'mv $n ""', cursorPosition: -2 },
}
return shortcuts;
return output;
}
toggleConsole() {
@@ -492,8 +389,16 @@ class AppGui {
return this.logger_;
}
shortcuts() {
return this.shortcuts_;
keymap() {
return this.keymap_;
}
keymapItemByKey(key) {
for (let i = 0; i < this.keymap_.length; i++) {
const item = this.keymap_[i];
if (item.keys.indexOf(key) >= 0) return item;
}
return null;
}
term() {
@@ -524,17 +429,77 @@ class AppGui {
}
}
async processCommand(cmd) {
async processFunctionCommand(cmd) {
if (cmd === 'activate') {
const w = this.widget('mainWindow').focusedWidget;
if (w.name === 'folderList') {
this.widget('noteList').focus();
} else if (w.name === 'noteList' || w.name === 'noteText') {
this.processPromptCommand('edit $n');
}
} else if (cmd === 'delete') {
if (this.widget('folderList').hasFocus) {
const item = this.widget('folderList').selectedJoplinItem;
if (!item) return;
if (item.type_ === BaseModel.TYPE_FOLDER) {
await this.processPromptCommand('rmbook ' + item.id);
} else if (item.type_ === BaseModel.TYPE_TAG) {
this.stdout(_('To delete a tag, untag the associated notes.'));
} else if (item.type_ === BaseModel.TYPE_SEARCH) {
this.store().dispatch({
type: 'SEARCH_DELETE',
id: item.id,
});
}
} else if (this.widget('noteList').hasFocus) {
await this.processPromptCommand('rmnote $n');
} else {
this.stdout(_('Please select the note or notebook to be deleted first.'));
}
} else if (cmd === 'toggle_console') {
if (!this.consoleIsShown()) {
this.showConsole();
this.minimizeConsole();
} else {
if (this.consoleIsMaximized()) {
this.hideConsole();
} else {
this.maximizeConsole();
}
}
} else if (cmd === 'toggle_metadata') {
this.toggleNoteMetadata();
} else if (cmd === 'enter_command_line_mode') {
const cmd = await this.widget('statusBar').prompt();
if (!cmd) return;
this.addCommandToConsole(cmd);
await this.processPromptCommand(cmd);
} else {
throw new Error('Unknown command: ' + cmd);
}
}
async processPromptCommand(cmd) {
if (!cmd) return;
cmd = cmd.trim();
if (!cmd.length) return;
this.logger().info('Got command: ' + cmd);
if (cmd === 'q' || cmd === 'wq' || cmd === 'qa') { // Vim bonus
await this.app().exit();
return;
}
// this.logger().debug('Got command: ' + cmd);
try {
let note = this.widget('noteList').currentItem;
@@ -676,12 +641,27 @@ class AppGui {
return true;
}
if (link.type === 'resource') {
const resourceId = link.id;
let resource = await Resource.load(resourceId);
if (!resource) throw new Error('No resource with ID ' + resourceId); // Should be nearly impossible
if (resource.mime) response.setHeader('Content-Type', resource.mime);
response.write(await Resource.content(resource));
if (link.type === 'item') {
const itemId = link.id;
let item = await BaseItem.loadItemById(itemId);
if (!item) throw new Error('No item with ID ' + itemId); // Should be nearly impossible
if (item.type_ === BaseModel.TYPE_RESOURCE) {
if (item.mime) response.setHeader('Content-Type', item.mime);
response.write(await Resource.content(item));
} else if (item.type_ === BaseModel.TYPE_NOTE) {
const html = [`
<!DOCTYPE html>
<html class="client-nojs" lang="en" dir="ltr">
<head><meta charset="UTF-8"/></head><body>
`];
html.push('<pre>' + htmlentities(item.title) + '\n\n' + htmlentities(item.body) + '</pre>');
html.push('</body></html>');
response.write(html.join(''));
} else {
throw new Error('Unsupported item type: ' + item.type_);
}
return true;
}
@@ -697,7 +677,7 @@ class AppGui {
if (resourceIdRegex.test(url)) {
noteLinks[index] = {
type: 'resource',
type: 'item',
id: url.substr(2),
};
} else if (hasProtocol(url, ['http', 'https', 'file', 'ftp'])) {
@@ -786,35 +766,34 @@ class AppGui {
// -------------------------------------------------------------------------
const shortcutKey = this.currentShortcutKeys_.join('');
let cmd = shortcutKey in this.shortcuts_ ? this.shortcuts_[shortcutKey] : null;
let keymapItem = this.keymapItemByKey(shortcutKey);
// If this command is an alias to another command, resolve to the actual command
if (cmd && cmd.alias) cmd = this.shortcuts_[cmd.alias];
let processShortcutKeys = !this.app().currentCommand() && cmd;
if (cmd && cmd.canRunAlongOtherCommands) processShortcutKeys = true;
let processShortcutKeys = !this.app().currentCommand() && keymapItem;
if (keymapItem && keymapItem.canRunAlongOtherCommands) processShortcutKeys = true;
if (statusBar.promptActive) processShortcutKeys = false;
if (cmd && cmd.isDocOnly) processShortcutKeys = false;
if (processShortcutKeys) {
this.logger().info('Shortcut:', shortcutKey, cmd.description());
this.logger().debug('Shortcut:', shortcutKey, keymapItem);
this.currentShortcutKeys_ = [];
if (typeof cmd.action === 'function') {
await cmd.action();
} else if (typeof cmd.action === 'object') {
if (cmd.action.type === 'prompt') {
let promptOptions = {};
if ('cursorPosition' in cmd.action) promptOptions.cursorPosition = cmd.action.cursorPosition;
const commandString = await statusBar.prompt(cmd.action.initialText ? cmd.action.initialText : '', null, promptOptions);
this.addCommandToConsole(commandString);
await this.processCommand(commandString);
} else {
throw new Error('Unknown command: ' + JSON.stringify(cmd.action));
}
} else { // String
this.stdout(cmd.action);
await this.processCommand(cmd.action);
if (keymapItem.type === 'function') {
this.processFunctionCommand(keymapItem.command);
} else if (keymapItem.type === 'prompt') {
let promptOptions = {};
if ('cursorPosition' in keymapItem) promptOptions.cursorPosition = keymapItem.cursorPosition;
const commandString = await statusBar.prompt(keymapItem.command ? keymapItem.command : '', null, promptOptions);
this.addCommandToConsole(commandString);
await this.processPromptCommand(commandString);
} else if (keymapItem.type === 'exec') {
this.stdout(keymapItem.command);
await this.processPromptCommand(keymapItem.command);
} else if (keymapItem.type === 'tkwidgets') {
this.widget('root').handleKey(this.tkWidgetKeys_[keymapItem.command]);
} else {
throw new Error('Unknown command type: ' + JSON.stringify(keymapItem));
}
}

View File

@@ -5,6 +5,7 @@ const { JoplinDatabase } = require('lib/joplin-database.js');
const { Database } = require('lib/database.js');
const { FoldersScreenUtils } = require('lib/folders-screen-utils.js');
const { DatabaseDriverNode } = require('lib/database-driver-node.js');
const ResourceService = require('lib/services/ResourceService');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const BaseItem = require('lib/models/BaseItem.js');
@@ -283,7 +284,7 @@ class Application extends BaseApplication {
exit: () => {},
showModalOverlay: (text) => {},
hideModalOverlay: () => {},
stdoutMaxWidth: () => { return 78; },
stdoutMaxWidth: () => { return 100; },
forceRender: () => {},
termSaveState: () => {},
termRestoreState: (state) => {},
@@ -292,7 +293,7 @@ class Application extends BaseApplication {
async execCommand(argv) {
if (!argv.length) return this.execCommand(['help']);
reg.logger().info('execCommand()', argv);
// reg.logger().debug('execCommand()', argv);
const commandName = argv[0];
this.activeCommand_ = this.findCommandByName(commandName);
@@ -312,6 +313,63 @@ class Application extends BaseApplication {
return this.activeCommand_;
}
async loadKeymaps() {
const defaultKeyMap = [
{ "keys": [":"], "type": "function", "command": "enter_command_line_mode" },
{ "keys": ["TAB"], "type": "function", "command": "focus_next" },
{ "keys": ["SHIFT_TAB"], "type": "function", "command": "focus_previous" },
{ "keys": ["UP"], "type": "function", "command": "move_up" },
{ "keys": ["DOWN"], "type": "function", "command": "move_down" },
{ "keys": ["PAGE_UP"], "type": "function", "command": "page_up" },
{ "keys": ["PAGE_DOWN"], "type": "function", "command": "page_down" },
{ "keys": ["ENTER"], "type": "function", "command": "activate" },
{ "keys": ["DELETE", "BACKSPACE"], "type": "function", "command": "delete" },
{ "keys": [" "], "command": "todo toggle $n" },
{ "keys": ["tc"], "type": "function", "command": "toggle_console" },
{ "keys": ["tm"], "type": "function", "command": "toggle_metadata" },
{ "keys": ["/"], "type": "prompt", "command": "search \"\"", "cursorPosition": -2 },
{ "keys": ["mn"], "type": "prompt", "command": "mknote \"\"", "cursorPosition": -2 },
{ "keys": ["mt"], "type": "prompt", "command": "mktodo \"\"", "cursorPosition": -2 },
{ "keys": ["mb"], "type": "prompt", "command": "mkbook \"\"", "cursorPosition": -2 },
{ "keys": ["yn"], "type": "prompt", "command": "cp $n \"\"", "cursorPosition": -2 },
{ "keys": ["dn"], "type": "prompt", "command": "mv $n \"\"", "cursorPosition": -2 }
];
// Filter the keymap item by command so that items in keymap.json can override
// the default ones.
const itemsByCommand = {};
for (let i = 0; i < defaultKeyMap.length; i++) {
itemsByCommand[defaultKeyMap[i].command] = defaultKeyMap[i]
}
const filePath = Setting.value('profileDir') + '/keymap.json';
if (await fs.pathExists(filePath)) {
try {
let configString = await fs.readFile(filePath, 'utf-8');
configString = configString.replace(/^\s*\/\/.*/, ''); // Strip off comments
const keymap = JSON.parse(configString);
for (let keymapIndex = 0; keymapIndex < keymap.length; keymapIndex++) {
const item = keymap[keymapIndex];
itemsByCommand[item.command] = item;
}
} catch (error) {
let msg = error.message ? error.message : '';
msg = 'Could not load keymap ' + filePath + '\n' + msg;
error.message = msg;
throw error;
}
}
const output = [];
for (let n in itemsByCommand) {
if (!itemsByCommand.hasOwnProperty(n)) continue;
output.push(itemsByCommand[n]);
}
return output;
}
async start(argv) {
argv = await super.start(argv);
@@ -330,16 +388,19 @@ class Application extends BaseApplication {
await this.execCommand(argv);
} catch (error) {
if (this.showStackTraces_) {
console.info(error);
console.error(error);
} else {
console.info(error.message);
}
process.exit(1);
}
} else { // Otherwise open the GUI
this.initRedux();
const keymap = await this.loadKeymaps();
const AppGui = require('./app-gui.js');
this.gui_ = new AppGui(this, this.store());
this.gui_ = new AppGui(this, this.store(), keymap);
this.gui_.setLogger(this.logger_);
await this.gui_.start();
@@ -352,6 +413,8 @@ class Application extends BaseApplication {
const tags = await Tag.allWithNotes();
ResourceService.runInBackground();
this.dispatch({
type: 'TAG_UPDATE_ALL',
items: tags,

View File

@@ -4,6 +4,7 @@ var Folder = require('lib/models/Folder.js');
var Tag = require('lib/models/Tag.js');
var { cliUtils } = require('./cli-utils.js');
var yargParser = require('yargs-parser');
var fs = require('fs-extra');
async function handleAutocompletionPromise(line) {
// Auto-complete the command name
@@ -35,7 +36,7 @@ async function handleAutocompletionPromise(line) {
if (next[0] === '-') {
for (let i = 0; i<metadata.options.length; i++) {
const options = metadata.options[i][0].split(' ');
//if there are multiple options then they will be seperated by comma and
//if there are multiple options then they will be separated by comma and
//space. The comma should be removed
if (options[0][options[0].length - 1] === ',') {
options[0] = options[0].slice(0, -1);
@@ -48,7 +49,7 @@ async function handleAutocompletionPromise(line) {
if (options.length > 1 && options[1].indexOf(next) === 0) {
l.push(options[1]);
} else if (options[0].indexOf(next) === 0) {
l.push(options[2]);
l.push(options[0]);
}
}
if (l.length === 0) {
@@ -71,8 +72,10 @@ async function handleAutocompletionPromise(line) {
let argName = cmdUsage[positionalArgs - 1];
argName = cliUtils.parseCommandArg(argName).name;
if (argName == 'note' || argName == 'note-pattern' && app().currentFolder()) {
const notes = await Note.previews(app().currentFolder().id, { titlePattern: next + '*' });
const currentFolder = app().currentFolder();
if (argName == 'note' || argName == 'note-pattern') {
const notes = currentFolder ? await Note.previews(currentFolder.id, { titlePattern: next + '*' }) : [];
l.push(...notes.map((n) => n.title));
}
@@ -81,11 +84,22 @@ async function handleAutocompletionPromise(line) {
l.push(...folders.map((n) => n.title));
}
if (argName == 'item') {
const notes = currentFolder ? await Note.previews(currentFolder.id, { titlePattern: next + '*' }) : [];
const folders = await Folder.search({ titlePattern: next + '*' });
l.push(...notes.map((n) => n.title), folders.map((n) => n.title));
}
if (argName == 'tag') {
let tags = await Tag.search({ titlePattern: next + '*' });
l.push(...tags.map((n) => n.title));
}
if (argName == 'file') {
let files = await fs.readdir('.');
l.push(...files);
}
if (argName == 'tag-command') {
let c = filterList(['add', 'remove', 'list'], next);
l.push(...c);

View File

@@ -32,10 +32,6 @@ class BaseCommand {
return this.compatibleUis().indexOf(ui) >= 0;
}
aliases() {
return [];
}
options() {
return [];
}

View File

@@ -102,7 +102,7 @@ function getFooter() {
output.push('WEBSITE');
output.push('');
output.push(INDENT + 'http://joplin.cozic.net');
output.push(INDENT + 'https://joplin.cozic.net');
output.push('');

View File

@@ -23,8 +23,11 @@ class Command extends BaseCommand {
const verbose = args.options.verbose;
const renderKeyValue = (name) => {
const md = Setting.settingMetadata(name);
let value = Setting.value(name);
if (typeof value === 'object' || Array.isArray(value)) value = JSON.stringify(value);
if (md.secure) value = '********';
if (Setting.isEnum(name)) {
return _('%s = %s (%s)', name, value, Setting.enumOptionsDoc(name));
} else {

View File

@@ -131,7 +131,6 @@ class Command extends BaseCommand {
} else if (stat.isDirectory()) {
continue;
} else {
itemCount++;
const content = await fs.readFile(fullPath, 'utf8');
const item = await BaseItem.unserialize(content);
const ItemClass = BaseItem.itemClass(item);
@@ -141,6 +140,8 @@ class Command extends BaseCommand {
continue;
}
itemCount++;
const isEncrypted = await EncryptionService.instance().itemIsEncrypted(item);
if (isEncrypted) {

View File

@@ -1,5 +1,5 @@
const { BaseCommand } = require('./base-command.js');
const { Exporter } = require('lib/services/exporter.js');
const InteropService = require('lib/services/InteropService.js');
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
const { reg } = require('lib/registry.js');
@@ -10,15 +10,21 @@ const fs = require('fs-extra');
class Command extends BaseCommand {
usage() {
return 'export <directory>';
return 'export <path>';
}
description() {
return _('Exports Joplin data to the given directory. By default, it will export the complete database including notebooks, notes, tags and resources.');
return _('Exports Joplin data to the given path. By default, it will export the complete database including notebooks, notes, tags and resources.');
}
options() {
const service = new InteropService();
const formats = service.modules()
.filter(m => m.type === 'exporter')
.map(m => m.format + (m.description ? ' (' + m.description + ')' : ''));
return [
['--format <format>', _('Destination format: %s', formats.join(', '))],
['--note <note>', _('Exports only the given note.')],
['--notebook <notebook>', _('Exports only the given notebook.')],
];
@@ -26,13 +32,9 @@ class Command extends BaseCommand {
async action(args) {
let exportOptions = {};
exportOptions.destDir = args.directory;
exportOptions.writeFile = (filePath, data) => {
return fs.writeFile(filePath, data);
};
exportOptions.copyFile = (source, dest) => {
return fs.copy(source, dest, { overwrite: true });
};
exportOptions.path = args.path;
exportOptions.format = args.options.format ? args.options.format : 'jex';
if (args.options.note) {
@@ -48,10 +50,10 @@ class Command extends BaseCommand {
}
const exporter = new Exporter();
const result = await exporter.export(exportOptions);
const service = new InteropService();
const result = await service.export(exportOptions);
reg.logger().info('Export result: ', result);
result.warnings.map((w) => this.stdout(w));
}
}

View File

@@ -36,21 +36,22 @@ class Command extends BaseCommand {
async action(args) {
const stdoutWidth = app().commandStdoutMaxWidth();
if (args.command === 'shortcuts') {
if (args.command === 'shortcuts' || args.command === 'keymap') {
this.stdout(_('For information on how to customise the shortcuts please visit %s', 'https://joplin.cozic.net/terminal/#shortcuts'));
this.stdout('');
if (app().gui().isDummy()) {
throw new Error(_('Shortcuts are not available in CLI mode.'));
}
const shortcuts = app().gui().shortcuts();
const keymap = app().gui().keymap();
let rows = [];
for (let n in shortcuts) {
if (!shortcuts.hasOwnProperty(n)) continue;
const shortcut = shortcuts[n];
if (!shortcut.description) continue;
n = shortcut.friendlyName ? shortcut.friendlyName : n;
rows.push([n, shortcut.description()]);
for (let i = 0; i < keymap.length; i++) {
const item = keymap[i];
const keys = item.keys.map((k) => k === ' ' ? '(SPACE)' : k);
rows.push([keys.join(', '), item.command]);
}
cliUtils.printArray(this.stdout.bind(this), rows);
@@ -71,14 +72,14 @@ class Command extends BaseCommand {
this.stdout('');
this.stdout(commandNames.join(', '));
this.stdout('');
this.stdout(_('In any command, a note or notebook can be refered to by title or ID, or using the shortcuts `$n` or `$b` for, respectively, the currently selected note or notebook. `$c` can be used to refer to the currently selected item.'));
this.stdout(_('In any command, a note or notebook can be referred to by title or ID, or using the shortcuts `$n` or `$b` for, respectively, the currently selected note or notebook. `$c` can be used to refer to the currently selected item.'));
this.stdout('');
this.stdout(_('To move from one pane to another, press Tab or Shift+Tab.'));
this.stdout(_('Use the arrows and page up/down to scroll the lists and text areas (including this console).'));
this.stdout(_('To maximise/minimise the console, press "TC".'));
this.stdout(_('To maximise/minimise the console, press "tc".'));
this.stdout(_('To enter command line mode, press ":"'));
this.stdout(_('To exit command line mode, press ESCAPE'));
this.stdout(_('For the complete list of available keyboard shortcuts, type `help shortcuts`'));
this.stdout(_('For the list of keyboard shortcuts and config options, type `help keymap`'));
}
app().gui().showConsole();

View File

@@ -1,68 +0,0 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const Folder = require('lib/models/Folder.js');
const { importEnex } = require('lib/import-enex');
const { filename, basename } = require('lib/path-utils.js');
const { cliUtils } = require('./cli-utils.js');
class Command extends BaseCommand {
usage() {
return 'import-enex <file> [notebook]';
}
description() {
return _('Imports an Evernote notebook file (.enex file).');
}
options() {
return [
['-f, --force', _('Do not ask for confirmation.')],
];
}
async action(args) {
let filePath = args.file;
let folder = null;
let folderTitle = args['notebook'];
let force = args.options.force === true;
if (!folderTitle) folderTitle = filename(filePath);
folder = await Folder.loadByField('title', folderTitle);
const msg = folder ? _('File "%s" will be imported into existing notebook "%s". Continue?', basename(filePath), folderTitle) : _('New notebook "%s" will be created and file "%s" will be imported into it. Continue?', folderTitle, basename(filePath));
const ok = force ? true : await this.prompt(msg);
if (!ok) return;
let lastProgress = '';
let options = {
onProgress: (progressState) => {
let line = [];
line.push(_('Found: %d.', progressState.loaded));
line.push(_('Created: %d.', progressState.created));
if (progressState.updated) line.push(_('Updated: %d.', progressState.updated));
if (progressState.skipped) line.push(_('Skipped: %d.', progressState.skipped));
if (progressState.resourcesCreated) line.push(_('Resources: %d.', progressState.resourcesCreated));
if (progressState.notesTagged) line.push(_('Tagged: %d.', progressState.notesTagged));
lastProgress = line.join(' ');
cliUtils.redraw(lastProgress);
},
onError: (error) => {
let s = error.trace ? error.trace : error.toString();
this.stdout(s);
},
}
folder = !folder ? await Folder.save({ title: folderTitle }) : folder;
app().gui().showConsole();
this.stdout(_('Importing notes...'));
await importEnex(folder.id, filePath, options);
cliUtils.redrawDone();
this.stdout(_('The notes have been imported: %s', lastProgress));
}
}
module.exports = Command;

View File

@@ -0,0 +1,75 @@
const { BaseCommand } = require('./base-command.js');
const InteropService = require('lib/services/InteropService.js');
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
const { filename, basename, fileExtension } = require('lib/path-utils.js');
const { importEnex } = require('lib/import-enex');
const { cliUtils } = require('./cli-utils.js');
const { reg } = require('lib/registry.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const fs = require('fs-extra');
class Command extends BaseCommand {
usage() {
return 'import <path> [notebook]';
}
description() {
return _('Imports data into Joplin.');
}
options() {
const service = new InteropService();
const formats = service.modules().filter(m => m.type === 'importer').map(m => m.format);
return [
['--format <format>', _('Source format: %s', (['auto'].concat(formats)).join(', '))],
['-f, --force', _('Do not ask for confirmation.')],
];
}
async action(args) {
let folder = await app().loadItem(BaseModel.TYPE_FOLDER, args.notebook);
if (args.notebook && !folder) throw new Error(_('Cannot find "%s".', args.notebook));
const importOptions = {};
importOptions.path = args.path;
importOptions.format = args.options.format ? args.options.format : 'auto';
importOptions.destinationFolderId = folder ? folder.id : null;
let lastProgress = '';
// onProgress/onError supported by Enex import only
importOptions.onProgress = (progressState) => {
let line = [];
line.push(_('Found: %d.', progressState.loaded));
line.push(_('Created: %d.', progressState.created));
if (progressState.updated) line.push(_('Updated: %d.', progressState.updated));
if (progressState.skipped) line.push(_('Skipped: %d.', progressState.skipped));
if (progressState.resourcesCreated) line.push(_('Resources: %d.', progressState.resourcesCreated));
if (progressState.notesTagged) line.push(_('Tagged: %d.', progressState.notesTagged));
lastProgress = line.join(' ');
cliUtils.redraw(lastProgress);
};
importOptions.onError = (error) => {
let s = error.trace ? error.trace : error.toString();
this.stdout(s);
};
app().gui().showConsole();
this.stdout(_('Importing notes...'));
const service = new InteropService();
const result = await service.import(importOptions);
result.warnings.map((w) => this.stdout(w));
cliUtils.redrawDone();
if (lastProgress) this.stdout(_('The notes have been imported: %s', lastProgress));
}
}
module.exports = Command;

View File

@@ -14,10 +14,6 @@ class Command extends BaseCommand {
return _('Creates a new notebook.');
}
aliases() {
return ['mkdir'];
}
async action(args) {
let folder = await Folder.save({ title: args['new-notebook'] }, { userSideValidation: true });
app().switchCurrentFolder(folder);

View File

@@ -29,7 +29,7 @@ class Command extends BaseCommand {
const folder = await app().loadItem(BaseModel.TYPE_FOLDER, pattern);
if (!folder) throw new Error(_('Cannot find "%s".', pattern));
const ok = force ? true : await this.prompt(_('Delete notebook? All notes within this notebook will also be deleted.'), { booleanAnswerDefault: 'n' });
const ok = force ? true : await this.prompt(_('Delete notebook? All notes and sub-notebooks within this notebook will also be deleted.'), { booleanAnswerDefault: 'n' });
if (!ok) return;
await Folder.delete(folder.id);

View File

@@ -10,7 +10,7 @@ const { cliUtils } = require('./cli-utils.js');
const md5 = require('md5');
const locker = require('proper-lockfile');
const fs = require('fs-extra');
const osTmpdir = require('os-tmpdir');
const SyncTargetRegistry = require('lib/SyncTargetRegistry');
class Command extends BaseCommand {
@@ -61,14 +61,44 @@ class Command extends BaseCommand {
});
}
async doAuth(syncTargetId) {
async doAuth() {
const syncTarget = reg.syncTarget(this.syncTargetId_);
this.oneDriveApiUtils_ = new OneDriveApiNodeUtils(syncTarget.api());
const auth = await this.oneDriveApiUtils_.oauthDance({
log: (...s) => { return this.stdout(...s); }
});
this.oneDriveApiUtils_ = null;
return auth;
const syncTargetMd = SyncTargetRegistry.idToMetadata(this.syncTargetId_);
if (this.syncTargetId_ === 3 || this.syncTargetId_ === 4) { // OneDrive
this.oneDriveApiUtils_ = new OneDriveApiNodeUtils(syncTarget.api());
const auth = await this.oneDriveApiUtils_.oauthDance({
log: (...s) => { return this.stdout(...s); }
});
this.oneDriveApiUtils_ = null;
Setting.setValue('sync.' + this.syncTargetId_ + '.auth', auth ? JSON.stringify(auth) : null);
if (!auth) {
this.stdout(_('Authentication was not completed (did not receive an authentication token).'));
return false;
}
return true;
} else if (syncTargetMd.name === 'dropbox') { // Dropbox
const api = await syncTarget.api();
const loginUrl = api.loginUrl();
this.stdout(_('To allow Joplin to synchronise with Dropbox, please follow the steps below:'));
this.stdout(_('Step 1: Open this URL in your browser to authorise the application:'));
this.stdout(loginUrl);
const authCode = await this.prompt(_('Step 2: Enter the code provided by Dropbox:'), { type: 'string' });
if (!authCode) {
this.stdout(_('Authentication was not completed (did not receive an authentication token).'));
return false;
}
const response = await api.execAuthToken(authCode);
Setting.setValue('sync.' + this.syncTargetId_ + '.auth', response.access_token);
api.setAuthToken(response.access_token);
return true;
}
this.stdout(_('Not authentified with %s. Please provide any missing credentials.', syncTargetMd.label));
return false;
}
cancelAuth() {
@@ -86,7 +116,8 @@ class Command extends BaseCommand {
this.releaseLockFn_ = null;
// Lock is unique per profile/database
const lockFilePath = osTmpdir() + '/synclock_' + md5(Setting.value('profileDir'));
// TODO: use SQLite database to do lock?
const lockFilePath = require('os').tmpdir() + '/synclock_' + md5(escape(Setting.value('profileDir'))); // https://github.com/pvorb/node-md5/issues/41
if (!await fs.pathExists(lockFilePath)) await fs.writeFile(lockFilePath, 'synclock');
try {
@@ -116,16 +147,12 @@ class Command extends BaseCommand {
const syncTarget = reg.syncTarget(this.syncTargetId_);
if (!syncTarget.isAuthenticated()) {
if (!await syncTarget.isAuthenticated()) {
app().gui().showConsole();
app().gui().maximizeConsole();
const auth = await this.doAuth(this.syncTargetId_);
Setting.setValue('sync.' + this.syncTargetId_ + '.auth', auth ? JSON.stringify(auth) : null);
if (!auth) {
this.stdout(_('Authentication was not completed (did not receive an authentication token).'));
return cleanUp();
}
const authDone = await this.doAuth();
if (!authDone) return cleanUp();
}
const sync = await syncTarget.synchronizer();
@@ -187,7 +214,7 @@ class Command extends BaseCommand {
const syncTarget = reg.syncTarget(syncTargetId);
if (syncTarget.isAuthenticated()) {
if (await syncTarget.isAuthenticated()) {
const sync = await syncTarget.synchronizer();
if (sync) await sync.cancel();
} else {

View File

@@ -18,19 +18,20 @@ class FolderListWidget extends ListWidget {
this.notesParentType_ = 'Folder';
this.updateIndexFromSelectedFolderId_ = false;
this.updateItems_ = false;
this.trimItemTitle = false;
this.itemRenderer = (item) => {
let output = [];
if (item === '-') {
output.push('-'.repeat(this.innerWidth));
} else if (item.type_ === Folder.modelType()) {
output.push(Folder.displayTitle(item));
output.push(' '.repeat(this.folderDepth(this.folders, item.id)) + Folder.displayTitle(item));
} else if (item.type_ === Tag.modelType()) {
output.push('[' + Folder.displayTitle(item) + ']');
} else if (item.type_ === BaseModel.TYPE_SEARCH) {
output.push(_('Search:'));
output.push(item.title);
}
}
// if (item && item.id) output.push(item.id.substr(0, 5));
@@ -38,6 +39,17 @@ class FolderListWidget extends ListWidget {
};
}
folderDepth(folders, folderId) {
let output = 0;
while (true) {
const folder = BaseModel.byId(folders, folderId);
if (!folder.parent_id) return output;
output++;
folderId = folder.parent_id;
}
throw new Error('unreachable');
}
get selectedFolderId() {
return this.selectedFolderId_;
}

View File

@@ -133,7 +133,8 @@ class StatusBarWidget extends BaseWidget {
resolveResult = input ? input.trim() : input;
// Add the command to history but only if it's longer than one character.
// Below that it's usually an answer like "y"/"n", etc.
if (!isSecurePrompt && input && input.length > 1) this.history_.push(input);
const isConfigPassword = input.indexOf('config ') >= 0 && input.indexOf('password') >= 0;
if (!isSecurePrompt && input && input.length > 1 && !isConfigPassword) this.history_.push(input);
}
}

View File

@@ -53,9 +53,8 @@ function renderCommandHelp(cmd, width = null) {
desc.push(label);
}
if (md.description) {
desc.push(md.description());
}
const description = Setting.keyDescription(md.key, 'cli');
if (description) desc.push(description);
desc.push(_('Type: %s.', md.isEnum ? _('Enum') : Setting.typeToString(md.type)));
if (md.isEnum) desc.push(_('Possible values: %s.', Setting.enumOptionsDoc(md.key, '%s (%s)')));

View File

@@ -67,6 +67,13 @@ process.stdout.on('error', function( err ) {
});
application.start(process.argv).catch((error) => {
console.error(_('Fatal error:'));
console.error(error);
if (error.code == 'flagError') {
console.error(error.message);
console.error(_('Type `joplin help` for usage information.'));
} else {
console.error(_('Fatal error:'));
console.error(error);
}
process.exit(1);
});

1635
CliClient/locales/ca.po Normal file

File diff suppressed because it is too large Load Diff

1606
CliClient/locales/cs_CZ.po Normal file

File diff suppressed because it is too large Load Diff

1622
CliClient/locales/da_DK.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -15,63 +15,12 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Give focus to next pane"
msgstr ""
msgid "Give focus to previous pane"
msgstr ""
msgid "Enter command line mode"
msgstr ""
msgid "Exit command line mode"
msgstr ""
msgid "Edit the selected note"
msgstr ""
msgid "Cancel the current command."
msgstr ""
msgid "Exit the application."
msgstr ""
msgid "Delete the currently selected note or notebook."
msgstr ""
msgid "To delete a tag, untag the associated notes."
msgstr ""
msgid "Please select the note or notebook to be deleted first."
msgstr ""
msgid "Set a to-do as completed / not completed"
msgstr ""
msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
msgstr ""
msgid "Search"
msgstr ""
msgid "[t]oggle note [m]etadata."
msgstr ""
msgid "[M]ake a new [n]ote"
msgstr ""
msgid "[M]ake a new [t]odo"
msgstr ""
msgid "[M]ake a new note[b]ook"
msgstr ""
msgid "Copy ([Y]ank) the [n]ote to a notebook."
msgstr ""
msgid "Move the note to a notebook."
msgstr ""
msgid "Press Ctrl+D or type \"exit\" to exit the application"
msgstr ""
@@ -214,6 +163,10 @@ msgstr ""
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr ""
@@ -221,10 +174,14 @@ msgid "Exits the application."
msgstr ""
msgid ""
"Exports Joplin data to the given directory. By default, it will export the "
"Exports Joplin data to the given path. By default, it will export the "
"complete database including notebooks, notes, tags and resources."
msgstr ""
#, javascript-format
msgid "Destination format: %s"
msgstr ""
msgid "Exports only the given note."
msgstr ""
@@ -237,6 +194,10 @@ msgstr ""
msgid "Displays usage information."
msgstr ""
#, javascript-format
msgid "For information on how to customise the shortcuts please visit %s"
msgstr ""
msgid "Shortcuts are not available in CLI mode."
msgstr ""
@@ -249,7 +210,7 @@ msgid "The possible commands are:"
msgstr ""
msgid ""
"In any command, a note or notebook can be refered to by title or ID, or "
"In any command, a note or notebook can be referred to by title or ID, or "
"using the shortcuts `$n` or `$b` for, respectively, the currently selected "
"note or notebook. `$c` can be used to refer to the currently selected item."
msgstr ""
@@ -262,7 +223,7 @@ msgid ""
"(including this console)."
msgstr ""
msgid "To maximise/minimise the console, press \"TC\"."
msgid "To maximise/minimise the console, press \"tc\"."
msgstr ""
msgid "To enter command line mode, press \":\""
@@ -272,25 +233,19 @@ msgid "To exit command line mode, press ESCAPE"
msgstr ""
msgid ""
"For the complete list of available keyboard shortcuts, type `help shortcuts`"
"For the list of keyboard shortcuts and config options, type `help keymap`"
msgstr ""
msgid "Imports an Evernote notebook file (.enex file)."
msgid "Imports data into Joplin."
msgstr ""
#, javascript-format
msgid "Source format: %s"
msgstr ""
msgid "Do not ask for confirmation."
msgstr ""
#, javascript-format
msgid "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
msgstr ""
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into "
"it. Continue?"
msgstr ""
#, javascript-format
msgid "Found: %d."
msgstr ""
@@ -377,7 +332,9 @@ msgstr ""
msgid "Deletes the notebook without asking for confirmation."
msgstr ""
msgid "Delete notebook? All notes within this notebook will also be deleted."
msgid ""
"Delete notebook? All notes and sub-notebooks within this notebook will also "
"be deleted."
msgstr ""
msgid "Deletes the notes matching <note-pattern>."
@@ -413,6 +370,24 @@ msgstr ""
msgid "Sync to provided target (defaults to sync.target config value)"
msgstr ""
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr ""
msgid ""
"To allow Joplin to synchronise with Dropbox, please follow the steps below:"
msgstr ""
msgid "Step 1: Open this URL in your browser to authorise the application:"
msgstr ""
msgid "Step 2: Enter the code provided by Dropbox:"
msgstr ""
#, javascript-format
msgid "Not authentified with %s. Please provide any missing credentials."
msgstr ""
msgid "Synchronisation is already in progress."
msgstr ""
@@ -423,10 +398,6 @@ msgid ""
"operation."
msgstr ""
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr ""
#, javascript-format
msgid "Synchronisation target: %s (%s)"
msgstr ""
@@ -490,6 +461,9 @@ msgstr ""
msgid "Possible keys/values:"
msgstr ""
msgid "Type `joplin help` for usage information."
msgstr ""
msgid "Fatal error:"
msgstr ""
@@ -527,6 +501,17 @@ msgid ""
"background and will be available soon."
msgstr ""
#, javascript-format
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "PDF File"
msgstr ""
msgid "File"
msgstr ""
@@ -539,10 +524,17 @@ msgstr ""
msgid "New notebook"
msgstr ""
msgid "Import Evernote notes"
msgid "Import"
msgstr ""
msgid "Evernote Export Files"
msgid "Export"
msgstr ""
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
msgid "Quit"
@@ -560,15 +552,36 @@ msgstr ""
msgid "Paste"
msgstr ""
msgid "Bold"
msgstr ""
msgid "Italic"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Search in all the notes"
msgstr ""
msgid "View"
msgstr ""
msgid "Toggle sidebar"
msgstr ""
msgid "Toggle editor layout"
msgstr ""
msgid "Tools"
msgstr ""
msgid "Synchronisation status"
msgstr ""
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr ""
@@ -581,6 +594,12 @@ msgstr ""
msgid "Website and documentation"
msgstr ""
msgid "Make a donation"
msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr ""
@@ -588,12 +607,77 @@ msgstr ""
msgid "%s %s (%s, %s)"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr ""
msgid "Exit"
msgstr ""
msgid "OK"
msgstr ""
msgid "Cancel"
msgstr ""
msgid "Current version is up-to-date."
msgstr ""
msgid "An update is available, do you want to download it now?"
msgstr ""
msgid "Yes"
msgstr ""
msgid "No"
msgstr ""
msgid "The web clipper service is enabled and set to auto-start."
msgstr ""
#, javascript-format
msgid "Status: Started on port %d"
msgstr ""
#, javascript-format
msgid "Status: %s"
msgstr ""
msgid "Disable Web Clipper Service"
msgstr ""
msgid "The web clipper service is not enabled."
msgstr ""
msgid "Enable Web Clipper Service"
msgstr ""
msgid ""
"Joplin Web Clipper allows saving web pages and screenshots from your browser "
"to Joplin."
msgstr ""
msgid "In order to use the web clipper, you need to do the following:"
msgstr ""
msgid "Step 1: Enable the clipper service"
msgstr ""
msgid ""
"This service allows the browser extension to communicate with Joplin. When "
"enabling it your firewall may ask you to give permission to Joplin to listen "
"to a particular port."
msgstr ""
msgid "Step 2: Install the extension"
msgstr ""
msgid "Download and install the relevant extension for your browser:"
msgstr ""
msgid "Check synchronisation configuration"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr ""
@@ -601,6 +685,9 @@ msgstr ""
msgid "Save"
msgstr ""
msgid "Submit"
msgstr ""
msgid ""
"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 "
@@ -650,6 +737,20 @@ msgid ""
"how the notes or notebooks were originally encrypted."
msgstr ""
msgid "Missing Master Keys"
msgstr ""
msgid ""
"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."
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
msgstr ""
msgid "Status"
msgstr ""
@@ -682,12 +783,18 @@ msgstr ""
msgid "Rename notebook:"
msgstr ""
msgid "Rename tag:"
msgstr ""
msgid "Set alarm:"
msgstr ""
msgid "Layout"
msgstr ""
msgid "Search..."
msgstr ""
msgid "Some items cannot be synchronised."
msgstr ""
@@ -706,6 +813,9 @@ msgstr ""
msgid "Switch between note and to-do type"
msgstr ""
msgid "Copy Markdown link"
msgstr ""
msgid "Delete"
msgstr ""
@@ -719,16 +829,91 @@ msgid ""
"There is currently no notebook. Create one by clicking on \"New notebook\"."
msgstr ""
msgid "Open..."
msgstr ""
#, javascript-format
msgid "This file could not be opened: %s"
msgstr ""
msgid "Save as..."
msgstr ""
msgid "Copy path to clipboard"
msgstr ""
#, javascript-format
msgid "Unsupported link or message: %s"
msgstr ""
#, javascript-format
msgid ""
"This note has no content. Click on \"%s\" to toggle the editor and edit the "
"note."
msgstr ""
msgid "strong text"
msgstr ""
msgid "emphasized text"
msgstr ""
msgid "List item"
msgstr ""
msgid "Insert Hyperlink"
msgstr ""
msgid "Attach file"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Set alarm"
msgstr ""
#, javascript-format
msgid "In: %s"
msgstr ""
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
msgid "Bulleted List"
msgstr ""
msgid "Checkbox"
msgstr ""
msgid "Heading"
msgstr ""
msgid "Horizontal Rule"
msgstr ""
msgid "Click to stop external editing"
msgstr ""
msgid "Watching..."
msgstr ""
msgid "to-do"
msgstr ""
msgid "note"
msgstr ""
#, javascript-format
msgid "Creating new %s..."
msgstr ""
msgid "Refresh"
msgstr ""
@@ -738,7 +923,7 @@ msgstr ""
msgid "OneDrive Login"
msgstr ""
msgid "Import"
msgid "Dropbox Login"
msgstr ""
msgid "Options"
@@ -750,6 +935,9 @@ msgstr ""
msgid "Encryption Options"
msgstr ""
msgid "Clipper Options"
msgstr ""
msgid "Remove this tag from all the notes?"
msgstr ""
@@ -765,12 +953,6 @@ msgstr ""
msgid "Notebooks"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Searches"
msgstr ""
msgid "Please select where the sync status should be exported to"
msgstr ""
@@ -782,15 +964,24 @@ msgstr ""
msgid "Unknown flag: %s"
msgstr ""
msgid "Dropbox"
msgstr ""
msgid "File system"
msgstr ""
msgid "Nextcloud"
msgstr ""
msgid "OneDrive"
msgstr ""
msgid "OneDrive Dev (For testing only)"
msgstr ""
msgid "WebDAV"
msgstr ""
#, javascript-format
msgid "Unknown log level: %s"
msgstr ""
@@ -846,7 +1037,7 @@ msgid "Fetched items: %d/%d."
msgstr ""
#, javascript-format
msgid "State: \"%s\"."
msgid "State: %s."
msgstr ""
msgid "Cancelling..."
@@ -856,6 +1047,16 @@ msgstr ""
msgid "Completed: %s"
msgstr ""
#, javascript-format
msgid "Last error: %s"
msgstr ""
msgid "Idle"
msgstr ""
msgid "In progress"
msgstr ""
#, javascript-format
msgid "Synchronisation is already in progress. State: %s"
msgstr ""
@@ -869,6 +1070,9 @@ msgstr ""
msgid "Conflicts"
msgstr ""
msgid "Cannot move notebook to this location"
msgstr ""
#, javascript-format
msgid "A notebook with this title already exists: \"%s\""
msgstr ""
@@ -877,6 +1081,15 @@ msgstr ""
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
msgstr ""
msgid "title"
msgstr ""
msgid "updated date"
msgstr ""
msgid "created date"
msgstr ""
msgid "Untitled"
msgstr ""
@@ -917,12 +1130,53 @@ msgstr ""
msgid "Dark"
msgstr ""
msgid "Show uncompleted todos on top of the lists"
msgid "Uncompleted to-dos on top"
msgstr ""
msgid "Show completed to-dos"
msgstr ""
msgid "Sort notes by"
msgstr ""
msgid "Reverse sort order"
msgstr ""
msgid "Save geo-location with notes"
msgstr ""
msgid "When creating a new to-do:"
msgstr ""
msgid "Focus title"
msgstr ""
msgid "Focus body"
msgstr ""
msgid "When creating a new note:"
msgstr ""
msgid "Show tray icon"
msgstr ""
msgid "Note: Does not work in all desktop environments."
msgstr ""
msgid "Global zoom percentage"
msgstr ""
msgid "Editor font family"
msgstr ""
msgid ""
"This must be *monospace* font or it will not work properly. If the font is "
"incorrect or empty, it will default to a generic monospace font."
msgstr ""
msgid "Automatically update the application"
msgstr ""
msgid "Synchronisation interval"
msgstr ""
@@ -938,9 +1192,6 @@ msgstr ""
msgid "%d hours"
msgstr ""
msgid "Automatically update the application"
msgstr ""
msgid "Show advanced options"
msgstr ""
@@ -948,8 +1199,8 @@ msgid "Synchronisation target"
msgstr ""
msgid ""
"The target to synchonise to. If synchronising with the file system, set "
"`sync.2.path` to specify the target directory."
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
@@ -960,10 +1211,75 @@ msgid ""
"See `sync.target`."
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Custom TLS certificates"
msgstr ""
msgid ""
"Comma-separated list of paths to directories to load the certificates from, "
"or path to individual cert files. For example: /my/cert_dir, /other/custom."
"pem"
msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr ""
msgid "Joplin Export File"
msgstr ""
msgid "Markdown"
msgstr ""
msgid "Joplin Export Directory"
msgstr ""
msgid "Evernote Export File"
msgstr ""
msgid "Directory"
msgstr ""
#, javascript-format
msgid "Cannot load \"%s\" module for format \"%s\""
msgstr ""
#, javascript-format
msgid "Please specify import format for %s"
msgstr ""
#, javascript-format
msgid ""
"This item is currently encrypted: %s \"%s\". Please wait for all items to be "
"decrypted and try again."
msgstr ""
msgid "There is no data to export."
msgstr ""
msgid "Please specify the notebook where the notes should be imported to."
msgstr ""
msgid "Items that cannot be synchronised"
msgstr ""
@@ -1038,6 +1354,9 @@ msgstr ""
msgid "Press to set the decryption password."
msgstr ""
msgid "Save alarm"
msgstr ""
msgid "Select date"
msgstr ""
@@ -1047,6 +1366,38 @@ msgstr ""
msgid "Cancel synchronisation"
msgstr ""
#, javascript-format
msgid "Decrypting items: %d/%d"
msgstr ""
msgid "New tags:"
msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
msgstr ""
msgid ""
"- Storage: to allow attaching files to notes and to enable filesystem "
"synchronisation."
msgstr ""
msgid "- Camera: to allow taking a picture and attaching it to a note."
msgstr ""
msgid "- Location: to allow attaching geo-location information to a note."
msgstr ""
msgid "Joplin website"
msgstr ""
msgid "Login with Dropbox"
msgstr ""
#, javascript-format
msgid "Master Key %s"
msgstr ""
@@ -1071,6 +1422,12 @@ msgstr ""
msgid "Edit notebook"
msgstr ""
msgid "Show all"
msgstr ""
msgid "Errors only"
msgstr ""
msgid "This note has been modified:"
msgstr ""
@@ -1080,6 +1437,14 @@ msgstr ""
msgid "Discard changes"
msgstr ""
#, javascript-format
msgid "No item with ID %s"
msgstr ""
#, javascript-format
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr ""
@@ -1090,6 +1455,9 @@ msgstr ""
msgid "Attach any file"
msgstr ""
msgid "Share"
msgstr ""
msgid "Convert to note"
msgstr ""
@@ -1111,6 +1479,9 @@ msgstr ""
msgid "Login with OneDrive"
msgstr ""
msgid "Search"
msgstr ""
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1711
CliClient/locales/eu.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1611
CliClient/locales/gl_ES.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -16,65 +16,12 @@ msgstr ""
"X-Generator: Poedit 2.0.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Give focus to next pane"
msgstr "Pannello successivo"
msgid "Give focus to previous pane"
msgstr "Pannello precedente"
msgid "Enter command line mode"
msgstr "Accedi alla modalità linea di comando"
msgid "Exit command line mode"
msgstr "Esci dalla modalità linea di comando"
msgid "Edit the selected note"
msgstr "Modifica la nota selezionata"
msgid "Cancel the current command."
msgstr "Cancella il comando corrente."
msgid "Exit the application."
msgstr "Esci dall'applicazione."
msgid "Delete the currently selected note or notebook."
msgstr "Elimina la nota o il blocco note selezionato."
msgid "To delete a tag, untag the associated notes."
msgstr "Elimina un'etichetta, togli l'etichetta associata alle note."
msgid "Please select the note or notebook to be deleted first."
msgstr "Per favore seleziona la nota o il blocco note da eliminare."
msgid "Set a to-do as completed / not completed"
msgstr "Imposta un'attività come completata / non completata"
msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
msgstr ""
"Scegli lo s[t]ato della [c]onsole: massimizzato/minimizzato/nascosto/"
"visibile."
msgid "Search"
msgstr "Cerca"
msgid "[t]oggle note [m]etadata."
msgstr "mos[t]ra/nascondi i [m]etadata nelle note."
msgid "[M]ake a new [n]ote"
msgstr "Crea ([M]ake) una nuova [n]ota"
msgid "[M]ake a new [t]odo"
msgstr "Crea ([M]ake) una nuova at[t]ività"
msgid "[M]ake a new note[b]ook"
msgstr "Crea ([M]ake) un nuovo [b]locco note"
msgid "Copy ([Y]ank) the [n]ote to a notebook."
msgstr "Copia ([Y]) la [n]ota in un blocco note."
msgid "Move the note to a notebook."
msgstr "Sposta la nota in un blocco note."
msgid "Press Ctrl+D or type \"exit\" to exit the application"
msgstr "Premi Ctrl+D o digita \"exit\" per uscire dall'applicazione"
@@ -226,20 +173,29 @@ msgstr "Non esiste la nota: \"%s\". Desideri crearla?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr "Comincia a modificare la nota. Chiudi l'editor per tornare al prompt."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr "La nota è stata salvata."
msgid "Exits the application."
msgstr "Esci dall'applicazione."
#, fuzzy
msgid ""
"Exports Joplin data to the given directory. By default, it will export the "
"Exports Joplin data to the given path. By default, it will export the "
"complete database including notebooks, notes, tags and resources."
msgstr ""
"Esporta i dati da Joplin nella directory selezionata. Come impostazione "
"predefinita verrà esportato il database completo, inclusi blocchi note, "
"note, etichette e risorse."
#, fuzzy, javascript-format
msgid "Destination format: %s"
msgstr "Formato della data"
msgid "Exports only the given note."
msgstr "Esporta solo la seguente nota."
@@ -252,6 +208,10 @@ msgstr "Mostra l'URL di geolocalizzazione per la nota."
msgid "Displays usage information."
msgstr "Mostra le informazioni di utilizzo."
#, javascript-format
msgid "For information on how to customise the shortcuts please visit %s"
msgstr ""
msgid "Shortcuts are not available in CLI mode."
msgstr "Le scorciatoie non sono disponibili nella modalità CLI."
@@ -266,7 +226,7 @@ msgid "The possible commands are:"
msgstr "I possibili comandi sono:"
msgid ""
"In any command, a note or notebook can be refered to by title or ID, or "
"In any command, a note or notebook can be referred to by title or ID, or "
"using the shortcuts `$n` or `$b` for, respectively, the currently selected "
"note or notebook. `$c` can be used to refer to the currently selected item."
msgstr ""
@@ -285,7 +245,8 @@ msgstr ""
"Usa le frecce e pagina su/giù per scorrere le liste e le aree di testo "
"(compresa questa console)."
msgid "To maximise/minimise the console, press \"TC\"."
#, fuzzy
msgid "To maximise/minimise the console, press \"tc\"."
msgstr "Per massimizzare/minimizzare la console, premi \"TC\"."
msgid "To enter command line mode, press \":\""
@@ -294,30 +255,22 @@ msgstr "Per entrare nella modalità command line, premi \":\""
msgid "To exit command line mode, press ESCAPE"
msgstr "Per uscire dalla modalità command line, premi ESC"
#, fuzzy
msgid ""
"For the complete list of available keyboard shortcuts, type `help shortcuts`"
"For the list of keyboard shortcuts and config options, type `help keymap`"
msgstr ""
"Per la lista completa delle scorciatoie disponibili, digita `help shortcuts`"
msgid "Imports an Evernote notebook file (.enex file)."
msgstr "Importa un file blocco note di Evernote (.enex file)."
msgid "Imports data into Joplin."
msgstr ""
#, fuzzy, javascript-format
msgid "Source format: %s"
msgstr "Nessun comando: %s"
msgid "Do not ask for confirmation."
msgstr "Non chiedere conferma."
#, javascript-format
msgid "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
msgstr ""
"Il file \"%s\" sarà importato nel blocco note esistente \"%s\". Continuare?"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into "
"it. Continue?"
msgstr ""
"Un nuovo blocco note \"%s\" sarà creato e al suo interno verrà importato il "
"file \"%s\" . Continuare?"
#, javascript-format
msgid "Found: %d."
msgstr "Trovato: %d."
@@ -411,7 +364,9 @@ msgstr "Elimina il seguente blocco note."
msgid "Deletes the notebook without asking for confirmation."
msgstr "Elimina il blocco note senza richiedere una conferma."
msgid "Delete notebook? All notes within this notebook will also be deleted."
msgid ""
"Delete notebook? All notes and sub-notebooks within this notebook will also "
"be deleted."
msgstr ""
msgid "Deletes the notes matching <note-pattern>."
@@ -449,6 +404,26 @@ msgstr ""
"Sincronizza con l'obiettivo fornito (come predefinito il valore di "
"configurazione sync.target)"
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr ""
"Autenticazione non completata (non è stato ricevuto alcun token di "
"autenticazione)."
msgid ""
"To allow Joplin to synchronise with Dropbox, please follow the steps below:"
msgstr ""
msgid "Step 1: Open this URL in your browser to authorise the application:"
msgstr ""
msgid "Step 2: Enter the code provided by Dropbox:"
msgstr ""
#, javascript-format
msgid "Not authentified with %s. Please provide any missing credentials."
msgstr ""
msgid "Synchronisation is already in progress."
msgstr "La sincronizzazione è in corso."
@@ -462,12 +437,6 @@ msgstr ""
"sincronizzazione, è possibile eliminare il file di blocco in \"% s\" e "
"riprendere l'operazione."
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr ""
"Autenticazione non completata (non è stato ricevuto alcun token di "
"autenticazione)."
#, javascript-format
msgid "Synchronisation target: %s (%s)"
msgstr "Posizione di sincronizzazione: %s (%s)"
@@ -540,6 +509,10 @@ msgstr "Predefinito: %s"
msgid "Possible keys/values:"
msgstr "Chiave/valore possibili:"
#, fuzzy
msgid "Type `joplin help` for usage information."
msgstr "Mostra le informazioni di utilizzo."
msgid "Fatal error:"
msgstr "Errore fatale:"
@@ -584,6 +557,18 @@ msgid ""
"background and will be available soon."
msgstr ""
#, javascript-format
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, fuzzy
msgid "PDF File"
msgstr "File"
msgid "File"
msgstr "File"
@@ -596,11 +581,19 @@ msgstr "Nuova attività"
msgid "New notebook"
msgstr "Nuovo blocco note"
msgid "Import Evernote notes"
msgstr "Importa le note da Evernote"
msgid "Import"
msgstr "Importa"
msgid "Evernote Export Files"
msgstr "Esposta i files di Evernote"
#, fuzzy
msgid "Export"
msgstr "Importa"
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
msgid "Quit"
msgstr "Esci"
@@ -617,15 +610,36 @@ msgstr "Taglia"
msgid "Paste"
msgstr "Incolla"
msgid "Bold"
msgstr ""
msgid "Italic"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Search in all the notes"
msgstr "Cerca in tutte le note"
msgid "View"
msgstr ""
msgid "Toggle sidebar"
msgstr ""
msgid "Toggle editor layout"
msgstr ""
msgid "Tools"
msgstr "Strumenti"
msgid "Synchronisation status"
msgstr "Stato di sincronizzazione"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr ""
@@ -639,6 +653,13 @@ msgstr "Aiuto"
msgid "Website and documentation"
msgstr "Sito web e documentazione"
#, fuzzy
msgid "Make a donation"
msgstr "Sito web e documentazione"
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr "Informazione si Joplin"
@@ -646,12 +667,79 @@ msgstr "Informazione si Joplin"
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy, javascript-format
msgid "Open %s"
msgstr "Su %s: %s"
msgid "Exit"
msgstr ""
msgid "OK"
msgstr "OK"
msgid "Cancel"
msgstr "Cancella"
msgid "Current version is up-to-date."
msgstr ""
msgid "An update is available, do you want to download it now?"
msgstr ""
msgid "Yes"
msgstr ""
#, fuzzy
msgid "No"
msgstr "N"
msgid "The web clipper service is enabled and set to auto-start."
msgstr ""
#, javascript-format
msgid "Status: Started on port %d"
msgstr ""
#, fuzzy, javascript-format
msgid "Status: %s"
msgstr "Stato: \"%s\"."
msgid "Disable Web Clipper Service"
msgstr ""
msgid "The web clipper service is not enabled."
msgstr ""
msgid "Enable Web Clipper Service"
msgstr ""
msgid ""
"Joplin Web Clipper allows saving web pages and screenshots from your browser "
"to Joplin."
msgstr ""
msgid "In order to use the web clipper, you need to do the following:"
msgstr ""
msgid "Step 1: Enable the clipper service"
msgstr ""
msgid ""
"This service allows the browser extension to communicate with Joplin. When "
"enabling it your firewall may ask you to give permission to Joplin to listen "
"to a particular port."
msgstr ""
msgid "Step 2: Install the extension"
msgstr ""
msgid "Download and install the relevant extension for your browser:"
msgstr ""
#, fuzzy
msgid "Check synchronisation configuration"
msgstr "Cancella la sincronizzazione"
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr ""
@@ -659,6 +747,9 @@ msgstr ""
msgid "Save"
msgstr ""
msgid "Submit"
msgstr ""
msgid ""
"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 "
@@ -710,6 +801,20 @@ msgid ""
"how the notes or notebooks were originally encrypted."
msgstr ""
msgid "Missing Master Keys"
msgstr ""
msgid ""
"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."
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
msgstr ""
msgid "Status"
msgstr "Stato"
@@ -742,12 +847,20 @@ msgstr "Separa ogni etichetta da una virgola."
msgid "Rename notebook:"
msgstr "Rinomina il blocco note:"
#, fuzzy
msgid "Rename tag:"
msgstr "Rinomina"
msgid "Set alarm:"
msgstr "Imposta allarme:"
msgid "Layout"
msgstr "Disposizione"
#, fuzzy
msgid "Search..."
msgstr "Cerca"
msgid "Some items cannot be synchronised."
msgstr "Alcuni elementi non possono essere sincronizzati."
@@ -767,6 +880,9 @@ msgstr "Aggiungi o rimuovi etichetta"
msgid "Switch between note and to-do type"
msgstr "Passa da un tipo di nota a un elenco di attività"
msgid "Copy Markdown link"
msgstr ""
msgid "Delete"
msgstr "Elimina"
@@ -781,16 +897,95 @@ msgid ""
"There is currently no notebook. Create one by clicking on \"New notebook\"."
msgstr "Al momento non ci sono note. Creane una cliccando sul bottone (+)."
msgid "Open..."
msgstr ""
#, fuzzy, javascript-format
msgid "This file could not be opened: %s"
msgstr "Il blocco note non può essere salvato: %s"
#, fuzzy
msgid "Save as..."
msgstr "Salva i cambiamenti"
msgid "Copy path to clipboard"
msgstr ""
#, javascript-format
msgid "Unsupported link or message: %s"
msgstr "Collegamento o messaggio non supportato: %s"
#, javascript-format
msgid ""
"This note has no content. Click on \"%s\" to toggle the editor and edit the "
"note."
msgstr ""
msgid "strong text"
msgstr ""
msgid "emphasized text"
msgstr ""
msgid "List item"
msgstr ""
msgid "Insert Hyperlink"
msgstr ""
msgid "Attach file"
msgstr "Allega file"
msgid "Tags"
msgstr "Etichette"
msgid "Set alarm"
msgstr "Imposta allarme"
#, fuzzy, javascript-format
msgid "In: %s"
msgstr "%s: %s"
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
msgid "Bulleted List"
msgstr ""
msgid "Checkbox"
msgstr ""
msgid "Heading"
msgstr ""
msgid "Horizontal Rule"
msgstr ""
msgid "Click to stop external editing"
msgstr ""
#, fuzzy
msgid "Watching..."
msgstr "Cancellazione..."
#, fuzzy
msgid "to-do"
msgstr "Nuova attività"
#, fuzzy
msgid "note"
msgstr "Nuova nota"
#, fuzzy, javascript-format
msgid "Creating new %s..."
msgstr "Importazione delle note..."
msgid "Refresh"
msgstr "Aggiorna"
@@ -800,8 +995,8 @@ msgstr "Pulisci"
msgid "OneDrive Login"
msgstr "Login OneDrive"
msgid "Import"
msgstr "Importa"
msgid "Dropbox Login"
msgstr ""
msgid "Options"
msgstr "Opzioni"
@@ -812,6 +1007,10 @@ msgstr "Stato della Sincronizzazione"
msgid "Encryption Options"
msgstr ""
#, fuzzy
msgid "Clipper Options"
msgstr "Opzioni"
msgid "Remove this tag from all the notes?"
msgstr "Rimuovere questa etichetta da tutte le note?"
@@ -827,12 +1026,6 @@ msgstr "Sincronizza"
msgid "Notebooks"
msgstr "Blocchi note"
msgid "Tags"
msgstr "Etichette"
msgid "Searches"
msgstr "Ricerche"
#, fuzzy
msgid "Please select where the sync status should be exported to"
msgstr "Per favore seleziona la nota o il blocco note da eliminare."
@@ -845,15 +1038,24 @@ msgstr "Uso: %s"
msgid "Unknown flag: %s"
msgstr "Etichetta sconosciuta: %s"
msgid "Dropbox"
msgstr ""
msgid "File system"
msgstr "File system"
msgid "Nextcloud"
msgstr ""
msgid "OneDrive"
msgstr "OneDrive"
msgid "OneDrive Dev (For testing only)"
msgstr "OneDrive Dev (solo per test)"
msgid "WebDAV"
msgstr ""
#, javascript-format
msgid "Unknown log level: %s"
msgstr "Livello di log sconosciuto: %s"
@@ -916,8 +1118,8 @@ msgstr "Elementi remoti eliminati: %d."
msgid "Fetched items: %d/%d."
msgstr "Elementi locali creati: %d."
#, javascript-format
msgid "State: \"%s\"."
#, fuzzy, javascript-format
msgid "State: %s."
msgstr "Stato: \"%s\"."
msgid "Cancelling..."
@@ -927,6 +1129,16 @@ msgstr "Cancellazione..."
msgid "Completed: %s"
msgstr "Completata: %s"
#, fuzzy, javascript-format
msgid "Last error: %s"
msgstr "Errore fatale:"
msgid "Idle"
msgstr ""
msgid "In progress"
msgstr ""
#, javascript-format
msgid "Synchronisation is already in progress. State: %s"
msgstr "La sincronizzazione è già in corso. Stato: %s"
@@ -941,6 +1153,10 @@ msgstr "Alcuni elementi non possono essere sincronizzati."
msgid "Conflicts"
msgstr "Conflitti"
#, fuzzy
msgid "Cannot move notebook to this location"
msgstr "Non posso spostare la nota nel blocco note \"%s\""
#, javascript-format
msgid "A notebook with this title already exists: \"%s\""
msgstr "Esiste già un blocco note col titolo \"%s\""
@@ -949,6 +1165,18 @@ msgstr "Esiste già un blocco note col titolo \"%s\""
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
msgstr "I blocchi non possono essere chiamati \"%s\". È un titolo riservato."
#, fuzzy
msgid "title"
msgstr "Senza titolo"
#, fuzzy
msgid "updated date"
msgstr "Aggiornato: %d."
#, fuzzy
msgid "created date"
msgstr "Creato: %d."
msgid "Untitled"
msgstr "Senza titolo"
@@ -991,12 +1219,59 @@ msgstr "Chiaro"
msgid "Dark"
msgstr "Scuro"
msgid "Show uncompleted todos on top of the lists"
#, fuzzy
msgid "Uncompleted to-dos on top"
msgstr "Mostra todo inclompleti in cima alla lista"
#, fuzzy
msgid "Show completed to-dos"
msgstr "Mostra todo inclompleti in cima alla lista"
msgid "Sort notes by"
msgstr ""
#, fuzzy
msgid "Reverse sort order"
msgstr "Inverti l'ordine."
msgid "Save geo-location with notes"
msgstr "Salva geo-localizzazione con le note"
#, fuzzy
msgid "When creating a new to-do:"
msgstr "Crea una nuova attività."
#, fuzzy
msgid "Focus title"
msgstr "Titolo della Nota:"
msgid "Focus body"
msgstr ""
#, fuzzy
msgid "When creating a new note:"
msgstr "Crea una nuova nota."
msgid "Show tray icon"
msgstr ""
msgid "Note: Does not work in all desktop environments."
msgstr ""
msgid "Global zoom percentage"
msgstr ""
msgid "Editor font family"
msgstr ""
msgid ""
"This must be *monospace* font or it will not work properly. If the font is "
"incorrect or empty, it will default to a generic monospace font."
msgstr ""
msgid "Automatically update the application"
msgstr "Aggiorna automaticamente l'applicazione"
msgid "Synchronisation interval"
msgstr "Intervallo di sincronizzazione"
@@ -1012,9 +1287,6 @@ msgstr "%d ora"
msgid "%d hours"
msgstr "%d ore"
msgid "Automatically update the application"
msgstr "Aggiorna automaticamente l'applicazione"
msgid "Show advanced options"
msgstr "Mostra opzioni avanzate"
@@ -1022,12 +1294,9 @@ msgid "Synchronisation target"
msgstr "Destinazione di sincronizzazione"
msgid ""
"The target to synchonise to. If synchronising with the file system, set "
"`sync.2.path` to specify the target directory."
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"La destinazione della sincronizzazione. Se si sincronizza con il file "
"system, impostare ' Sync. 2. Path ' per specificare la directory di "
"destinazione."
msgid "Directory to synchronise with (absolute path)"
msgstr ""
@@ -1039,10 +1308,78 @@ msgstr ""
"Il percorso di sincronizzazione quando la sincronizzazione è abilitata. Vedi "
"`sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Custom TLS certificates"
msgstr ""
msgid ""
"Comma-separated list of paths to directories to load the certificates from, "
"or path to individual cert files. For example: /my/cert_dir, /other/custom."
"pem"
msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Oprione non valida: \"%s\". I valori possibili sono: %s."
#, fuzzy
msgid "Joplin Export File"
msgstr "Esposta i files di Evernote"
msgid "Markdown"
msgstr ""
msgid "Joplin Export Directory"
msgstr ""
#, fuzzy
msgid "Evernote Export File"
msgstr "Esposta i files di Evernote"
msgid "Directory"
msgstr ""
#, javascript-format
msgid "Cannot load \"%s\" module for format \"%s\""
msgstr ""
#, javascript-format
msgid "Please specify import format for %s"
msgstr ""
#, javascript-format
msgid ""
"This item is currently encrypted: %s \"%s\". Please wait for all items to be "
"decrypted and try again."
msgstr ""
msgid "There is no data to export."
msgstr ""
#, fuzzy
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Per favore seleziona la nota o il blocco note da eliminare."
msgid "Items that cannot be synchronised"
msgstr "Elementi che non possono essere sincronizzati"
@@ -1117,6 +1454,10 @@ msgstr "Spostare le note %d sul blocco note \"%s\"?"
msgid "Press to set the decryption password."
msgstr ""
#, fuzzy
msgid "Save alarm"
msgstr "Imposta allarme"
msgid "Select date"
msgstr "Seleziona la data"
@@ -1126,6 +1467,39 @@ msgstr "Conferma"
msgid "Cancel synchronisation"
msgstr "Cancella la sincronizzazione"
#, fuzzy, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Elementi locali creati: %d."
msgid "New tags:"
msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
msgstr ""
msgid ""
"- Storage: to allow attaching files to notes and to enable filesystem "
"synchronisation."
msgstr ""
msgid "- Camera: to allow taking a picture and attaching it to a note."
msgstr ""
msgid "- Location: to allow attaching geo-location information to a note."
msgstr ""
msgid "Joplin website"
msgstr ""
#, fuzzy
msgid "Login with Dropbox"
msgstr "Accedi a OneDrive"
#, javascript-format
msgid "Master Key %s"
msgstr ""
@@ -1151,6 +1525,12 @@ msgstr "Il blocco note non può essere salvato: %s"
msgid "Edit notebook"
msgstr "Modifica blocco note"
msgid "Show all"
msgstr ""
msgid "Errors only"
msgstr ""
msgid "This note has been modified:"
msgstr "Questa note è stata modificata:"
@@ -1160,6 +1540,14 @@ msgstr "Salva i cambiamenti"
msgid "Discard changes"
msgstr "Ignora modifiche"
#, javascript-format
msgid "No item with ID %s"
msgstr ""
#, javascript-format
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Tipo di immagine non supportata: %s"
@@ -1170,6 +1558,9 @@ msgstr "Allega foto"
msgid "Attach any file"
msgstr "Allega qualsiasi file"
msgid "Share"
msgstr ""
msgid "Convert to note"
msgstr "Converti in nota"
@@ -1191,6 +1582,9 @@ msgstr "Cancella blocco note"
msgid "Login with OneDrive"
msgstr "Accedi a OneDrive"
msgid "Search"
msgstr "Cerca"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
@@ -1206,8 +1600,92 @@ msgstr ""
msgid "Welcome"
msgstr "Benvenuto"
#~ msgid "Note title:"
#~ msgstr "Titolo della Nota:"
#~ msgid "Searches"
#~ msgstr "Ricerche"
#, fuzzy
#~ msgid ""
#~ "Release notes:\n"
#~ "\n"
#~ "%s"
#~ msgstr "Eliminare le note?"
#~ msgid "Imports an Evernote notebook file (.enex file)."
#~ msgstr "Importa un file blocco note di Evernote (.enex file)."
#~ msgid ""
#~ "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
#~ msgstr ""
#~ "Il file \"%s\" sarà importato nel blocco note esistente \"%s\". "
#~ "Continuare?"
#~ msgid ""
#~ "New notebook \"%s\" will be created and file \"%s\" will be imported into "
#~ "it. Continue?"
#~ msgstr ""
#~ "Un nuovo blocco note \"%s\" sarà creato e al suo interno verrà importato "
#~ "il file \"%s\" . Continuare?"
#~ msgid "Import Evernote notes"
#~ msgstr "Importa le note da Evernote"
#~ msgid "Give focus to next pane"
#~ msgstr "Pannello successivo"
#~ msgid "Give focus to previous pane"
#~ msgstr "Pannello precedente"
#~ msgid "Enter command line mode"
#~ msgstr "Accedi alla modalità linea di comando"
#~ msgid "Exit command line mode"
#~ msgstr "Esci dalla modalità linea di comando"
#~ msgid "Edit the selected note"
#~ msgstr "Modifica la nota selezionata"
#~ msgid "Cancel the current command."
#~ msgstr "Cancella il comando corrente."
#~ msgid "Exit the application."
#~ msgstr "Esci dall'applicazione."
#~ msgid "Delete the currently selected note or notebook."
#~ msgstr "Elimina la nota o il blocco note selezionato."
#~ msgid "Set a to-do as completed / not completed"
#~ msgstr "Imposta un'attività come completata / non completata"
#~ msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
#~ msgstr ""
#~ "Scegli lo s[t]ato della [c]onsole: massimizzato/minimizzato/nascosto/"
#~ "visibile."
#~ msgid "[t]oggle note [m]etadata."
#~ msgstr "mos[t]ra/nascondi i [m]etadata nelle note."
#~ msgid "[M]ake a new [n]ote"
#~ msgstr "Crea ([M]ake) una nuova [n]ota"
#~ msgid "[M]ake a new [t]odo"
#~ msgstr "Crea ([M]ake) una nuova at[t]ività"
#~ msgid "[M]ake a new note[b]ook"
#~ msgstr "Crea ([M]ake) un nuovo [b]locco note"
#~ msgid "Copy ([Y]ank) the [n]ote to a notebook."
#~ msgstr "Copia ([Y]) la [n]ota in un blocco note."
#~ msgid "Move the note to a notebook."
#~ msgstr "Sposta la nota in un blocco note."
#~ msgid ""
#~ "The target to synchonise to. If synchronising with the file system, set "
#~ "`sync.2.path` to specify the target directory."
#~ msgstr ""
#~ "La destinazione della sincronizzazione. Se si sincronizza con il file "
#~ "system, impostare ' Sync. 2. Path ' per specificare la directory di "
#~ "destinazione."
#~ msgid "To-do title:"
#~ msgstr "Titolo dell'attività:"

View File

@@ -16,63 +16,12 @@ msgstr ""
"X-Generator: Poedit 2.0.5\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Give focus to next pane"
msgstr "次のペインへ"
msgid "Give focus to previous pane"
msgstr "前のペインへ"
msgid "Enter command line mode"
msgstr "コマンドラインモードに入る"
msgid "Exit command line mode"
msgstr "コマンドラインモードの終了"
msgid "Edit the selected note"
msgstr "選択したノートを編集"
msgid "Cancel the current command."
msgstr "現在のコマンドをキャンセル"
msgid "Exit the application."
msgstr "アプリケーションを終了する"
msgid "Delete the currently selected note or notebook."
msgstr "選択中のノートまたはノートブックを削除"
msgid "To delete a tag, untag the associated notes."
msgstr "タグを削除するには、関連するノートからタグを外してください。"
msgid "Please select the note or notebook to be deleted first."
msgstr "ます削除するノートかノートブックを選択してください。"
msgid "Set a to-do as completed / not completed"
msgstr "ToDoを完了/未完に設定"
msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
msgstr "コンソールを最大表示/最小表示/非表示/可視で切り替える([t][c])"
msgid "Search"
msgstr "検索"
msgid "[t]oggle note [m]etadata."
msgstr "ノートのメタ情報を切り替える [tm]"
msgid "[M]ake a new [n]ote"
msgstr "新しいノートの作成 [mn]"
msgid "[M]ake a new [t]odo"
msgstr "新しいToDoの作成 [mt]"
msgid "[M]ake a new note[b]ook"
msgstr "新しいノートブックの作成 [mb]"
msgid "Copy ([Y]ank) the [n]ote to a notebook."
msgstr "ノートをノートブックにコピー [yn]"
msgid "Move the note to a notebook."
msgstr "ノートをノートブックに移動"
msgid "Press Ctrl+D or type \"exit\" to exit the application"
msgstr "アプリケーションを終了するには、Ctrl+Dまたは\"exit\"と入力してください"
@@ -223,19 +172,28 @@ msgstr "\"%s\"というノートはありません。お作りいたしますか
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr "ノートの編集の開始。エディタを閉じると元の画面に戻ることが出来ます。"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr "ノートは保存されました。"
msgid "Exits the application."
msgstr "アプリケーションの終了。"
#, fuzzy
msgid ""
"Exports Joplin data to the given directory. By default, it will export the "
"Exports Joplin data to the given path. By default, it will export the "
"complete database including notebooks, notes, tags and resources."
msgstr ""
"Joplinのデータを選択されたディレクトリに出力する。標準では、ノートブック・"
"ノート・タグ・添付データを含むすべてのデータベースを出力します。"
#, fuzzy, javascript-format
msgid "Destination format: %s"
msgstr "日付の形式"
msgid "Exports only the given note."
msgstr "選択されたノートのみを出力する。"
@@ -248,6 +206,10 @@ msgstr "ノートの位置情報URLを表示する。"
msgid "Displays usage information."
msgstr "使い方を表示する。"
#, javascript-format
msgid "For information on how to customise the shortcuts please visit %s"
msgstr ""
msgid "Shortcuts are not available in CLI mode."
msgstr "CLIモードではショートカットは使用できません。"
@@ -262,7 +224,7 @@ msgid "The possible commands are:"
msgstr "有効なコマンドは:"
msgid ""
"In any command, a note or notebook can be refered to by title or ID, or "
"In any command, a note or notebook can be referred to by title or ID, or "
"using the shortcuts `$n` or `$b` for, respectively, the currently selected "
"note or notebook. `$c` can be used to refer to the currently selected item."
msgstr ""
@@ -278,7 +240,8 @@ msgid ""
"(including this console)."
msgstr "リストや入力エリアの移動には矢印キーまたはPage Up/Downを使用します。"
msgid "To maximise/minimise the console, press \"TC\"."
#, fuzzy
msgid "To maximise/minimise the console, press \"tc\"."
msgstr "コンソールの最大化・最小化には\"TC\"と入力してください。"
msgid "To enter command line mode, press \":\""
@@ -287,31 +250,23 @@ msgstr "コマンドラインモードに入るには、\":\"を入力してく
msgid "To exit command line mode, press ESCAPE"
msgstr "コマンドラインモードを終了するには、ESCキーを押してください。"
#, fuzzy
msgid ""
"For the complete list of available keyboard shortcuts, type `help shortcuts`"
"For the list of keyboard shortcuts and config options, type `help keymap`"
msgstr ""
"有効なすべてのキーボードショートカットを表示するには、`help shortcuts`と入力"
"してください。"
msgid "Imports an Evernote notebook file (.enex file)."
msgstr "Evernoteノートブックファイル(.enex)のインポート"
msgid "Imports data into Joplin."
msgstr ""
#, fuzzy, javascript-format
msgid "Source format: %s"
msgstr "コマンドが違います:%s"
msgid "Do not ask for confirmation."
msgstr "確認を行わない。"
#, javascript-format
msgid "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
msgstr ""
"ファイル \"%s\" はノートブック \"%s\"に取り込まれます。よろしいですか?"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into "
"it. Continue?"
msgstr ""
"新しいノートブック\"%s\"が作成され、ファイル\"%s\"が取り込まれます。よろしい"
"ですか?"
#, javascript-format
msgid "Found: %d."
msgstr "見つかりました:%d"
@@ -406,7 +361,10 @@ msgstr "指定されたノートブックを削除します。"
msgid "Deletes the notebook without asking for confirmation."
msgstr "ノートブックを確認なしで削除します。"
msgid "Delete notebook? All notes within this notebook will also be deleted."
#, fuzzy
msgid ""
"Delete notebook? All notes and sub-notebooks within this notebook will also "
"be deleted."
msgstr "ノートブックを削除しますか?中にあるノートはすべて消えてしまいます。"
msgid "Deletes the notes matching <note-pattern>."
@@ -446,6 +404,24 @@ msgstr "リモート保存領域と同期します。"
msgid "Sync to provided target (defaults to sync.target config value)"
msgstr "指定のターゲットと同期します。(標準: sync.targetの設定値)"
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr "認証は完了していません(認証トークンが得られませんでした)"
msgid ""
"To allow Joplin to synchronise with Dropbox, please follow the steps below:"
msgstr ""
msgid "Step 1: Open this URL in your browser to authorise the application:"
msgstr ""
msgid "Step 2: Enter the code provided by Dropbox:"
msgstr ""
#, javascript-format
msgid "Not authentified with %s. Please provide any missing credentials."
msgstr ""
msgid "Synchronisation is already in progress."
msgstr "同期はすでに実行中です。"
@@ -458,10 +434,6 @@ msgstr ""
"ロックファイルがすでに保持されています。同期作業が行われていない場合は、\"%s"
"\"にあるロックファイルを削除して、作業を再度行ってください。"
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr "認証は完了していません(認証トークンが得られませんでした)"
#, javascript-format
msgid "Synchronisation target: %s (%s)"
msgstr "同期先: %s (%s)"
@@ -534,6 +506,10 @@ msgstr "規定値: %s"
msgid "Possible keys/values:"
msgstr "取り得るキーバリュー: "
#, fuzzy
msgid "Type `joplin help` for usage information."
msgstr "使い方を表示する。"
msgid "Fatal error:"
msgstr "致命的なエラー: "
@@ -583,6 +559,18 @@ msgid ""
"background and will be available soon."
msgstr ""
#, javascript-format
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, fuzzy
msgid "PDF File"
msgstr "ファイル"
msgid "File"
msgstr "ファイル"
@@ -595,11 +583,19 @@ msgstr "新しいToDo"
msgid "New notebook"
msgstr "新しいノートブック"
msgid "Import Evernote notes"
msgstr "Evernoteのインポート"
msgid "Import"
msgstr "インポート"
msgid "Evernote Export Files"
msgstr "Evernote Exportファイル"
#, fuzzy
msgid "Export"
msgstr "インポート"
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
msgid "Quit"
msgstr "終了"
@@ -616,15 +612,36 @@ msgstr "切り取り"
msgid "Paste"
msgstr "貼り付け"
msgid "Bold"
msgstr ""
msgid "Italic"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Search in all the notes"
msgstr "すべてのノートを検索"
msgid "View"
msgstr ""
msgid "Toggle sidebar"
msgstr ""
msgid "Toggle editor layout"
msgstr ""
msgid "Tools"
msgstr "ツール"
msgid "Synchronisation status"
msgstr "同期状況"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr ""
@@ -638,6 +655,13 @@ msgstr "ヘルプ"
msgid "Website and documentation"
msgstr "Webサイトとドキュメント"
#, fuzzy
msgid "Make a donation"
msgstr "Webサイトとドキュメント"
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr "Joplinについて"
@@ -645,12 +669,78 @@ msgstr "Joplinについて"
msgid "%s %s (%s, %s)"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr ""
msgid "Exit"
msgstr ""
msgid "OK"
msgstr ""
msgid "Cancel"
msgstr "キャンセル"
msgid "Current version is up-to-date."
msgstr ""
msgid "An update is available, do you want to download it now?"
msgstr ""
msgid "Yes"
msgstr ""
msgid "No"
msgstr ""
msgid "The web clipper service is enabled and set to auto-start."
msgstr ""
#, javascript-format
msgid "Status: Started on port %d"
msgstr ""
#, fuzzy, javascript-format
msgid "Status: %s"
msgstr "状態: \"%s\"。"
msgid "Disable Web Clipper Service"
msgstr ""
msgid "The web clipper service is not enabled."
msgstr ""
msgid "Enable Web Clipper Service"
msgstr ""
msgid ""
"Joplin Web Clipper allows saving web pages and screenshots from your browser "
"to Joplin."
msgstr ""
msgid "In order to use the web clipper, you need to do the following:"
msgstr ""
msgid "Step 1: Enable the clipper service"
msgstr ""
msgid ""
"This service allows the browser extension to communicate with Joplin. When "
"enabling it your firewall may ask you to give permission to Joplin to listen "
"to a particular port."
msgstr ""
msgid "Step 2: Install the extension"
msgstr ""
msgid "Download and install the relevant extension for your browser:"
msgstr ""
#, fuzzy
msgid "Check synchronisation configuration"
msgstr "同期の中止"
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "ノートと設定は、%sに保存されます。"
@@ -658,6 +748,9 @@ msgstr "ノートと設定は、%sに保存されます。"
msgid "Save"
msgstr "保存"
msgid "Submit"
msgstr ""
msgid ""
"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 "
@@ -711,6 +804,20 @@ msgstr ""
"注意:\"active\"に指定されたマスターキーのみが暗号化に使用されます。暗号化に"
"使用されたキーの応じて、すべてのキーが暗号解除のために使用されます。"
msgid "Missing Master Keys"
msgstr ""
msgid ""
"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."
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
msgstr ""
msgid "Status"
msgstr "状態"
@@ -745,12 +852,20 @@ msgstr "それぞれのタグをカンマ(,)で区切ってください。"
msgid "Rename notebook:"
msgstr "ノートブックの名前を変更:"
#, fuzzy
msgid "Rename tag:"
msgstr "名前の変更"
msgid "Set alarm:"
msgstr "アラームをセット:"
msgid "Layout"
msgstr "レイアウト"
#, fuzzy
msgid "Search..."
msgstr "検索"
msgid "Some items cannot be synchronised."
msgstr "いくつかの項目は同期されませんでした。"
@@ -770,6 +885,9 @@ msgstr "タグの追加・削除"
msgid "Switch between note and to-do type"
msgstr "ノートとToDoを切り替え"
msgid "Copy Markdown link"
msgstr ""
msgid "Delete"
msgstr "削除"
@@ -783,16 +901,95 @@ msgid ""
"There is currently no notebook. Create one by clicking on \"New notebook\"."
msgstr "ノートブックがありません。新しいノートブックを作成してください。"
msgid "Open..."
msgstr ""
#, fuzzy, javascript-format
msgid "This file could not be opened: %s"
msgstr "ノートブックは保存できませんでした:%s"
#, fuzzy
msgid "Save as..."
msgstr "変更を保存"
msgid "Copy path to clipboard"
msgstr ""
#, javascript-format
msgid "Unsupported link or message: %s"
msgstr ""
#, javascript-format
msgid ""
"This note has no content. Click on \"%s\" to toggle the editor and edit the "
"note."
msgstr ""
msgid "strong text"
msgstr ""
msgid "emphasized text"
msgstr ""
msgid "List item"
msgstr ""
msgid "Insert Hyperlink"
msgstr ""
msgid "Attach file"
msgstr "ファイルを添付"
msgid "Tags"
msgstr "タグ"
msgid "Set alarm"
msgstr "アラームをセット"
#, javascript-format
msgid "In: %s"
msgstr ""
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
msgid "Bulleted List"
msgstr ""
msgid "Checkbox"
msgstr ""
msgid "Heading"
msgstr ""
msgid "Horizontal Rule"
msgstr ""
msgid "Click to stop external editing"
msgstr ""
#, fuzzy
msgid "Watching..."
msgstr "中止中..."
#, fuzzy
msgid "to-do"
msgstr "新しいToDo"
#, fuzzy
msgid "note"
msgstr "新しいノート"
#, fuzzy, javascript-format
msgid "Creating new %s..."
msgstr "ノートのインポート…"
msgid "Refresh"
msgstr "更新"
@@ -802,8 +999,8 @@ msgstr "クリア"
msgid "OneDrive Login"
msgstr "OneDriveログイン"
msgid "Import"
msgstr "インポート"
msgid "Dropbox Login"
msgstr ""
msgid "Options"
msgstr "オプション"
@@ -814,6 +1011,10 @@ msgstr "同期状況"
msgid "Encryption Options"
msgstr ""
#, fuzzy
msgid "Clipper Options"
msgstr "オプション"
msgid "Remove this tag from all the notes?"
msgstr "すべてのノートからこのタグを削除しますか?"
@@ -829,12 +1030,6 @@ msgstr "同期"
msgid "Notebooks"
msgstr "ノートブック"
msgid "Tags"
msgstr "タグ"
msgid "Searches"
msgstr "検索"
msgid "Please select where the sync status should be exported to"
msgstr "同期状況の出力先を選択してください"
@@ -846,15 +1041,24 @@ msgstr "使用方法: %s"
msgid "Unknown flag: %s"
msgstr "不明なフラグ: %s"
msgid "Dropbox"
msgstr ""
msgid "File system"
msgstr "ファイルシステム"
msgid "Nextcloud"
msgstr ""
msgid "OneDrive"
msgstr ""
msgid "OneDrive Dev (For testing only)"
msgstr ""
msgid "WebDAV"
msgstr ""
#, javascript-format
msgid "Unknown log level: %s"
msgstr ""
@@ -917,8 +1121,8 @@ msgstr "リモートアイテムの削除: %d."
msgid "Fetched items: %d/%d."
msgstr "ローカルアイテムの作成: %d."
#, javascript-format
msgid "State: \"%s\"."
#, fuzzy, javascript-format
msgid "State: %s."
msgstr "状態: \"%s\"。"
msgid "Cancelling..."
@@ -928,6 +1132,16 @@ msgstr "中止中..."
msgid "Completed: %s"
msgstr "完了: %s"
#, fuzzy, javascript-format
msgid "Last error: %s"
msgstr "致命的なエラー: "
msgid "Idle"
msgstr ""
msgid "In progress"
msgstr ""
#, javascript-format
msgid "Synchronisation is already in progress. State: %s"
msgstr "同期作業はすでに実行中です。状態: %s"
@@ -942,6 +1156,10 @@ msgstr "いくつかの項目は同期されませんでした。"
msgid "Conflicts"
msgstr "衝突"
#, fuzzy
msgid "Cannot move notebook to this location"
msgstr "ノートをノートブック \"%s\"に移動できませんでした。"
#, javascript-format
msgid "A notebook with this title already exists: \"%s\""
msgstr "\"%s\"という名前のノートブックはすでに存在しています。"
@@ -952,6 +1170,18 @@ msgstr ""
"\"%s\"と言う名前はシステムで使用するために予約済みです。名前の変更が出来ませ"
"ん。"
#, fuzzy
msgid "title"
msgstr "名称未設定"
#, fuzzy
msgid "updated date"
msgstr "アップデートしました:%d"
#, fuzzy
msgid "created date"
msgstr "作成しました:%d"
msgid "Untitled"
msgstr "名称未設定"
@@ -994,12 +1224,59 @@ msgstr "明るい"
msgid "Dark"
msgstr "暗い"
msgid "Show uncompleted todos on top of the lists"
#, fuzzy
msgid "Uncompleted to-dos on top"
msgstr "未完のToDoをリストの上部に表示"
#, fuzzy
msgid "Show completed to-dos"
msgstr "未完のToDoをリストの上部に表示"
msgid "Sort notes by"
msgstr ""
#, fuzzy
msgid "Reverse sort order"
msgstr "逆順に並び替える。"
msgid "Save geo-location with notes"
msgstr "ノートに位置情報を保存"
#, fuzzy
msgid "When creating a new to-do:"
msgstr "新しいToDoを作成します。"
#, fuzzy
msgid "Focus title"
msgstr "ノートの題名:"
msgid "Focus body"
msgstr ""
#, fuzzy
msgid "When creating a new note:"
msgstr "あたらしいノートを作成します。"
msgid "Show tray icon"
msgstr ""
msgid "Note: Does not work in all desktop environments."
msgstr ""
msgid "Global zoom percentage"
msgstr ""
msgid "Editor font family"
msgstr ""
msgid ""
"This must be *monospace* font or it will not work properly. If the font is "
"incorrect or empty, it will default to a generic monospace font."
msgstr ""
msgid "Automatically update the application"
msgstr "アプリケーションの自動更新"
msgid "Synchronisation interval"
msgstr "同期間隔"
@@ -1015,9 +1292,6 @@ msgstr "%d 時間"
msgid "%d hours"
msgstr "%d 時間"
msgid "Automatically update the application"
msgstr "アプリケーションの自動更新"
msgid "Show advanced options"
msgstr "詳細な設定の表示"
@@ -1025,11 +1299,9 @@ msgid "Synchronisation target"
msgstr "同期先"
msgid ""
"The target to synchonise to. If synchronising with the file system, set "
"`sync.2.path` to specify the target directory."
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"同期先です。ローカルのファイルシステムと同期する場合は、`sync.2.path`を同期先"
"のディレクトリに設定してください。"
msgid "Directory to synchronise with (absolute path)"
msgstr "同期先のディレクトリ(絶対パス)"
@@ -1041,10 +1313,78 @@ msgstr ""
"ファイルシステム同期の有効時に同期を行うパスです。`sync.target`も参考にしてく"
"ださい。"
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Custom TLS certificates"
msgstr ""
msgid ""
"Comma-separated list of paths to directories to load the certificates from, "
"or path to individual cert files. For example: /my/cert_dir, /other/custom."
"pem"
msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "無効な設定値: \"%s\"。有効な値は: %sです。"
#, fuzzy
msgid "Joplin Export File"
msgstr "Evernote Exportファイル"
msgid "Markdown"
msgstr ""
msgid "Joplin Export Directory"
msgstr ""
#, fuzzy
msgid "Evernote Export File"
msgstr "Evernote Exportファイル"
msgid "Directory"
msgstr ""
#, javascript-format
msgid "Cannot load \"%s\" module for format \"%s\""
msgstr ""
#, javascript-format
msgid "Please specify import format for %s"
msgstr ""
#, javascript-format
msgid ""
"This item is currently encrypted: %s \"%s\". Please wait for all items to be "
"decrypted and try again."
msgstr ""
msgid "There is no data to export."
msgstr ""
#, fuzzy
msgid "Please specify the notebook where the notes should be imported to."
msgstr "同期状況の出力先を選択してください"
msgid "Items that cannot be synchronised"
msgstr "同期が出来なかったアイテム"
@@ -1119,6 +1459,10 @@ msgstr "%d個のノートを\"%s\"に移動しますか?"
msgid "Press to set the decryption password."
msgstr ""
#, fuzzy
msgid "Save alarm"
msgstr "アラームをセット"
msgid "Select date"
msgstr "日付の選択"
@@ -1128,6 +1472,39 @@ msgstr "確認"
msgid "Cancel synchronisation"
msgstr "同期の中止"
#, fuzzy, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "ローカルアイテムの作成: %d."
msgid "New tags:"
msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
msgstr ""
msgid ""
"- Storage: to allow attaching files to notes and to enable filesystem "
"synchronisation."
msgstr ""
msgid "- Camera: to allow taking a picture and attaching it to a note."
msgstr ""
msgid "- Location: to allow attaching geo-location information to a note."
msgstr ""
msgid "Joplin website"
msgstr ""
#, fuzzy
msgid "Login with Dropbox"
msgstr "OneDriveログイン"
#, javascript-format
msgid "Master Key %s"
msgstr ""
@@ -1153,6 +1530,12 @@ msgstr "ノートブックは保存できませんでした:%s"
msgid "Edit notebook"
msgstr "ノートブックの編集"
msgid "Show all"
msgstr ""
msgid "Errors only"
msgstr ""
msgid "This note has been modified:"
msgstr "ノートは変更されています:"
@@ -1162,6 +1545,14 @@ msgstr "変更を保存"
msgid "Discard changes"
msgstr "変更を破棄"
#, javascript-format
msgid "No item with ID %s"
msgstr ""
#, javascript-format
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "サポートされていないイメージ形式: %s."
@@ -1172,6 +1563,9 @@ msgstr "写真を添付"
msgid "Attach any file"
msgstr "ファイルを添付"
msgid "Share"
msgstr ""
msgid "Convert to note"
msgstr "ノートに変換"
@@ -1193,6 +1587,9 @@ msgstr "ノートブックを削除"
msgid "Login with OneDrive"
msgstr "OneDriveログイン"
msgid "Search"
msgstr "検索"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
@@ -1208,8 +1605,88 @@ msgstr ""
msgid "Welcome"
msgstr "ようこそ"
#~ msgid "Note title:"
#~ msgstr "ノートの題名:"
#~ msgid "Searches"
#~ msgstr "検索"
#, fuzzy
#~ msgid ""
#~ "Release notes:\n"
#~ "\n"
#~ "%s"
#~ msgstr "ノートを削除しますか?"
#~ msgid "Imports an Evernote notebook file (.enex file)."
#~ msgstr "Evernoteノートブックファイル(.enex)のインポート"
#~ msgid ""
#~ "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
#~ msgstr ""
#~ "ファイル \"%s\" はノートブック \"%s\"に取り込まれます。よろしいですか?"
#~ msgid ""
#~ "New notebook \"%s\" will be created and file \"%s\" will be imported into "
#~ "it. Continue?"
#~ msgstr ""
#~ "新しいノートブック\"%s\"が作成され、ファイル\"%s\"が取り込まれます。よろし"
#~ "いですか?"
#~ msgid "Import Evernote notes"
#~ msgstr "Evernoteのインポート"
#~ msgid "Give focus to next pane"
#~ msgstr "次のペインへ"
#~ msgid "Give focus to previous pane"
#~ msgstr "前のペインへ"
#~ msgid "Enter command line mode"
#~ msgstr "コマンドラインモードに入る"
#~ msgid "Exit command line mode"
#~ msgstr "コマンドラインモードの終了"
#~ msgid "Edit the selected note"
#~ msgstr "選択したノートを編集"
#~ msgid "Cancel the current command."
#~ msgstr "現在のコマンドをキャンセル"
#~ msgid "Exit the application."
#~ msgstr "アプリケーションを終了する"
#~ msgid "Delete the currently selected note or notebook."
#~ msgstr "選択中のノートまたはノートブックを削除"
#~ msgid "Set a to-do as completed / not completed"
#~ msgstr "ToDoを完了/未完に設定"
#~ msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
#~ msgstr "コンソールを最大表示/最小表示/非表示/可視で切り替える([t][c])"
#~ msgid "[t]oggle note [m]etadata."
#~ msgstr "ノートのメタ情報を切り替える [tm]"
#~ msgid "[M]ake a new [n]ote"
#~ msgstr "新しいノートの作成 [mn]"
#~ msgid "[M]ake a new [t]odo"
#~ msgstr "新しいToDoの作成 [mt]"
#~ msgid "[M]ake a new note[b]ook"
#~ msgstr "新しいノートブックの作成 [mb]"
#~ msgid "Copy ([Y]ank) the [n]ote to a notebook."
#~ msgstr "ノートをノートブックにコピー [yn]"
#~ msgid "Move the note to a notebook."
#~ msgstr "ノートをノートブックに移動"
#~ msgid ""
#~ "The target to synchonise to. If synchronising with the file system, set "
#~ "`sync.2.path` to specify the target directory."
#~ msgstr ""
#~ "同期先です。ローカルのファイルシステムと同期する場合は、`sync.2.path`を同"
#~ "期先のディレクトリに設定してください。"
#~ msgid "To-do title:"
#~ msgstr "ToDoの題名:"

View File

@@ -15,63 +15,12 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Give focus to next pane"
msgstr ""
msgid "Give focus to previous pane"
msgstr ""
msgid "Enter command line mode"
msgstr ""
msgid "Exit command line mode"
msgstr ""
msgid "Edit the selected note"
msgstr ""
msgid "Cancel the current command."
msgstr ""
msgid "Exit the application."
msgstr ""
msgid "Delete the currently selected note or notebook."
msgstr ""
msgid "To delete a tag, untag the associated notes."
msgstr ""
msgid "Please select the note or notebook to be deleted first."
msgstr ""
msgid "Set a to-do as completed / not completed"
msgstr ""
msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
msgstr ""
msgid "Search"
msgstr ""
msgid "[t]oggle note [m]etadata."
msgstr ""
msgid "[M]ake a new [n]ote"
msgstr ""
msgid "[M]ake a new [t]odo"
msgstr ""
msgid "[M]ake a new note[b]ook"
msgstr ""
msgid "Copy ([Y]ank) the [n]ote to a notebook."
msgstr ""
msgid "Move the note to a notebook."
msgstr ""
msgid "Press Ctrl+D or type \"exit\" to exit the application"
msgstr ""
@@ -214,6 +163,10 @@ msgstr ""
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr ""
@@ -221,10 +174,14 @@ msgid "Exits the application."
msgstr ""
msgid ""
"Exports Joplin data to the given directory. By default, it will export the "
"Exports Joplin data to the given path. By default, it will export the "
"complete database including notebooks, notes, tags and resources."
msgstr ""
#, javascript-format
msgid "Destination format: %s"
msgstr ""
msgid "Exports only the given note."
msgstr ""
@@ -237,6 +194,10 @@ msgstr ""
msgid "Displays usage information."
msgstr ""
#, javascript-format
msgid "For information on how to customise the shortcuts please visit %s"
msgstr ""
msgid "Shortcuts are not available in CLI mode."
msgstr ""
@@ -249,7 +210,7 @@ msgid "The possible commands are:"
msgstr ""
msgid ""
"In any command, a note or notebook can be refered to by title or ID, or "
"In any command, a note or notebook can be referred to by title or ID, or "
"using the shortcuts `$n` or `$b` for, respectively, the currently selected "
"note or notebook. `$c` can be used to refer to the currently selected item."
msgstr ""
@@ -262,7 +223,7 @@ msgid ""
"(including this console)."
msgstr ""
msgid "To maximise/minimise the console, press \"TC\"."
msgid "To maximise/minimise the console, press \"tc\"."
msgstr ""
msgid "To enter command line mode, press \":\""
@@ -272,25 +233,19 @@ msgid "To exit command line mode, press ESCAPE"
msgstr ""
msgid ""
"For the complete list of available keyboard shortcuts, type `help shortcuts`"
"For the list of keyboard shortcuts and config options, type `help keymap`"
msgstr ""
msgid "Imports an Evernote notebook file (.enex file)."
msgid "Imports data into Joplin."
msgstr ""
#, javascript-format
msgid "Source format: %s"
msgstr ""
msgid "Do not ask for confirmation."
msgstr ""
#, javascript-format
msgid "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
msgstr ""
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into "
"it. Continue?"
msgstr ""
#, javascript-format
msgid "Found: %d."
msgstr ""
@@ -377,7 +332,9 @@ msgstr ""
msgid "Deletes the notebook without asking for confirmation."
msgstr ""
msgid "Delete notebook? All notes within this notebook will also be deleted."
msgid ""
"Delete notebook? All notes and sub-notebooks within this notebook will also "
"be deleted."
msgstr ""
msgid "Deletes the notes matching <note-pattern>."
@@ -413,6 +370,24 @@ msgstr ""
msgid "Sync to provided target (defaults to sync.target config value)"
msgstr ""
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr ""
msgid ""
"To allow Joplin to synchronise with Dropbox, please follow the steps below:"
msgstr ""
msgid "Step 1: Open this URL in your browser to authorise the application:"
msgstr ""
msgid "Step 2: Enter the code provided by Dropbox:"
msgstr ""
#, javascript-format
msgid "Not authentified with %s. Please provide any missing credentials."
msgstr ""
msgid "Synchronisation is already in progress."
msgstr ""
@@ -423,10 +398,6 @@ msgid ""
"operation."
msgstr ""
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr ""
#, javascript-format
msgid "Synchronisation target: %s (%s)"
msgstr ""
@@ -490,6 +461,9 @@ msgstr ""
msgid "Possible keys/values:"
msgstr ""
msgid "Type `joplin help` for usage information."
msgstr ""
msgid "Fatal error:"
msgstr ""
@@ -527,6 +501,17 @@ msgid ""
"background and will be available soon."
msgstr ""
#, javascript-format
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "PDF File"
msgstr ""
msgid "File"
msgstr ""
@@ -539,10 +524,17 @@ msgstr ""
msgid "New notebook"
msgstr ""
msgid "Import Evernote notes"
msgid "Import"
msgstr ""
msgid "Evernote Export Files"
msgid "Export"
msgstr ""
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
msgid "Quit"
@@ -560,15 +552,36 @@ msgstr ""
msgid "Paste"
msgstr ""
msgid "Bold"
msgstr ""
msgid "Italic"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Search in all the notes"
msgstr ""
msgid "View"
msgstr ""
msgid "Toggle sidebar"
msgstr ""
msgid "Toggle editor layout"
msgstr ""
msgid "Tools"
msgstr ""
msgid "Synchronisation status"
msgstr ""
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr ""
@@ -581,6 +594,12 @@ msgstr ""
msgid "Website and documentation"
msgstr ""
msgid "Make a donation"
msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr ""
@@ -588,12 +607,77 @@ msgstr ""
msgid "%s %s (%s, %s)"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr ""
msgid "Exit"
msgstr ""
msgid "OK"
msgstr ""
msgid "Cancel"
msgstr ""
msgid "Current version is up-to-date."
msgstr ""
msgid "An update is available, do you want to download it now?"
msgstr ""
msgid "Yes"
msgstr ""
msgid "No"
msgstr ""
msgid "The web clipper service is enabled and set to auto-start."
msgstr ""
#, javascript-format
msgid "Status: Started on port %d"
msgstr ""
#, javascript-format
msgid "Status: %s"
msgstr ""
msgid "Disable Web Clipper Service"
msgstr ""
msgid "The web clipper service is not enabled."
msgstr ""
msgid "Enable Web Clipper Service"
msgstr ""
msgid ""
"Joplin Web Clipper allows saving web pages and screenshots from your browser "
"to Joplin."
msgstr ""
msgid "In order to use the web clipper, you need to do the following:"
msgstr ""
msgid "Step 1: Enable the clipper service"
msgstr ""
msgid ""
"This service allows the browser extension to communicate with Joplin. When "
"enabling it your firewall may ask you to give permission to Joplin to listen "
"to a particular port."
msgstr ""
msgid "Step 2: Install the extension"
msgstr ""
msgid "Download and install the relevant extension for your browser:"
msgstr ""
msgid "Check synchronisation configuration"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr ""
@@ -601,6 +685,9 @@ msgstr ""
msgid "Save"
msgstr ""
msgid "Submit"
msgstr ""
msgid ""
"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 "
@@ -650,6 +737,20 @@ msgid ""
"how the notes or notebooks were originally encrypted."
msgstr ""
msgid "Missing Master Keys"
msgstr ""
msgid ""
"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."
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
msgstr ""
msgid "Status"
msgstr ""
@@ -682,12 +783,18 @@ msgstr ""
msgid "Rename notebook:"
msgstr ""
msgid "Rename tag:"
msgstr ""
msgid "Set alarm:"
msgstr ""
msgid "Layout"
msgstr ""
msgid "Search..."
msgstr ""
msgid "Some items cannot be synchronised."
msgstr ""
@@ -706,6 +813,9 @@ msgstr ""
msgid "Switch between note and to-do type"
msgstr ""
msgid "Copy Markdown link"
msgstr ""
msgid "Delete"
msgstr ""
@@ -719,16 +829,91 @@ msgid ""
"There is currently no notebook. Create one by clicking on \"New notebook\"."
msgstr ""
msgid "Open..."
msgstr ""
#, javascript-format
msgid "This file could not be opened: %s"
msgstr ""
msgid "Save as..."
msgstr ""
msgid "Copy path to clipboard"
msgstr ""
#, javascript-format
msgid "Unsupported link or message: %s"
msgstr ""
#, javascript-format
msgid ""
"This note has no content. Click on \"%s\" to toggle the editor and edit the "
"note."
msgstr ""
msgid "strong text"
msgstr ""
msgid "emphasized text"
msgstr ""
msgid "List item"
msgstr ""
msgid "Insert Hyperlink"
msgstr ""
msgid "Attach file"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Set alarm"
msgstr ""
#, javascript-format
msgid "In: %s"
msgstr ""
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
msgid "Bulleted List"
msgstr ""
msgid "Checkbox"
msgstr ""
msgid "Heading"
msgstr ""
msgid "Horizontal Rule"
msgstr ""
msgid "Click to stop external editing"
msgstr ""
msgid "Watching..."
msgstr ""
msgid "to-do"
msgstr ""
msgid "note"
msgstr ""
#, javascript-format
msgid "Creating new %s..."
msgstr ""
msgid "Refresh"
msgstr ""
@@ -738,7 +923,7 @@ msgstr ""
msgid "OneDrive Login"
msgstr ""
msgid "Import"
msgid "Dropbox Login"
msgstr ""
msgid "Options"
@@ -750,6 +935,9 @@ msgstr ""
msgid "Encryption Options"
msgstr ""
msgid "Clipper Options"
msgstr ""
msgid "Remove this tag from all the notes?"
msgstr ""
@@ -765,12 +953,6 @@ msgstr ""
msgid "Notebooks"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Searches"
msgstr ""
msgid "Please select where the sync status should be exported to"
msgstr ""
@@ -782,15 +964,24 @@ msgstr ""
msgid "Unknown flag: %s"
msgstr ""
msgid "Dropbox"
msgstr ""
msgid "File system"
msgstr ""
msgid "Nextcloud"
msgstr ""
msgid "OneDrive"
msgstr ""
msgid "OneDrive Dev (For testing only)"
msgstr ""
msgid "WebDAV"
msgstr ""
#, javascript-format
msgid "Unknown log level: %s"
msgstr ""
@@ -846,7 +1037,7 @@ msgid "Fetched items: %d/%d."
msgstr ""
#, javascript-format
msgid "State: \"%s\"."
msgid "State: %s."
msgstr ""
msgid "Cancelling..."
@@ -856,6 +1047,16 @@ msgstr ""
msgid "Completed: %s"
msgstr ""
#, javascript-format
msgid "Last error: %s"
msgstr ""
msgid "Idle"
msgstr ""
msgid "In progress"
msgstr ""
#, javascript-format
msgid "Synchronisation is already in progress. State: %s"
msgstr ""
@@ -869,6 +1070,9 @@ msgstr ""
msgid "Conflicts"
msgstr ""
msgid "Cannot move notebook to this location"
msgstr ""
#, javascript-format
msgid "A notebook with this title already exists: \"%s\""
msgstr ""
@@ -877,6 +1081,15 @@ msgstr ""
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
msgstr ""
msgid "title"
msgstr ""
msgid "updated date"
msgstr ""
msgid "created date"
msgstr ""
msgid "Untitled"
msgstr ""
@@ -917,12 +1130,53 @@ msgstr ""
msgid "Dark"
msgstr ""
msgid "Show uncompleted todos on top of the lists"
msgid "Uncompleted to-dos on top"
msgstr ""
msgid "Show completed to-dos"
msgstr ""
msgid "Sort notes by"
msgstr ""
msgid "Reverse sort order"
msgstr ""
msgid "Save geo-location with notes"
msgstr ""
msgid "When creating a new to-do:"
msgstr ""
msgid "Focus title"
msgstr ""
msgid "Focus body"
msgstr ""
msgid "When creating a new note:"
msgstr ""
msgid "Show tray icon"
msgstr ""
msgid "Note: Does not work in all desktop environments."
msgstr ""
msgid "Global zoom percentage"
msgstr ""
msgid "Editor font family"
msgstr ""
msgid ""
"This must be *monospace* font or it will not work properly. If the font is "
"incorrect or empty, it will default to a generic monospace font."
msgstr ""
msgid "Automatically update the application"
msgstr ""
msgid "Synchronisation interval"
msgstr ""
@@ -938,9 +1192,6 @@ msgstr ""
msgid "%d hours"
msgstr ""
msgid "Automatically update the application"
msgstr ""
msgid "Show advanced options"
msgstr ""
@@ -948,8 +1199,8 @@ msgid "Synchronisation target"
msgstr ""
msgid ""
"The target to synchonise to. If synchronising with the file system, set "
"`sync.2.path` to specify the target directory."
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
@@ -960,10 +1211,75 @@ msgid ""
"See `sync.target`."
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Custom TLS certificates"
msgstr ""
msgid ""
"Comma-separated list of paths to directories to load the certificates from, "
"or path to individual cert files. For example: /my/cert_dir, /other/custom."
"pem"
msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr ""
msgid "Joplin Export File"
msgstr ""
msgid "Markdown"
msgstr ""
msgid "Joplin Export Directory"
msgstr ""
msgid "Evernote Export File"
msgstr ""
msgid "Directory"
msgstr ""
#, javascript-format
msgid "Cannot load \"%s\" module for format \"%s\""
msgstr ""
#, javascript-format
msgid "Please specify import format for %s"
msgstr ""
#, javascript-format
msgid ""
"This item is currently encrypted: %s \"%s\". Please wait for all items to be "
"decrypted and try again."
msgstr ""
msgid "There is no data to export."
msgstr ""
msgid "Please specify the notebook where the notes should be imported to."
msgstr ""
msgid "Items that cannot be synchronised"
msgstr ""
@@ -1038,6 +1354,9 @@ msgstr ""
msgid "Press to set the decryption password."
msgstr ""
msgid "Save alarm"
msgstr ""
msgid "Select date"
msgstr ""
@@ -1047,6 +1366,38 @@ msgstr ""
msgid "Cancel synchronisation"
msgstr ""
#, javascript-format
msgid "Decrypting items: %d/%d"
msgstr ""
msgid "New tags:"
msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
msgstr ""
msgid ""
"- Storage: to allow attaching files to notes and to enable filesystem "
"synchronisation."
msgstr ""
msgid "- Camera: to allow taking a picture and attaching it to a note."
msgstr ""
msgid "- Location: to allow attaching geo-location information to a note."
msgstr ""
msgid "Joplin website"
msgstr ""
msgid "Login with Dropbox"
msgstr ""
#, javascript-format
msgid "Master Key %s"
msgstr ""
@@ -1071,6 +1422,12 @@ msgstr ""
msgid "Edit notebook"
msgstr ""
msgid "Show all"
msgstr ""
msgid "Errors only"
msgstr ""
msgid "This note has been modified:"
msgstr ""
@@ -1080,6 +1437,14 @@ msgstr ""
msgid "Discard changes"
msgstr ""
#, javascript-format
msgid "No item with ID %s"
msgstr ""
#, javascript-format
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr ""
@@ -1090,6 +1455,9 @@ msgstr ""
msgid "Attach any file"
msgstr ""
msgid "Share"
msgstr ""
msgid "Convert to note"
msgstr ""
@@ -1111,6 +1479,9 @@ msgstr ""
msgid "Login with OneDrive"
msgstr ""
msgid "Search"
msgstr ""
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."

View File

@@ -16,64 +16,12 @@ msgstr ""
"X-Generator: Poedit 2.0.5\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Give focus to next pane"
msgstr "Focus op het volgende paneel"
msgid "Give focus to previous pane"
msgstr "Focus op het vorige paneel"
msgid "Enter command line mode"
msgstr "Ga naar command line modus"
msgid "Exit command line mode"
msgstr "Ga uit command line modus"
msgid "Edit the selected note"
msgstr "Pas de geselecteerde notitie aan"
msgid "Cancel the current command."
msgstr "Annuleer het huidige commando."
msgid "Exit the application."
msgstr "Sluit de applicatie."
msgid "Delete the currently selected note or notebook."
msgstr "Verwijder de geselecteerde notitie of het geselecteerde notitieboek."
msgid "To delete a tag, untag the associated notes."
msgstr "Untag de geassocieerde notities om een tag te verwijderen."
msgid "Please select the note or notebook to be deleted first."
msgstr "Selecteer eerst het notitieboek of de notitie om te verwijderen."
msgid "Set a to-do as completed / not completed"
msgstr "Zet een to-do als voltooid / niet voltooid"
msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
msgstr ""
"Wissel de console tussen gemaximaliseerd/geminimaliseerd/verborgen/zichtbaar."
msgid "Search"
msgstr "Zoeken"
msgid "[t]oggle note [m]etadata."
msgstr "Ac[t]iveer notitie [m]etadata."
msgid "[M]ake a new [n]ote"
msgstr "[M]aak een nieuwe [n]otitie"
msgid "[M]ake a new [t]odo"
msgstr "[M]aak een nieuwe [t]o-do"
msgid "[M]ake a new note[b]ook"
msgstr "[M]aak een nieuw notitie[b]oek"
msgid "Copy ([Y]ank) the [n]ote to a notebook."
msgstr "Kopieer [Y] de [n]otirie in een notitieboek."
msgid "Move the note to a notebook."
msgstr "Verplaats de notitie naar een notitieboek."
msgid "Press Ctrl+D or type \"exit\" to exit the application"
msgstr "Typ Ctrl+D of \"exit\" om de applicatie te sluiten"
@@ -229,20 +177,29 @@ msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Bewerken notitie gestart. Sluit de editor om terug naar de prompt te gaan."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr "Notitie is opgeslaan."
msgid "Exits the application."
msgstr "Sluit de applicatie."
#, fuzzy
msgid ""
"Exports Joplin data to the given directory. By default, it will export the "
"Exports Joplin data to the given path. By default, it will export the "
"complete database including notebooks, notes, tags and resources."
msgstr ""
"Exporteert Joplin gegevens naar de opgegeven folder. Standaard zal het de "
"volledige database exporteren, zoals notitieboeken, notities, tags en "
"middelen."
#, fuzzy, javascript-format
msgid "Destination format: %s"
msgstr "Datumnotatie"
msgid "Exports only the given note."
msgstr "Exporteert alleen de opgegeven notitie."
@@ -255,6 +212,10 @@ msgstr "Toont een geolocatie link voor de notitie."
msgid "Displays usage information."
msgstr "Toont gebruiksinformatie."
#, javascript-format
msgid "For information on how to customise the shortcuts please visit %s"
msgstr ""
msgid "Shortcuts are not available in CLI mode."
msgstr "Shortcuts zijn niet beschikbaar in command line modus."
@@ -269,7 +230,7 @@ msgid "The possible commands are:"
msgstr "Mogelijke commando's zijn:"
msgid ""
"In any command, a note or notebook can be refered to by title or ID, or "
"In any command, a note or notebook can be referred to by title or ID, or "
"using the shortcuts `$n` or `$b` for, respectively, the currently selected "
"note or notebook. `$c` can be used to refer to the currently selected item."
msgstr ""
@@ -288,7 +249,8 @@ msgstr ""
"Gebruik de pijltjes en page up/down om door de lijsten en de tekstvelden te "
"scrollen (ook deze console)."
msgid "To maximise/minimise the console, press \"TC\"."
#, fuzzy
msgid "To maximise/minimise the console, press \"tc\"."
msgstr "Om de console te maximaliseren/minimaliseren, typ \"TC\"."
msgid "To enter command line mode, press \":\""
@@ -297,31 +259,22 @@ msgstr "Om command line modus te gebruiken, duw \":\""
msgid "To exit command line mode, press ESCAPE"
msgstr "Om command line modus te verlaten, duw ESCAPE"
#, fuzzy
msgid ""
"For the complete list of available keyboard shortcuts, type `help shortcuts`"
"For the list of keyboard shortcuts and config options, type `help keymap`"
msgstr ""
"Voor de volledige lijst van beschikbare shortcuts, typ `help shortcuts`"
msgid "Imports an Evernote notebook file (.enex file)."
msgstr "Importeer een Evernote notitieboek (.enex bestand)."
msgid "Imports data into Joplin."
msgstr ""
#, fuzzy, javascript-format
msgid "Source format: %s"
msgstr "Geen commando gevonden: \"%s\""
msgid "Do not ask for confirmation."
msgstr "Vraag niet om bevestiging. "
#, javascript-format
msgid "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
msgstr ""
"Bestand \"%s\" zal toegevoegd worden aan bestaand notitieboek \"%s\". "
"Doorgaan?"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into "
"it. Continue?"
msgstr ""
"Nieuw notitieboek \"%s\" zal aangemaakt worden en bestand \"%s\" zal eraan "
"toegevoegd worden. Doorgaan?"
#, javascript-format
msgid "Found: %d."
msgstr "Gevonden: %d."
@@ -416,7 +369,10 @@ msgstr "Verwijdert het opgegeven notitieboek."
msgid "Deletes the notebook without asking for confirmation."
msgstr "Verwijdert het notitieboek zonder te vragen om bevestiging."
msgid "Delete notebook? All notes within this notebook will also be deleted."
#, fuzzy
msgid ""
"Delete notebook? All notes and sub-notebooks within this notebook will also "
"be deleted."
msgstr ""
"Notitieboek verwijderen? Alle notities in dit notitieboek zullen ook "
"verwijderd worden."
@@ -459,6 +415,24 @@ msgid "Sync to provided target (defaults to sync.target config value)"
msgstr ""
"Synchroniseer naar opgegeven doel (standaard sync.target configuratie optie)"
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr "Authenticatie was niet voltooid (geen authenticatietoken ontvangen)."
msgid ""
"To allow Joplin to synchronise with Dropbox, please follow the steps below:"
msgstr ""
msgid "Step 1: Open this URL in your browser to authorise the application:"
msgstr ""
msgid "Step 2: Enter the code provided by Dropbox:"
msgstr ""
#, javascript-format
msgid "Not authentified with %s. Please provide any missing credentials."
msgstr ""
msgid "Synchronisation is already in progress."
msgstr "Synchronisatie reeds bezig."
@@ -472,10 +446,6 @@ msgstr ""
"is, kan de lock file verwijderd worden op \"%s\" en verder gegaan worden met "
"de synchronisatie. "
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr "Authenticatie was niet voltooid (geen authenticatietoken ontvangen)."
#, javascript-format
msgid "Synchronisation target: %s (%s)"
msgstr "Synchronisatiedoel: %s (%s)"
@@ -549,6 +519,10 @@ msgstr "Standaard: %s"
msgid "Possible keys/values:"
msgstr "Mogelijke sleutels/waarden:"
#, fuzzy
msgid "Type `joplin help` for usage information."
msgstr "Toont gebruiksinformatie."
msgid "Fatal error:"
msgstr "Fatale fout:"
@@ -602,6 +576,18 @@ msgstr ""
"hoofdsleutel al ingegeven hebt, worden de versleutelde items ontsleuteld in "
"de achtergrond. Ze zijn binnenkort beschikbaar."
#, javascript-format
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, fuzzy
msgid "PDF File"
msgstr "Bestand"
msgid "File"
msgstr "Bestand"
@@ -614,11 +600,19 @@ msgstr "Nieuwe to-do"
msgid "New notebook"
msgstr "Nieuw notitieboek"
msgid "Import Evernote notes"
msgstr "Importeer Evernote notities"
msgid "Import"
msgstr "Importeer"
msgid "Evernote Export Files"
msgstr "Exporteer Evernote bestanden"
#, fuzzy
msgid "Export"
msgstr "Importeer"
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
msgid "Quit"
msgstr "Stop"
@@ -635,15 +629,36 @@ msgstr "Knip"
msgid "Paste"
msgstr "Plak"
msgid "Bold"
msgstr ""
msgid "Italic"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Search in all the notes"
msgstr "Zoek in alle notities"
msgid "View"
msgstr ""
msgid "Toggle sidebar"
msgstr ""
msgid "Toggle editor layout"
msgstr ""
msgid "Tools"
msgstr "Tools"
msgid "Synchronisation status"
msgstr "Synchronisatie status"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr "Versleutelopties"
@@ -656,6 +671,13 @@ msgstr "Help"
msgid "Website and documentation"
msgstr "Website en documentatie"
#, fuzzy
msgid "Make a donation"
msgstr "Website en documentatie"
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr "Over Joplin"
@@ -663,12 +685,79 @@ msgstr "Over Joplin"
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy, javascript-format
msgid "Open %s"
msgstr "Op %s: %s"
msgid "Exit"
msgstr ""
msgid "OK"
msgstr "OK"
msgid "Cancel"
msgstr "Annuleer"
msgid "Current version is up-to-date."
msgstr ""
msgid "An update is available, do you want to download it now?"
msgstr ""
msgid "Yes"
msgstr ""
#, fuzzy
msgid "No"
msgstr "N"
msgid "The web clipper service is enabled and set to auto-start."
msgstr ""
#, javascript-format
msgid "Status: Started on port %d"
msgstr ""
#, fuzzy, javascript-format
msgid "Status: %s"
msgstr "Status: \"%s\""
msgid "Disable Web Clipper Service"
msgstr ""
msgid "The web clipper service is not enabled."
msgstr ""
msgid "Enable Web Clipper Service"
msgstr ""
msgid ""
"Joplin Web Clipper allows saving web pages and screenshots from your browser "
"to Joplin."
msgstr ""
msgid "In order to use the web clipper, you need to do the following:"
msgstr ""
msgid "Step 1: Enable the clipper service"
msgstr ""
msgid ""
"This service allows the browser extension to communicate with Joplin. When "
"enabling it your firewall may ask you to give permission to Joplin to listen "
"to a particular port."
msgstr ""
msgid "Step 2: Install the extension"
msgstr ""
msgid "Download and install the relevant extension for your browser:"
msgstr ""
#, fuzzy
msgid "Check synchronisation configuration"
msgstr "Annuleer synchronisatie"
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Notities en instellingen zijn opgeslaan in %s"
@@ -676,6 +765,9 @@ msgstr "Notities en instellingen zijn opgeslaan in %s"
msgid "Save"
msgstr "Sla op"
msgid "Submit"
msgstr ""
msgid ""
"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 "
@@ -736,6 +828,21 @@ msgstr ""
"(aangeduid met \"active\"). Alle sleutels kunnen gebruikt worden voor "
"decodering, afhankelijk van hoe de notitieboeken initieel versleuteld zijn."
#, fuzzy
msgid "Missing Master Keys"
msgstr "Hoofdsleutels"
msgid ""
"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."
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
msgstr ""
msgid "Status"
msgstr "Status"
@@ -770,12 +877,20 @@ msgstr "Scheid iedere tag met een komma."
msgid "Rename notebook:"
msgstr "Hernoem notitieboek:"
#, fuzzy
msgid "Rename tag:"
msgstr "Hernoem"
msgid "Set alarm:"
msgstr "Stel melding in:"
msgid "Layout"
msgstr "Layout"
#, fuzzy
msgid "Search..."
msgstr "Zoeken"
msgid "Some items cannot be synchronised."
msgstr "Sommige items kunnen niet gesynchroniseerd worden."
@@ -794,6 +909,9 @@ msgstr "Voeg tag toe of verwijder tag"
msgid "Switch between note and to-do type"
msgstr "Wissel tussen notitie en to-do type"
msgid "Copy Markdown link"
msgstr ""
msgid "Delete"
msgstr "Verwijderen"
@@ -809,16 +927,95 @@ msgstr ""
"U heeft momenteel geen notitieboek. Maak een notitieboek door op \"Nieuw "
"notitieboek\" te klikken."
msgid "Open..."
msgstr ""
#, fuzzy, javascript-format
msgid "This file could not be opened: %s"
msgstr "Het notitieboek kon niet opgeslaan worden: %s"
#, fuzzy
msgid "Save as..."
msgstr "Sla wijzigingen op"
msgid "Copy path to clipboard"
msgstr ""
#, javascript-format
msgid "Unsupported link or message: %s"
msgstr "Link of bericht \"%s\" wordt niet ondersteund"
#, javascript-format
msgid ""
"This note has no content. Click on \"%s\" to toggle the editor and edit the "
"note."
msgstr ""
msgid "strong text"
msgstr ""
msgid "emphasized text"
msgstr ""
msgid "List item"
msgstr ""
msgid "Insert Hyperlink"
msgstr ""
msgid "Attach file"
msgstr "Voeg bestand toe"
msgid "Tags"
msgstr "Tags"
msgid "Set alarm"
msgstr "Zet melding"
#, fuzzy, javascript-format
msgid "In: %s"
msgstr "%s: %s"
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
msgid "Bulleted List"
msgstr ""
msgid "Checkbox"
msgstr ""
msgid "Heading"
msgstr ""
msgid "Horizontal Rule"
msgstr ""
msgid "Click to stop external editing"
msgstr ""
#, fuzzy
msgid "Watching..."
msgstr "Annuleren..."
#, fuzzy
msgid "to-do"
msgstr "Nieuwe to-do"
#, fuzzy
msgid "note"
msgstr "Nieuwe notitie"
#, fuzzy, javascript-format
msgid "Creating new %s..."
msgstr "Notities importeren..."
msgid "Refresh"
msgstr "Vernieuwen"
@@ -828,8 +1025,8 @@ msgstr "Vrijmaken"
msgid "OneDrive Login"
msgstr "OneDrive Login"
msgid "Import"
msgstr "Importeer"
msgid "Dropbox Login"
msgstr ""
msgid "Options"
msgstr "Opties"
@@ -840,6 +1037,10 @@ msgstr "Synchronisatie status"
msgid "Encryption Options"
msgstr "Versleutelopties"
#, fuzzy
msgid "Clipper Options"
msgstr "Algemene opties"
msgid "Remove this tag from all the notes?"
msgstr "Deze tag verwijderen van alle notities?"
@@ -855,12 +1056,6 @@ msgstr "Synchroniseer"
msgid "Notebooks"
msgstr "Notitieboeken"
msgid "Tags"
msgstr "Tags"
msgid "Searches"
msgstr "Zoekopdrachten"
msgid "Please select where the sync status should be exported to"
msgstr "Selecteer waar de synchronisatie status naar geëxporteerd moet worden"
@@ -872,15 +1067,25 @@ msgstr "Gebruik: %s"
msgid "Unknown flag: %s"
msgstr "Onbekende optie: %s"
msgid "Dropbox"
msgstr ""
msgid "File system"
msgstr "Bestandssysteem"
#, fuzzy
msgid "Nextcloud"
msgstr "Stel wachtwoord in"
msgid "OneDrive"
msgstr "OneDrive"
msgid "OneDrive Dev (For testing only)"
msgstr "OneDrive Dev (Alleen voor testen)"
msgid "WebDAV"
msgstr ""
#, javascript-format
msgid "Unknown log level: %s"
msgstr "Onbekend log level: %s"
@@ -943,8 +1148,8 @@ msgstr "Verwijderde remote items: %d."
msgid "Fetched items: %d/%d."
msgstr "Opgehaalde items: %d/%d."
#, javascript-format
msgid "State: \"%s\"."
#, fuzzy, javascript-format
msgid "State: %s."
msgstr "Status: \"%s\""
msgid "Cancelling..."
@@ -954,6 +1159,16 @@ msgstr "Annuleren..."
msgid "Completed: %s"
msgstr "Voltooid: %s"
#, fuzzy, javascript-format
msgid "Last error: %s"
msgstr "Fatale fout:"
msgid "Idle"
msgstr ""
msgid "In progress"
msgstr ""
#, javascript-format
msgid "Synchronisation is already in progress. State: %s"
msgstr "Synchronisatie is reeds bezig. Status: %s"
@@ -967,6 +1182,10 @@ msgstr "Versleutelde items kunnen niet aangepast worden"
msgid "Conflicts"
msgstr "Conflicten"
#, fuzzy
msgid "Cannot move notebook to this location"
msgstr "Kan notitie niet naar notitieboek \"%s\" verplaatsen."
#, javascript-format
msgid "A notebook with this title already exists: \"%s\""
msgstr "Er bestaat al een notitieboek met \"%s\" als titel"
@@ -977,6 +1196,18 @@ msgstr ""
"Notitieboeken kunnen niet \"%s\" genoemd worden, dit is een gereserveerd "
"woord."
#, fuzzy
msgid "title"
msgstr "Untitled"
#, fuzzy
msgid "updated date"
msgstr "Bijgewerkt: %d."
#, fuzzy
msgid "created date"
msgstr "Aangemaakt: %d."
msgid "Untitled"
msgstr "Untitled"
@@ -1020,12 +1251,58 @@ msgstr "Licht"
msgid "Dark"
msgstr "Donker"
msgid "Show uncompleted todos on top of the lists"
#, fuzzy
msgid "Uncompleted to-dos on top"
msgstr "Toon onvoltooide to-do's aan de top van de lijsten"
#, fuzzy
msgid "Show completed to-dos"
msgstr "Toon onvoltooide to-do's aan de top van de lijsten"
msgid "Sort notes by"
msgstr ""
#, fuzzy
msgid "Reverse sort order"
msgstr "Draait de sorteervolgorde om."
msgid "Save geo-location with notes"
msgstr "Sla geo-locatie op bij notities"
#, fuzzy
msgid "When creating a new to-do:"
msgstr "Maakt nieuwe to-do aan."
msgid "Focus title"
msgstr ""
msgid "Focus body"
msgstr ""
#, fuzzy
msgid "When creating a new note:"
msgstr "Maakt een nieuwe notitie aan."
msgid "Show tray icon"
msgstr ""
msgid "Note: Does not work in all desktop environments."
msgstr ""
msgid "Global zoom percentage"
msgstr ""
msgid "Editor font family"
msgstr ""
msgid ""
"This must be *monospace* font or it will not work properly. If the font is "
"incorrect or empty, it will default to a generic monospace font."
msgstr ""
msgid "Automatically update the application"
msgstr "Update de applicatie automatisch"
msgid "Synchronisation interval"
msgstr "Synchronisatie interval"
@@ -1041,9 +1318,6 @@ msgstr "%d uur"
msgid "%d hours"
msgstr "%d uren"
msgid "Automatically update the application"
msgstr "Update de applicatie automatisch"
msgid "Show advanced options"
msgstr "Toon geavanceerde opties"
@@ -1051,11 +1325,9 @@ msgid "Synchronisation target"
msgstr "Synchronisatiedoel"
msgid ""
"The target to synchonise to. If synchronising with the file system, set "
"`sync.2.path` to specify the target directory."
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Het doel om mee te synchroniseren. Indien synchroniseren met het "
"bestandssysteem, zet `sync.2.path` om de doelfolder in te stellen."
msgid "Directory to synchronise with (absolute path)"
msgstr "Folder om mee te synchroniseren (absolute pad)"
@@ -1067,10 +1339,80 @@ msgstr ""
"Het pad om mee te synchroniseren als bestandssysteem synchronisatie is "
"ingeschakeld. Zie `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
#, fuzzy
msgid "Nextcloud password"
msgstr "Stel wachtwoord in"
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
#, fuzzy
msgid "WebDAV password"
msgstr "Stel wachtwoord in"
msgid "Custom TLS certificates"
msgstr ""
msgid ""
"Comma-separated list of paths to directories to load the certificates from, "
"or path to individual cert files. For example: /my/cert_dir, /other/custom."
"pem"
msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Ongeldige optie: \"%s\". Geldige waarden zijn: %s."
#, fuzzy
msgid "Joplin Export File"
msgstr "Exporteer Evernote bestanden"
msgid "Markdown"
msgstr ""
msgid "Joplin Export Directory"
msgstr ""
#, fuzzy
msgid "Evernote Export File"
msgstr "Exporteer Evernote bestanden"
msgid "Directory"
msgstr ""
#, javascript-format
msgid "Cannot load \"%s\" module for format \"%s\""
msgstr ""
#, javascript-format
msgid "Please specify import format for %s"
msgstr ""
#, javascript-format
msgid ""
"This item is currently encrypted: %s \"%s\". Please wait for all items to be "
"decrypted and try again."
msgstr ""
msgid "There is no data to export."
msgstr ""
#, fuzzy
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Selecteer waar de synchronisatie status naar geëxporteerd moet worden"
msgid "Items that cannot be synchronised"
msgstr "Items die niet gesynchroniseerd kunnen worden"
@@ -1149,6 +1491,10 @@ msgstr "Verplaats %d notities naar notitieboek \"%s\"?"
msgid "Press to set the decryption password."
msgstr "Klik om het decryptie wachtwoord in te stellen"
#, fuzzy
msgid "Save alarm"
msgstr "Zet melding"
msgid "Select date"
msgstr "Selecteer datum"
@@ -1158,6 +1504,39 @@ msgstr "Bevestig"
msgid "Cancel synchronisation"
msgstr "Annuleer synchronisatie"
#, fuzzy, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Opgehaalde items: %d/%d."
msgid "New tags:"
msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
msgstr ""
msgid ""
"- Storage: to allow attaching files to notes and to enable filesystem "
"synchronisation."
msgstr ""
msgid "- Camera: to allow taking a picture and attaching it to a note."
msgstr ""
msgid "- Location: to allow attaching geo-location information to a note."
msgstr ""
msgid "Joplin website"
msgstr ""
#, fuzzy
msgid "Login with Dropbox"
msgstr "Log in met OneDrive"
#, javascript-format
msgid "Master Key %s"
msgstr "Hoofdsleutel: %s"
@@ -1182,6 +1561,12 @@ msgstr "Het notitieboek kon niet opgeslaan worden: %s"
msgid "Edit notebook"
msgstr "Bewerk notitieboek"
msgid "Show all"
msgstr ""
msgid "Errors only"
msgstr ""
msgid "This note has been modified:"
msgstr "Deze notitie werd aangepast:"
@@ -1191,6 +1576,14 @@ msgstr "Sla wijzigingen op"
msgid "Discard changes"
msgstr "Verwijder wijzigingen"
#, javascript-format
msgid "No item with ID %s"
msgstr ""
#, javascript-format
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Afbeeldingstype %s wordt niet ondersteund"
@@ -1201,6 +1594,9 @@ msgstr "Voeg foto toe"
msgid "Attach any file"
msgstr "Voeg bestand toe"
msgid "Share"
msgstr ""
msgid "Convert to note"
msgstr "Converteer naar notitie"
@@ -1222,6 +1618,9 @@ msgstr "Verwijder notitieboek"
msgid "Login with OneDrive"
msgstr "Log in met OneDrive"
msgid "Search"
msgstr "Zoeken"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
@@ -1236,3 +1635,90 @@ msgstr ""
msgid "Welcome"
msgstr "Welkom"
#~ msgid "Searches"
#~ msgstr "Zoekopdrachten"
#, fuzzy
#~ msgid ""
#~ "Release notes:\n"
#~ "\n"
#~ "%s"
#~ msgstr "Notities verwijderen?"
#~ msgid "Imports an Evernote notebook file (.enex file)."
#~ msgstr "Importeer een Evernote notitieboek (.enex bestand)."
#~ msgid ""
#~ "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
#~ msgstr ""
#~ "Bestand \"%s\" zal toegevoegd worden aan bestaand notitieboek \"%s\". "
#~ "Doorgaan?"
#~ msgid ""
#~ "New notebook \"%s\" will be created and file \"%s\" will be imported into "
#~ "it. Continue?"
#~ msgstr ""
#~ "Nieuw notitieboek \"%s\" zal aangemaakt worden en bestand \"%s\" zal "
#~ "eraan toegevoegd worden. Doorgaan?"
#~ msgid "Import Evernote notes"
#~ msgstr "Importeer Evernote notities"
#~ msgid "Give focus to next pane"
#~ msgstr "Focus op het volgende paneel"
#~ msgid "Give focus to previous pane"
#~ msgstr "Focus op het vorige paneel"
#~ msgid "Enter command line mode"
#~ msgstr "Ga naar command line modus"
#~ msgid "Exit command line mode"
#~ msgstr "Ga uit command line modus"
#~ msgid "Edit the selected note"
#~ msgstr "Pas de geselecteerde notitie aan"
#~ msgid "Cancel the current command."
#~ msgstr "Annuleer het huidige commando."
#~ msgid "Exit the application."
#~ msgstr "Sluit de applicatie."
#~ msgid "Delete the currently selected note or notebook."
#~ msgstr ""
#~ "Verwijder de geselecteerde notitie of het geselecteerde notitieboek."
#~ msgid "Set a to-do as completed / not completed"
#~ msgstr "Zet een to-do als voltooid / niet voltooid"
#~ msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
#~ msgstr ""
#~ "Wissel de console tussen gemaximaliseerd/geminimaliseerd/verborgen/"
#~ "zichtbaar."
#~ msgid "[t]oggle note [m]etadata."
#~ msgstr "Ac[t]iveer notitie [m]etadata."
#~ msgid "[M]ake a new [n]ote"
#~ msgstr "[M]aak een nieuwe [n]otitie"
#~ msgid "[M]ake a new [t]odo"
#~ msgstr "[M]aak een nieuwe [t]o-do"
#~ msgid "[M]ake a new note[b]ook"
#~ msgstr "[M]aak een nieuw notitie[b]oek"
#~ msgid "Copy ([Y]ank) the [n]ote to a notebook."
#~ msgstr "Kopieer [Y] de [n]otirie in een notitieboek."
#~ msgid "Move the note to a notebook."
#~ msgstr "Verplaats de notitie naar een notitieboek."
#~ msgid ""
#~ "The target to synchonise to. If synchronising with the file system, set "
#~ "`sync.2.path` to specify the target directory."
#~ msgstr ""
#~ "Het doel om mee te synchroniseren. Indien synchroniseren met het "
#~ "bestandssysteem, zet `sync.2.path` om de doelfolder in te stellen."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1628
CliClient/locales/sl_SI.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1515
CliClient/locales/zh_TW.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -19,7 +19,7 @@
],
"owner": "Laurent Cozic"
},
"version": "0.10.88",
"version": "1.0.108",
"bin": {
"joplin": "./main.js"
},
@@ -28,11 +28,18 @@
},
"dependencies": {
"app-module-path": "^2.2.0",
"async-mutex": "^0.1.3",
"base-64": "^0.1.0",
"compare-version": "^0.1.2",
"es6-promise-pool": "^2.5.0",
"follow-redirects": "^1.2.4",
"form-data": "^2.1.4",
"fs-extra": "^5.0.0",
"html-entities": "^1.2.1",
"html-minifier": "^3.5.15",
"image-type": "^3.0.0",
"joplin-turndown": "^4.0.3",
"joplin-turndown-plugin-gfm": "^1.0.2",
"jssha": "^2.3.0",
"levenshtein": "^1.0.5",
"lodash": "^4.17.4",
@@ -42,10 +49,10 @@
"node-emoji": "^1.8.1",
"node-fetch": "^1.7.1",
"node-persist": "^2.1.0",
"os-tmpdir": "^1.0.2",
"promise": "^7.1.1",
"proper-lockfile": "^2.0.1",
"query-string": "4.3.4",
"read-chunk": "^2.1.0",
"redux": "^3.7.2",
"sax": "^1.2.2",
"server-destroy": "^1.0.1",
@@ -55,10 +62,14 @@
"string-padding": "^1.0.2",
"string-to-stream": "^1.1.0",
"strip-ansi": "^4.0.0",
"tar": "^4.4.0",
"tcp-port-used": "^0.1.2",
"tkwidgets": "^0.5.21",
"tkwidgets": "^0.5.26",
"url-parse": "^1.2.0",
"uuid": "^3.0.1",
"valid-url": "^1.0.9",
"word-wrap": "^1.2.3",
"xml2js": "^0.4.19",
"yargs-parser": "^7.0.0"
},
"devDependencies": {

View File

@@ -11,7 +11,7 @@ cp "$SCRIPT_DIR/../README.md" build/
cd "$SCRIPT_DIR/build"
npm publish
NEW_VERSION=$("cat package.json | jq -r .version")
NEW_VERSION=$(cat package.json | jq -r .version)
git add -A
git commit -m "CLI v$NEW_VERSION"
git tag "cli-v$NEW_VERSION"

View File

@@ -1,4 +1,5 @@
#!/bin/bash
START_DIR="$(pwd)"
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
BUILD_DIR="$ROOT_DIR/tests-build"
TEST_FILE="$1"
@@ -8,10 +9,27 @@ rsync -a "$ROOT_DIR/../ReactNativeClient/lib/" "$BUILD_DIR/lib/"
rsync -a "$ROOT_DIR/build/locales/" "$BUILD_DIR/locales/"
mkdir -p "$BUILD_DIR/data"
if [[ $TEST_FILE == "" ]]; then
(cd "$ROOT_DIR" && npm test tests-build/synchronizer.js)
(cd "$ROOT_DIR" && npm test tests-build/encryption.js)
(cd "$ROOT_DIR" && npm test tests-build/ArrayUtils.js)
else
if [[ $TEST_FILE != "" ]]; then
(cd "$ROOT_DIR" && npm test tests-build/$TEST_FILE.js)
fi
exit
fi
function finish {
cd "$START_DIR"
}
trap finish EXIT
cd "$ROOT_DIR"
npm test tests-build/ArrayUtils.js
npm test tests-build/encryption.js
npm test tests-build/EnexToMd.js
npm test tests-build/HtmlToMd.js
npm test tests-build/markdownUtils.js
npm test tests-build/models_Folder.js
npm test tests-build/models_Note.js
npm test tests-build/models_Setting.js
npm test tests-build/services_InteropService.js
npm test tests-build/services_ResourceService.js
npm test tests-build/synchronizer.js
npm test tests-build/urlUtils.js

View File

@@ -8,7 +8,7 @@ process.on('unhandledRejection', (reason, p) => {
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
});
describe('Encryption', function() {
describe('ArrayUtils', function() {
beforeEach(async (done) => {
done();
@@ -29,4 +29,28 @@ describe('Encryption', function() {
done();
});
it('should find items using binary search', async (done) => {
let items = ['aaa', 'ccc', 'bbb'];
expect(ArrayUtils.binarySearch(items, 'bbb')).toBe(-1); // Array not sorted!
items.sort();
expect(ArrayUtils.binarySearch(items, 'bbb')).toBe(1);
expect(ArrayUtils.binarySearch(items, 'ccc')).toBe(2);
expect(ArrayUtils.binarySearch(items, 'oops')).toBe(-1);
expect(ArrayUtils.binarySearch(items, 'aaa')).toBe(0);
items = [];
expect(ArrayUtils.binarySearch(items, 'aaa')).toBe(-1);
done();
});
it('should compare arrays', async (done) => {
expect(ArrayUtils.contentEquals([], [])).toBe(true);
expect(ArrayUtils.contentEquals(['a'], ['a'])).toBe(true);
expect(ArrayUtils.contentEquals(['b', 'a'], ['a', 'b'])).toBe(true);
expect(ArrayUtils.contentEquals(['b'], ['a', 'b'])).toBe(false);
done();
});
});

View File

@@ -0,0 +1,62 @@
require('app-module-path').addPath(__dirname);
const { time } = require('lib/time-utils.js');
const { filename } = require('lib/path-utils.js');
const { asyncTest, fileContentEqual, setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync } = require('test-utils.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const BaseModel = require('lib/BaseModel.js');
const { shim } = require('lib/shim');
const { enexXmlToMd } = require('lib/import-enex-md-gen.js');
jasmine.DEFAULT_TIMEOUT_INTERVAL = 60 * 60 * 1000; // Can run for a while since everything is in the same test unit
process.on('unhandledRejection', (reason, p) => {
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
});
describe('EnexToMd', function() {
beforeEach(async (done) => {
await setupDatabaseAndSynchronizer(1);
await switchClient(1);
done();
});
it('should convert from Enex to Markdown', asyncTest(async () => {
const basePath = __dirname + '/enex_to_md';
const files = await shim.fsDriver().readDirStats(basePath);
for (let i = 0; i < files.length; i++) {
const htmlFilename = files[i].path;
if (htmlFilename.indexOf('.html') < 0) continue;
const htmlPath = basePath + '/' + htmlFilename;
const mdPath = basePath + '/' + filename(htmlFilename) + '.md';
// if (htmlFilename !== 'text2.html') continue;
const html = await shim.fsDriver().readFile(htmlPath);
const expectedMd = await shim.fsDriver().readFile(mdPath);
const actualMd = await enexXmlToMd('<div>' + html + '</div>', []);
if (actualMd !== expectedMd) {
console.info('');
console.info('Error converting file: ' + htmlFilename);
console.info('--------------------------------- Got:');
console.info(actualMd.split('\n'));
console.info('--------------------------------- Expected:');
console.info(expectedMd.split('\n'));
console.info('--------------------------------------------');
console.info('');
expect(false).toBe(true);
// return;
} else {
expect(true).toBe(true)
}
}
}));
});

View File

@@ -0,0 +1,66 @@
require('app-module-path').addPath(__dirname);
const { time } = require('lib/time-utils.js');
const { filename } = require('lib/path-utils.js');
const { asyncTest, fileContentEqual, setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync } = require('test-utils.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const BaseModel = require('lib/BaseModel.js');
const { shim } = require('lib/shim');
const HtmlToMd = require('lib/HtmlToMd');
const { enexXmlToMd } = require('lib/import-enex-md-gen.js');
jasmine.DEFAULT_TIMEOUT_INTERVAL = 60 * 60 * 1000; // Can run for a while since everything is in the same test unit
process.on('unhandledRejection', (reason, p) => {
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
});
describe('HtmlToMd', function() {
beforeEach(async (done) => {
await setupDatabaseAndSynchronizer(1);
await switchClient(1);
done();
});
it('should convert from Html to Markdown', asyncTest(async () => {
const basePath = __dirname + '/html_to_md';
const files = await shim.fsDriver().readDirStats(basePath);
const htmlToMd = new HtmlToMd();
for (let i = 0; i < files.length; i++) {
const htmlFilename = files[i].path;
if (htmlFilename.indexOf('.html') < 0) continue;
const htmlPath = basePath + '/' + htmlFilename;
const mdPath = basePath + '/' + filename(htmlFilename) + '.md';
// if (htmlFilename !== 'code_1.html') continue;
const html = await shim.fsDriver().readFile(htmlPath);
const expectedMd = await shim.fsDriver().readFile(mdPath);
const actualMd = await htmlToMd.parse('<div>' + html + '</div>', []);
if (actualMd !== expectedMd) {
console.info('');
console.info('Error converting file: ' + htmlFilename);
console.info('--------------------------------- Got:');
console.info(actualMd);
console.info('--------------------------------- Raw:');
console.info(actualMd.split('\n'));
console.info('--------------------------------- Expected:');
console.info(expectedMd.split('\n'));
console.info('--------------------------------------------');
console.info('');
expect(false).toBe(true);
// return;
} else {
expect(true).toBe(true)
}
}
}));
});

View File

@@ -0,0 +1,16 @@
<div>
<p>For example, consider a web page like this:</p>
<pre class="brush: html line-numbers language-html"><code class=" language-html"><span class="token doctype">&lt;!DOCTYPE html&gt;</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>html</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>head</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">http-equiv</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>content-type<span class="token punctuation">"</span></span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>text/html; charset<span class="token punctuation">=</span>utf-8<span class="token punctuation">"</span></span> <span class="token punctuation">/&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>head</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>body</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>page-scripts/page-script.js<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span><span class="token script language-javascript"></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>body</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>html</span><span class="token punctuation">&gt;</span></span><span class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>
<p>The script "page-script.js" does this:</p>
</div>

View File

@@ -0,0 +1,14 @@
For example, consider a web page like this:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<script src="page-scripts/page-script.js"></script>
</body>
</html>
The script "page-script.js" does this:

View File

@@ -0,0 +1,7 @@
<p>Subshell:</p>
<pre><code>(
set -e
false
echo Unreachable
) &amp;&amp; echo Great success
</code></pre>

View File

@@ -0,0 +1,7 @@
Subshell:
(
set -e
false
echo Unreachable
) && echo Great success

View File

@@ -0,0 +1,9 @@
<div>
<div class="note">
<p>Values added to the global scope of a content script with</p>
</div>
<h2 id="Loading_content_scripts">Loading content scripts</h2>
<p>You can load a content script into a web page in one of three ways:</p>
</div>

View File

@@ -0,0 +1,5 @@
Values added to the global scope of a content script with
## Loading content scripts
You can load a content script into a web page in one of three ways:

View File

@@ -0,0 +1,3 @@
<div>
<p>Similarly, I need another regex to match double newlines (<code>\n\n</code>) that are not part of a longer run of newline characters like <code>\n\n\n</code> or <code>\n\n\n\n\n\n</code> etc.</p>
</div>

View File

@@ -0,0 +1 @@
Similarly, I need another regex to match double newlines (`\n\n`) that are not part of a longer run of newline characters like `\n\n\n` or `\n\n\n\n\n\n` etc.

View File

@@ -0,0 +1,3 @@
<div>
<p>the&nbsp;<code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onConnect">runtime.onConnect</a></code> listener gets passed its own <code><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/Port">runtime.Port</a></code> object.</p>
</div>

View File

@@ -0,0 +1 @@
the `[runtime.onConnect](/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onConnect)` listener gets passed its own `[runtime.Port](/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/Port)` object.

View File

@@ -0,0 +1,4 @@
<a href="https://arstechnica.com/civis/ucp.php?mode=login&return_to=%2Ftech-policy%2F2018%2F05%2Fjails-are-replacing-in-person-visits-with-video-calling-services-theyre-awful%2F" class="dropdown-toggle">
Sign in
<span class="icon dropdown-indicator icon-drop-indicator"></span>
</a>

View File

@@ -0,0 +1 @@
[Sign in](https://arstechnica.com/civis/ucp.php?mode=login&return_to=%2Ftech-policy%2F2018%2F05%2Fjails-are-replacing-in-person-visits-with-video-calling-services-theyre-awful%2F)

View File

@@ -0,0 +1,17 @@
<div>
<p>Liste de courses</p>
<div>
<div><en-todo checked="true"/>Pizzas</div>
<div><en-todo checked="true"/>Pain</div>
<div><en-todo checked="true"/>Jambon</div>
</div>
<div><br/></div>
<div>
<div><en-todo checked="true"/>On its own</div>
</div>
<p>End</p>
</div>

View File

@@ -0,0 +1,9 @@
Liste de courses
- [X] Pizzas
- [X] Pain
- [X] Jambon
- [X] On its own
End

View File

@@ -0,0 +1 @@
<ul class="find-me-on"><li><a href="https://github.com/zetter">Github</a></li><li><a href="https://twitter.com/czetter">Twitter</a></li><li><a href="http://lanyrd.com/profile/czetter/">Lanyrd</a></li></ul>

View File

@@ -0,0 +1,3 @@
- [Github](https://github.com/zetter)
- [Twitter](https://twitter.com/czetter)
- [Lanyrd](http://lanyrd.com/profile/czetter/)

View File

@@ -0,0 +1 @@
<ul class="find-me-on"><li>Github</li><li>Twitter</li></ul>

View File

@@ -0,0 +1,2 @@
- Github
- Twitter

View File

@@ -0,0 +1,11 @@
<div>
<p>Short paragraphs are merged together:</p>
<p>Something something</p>
<p>Blablbla blabla lbla</p>
<p>Last line</p>
</div>
<div>
<p>Longer ones are separated by new lines. In 1894 Joplin arrived in Sedalia, Missouri. At first, Joplin stayed with the family of Arthur Marshall, at the time a 13-year-old boy but later one of Joplin's students and a rag-time composer in his own right.[26] There is no record of Joplin having a permanent residence in the town until 1904, as Joplin was making a living as a touring musician.</p>
<p>There is little precise evidence known about Joplin's activities at this time, although he performed as a solo musician at dances and at the major black clubs in Sedalia, the Black 400 club and the Maple Leaf Club. He performed in the Queen City Cornet Band, and his own six-piece dance orchestra.</p>
</div>

View File

@@ -0,0 +1,8 @@
Short paragraphs are merged together:
Something something
Blablbla blabla lbla
Last line
Longer ones are separated by new lines. In 1894 Joplin arrived in Sedalia, Missouri. At first, Joplin stayed with the family of Arthur Marshall, at the time a 13-year-old boy but later one of Joplin's students and a rag-time composer in his own right.[26] There is no record of Joplin having a permanent residence in the town until 1904, as Joplin was making a living as a touring musician.
There is little precise evidence known about Joplin's activities at this time, although he performed as a solo musician at dances and at the major black clubs in Sedalia, the Black 400 club and the Maple Leaf Club. He performed in the Queen City Cornet Band, and his own six-piece dance orchestra.

View File

@@ -0,0 +1,12 @@
<table>
<tr>
<td>
<div>$ sudo ethtool --set-priv-flags p2p1 mlx4_rss_xor_hash_function on</div>
<div># Three empty lines follow</div>
<div><br/></div>
<div><br/></div>
</td>
</tr>
</table>
Some text

View File

@@ -0,0 +1,5 @@
| |
| --- |
| $ sudo ethtool --set-priv-flags p2p1 mlx4_rss_xor_hash_function on<br># Three empty lines follow |
Some text

View File

@@ -0,0 +1,3 @@
<div>
<table style="-evernote-table:true;border-collapse:collapse;width:100%;table-layout:fixed;margin-left:0px;"><tr><td style="border-style:solid;border-width:1px;border-color:rgb(211,211,211);padding:10px;margin:0px;width:50%;"><div>line 1</div><div>line 2</div></td><td style="border-style:solid;border-width:1px;border-color:rgb(211,211,211);padding:10px;margin:0px;width:50%;"><div><br/></div></td></tr><tr><td style="border-style:solid;border-width:1px;border-color:rgb(211,211,211);padding:10px;margin:0px;width:50%;"><div>aaaaaa</div></td><td style="border-style:solid;border-width:1px;border-color:rgb(211,211,211);padding:10px;margin:0px;width:50%;"><div>line 3</div><div>line 4</div></td></tr></table>
</div>

View File

@@ -0,0 +1,4 @@
| | |
| --- | --- |
| line 1<br>line 2 | |
| aaaaaa | line 3<br>line 4 |

View File

@@ -0,0 +1 @@
<a href="https://joplin.cozic.net"><h1 id="joplin"><img class="title-icon" src="https://joplin.cozic.net/images/Icon512.png">oplin</h1></a>

View File

@@ -0,0 +1 @@
[# ![](https://joplin.cozic.net/images/Icon512.png)oplin](https://joplin.cozic.net)

View File

@@ -0,0 +1 @@
<a href="javascript:alert('js')">Some text</a>

View File

@@ -0,0 +1 @@
[Some text]()

View File

@@ -0,0 +1 @@
<a href="http://example.com"><p>That</p><p>Shouldn't be allowed</p></a>

View File

@@ -0,0 +1 @@
[That<br>Shouldn't be allowed](http://example.com)

View File

@@ -0,0 +1,8 @@
<div>
<table><tbody><tr><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">def</span> ma_fonction<span style="color: black;">(</span><span style="color: black;">)</span>:
<span style="color: #483d8b;">"""
C'est une super fonction
"""</span>
<span style="color: #ff7700;font-weight:bold;">pass</span></pre></td></tr></tbody></table>
</div>

View File

@@ -0,0 +1,5 @@
def ma_fonction():
"""
C'est une super fonction
"""
pass

View File

@@ -0,0 +1,13 @@
<!-- Make sure in particular that indentation is correct after the 9th item -->
<ol>
<li><p>One</p><p>Two</p></li>
<li><p>One</p><p>Two</p></li>
<li><p>One</p><p>Two</p></li>
<li><p>One</p><p>Two</p></li>
<li><p>One</p><p>Two</p></li>
<li><p>One</p><p>Two</p></li>
<li><p>One</p><p>Two</p></li>
<li><p>One</p><p>Two</p></li>
<li><p>One</p><p>Two</p></li>
<li><p>One</p><p>Two</p></li>
</ol>

View File

@@ -0,0 +1,39 @@
1. One
Two
2. One
Two
3. One
Two
4. One
Two
5. One
Two
6. One
Two
7. One
Two
8. One
Two
9. One
Two
10. One
Two

View File

@@ -0,0 +1 @@
<script id="appnexus-adload" data-reactid="7">window.apntag=window.apntag||{};window.apntag.anq=window.apntag.anq||[];</script>

File diff suppressed because one or more lines are too long

View File

View File

@@ -0,0 +1,4 @@
<table>
<tr><td>No</td><td>header</td></tr>
<tr><td>And no</td><td>suprises</td></tr>
</table>

View File

@@ -0,0 +1,4 @@
| | |
| --- | --- |
| No | header |
| And no | suprises |

View File

@@ -0,0 +1,15 @@
<table>
<tr>
<td colspan="2">
Something that was originally spanning two columns
</td>
</tr>
<tr>
<td>
One
</td>
<td>
Two
</td>
</tr>
</table>

View File

@@ -0,0 +1,4 @@
| | |
| --- | --- |
| Something that was originally spanning two columns | |
| One | Two |

View File

@@ -0,0 +1,10 @@
<table>
<tr>
<td></td>
<td>Previous is empty</td>
</tr>
<tr>
<td>Next is empty</td>
<td></td>
</tr>
</table>

View File

@@ -0,0 +1,4 @@
| | |
| --- | --- |
| | Previous is empty |
| Next is empty | |

View File

@@ -0,0 +1,13 @@
<table>
<tr>
<td>One</td><td>Two</td>
</tr>
<tr></tr>
<tr>
<td>One</td><td>Two</td>
</tr>
<tr></tr>
<tr>
<td>One</td><td>Two</td>
</tr>
</table>

View File

@@ -0,0 +1,5 @@
| | |
| --- | --- |
| One | Two |
| One | Two |
| One | Two |

View File

@@ -0,0 +1,6 @@
<table>
<tr>
<td><p>Some paragraph</p><p>inside a table cell</p></td>
<td>Second column</td>
</tr>
</table>

View File

@@ -0,0 +1,3 @@
| | |
| --- | --- |
| Some paragraph<br><br>inside a table cell | Second column |

View File

@@ -0,0 +1,16 @@
<!--
The inner table is rendered but not the outer one.
Basically if any table contains another table, it is rendered as plain text
-->
<table>
<tr><td>
First column, and an inner table:
<table>
<tr><td>One</td><td>Two</td></tr>
<tr><td>One</td><td>Two</td></tr>
</table>
</td>
<td>Second column</td>
</tr>
</table>

Some files were not shown because too many files have changed in this diff Show More