You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-08-30 20:39:46 +02:00
Compare commits
784 Commits
cli-v1.0.9
...
cli-v1.0.1
Author | SHA1 | Date | |
---|---|---|---|
|
2858c0fce0 | ||
|
36c3521f40 | ||
|
98a3b99d17 | ||
|
95a06c4531 | ||
|
6ea77b36ce | ||
|
0cd7ebf9d3 | ||
|
a816498fc6 | ||
|
549c1a6767 | ||
|
f87d1f11b0 | ||
|
fb913bc33c | ||
|
53d7a51cb0 | ||
|
12da48c756 | ||
|
a0a6bdb684 | ||
|
eb4aa2c026 | ||
|
a9e789f845 | ||
|
89b76918bd | ||
|
e98575643c | ||
|
7c9e7743f1 | ||
|
435aa4845b | ||
|
9841488ce4 | ||
|
9c907989a5 | ||
|
f684d8e59a | ||
|
a1ad6c9712 | ||
|
b6ca3090df | ||
|
ff2d793fbb | ||
|
fcfb7f1111 | ||
|
6125cde223 | ||
|
c83391e624 | ||
|
a3a818ea74 | ||
|
54a4965503 | ||
|
2233d88c01 | ||
|
9680ab74a3 | ||
|
ef711af5b5 | ||
|
8a619e4b8b | ||
|
bc09d2c640 | ||
|
f82dfde6f4 | ||
|
312c7f2d27 | ||
|
953cc327c6 | ||
|
14cff96713 | ||
|
34b9af2ce0 | ||
|
6a6ee280c3 | ||
|
861387707a | ||
|
830e665366 | ||
|
f14ae68ea0 | ||
|
c7084bf27e | ||
|
fc8ffcbe46 | ||
|
77f089654e | ||
|
e7a12bb0dd | ||
|
22fe3a4e44 | ||
|
afb8b92528 | ||
|
5178f99100 | ||
|
72af564382 | ||
|
0a2b83998c | ||
|
73e79213dc | ||
|
e31ffc9474 | ||
|
fdb8706a5f | ||
|
4c0262bd82 | ||
|
3b2dcb37a6 | ||
|
46a3b020a6 | ||
|
8373392e99 | ||
|
695c2623c2 | ||
|
979e7f2486 | ||
|
e7a9f630ec | ||
|
4e8372174b | ||
|
1b8912d7e9 | ||
|
8c3669588b | ||
|
1b784fe3b0 | ||
|
5ab1d8dfd6 | ||
|
cda8b95bfa | ||
|
9664842b1a | ||
|
09836e1d34 | ||
|
8974e20c7f | ||
|
761a49803e | ||
|
a40028f0c0 | ||
|
d4fca7e313 | ||
|
6748d4d825 | ||
|
0a5ad1d628 | ||
|
4080958e10 | ||
|
95c4a717e3 | ||
|
c5b9353105 | ||
|
17595f7ceb | ||
|
dcf78e8a06 | ||
|
de0c54c3c3 | ||
|
38970e9a52 | ||
|
563f43168b | ||
|
6e235605ed | ||
|
0749e0b675 | ||
|
756f3e627c | ||
|
4b39ed42b1 | ||
|
abe85ca4bd | ||
|
a559565ace | ||
|
d35e3163ca | ||
|
f22ad85681 | ||
|
727bdaeea4 | ||
|
42f7764eed | ||
|
1fbc1073ca | ||
|
66b683e5e7 | ||
|
7d1f61e47b | ||
|
643e5a6a2a | ||
|
a1e7e29279 | ||
|
abf6c3f3f1 | ||
|
32c81ad8c2 | ||
|
0f461c4caa | ||
|
57ed718993 | ||
|
ef1ae63233 | ||
|
81ac200cc0 | ||
|
3a2d62f6c7 | ||
|
7f80f67fd6 | ||
|
cebd8de77a | ||
|
417218fc34 | ||
|
29586437c2 | ||
|
f51d0ad914 | ||
|
35294b5f97 | ||
|
758562cff9 | ||
|
da0678c6fe | ||
|
afe4fd70cc | ||
|
4cef383fe7 | ||
|
b58c30889e | ||
|
1561c0e4d7 | ||
|
32b11c15a4 | ||
|
5e06efc1b9 | ||
|
43bd88703c | ||
|
cdd70230af | ||
|
eaf3eef2d3 | ||
|
81ec8eaf83 | ||
|
23f7e350c6 | ||
|
cea368cd3f | ||
|
50c8f2ae61 | ||
|
ed0ecababb | ||
|
72aa4c40a5 | ||
|
4f6784e2e5 | ||
|
01f015a54f | ||
|
806acad22a | ||
|
1d322d8a39 | ||
|
aef94e6950 | ||
|
456fcec334 | ||
|
3b6937c2f0 | ||
|
7cdd1d41c1 | ||
|
1fc535a740 | ||
|
033b37077a | ||
|
07f6a4a08b | ||
|
8c1b592a51 | ||
|
9460f7a17a | ||
|
106260ed69 | ||
|
123162e946 | ||
|
54e81966e5 | ||
|
9bf6ab60bb | ||
|
4f0ff3cdfc | ||
|
47cfaaa5ab | ||
|
1f49788f21 | ||
|
7e4cf9aeda | ||
|
4b6964b683 | ||
|
3caf398021 | ||
|
8840631266 | ||
|
c4411bb895 | ||
|
f63668350b | ||
|
3fc54d7ffd | ||
|
2c6c20f44f | ||
|
08ee939951 | ||
|
463b1441d3 | ||
|
6754d4ee89 | ||
|
d5d0732bf3 | ||
|
d27cbaa663 | ||
|
70adf10f2e | ||
|
e75417d26e | ||
|
2ded983828 | ||
|
0c708f766b | ||
|
a801f8d8ed | ||
|
26fc26c9fe | ||
|
df4c07d204 | ||
|
cf565d1563 | ||
|
6b425cf543 | ||
|
6188e7a0fa | ||
|
310afb0ad6 | ||
|
7d7e1e1637 | ||
|
424c8a2723 | ||
|
187fb1b85d | ||
|
595fd7a9aa | ||
|
0027cb9036 | ||
|
db6878b978 | ||
|
1c78722573 | ||
|
fea83e28c4 | ||
|
84adf64271 | ||
|
74e2b0d15d | ||
|
df302206dd | ||
|
6d8941c005 | ||
|
971b20062f | ||
|
936f334b61 | ||
|
7e3a290939 | ||
|
c6466a780e | ||
|
43774ad3fb | ||
|
b3ba5b7747 | ||
|
599f4ccef4 | ||
|
a67600d264 | ||
|
ebf4c89ef0 | ||
|
aa7da784fc | ||
|
617ed42d8c | ||
|
5848e7d90d | ||
|
01d032261c | ||
|
54d06646aa | ||
|
81da46035a | ||
|
74d0f75802 | ||
|
f25a352dcb | ||
|
21ef8da45f | ||
|
1f3a1c49df | ||
|
a8b58aaec3 | ||
|
44f9b35d93 | ||
|
711af9beed | ||
|
971339ca9a | ||
|
f5a72ffbaf | ||
|
cf4331c5af | ||
|
07b85388fc | ||
|
553b086ba2 | ||
|
ff89537899 | ||
|
f20792889a | ||
|
ee22a7ff73 | ||
|
4fc4353859 | ||
|
f4f9e25e6b | ||
|
e54f9934b5 | ||
|
f599ae065a | ||
|
5bd9bf6a4e | ||
|
cb9e8d4f76 | ||
|
f64596672e | ||
|
961150b2d3 | ||
|
0cd8e1cbc0 | ||
|
b503aff5e9 | ||
|
54bde47c67 | ||
|
d345f8dc13 | ||
|
979b0c0e78 | ||
|
13525f3327 | ||
|
5d9c2c0904 | ||
|
c748281d86 | ||
|
fa619eba7c | ||
|
17a75f7cf5 | ||
|
a74cfbfb25 | ||
|
af01fed950 | ||
|
218b446915 | ||
|
a68df18cd5 | ||
|
f79326b2d5 | ||
|
b08dcdfd90 | ||
|
ced14e578f | ||
|
0528c6e970 | ||
|
df9c1e0aeb | ||
|
b6619b41df | ||
|
ab9675544c | ||
|
0d9f703c75 | ||
|
f6ee5dd0e7 | ||
|
423d880b92 | ||
|
41017b9ab8 | ||
|
e3314c859f | ||
|
8f794fdbc6 | ||
|
80b0773618 | ||
|
ac848241b9 | ||
|
b4432e2efc | ||
|
52f60a2cf6 | ||
|
03c8438050 | ||
|
0e1c36ccf1 | ||
|
1b2b68c485 | ||
|
5c36f3e78a | ||
|
d4ec8ae823 | ||
|
449a70d840 | ||
|
8375030135 | ||
|
e9f938b0fb | ||
|
b0e57a5990 | ||
|
f47610e6fd | ||
|
c131cb9bb8 | ||
|
023f775bd2 | ||
|
1127eb6e09 | ||
|
0d7437c7d2 | ||
|
6dbc691973 | ||
|
fe53200a3a | ||
|
c7f61271a0 | ||
|
b826e2d97b | ||
|
d8ad42b04a | ||
|
b3ca30b8b6 | ||
|
bdd9da3d22 | ||
|
eb43ddc701 | ||
|
f9c65a148f | ||
|
bd0b9dff51 | ||
|
3822309657 | ||
|
ac2ec65c81 | ||
|
c0943f1776 | ||
|
5a2ab5fae7 | ||
|
281e36fde7 | ||
|
1af1c445c6 | ||
|
e6d2e028ad | ||
|
8d25b8075d | ||
|
58201fd6c3 | ||
|
2b624a9aed | ||
|
792fd7c50d | ||
|
90d37a15bd | ||
|
ef57ee803f | ||
|
e2bfb74895 | ||
|
89b486a3ee | ||
|
d6c6ef20d4 | ||
|
6cb6e9541f | ||
|
a8acecb703 | ||
|
0938297250 | ||
|
a2da2f681c | ||
|
32477e901d | ||
|
1841c4dc11 | ||
|
f81dce3321 | ||
|
e15f84716a | ||
|
d11ecd8fac | ||
|
012e70d668 | ||
|
264ee4f319 | ||
|
4640d6d6e3 | ||
|
9db9d98419 | ||
|
f79d7b9626 | ||
|
a8da469523 | ||
|
3c5eb99c59 | ||
|
8dc14516d6 | ||
|
84efc6a04e | ||
|
86e3038cfe | ||
|
6898b9ca4c | ||
|
9eb62920f7 | ||
|
7cf267254f | ||
|
5a0e3cbbf2 | ||
|
4b376ec5c2 | ||
|
92b71d3eb2 | ||
|
c32d7de7c4 | ||
|
c83a61d45d | ||
|
429f2d5aab | ||
|
ed70cf571c | ||
|
fd77671575 | ||
|
9d915a916e | ||
|
acb90935c7 | ||
|
6301ba0a12 | ||
|
44e1245416 | ||
|
6527d9db83 | ||
|
2bcaf62a2f | ||
|
2db3998f11 | ||
|
04724c58d1 | ||
|
7ed9c2770c | ||
|
48883bfa13 | ||
|
b6d9e695d1 | ||
|
43bab3c1bd | ||
|
dd67602b87 | ||
|
c96a416c2c | ||
|
c4ca9cde32 | ||
|
6c5d208893 | ||
|
795fd8b58c | ||
|
c226940792 | ||
|
bdd0a6106f | ||
|
d1ea7ad3ea | ||
|
a2b1181f7c | ||
|
8cce2f17d5 | ||
|
658b911513 | ||
|
3c95979d94 | ||
|
2e32211a28 | ||
|
ba2874173d | ||
|
ba9598682c | ||
|
30bfd82683 | ||
|
10c6774c28 | ||
|
c4ad9019aa | ||
|
7c99ab9947 | ||
|
feb7778fe4 | ||
|
b45185780f | ||
|
4e032c0c55 | ||
|
2e2b35dfeb | ||
|
526ef7e1d2 | ||
|
a37005446a | ||
|
e012b927dc | ||
|
359b8d5545 | ||
|
23c592b322 | ||
|
9aeddf86f4 | ||
|
0e1887988e | ||
|
394f2df664 | ||
|
2a04378a0d | ||
|
bac68f2c42 | ||
|
0f0ff86ffa | ||
|
8b38752cbf | ||
|
3c24589450 | ||
|
65065a62d8 | ||
|
482e9340bc | ||
|
69d490996e | ||
|
3494937e34 | ||
|
41ba1043be | ||
|
cc57de60c0 | ||
|
60a2b9e5c6 | ||
|
8e1fb666a5 | ||
|
f4ad777bbf | ||
|
2eacf6146a | ||
|
fe2ba34cb4 | ||
|
84daa0db61 | ||
|
b9118a90be | ||
|
ef2ffd4e52 | ||
|
5e3063abe0 | ||
|
f460b2497a | ||
|
c080d7054f | ||
|
61dd4cefbc | ||
|
63d99b2d70 | ||
|
55332d7671 | ||
|
16635defcd | ||
|
595cf3fcad | ||
|
c9b9f82130 | ||
|
f5bca733d7 | ||
|
494e235e18 | ||
|
85219a6004 | ||
|
e4a7851e57 | ||
|
b7529b40b5 | ||
|
74827e5324 | ||
|
2e16cc5433 | ||
|
7f41bc5703 | ||
|
a2380fb752 | ||
|
f6a902809d | ||
|
33a853397d | ||
|
4f02481899 | ||
|
b18076565f | ||
|
853ddc5840 | ||
|
7930ab66c6 | ||
|
c7716c0d59 | ||
|
49cbb254d0 | ||
|
cf9246796d | ||
|
e1dee546dc | ||
|
da6fdad2de | ||
|
567596643c | ||
|
cb617e1b14 | ||
|
facf8afa8b | ||
|
f0dd61a711 | ||
|
e958211a13 | ||
|
0ed170b5bc | ||
|
473d3453a2 | ||
|
fa9d7b0408 | ||
|
d4a28f48c9 | ||
|
ead6fff861 | ||
|
c7d06b35cd | ||
|
fa939e5c76 | ||
|
1bf2601f4f | ||
|
feb0c02c9a | ||
|
40a34a7c05 | ||
|
c62dcd96b0 | ||
|
1364d6786d | ||
|
9f2666aef9 | ||
|
a6a351e68d | ||
|
1db38a9699 | ||
|
c57db1834f | ||
|
3aeb49b469 | ||
|
80b467eead | ||
|
61572f287a | ||
|
f136664c11 | ||
|
0e545baf10 | ||
|
e65e647359 | ||
|
238268884e | ||
|
4c210d0956 | ||
|
5f32c6466a | ||
|
71bd39a8a3 | ||
|
ffb660f0f4 | ||
|
dde23632c1 | ||
|
9d26f13db0 | ||
|
2a4c9c4427 | ||
|
3bfde26b74 | ||
|
a419bc7253 | ||
|
89e0dad88b | ||
|
ff1ee1249b | ||
|
ba9cfd8041 | ||
|
80a51e02a4 | ||
|
a2e2a9a2f5 | ||
|
49e4c37cac | ||
|
11d323d8b7 | ||
|
784ba45f1f | ||
|
e534414874 | ||
|
01f4faf8f1 | ||
|
b33d30ca47 | ||
|
1ba3fae101 | ||
|
9550347e04 | ||
|
398946d39a | ||
|
05faf55e8d | ||
|
4cf5525e20 | ||
|
62e91c44d7 | ||
|
e4ec4ae92b | ||
|
c1f5dfd9cc | ||
|
0c0efeac1f | ||
|
5e0f2642e3 | ||
|
93966b0fa1 | ||
|
e90abf3517 | ||
|
d3fa0dce96 | ||
|
58a7c2fa94 | ||
|
962a8700c2 | ||
|
b5c704e2bb | ||
|
e7b52b19d7 | ||
|
903c2e6d92 | ||
|
abcb1ac760 | ||
|
b6bf76cc4c | ||
|
2bf87655da | ||
|
d4b19f19a1 | ||
|
d8ccc38d5b | ||
|
c8c9f80cc5 | ||
|
577bef5704 | ||
|
4e3b8a06ea | ||
|
363632ffa7 | ||
|
994c99f47f | ||
|
96571baadc | ||
|
4ce2b2c948 | ||
|
5d69f7a0a7 | ||
|
69ddcc6e30 | ||
|
bcb1f36ad8 | ||
|
34c65a686c | ||
|
0b32741a12 | ||
|
dbb321a3cc | ||
|
a6e4f47adf | ||
|
fb6dee32ac | ||
|
984dd6f2c0 | ||
|
02bde2c6e9 | ||
|
782d24cc04 | ||
|
4d0af575e5 | ||
|
be8bda8e73 | ||
|
1242de532e | ||
|
7d7ec7f15e | ||
|
ca112ec5d3 | ||
|
5deb8cf76d | ||
|
a2c9737c17 | ||
|
d3fca3d6cc | ||
|
16554b22c7 | ||
|
d5574098f0 | ||
|
f5a683f25c | ||
|
5f04adb392 | ||
|
edd0f7e255 | ||
|
67145d9104 | ||
|
003e2afff7 | ||
|
6e9d70c5cb | ||
|
4821b4cdf2 | ||
|
734d4db431 | ||
|
317aaed0ac | ||
|
9778098d6c | ||
|
5b1755f988 | ||
|
2a772895dd | ||
|
5fbb01cf2f | ||
|
f9e0870b4e | ||
|
a58f1e9b4b | ||
|
6fc0d89b30 | ||
|
2dcadab7d2 | ||
|
bb3307e156 | ||
|
ecd07f1209 | ||
|
266cb1174f | ||
|
bfb9b77b6e | ||
|
01b1361dcb | ||
|
3a921720d6 | ||
|
cdfd3d9c31 | ||
|
9961fb64bb | ||
|
3137c355cf | ||
|
16abaf60d2 | ||
|
9004b710ea | ||
|
6ebac21c2b | ||
|
99f79faf83 | ||
|
613fa20806 | ||
|
1b5f812278 | ||
|
3a9643c1ea | ||
|
aee7f5a8ac | ||
|
d3cd378922 | ||
|
4f5e7367d0 | ||
|
2280fb5c43 | ||
|
96fb7c2087 | ||
|
6e994fd8b9 | ||
|
a7cde1e269 | ||
|
f8310ba0d5 | ||
|
b239c3faba | ||
|
3c2281dbf9 | ||
|
ac07bf784d | ||
|
067455542f | ||
|
5bfeaa357b | ||
|
fe27a64331 | ||
|
ed638612aa | ||
|
1d7ec83510 | ||
|
75c710232d | ||
|
5af52afadb | ||
|
0f4324c2f8 | ||
|
b48e1dac94 | ||
|
f0ca8e1e31 | ||
|
74b83eb71e | ||
|
28dce0fbb5 | ||
|
c12d402c7e | ||
|
014f5b123c | ||
|
58601dfc04 | ||
|
9fe7f0adae | ||
|
ea1374371f | ||
|
bce4294529 | ||
|
de409b632a | ||
|
a677b2e844 | ||
|
c63bb19cb6 | ||
|
72fd77812e | ||
|
40f3e72bd1 | ||
|
d6d86f2aff | ||
|
c71809438b | ||
|
3e6e1a0a36 | ||
|
f590ce4a34 | ||
|
67608e29c8 | ||
|
d5c2982093 | ||
|
90fad2a3ab | ||
|
bc7c82e3da | ||
|
cb824f7dd7 | ||
|
32c47a96f1 | ||
|
4e3f8893f7 | ||
|
ca3946689a | ||
|
e2ad2dfcaa | ||
|
d6f7893c56 | ||
|
8c65a7cc31 | ||
|
aabb9be7de | ||
|
544f93bf22 | ||
|
f81dbf4a4c | ||
|
fbec8263a3 | ||
|
68d77a69e6 | ||
|
f2ef2446c6 | ||
|
875cb5387a | ||
|
ae9ecdad40 | ||
|
86a0e34975 | ||
|
1141074745 | ||
|
efc46d9989 | ||
|
2b45f745b6 | ||
|
37fb81e9b2 | ||
|
255a4fac93 | ||
|
3e3fb88de8 | ||
|
e4cf03ae46 | ||
|
554a3eb10d | ||
|
61881b528a | ||
|
c2507cbc4e | ||
|
ed0f6d165c | ||
|
8e22d38eb3 | ||
|
2599c425c3 | ||
|
0e15821a81 | ||
|
c1bb51c12b | ||
|
1532b6d159 | ||
|
945018b698 | ||
|
df7b981e5e | ||
|
4fe495675b | ||
|
7828eef2ad | ||
|
694f81b75f | ||
|
8364b6e08d | ||
|
3f4328ce9d | ||
|
9e0bf1acb2 | ||
|
c9e130a771 | ||
|
26331f61e1 | ||
|
694672859a | ||
|
858ead40b9 | ||
|
b07fe5cc34 | ||
|
0317171097 | ||
|
9741a3a53d | ||
|
7937fab5ff | ||
|
f595be07d4 | ||
|
eef106c99b | ||
|
dbe1833f92 | ||
|
520dc0ae21 | ||
|
c9be287f4a | ||
|
711f5dcaba | ||
|
ebc0aa9809 | ||
|
dcaaf50a5a | ||
|
3370b57134 | ||
|
55c5ddedf4 | ||
|
5e8b09f5af | ||
|
1acffce62d | ||
|
8555ecce87 | ||
|
4df5f668dc | ||
|
cceebeebef | ||
|
c4f19465a6 | ||
|
e868102c98 | ||
|
0d4a1837f5 | ||
|
d6a4436313 | ||
|
03b5c6aa5e | ||
|
250cd47e02 | ||
|
943fef32e7 | ||
|
408634671c | ||
|
570b5856ba | ||
|
d114d14e87 | ||
|
32791f502e | ||
|
083ab0c788 | ||
|
003c4c4e26 | ||
|
f08f89ebd4 | ||
|
3c973144c4 | ||
|
82e99ca658 | ||
|
b04d750cec | ||
|
c804e9f541 | ||
|
7753f3f842 | ||
|
c985b7c682 | ||
|
4509919c22 | ||
|
89b164c7ca | ||
|
e52d17b39a | ||
|
5014914dc9 | ||
|
122ab83a84 | ||
|
7a985c2c8a | ||
|
b11ad30a31 | ||
|
5914fc97df | ||
|
e41ae1832d | ||
|
89b50909ed | ||
|
edccd7412f | ||
|
c76beae057 | ||
|
23c5934a7d | ||
|
a078947d6d | ||
|
0faaf660b4 | ||
|
5ba98b4200 | ||
|
c36513b99d | ||
|
97814531fa | ||
|
fd3e335a02 | ||
|
e676fa2b57 | ||
|
122cbbf673 | ||
|
271793b324 | ||
|
134b31933b | ||
|
0ec5518a62 | ||
|
76931370d7 | ||
|
8cf0e4517a | ||
|
e75c62bf0f | ||
|
058285e0b9 | ||
|
795568d8c2 | ||
|
df4933fddd | ||
|
4046a51472 | ||
|
45845f645d | ||
|
d7fd8944f7 | ||
|
3cee671f25 | ||
|
8f2e5faff3 | ||
|
39ddd934f6 | ||
|
9f8a46b9d9 | ||
|
c6698eaea6 | ||
|
8a96cf3434 | ||
|
74d255c056 | ||
|
71aa841265 | ||
|
14a93a9f26 | ||
|
e1fd9c6922 | ||
|
b9db747b5c | ||
|
4a56c76901 | ||
|
6bb3184a72 | ||
|
7fb8fbd450 | ||
|
9d5bba472e | ||
|
e6d821a45f | ||
|
72f0027e21 | ||
|
29a13a9943 | ||
|
3691ae4d13 | ||
|
4dda397c29 | ||
|
b4b058998d | ||
|
10919e415e | ||
|
4966d74864 | ||
|
c70ecb30a5 | ||
|
acc0d17e0f | ||
|
b509b878bf | ||
|
322ec2efa1 | ||
|
1232661b1e | ||
|
c46d123503 | ||
|
8f4060999f | ||
|
0addd86069 | ||
|
760086307b | ||
|
fc6558a64c | ||
|
eca500880d | ||
|
90bcd7c977 | ||
|
cca0c6eaf3 | ||
|
b0736002be | ||
|
51fc2d8e51 | ||
|
d87c192ff1 | ||
|
52ccf398a6 | ||
|
344d0e2687 | ||
|
1bc4d6b423 | ||
|
baa9ca7ea3 | ||
|
e4d477fb4c | ||
|
71319eee28 | ||
|
68b31526f8 | ||
|
0b2b7324d9 | ||
|
43512cf27b | ||
|
4218b65969 | ||
|
7244e12b78 | ||
|
a796ef5c66 | ||
|
9474a05aaa | ||
|
41df355a7e | ||
|
4f3ab87914 | ||
|
5d1a08707c | ||
|
4f822df80e | ||
|
951be5cbf6 | ||
|
b6c2341542 | ||
|
a6e6b49a9d | ||
|
3a4bbd571e | ||
|
feccc6150e | ||
|
a37b599a6b | ||
|
9347683fe3 | ||
|
3551c26e28 | ||
|
cfca0107eb | ||
|
dfbe37fdaf | ||
|
81bc975193 | ||
|
7908fda451 | ||
|
cdbb7c4b0d | ||
|
414e57ec55 | ||
|
1871123066 | ||
|
87bc08bef5 | ||
|
214a39c3d3 | ||
|
ef0cc5e33e | ||
|
37e7ea0b52 | ||
|
44bf518244 | ||
|
63cb9b4968 | ||
|
a6cecc103c |
@@ -3,6 +3,14 @@ if: tag IS present
|
|||||||
|
|
||||||
rvm: 2.3.3
|
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:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: osx
|
- os: osx
|
||||||
|
62
Assets/JoplinLetter.svg
Normal file
62
Assets/JoplinLetter.svg
Normal 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 |
21
BUILD.md
21
BUILD.md
@@ -8,8 +8,6 @@
|
|||||||
brew install yarn node
|
brew install yarn node
|
||||||
echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
|
echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
|
||||||
source ~/.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
|
## Linux and Windows (WSL) dependencies
|
||||||
|
|
||||||
@@ -37,12 +35,29 @@ 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`
|
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`.
|
If you get a node-gyp related error you might need to manually install it: `npm install -g node-gyp`.
|
||||||
|
|
||||||
|
If you get the error `libtool: unrecognized option '-static'`, follow the instructions [in this post](https://stackoverflow.com/a/38552393/561309) to use the correct libtool version.
|
||||||
|
|
||||||
That will create the executable file in the `dist` directory.
|
That will create the executable file in the `dist` directory.
|
||||||
|
|
||||||
From `/ElectronClient` you can also run `run.sh` to run the app for testing.
|
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
|
# 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.
|
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.
|
||||||
|
@@ -1,20 +1,26 @@
|
|||||||
|
# User support
|
||||||
|
|
||||||
|
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
|
# 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.
|
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.
|
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
|
# 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. Adding a "+1" comment does nothing.
|
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
|
# 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.
|
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.
|
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/master/BUILD.md) for more details.
|
||||||
|
|
||||||
# Coding style
|
# Coding style
|
||||||
|
|
||||||
- Only use tabs for indentation, not spaces.
|
There are only two rules, but not following them means the pull request will not be accepted (it can be accepted once the issues are fixed):
|
||||||
- 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.
|
|
||||||
|
- **Please use tabs, NOT spaces.**
|
||||||
|
- **Please do not add or remove optional characters, such as spaces or colons.** Please setup your editor so that it only changes what you are working on and is not making automated changes elsewhere. The reason for this is that small white space changes make diff hard to read and can cause needless conflicts.
|
4
CliClient/.gitignore
vendored
4
CliClient/.gitignore
vendored
@@ -13,9 +13,11 @@ tests/fuzzing.*
|
|||||||
tests/fuzzing -*
|
tests/fuzzing -*
|
||||||
tests/logs/*
|
tests/logs/*
|
||||||
tests/cli-integration/
|
tests/cli-integration/
|
||||||
|
tests/tmp/
|
||||||
*.mo
|
*.mo
|
||||||
*.*~
|
*.*~
|
||||||
tests/sync
|
tests/sync
|
||||||
out.txt
|
out.txt
|
||||||
linkToLocal.sh
|
linkToLocal.sh
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
|
tests/support/dropbox-auth.txt
|
@@ -1,5 +1,6 @@
|
|||||||
const { Logger } = require('lib/logger.js');
|
const { Logger } = require('lib/logger.js');
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
|
const BaseItem = require('lib/models/BaseItem.js');
|
||||||
const Tag = require('lib/models/Tag.js');
|
const Tag = require('lib/models/Tag.js');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Note = require('lib/models/Note.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 { splitCommandString } = require('lib/string-utils.js');
|
||||||
const { reg } = require('lib/registry.js');
|
const { reg } = require('lib/registry.js');
|
||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale.js');
|
||||||
|
const Entities = require('html-entities').AllHtmlEntities;
|
||||||
|
const htmlentities = (new Entities()).encode;
|
||||||
|
|
||||||
const chalk = require('chalk');
|
const chalk = require('chalk');
|
||||||
const tk = require('terminal-kit');
|
const tk = require('terminal-kit');
|
||||||
@@ -35,38 +38,55 @@ const ConsoleWidget = require('./gui/ConsoleWidget.js');
|
|||||||
|
|
||||||
class AppGui {
|
class AppGui {
|
||||||
|
|
||||||
constructor(app, store) {
|
constructor(app, store, keymap) {
|
||||||
this.app_ = app;
|
try {
|
||||||
this.store_ = store;
|
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;
|
// Some keys are directly handled by the tkwidget framework
|
||||||
this.logger_ = new Logger();
|
// so they need to be remapped in a different way.
|
||||||
this.buildUi();
|
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) => {
|
this.renderer_ = new Renderer(this.term(), this.rootWidget_);
|
||||||
await this.handleModelAction(event.action);
|
|
||||||
});
|
|
||||||
|
|
||||||
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.commandCancelCalled_ = false;
|
||||||
this.lastShortcutKeyTime_ = 0;
|
|
||||||
|
|
||||||
// Recurrent sync is setup only when the GUI is started. In
|
this.currentShortcutKeys_ = [];
|
||||||
// a regular command it's not necessary since the process
|
this.lastShortcutKeyTime_ = 0;
|
||||||
// exits right away.
|
|
||||||
reg.setupRecurrentSync();
|
// Recurrent sync is setup only when the GUI is started. In
|
||||||
DecryptionWorker.instance().scheduleStart();
|
// 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() {
|
store() {
|
||||||
@@ -105,6 +125,7 @@ class AppGui {
|
|||||||
buildUi() {
|
buildUi() {
|
||||||
this.rootWidget_ = new ReduxRootWidget(this.store_);
|
this.rootWidget_ = new ReduxRootWidget(this.store_);
|
||||||
this.rootWidget_.name = 'root';
|
this.rootWidget_.name = 'root';
|
||||||
|
this.rootWidget_.autoShortcutsEnabled = false;
|
||||||
|
|
||||||
const folderList = new FolderListWidget();
|
const folderList = new FolderListWidget();
|
||||||
folderList.style = {
|
folderList.style = {
|
||||||
@@ -269,155 +290,31 @@ class AppGui {
|
|||||||
|
|
||||||
addCommandToConsole(cmd) {
|
addCommandToConsole(cmd) {
|
||||||
if (!cmd) return;
|
if (!cmd) return;
|
||||||
|
const isConfigPassword = cmd.indexOf('config ') >= 0 && cmd.indexOf('password') >= 0;
|
||||||
|
if (isConfigPassword) return;
|
||||||
this.stdout(chalk.cyan.bold('> ' + cmd));
|
this.stdout(chalk.cyan.bold('> ' + cmd));
|
||||||
}
|
}
|
||||||
|
|
||||||
setupShortcuts() {
|
setupKeymap(keymap) {
|
||||||
const shortcuts = {};
|
const output = [];
|
||||||
|
|
||||||
shortcuts['TAB'] = {
|
for (let i = 0; i < keymap.length; i++) {
|
||||||
friendlyName: 'Tab',
|
const item = Object.assign({}, keymap[i]);
|
||||||
description: () => _('Give focus to next pane'),
|
|
||||||
isDocOnly: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
shortcuts['SHIFT_TAB'] = {
|
if (!item.command) throw new Error('Missing command for keymap item: ' + JSON.stringify(item));
|
||||||
friendlyName: 'Shift+Tab',
|
|
||||||
description: () => _('Give focus to previous pane'),
|
|
||||||
isDocOnly: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
shortcuts[':'] = {
|
if (!('type' in item)) item.type = 'exec';
|
||||||
description: () => _('Enter command line mode'),
|
|
||||||
action: async () => {
|
|
||||||
const cmd = await this.widget('statusBar').prompt();
|
|
||||||
if (!cmd) return;
|
|
||||||
this.addCommandToConsole(cmd);
|
|
||||||
await this.processCommand(cmd);
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
shortcuts['ESC'] = { // Built into terminal-kit inputField
|
if (item.command in this.tkWidgetKeys_) {
|
||||||
description: () => _('Exit command line mode'),
|
item.type = 'tkwidgets';
|
||||||
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.'));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
shortcuts['BACKSPACE'] = {
|
item.canRunAlongOtherCommands = item.type === 'function' && ['toggle_metadata', 'toggle_console'].indexOf(item.command) >= 0;
|
||||||
alias: 'DELETE',
|
|
||||||
};
|
|
||||||
|
|
||||||
shortcuts[' '] = {
|
output.push(item);
|
||||||
friendlyName: 'SPACE',
|
|
||||||
description: () => _('Set a to-do as completed / not completed'),
|
|
||||||
action: 'todo toggle $n',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
shortcuts['tc'] = {
|
return output;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
toggleConsole() {
|
toggleConsole() {
|
||||||
@@ -492,8 +389,16 @@ class AppGui {
|
|||||||
return this.logger_;
|
return this.logger_;
|
||||||
}
|
}
|
||||||
|
|
||||||
shortcuts() {
|
keymap() {
|
||||||
return this.shortcuts_;
|
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() {
|
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;
|
if (!cmd) return;
|
||||||
cmd = cmd.trim();
|
cmd = cmd.trim();
|
||||||
if (!cmd.length) return;
|
if (!cmd.length) return;
|
||||||
|
|
||||||
this.logger().info('Got command: ' + cmd);
|
// this.logger().debug('Got command: ' + cmd);
|
||||||
|
|
||||||
if (cmd === 'q' || cmd === 'wq' || cmd === 'qa') { // Vim bonus
|
|
||||||
await this.app().exit();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let note = this.widget('noteList').currentItem;
|
let note = this.widget('noteList').currentItem;
|
||||||
@@ -676,12 +641,27 @@ class AppGui {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (link.type === 'resource') {
|
if (link.type === 'item') {
|
||||||
const resourceId = link.id;
|
const itemId = link.id;
|
||||||
let resource = await Resource.load(resourceId);
|
let item = await BaseItem.loadItemById(itemId);
|
||||||
if (!resource) throw new Error('No resource with ID ' + resourceId); // Should be nearly impossible
|
if (!item) throw new Error('No item with ID ' + itemId); // Should be nearly impossible
|
||||||
if (resource.mime) response.setHeader('Content-Type', resource.mime);
|
|
||||||
response.write(await Resource.content(resource));
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -697,7 +677,7 @@ class AppGui {
|
|||||||
|
|
||||||
if (resourceIdRegex.test(url)) {
|
if (resourceIdRegex.test(url)) {
|
||||||
noteLinks[index] = {
|
noteLinks[index] = {
|
||||||
type: 'resource',
|
type: 'item',
|
||||||
id: url.substr(2),
|
id: url.substr(2),
|
||||||
};
|
};
|
||||||
} else if (hasProtocol(url, ['http', 'https', 'file', 'ftp'])) {
|
} else if (hasProtocol(url, ['http', 'https', 'file', 'ftp'])) {
|
||||||
@@ -786,35 +766,34 @@ class AppGui {
|
|||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
|
||||||
const shortcutKey = this.currentShortcutKeys_.join('');
|
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 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;
|
let processShortcutKeys = !this.app().currentCommand() && keymapItem;
|
||||||
if (cmd && cmd.canRunAlongOtherCommands) processShortcutKeys = true;
|
if (keymapItem && keymapItem.canRunAlongOtherCommands) processShortcutKeys = true;
|
||||||
if (statusBar.promptActive) processShortcutKeys = false;
|
if (statusBar.promptActive) processShortcutKeys = false;
|
||||||
if (cmd && cmd.isDocOnly) processShortcutKeys = false;
|
|
||||||
|
|
||||||
if (processShortcutKeys) {
|
if (processShortcutKeys) {
|
||||||
this.logger().info('Shortcut:', shortcutKey, cmd.description());
|
this.logger().debug('Shortcut:', shortcutKey, keymapItem);
|
||||||
|
|
||||||
this.currentShortcutKeys_ = [];
|
this.currentShortcutKeys_ = [];
|
||||||
if (typeof cmd.action === 'function') {
|
|
||||||
await cmd.action();
|
if (keymapItem.type === 'function') {
|
||||||
} else if (typeof cmd.action === 'object') {
|
this.processFunctionCommand(keymapItem.command);
|
||||||
if (cmd.action.type === 'prompt') {
|
} else if (keymapItem.type === 'prompt') {
|
||||||
let promptOptions = {};
|
let promptOptions = {};
|
||||||
if ('cursorPosition' in cmd.action) promptOptions.cursorPosition = cmd.action.cursorPosition;
|
if ('cursorPosition' in keymapItem) promptOptions.cursorPosition = keymapItem.cursorPosition;
|
||||||
const commandString = await statusBar.prompt(cmd.action.initialText ? cmd.action.initialText : '', null, promptOptions);
|
const commandString = await statusBar.prompt(keymapItem.command ? keymapItem.command : '', null, promptOptions);
|
||||||
this.addCommandToConsole(commandString);
|
this.addCommandToConsole(commandString);
|
||||||
await this.processCommand(commandString);
|
await this.processPromptCommand(commandString);
|
||||||
} else {
|
} else if (keymapItem.type === 'exec') {
|
||||||
throw new Error('Unknown command: ' + JSON.stringify(cmd.action));
|
this.stdout(keymapItem.command);
|
||||||
}
|
await this.processPromptCommand(keymapItem.command);
|
||||||
} else { // String
|
} else if (keymapItem.type === 'tkwidgets') {
|
||||||
this.stdout(cmd.action);
|
this.widget('root').handleKey(this.tkWidgetKeys_[keymapItem.command]);
|
||||||
await this.processCommand(cmd.action);
|
} else {
|
||||||
|
throw new Error('Unknown command type: ' + JSON.stringify(keymapItem));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -5,6 +5,7 @@ const { JoplinDatabase } = require('lib/joplin-database.js');
|
|||||||
const { Database } = require('lib/database.js');
|
const { Database } = require('lib/database.js');
|
||||||
const { FoldersScreenUtils } = require('lib/folders-screen-utils.js');
|
const { FoldersScreenUtils } = require('lib/folders-screen-utils.js');
|
||||||
const { DatabaseDriverNode } = require('lib/database-driver-node.js');
|
const { DatabaseDriverNode } = require('lib/database-driver-node.js');
|
||||||
|
const ResourceService = require('lib/services/ResourceService');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
const Folder = require('lib/models/Folder.js');
|
const Folder = require('lib/models/Folder.js');
|
||||||
const BaseItem = require('lib/models/BaseItem.js');
|
const BaseItem = require('lib/models/BaseItem.js');
|
||||||
@@ -283,7 +284,7 @@ class Application extends BaseApplication {
|
|||||||
exit: () => {},
|
exit: () => {},
|
||||||
showModalOverlay: (text) => {},
|
showModalOverlay: (text) => {},
|
||||||
hideModalOverlay: () => {},
|
hideModalOverlay: () => {},
|
||||||
stdoutMaxWidth: () => { return 78; },
|
stdoutMaxWidth: () => { return 100; },
|
||||||
forceRender: () => {},
|
forceRender: () => {},
|
||||||
termSaveState: () => {},
|
termSaveState: () => {},
|
||||||
termRestoreState: (state) => {},
|
termRestoreState: (state) => {},
|
||||||
@@ -292,7 +293,7 @@ class Application extends BaseApplication {
|
|||||||
|
|
||||||
async execCommand(argv) {
|
async execCommand(argv) {
|
||||||
if (!argv.length) return this.execCommand(['help']);
|
if (!argv.length) return this.execCommand(['help']);
|
||||||
reg.logger().info('execCommand()', argv);
|
// reg.logger().debug('execCommand()', argv);
|
||||||
const commandName = argv[0];
|
const commandName = argv[0];
|
||||||
this.activeCommand_ = this.findCommandByName(commandName);
|
this.activeCommand_ = this.findCommandByName(commandName);
|
||||||
|
|
||||||
@@ -312,6 +313,63 @@ class Application extends BaseApplication {
|
|||||||
return this.activeCommand_;
|
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) {
|
async start(argv) {
|
||||||
argv = await super.start(argv);
|
argv = await super.start(argv);
|
||||||
|
|
||||||
@@ -330,16 +388,19 @@ class Application extends BaseApplication {
|
|||||||
await this.execCommand(argv);
|
await this.execCommand(argv);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (this.showStackTraces_) {
|
if (this.showStackTraces_) {
|
||||||
console.info(error);
|
console.error(error);
|
||||||
} else {
|
} else {
|
||||||
console.info(error.message);
|
console.info(error.message);
|
||||||
}
|
}
|
||||||
|
process.exit(1);
|
||||||
}
|
}
|
||||||
} else { // Otherwise open the GUI
|
} else { // Otherwise open the GUI
|
||||||
this.initRedux();
|
this.initRedux();
|
||||||
|
|
||||||
|
const keymap = await this.loadKeymaps();
|
||||||
|
|
||||||
const AppGui = require('./app-gui.js');
|
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_);
|
this.gui_.setLogger(this.logger_);
|
||||||
await this.gui_.start();
|
await this.gui_.start();
|
||||||
|
|
||||||
@@ -352,6 +413,8 @@ class Application extends BaseApplication {
|
|||||||
|
|
||||||
const tags = await Tag.allWithNotes();
|
const tags = await Tag.allWithNotes();
|
||||||
|
|
||||||
|
ResourceService.runInBackground();
|
||||||
|
|
||||||
this.dispatch({
|
this.dispatch({
|
||||||
type: 'TAG_UPDATE_ALL',
|
type: 'TAG_UPDATE_ALL',
|
||||||
items: tags,
|
items: tags,
|
||||||
|
@@ -36,7 +36,7 @@ async function handleAutocompletionPromise(line) {
|
|||||||
if (next[0] === '-') {
|
if (next[0] === '-') {
|
||||||
for (let i = 0; i<metadata.options.length; i++) {
|
for (let i = 0; i<metadata.options.length; i++) {
|
||||||
const options = metadata.options[i][0].split(' ');
|
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
|
//space. The comma should be removed
|
||||||
if (options[0][options[0].length - 1] === ',') {
|
if (options[0][options[0].length - 1] === ',') {
|
||||||
options[0] = options[0].slice(0, -1);
|
options[0] = options[0].slice(0, -1);
|
||||||
|
@@ -32,10 +32,6 @@ class BaseCommand {
|
|||||||
return this.compatibleUis().indexOf(ui) >= 0;
|
return this.compatibleUis().indexOf(ui) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
aliases() {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
options() {
|
options() {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
@@ -102,7 +102,7 @@ function getFooter() {
|
|||||||
|
|
||||||
output.push('WEBSITE');
|
output.push('WEBSITE');
|
||||||
output.push('');
|
output.push('');
|
||||||
output.push(INDENT + 'http://joplin.cozic.net');
|
output.push(INDENT + 'https://joplin.cozic.net');
|
||||||
|
|
||||||
output.push('');
|
output.push('');
|
||||||
|
|
||||||
|
276
CliClient/app/command-apidoc.js
Normal file
276
CliClient/app/command-apidoc.js
Normal file
@@ -0,0 +1,276 @@
|
|||||||
|
const { BaseCommand } = require('./base-command.js');
|
||||||
|
const { _ } = require('lib/locale.js');
|
||||||
|
const { cliUtils } = require('./cli-utils.js');
|
||||||
|
const EncryptionService = require('lib/services/EncryptionService');
|
||||||
|
const DecryptionWorker = require('lib/services/DecryptionWorker');
|
||||||
|
const MasterKey = require('lib/models/MasterKey');
|
||||||
|
const BaseItem = require('lib/models/BaseItem');
|
||||||
|
const BaseModel = require('lib/BaseModel');
|
||||||
|
const Setting = require('lib/models/Setting.js');
|
||||||
|
const { toTitleCase } = require('lib/string-utils.js');
|
||||||
|
const { reg } = require('lib/registry.js');
|
||||||
|
const markdownUtils = require('lib/markdownUtils');
|
||||||
|
const { Database } = require('lib/database.js');
|
||||||
|
|
||||||
|
class Command extends BaseCommand {
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
return 'apidoc';
|
||||||
|
}
|
||||||
|
|
||||||
|
description() {
|
||||||
|
return 'Build the API doc';
|
||||||
|
}
|
||||||
|
|
||||||
|
createPropertiesTable(tableFields) {
|
||||||
|
const headers = [
|
||||||
|
{ name: 'name', label: 'Name' },
|
||||||
|
{ name: 'type', label: 'Type', filter: (value) => {
|
||||||
|
return Database.enumName('fieldType', value);
|
||||||
|
}},
|
||||||
|
{ name: 'description', label: 'Description' },
|
||||||
|
];
|
||||||
|
|
||||||
|
return markdownUtils.createMarkdownTable(headers, tableFields);
|
||||||
|
}
|
||||||
|
|
||||||
|
async action(args) {
|
||||||
|
const models = [
|
||||||
|
{
|
||||||
|
type: BaseModel.TYPE_NOTE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: BaseModel.TYPE_FOLDER,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: BaseModel.TYPE_RESOURCE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: BaseModel.TYPE_TAG,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const lines = [];
|
||||||
|
|
||||||
|
lines.push('# Joplin API');
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
lines.push('When the Web Clipper service is enabled, Joplin exposes a [REST API](https://en.wikipedia.org/wiki/Representational_state_transfer) which allows third-party applications to access Joplin\'s data and to create, modify or delete notes, notebooks, resources or tags.');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('In order to use it, you\'ll first need to find on which port the service is running. To do so, open the Web Clipper Options in Joplin and if the service is running it should tell you on which port. Normally it runs on port **41184**. If you want to find it programmatically, you may follow this kind of algorithm:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('```javascript');
|
||||||
|
lines.push('let port = null;');
|
||||||
|
lines.push('for (let portToTest = 41184; portToTest <= 41194; portToTest++) {');
|
||||||
|
lines.push(' const result = pingPort(portToTest); // Call GET /ping');
|
||||||
|
lines.push(' if (result == \'JoplinClipperServer\') {');
|
||||||
|
lines.push(' port = portToTest; // Found the port');
|
||||||
|
lines.push(' break;');
|
||||||
|
lines.push(' }');
|
||||||
|
lines.push('}');
|
||||||
|
lines.push('```');
|
||||||
|
|
||||||
|
lines.push('# Authorisation')
|
||||||
|
lines.push('');
|
||||||
|
lines.push('To prevent unauthorised applications from accessing the API, the calls must be authentified. To do so, you must provide a token as a query parameter for each API call. You can get this token from the Joplin desktop application, on the Web Clipper Options screen.');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('This would be an example of valid cURL call using a token:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('\tcurl http://localhost:41184/notes?token=ABCD123ABCD123ABCD123ABCD123ABCD123');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('In the documentation below, the token will not be specified every time however you will need to include it.');
|
||||||
|
|
||||||
|
lines.push('# Using the API');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('All the calls, unless noted otherwise, receives and send **JSON data**. For example to create a new note:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('\tcurl --data \'{ "title": "My note", "body": "Some note in **Markdown**"}\' http://localhost:41184/notes');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('In the documentation below, the calls may include special parameters such as :id or :note_id. You would replace this with the item ID or note ID.');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('For example, for the endpoint `DELETE /tags/:id/notes/:note_id`, to remove the tag with ID "ABCD1234" from the note with ID "EFGH789", you would run for example:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('\tcurl -X DELETE http://localhost:41184/tags/ABCD1234/notes/EFGH789');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('The four verbs supported by the API are the following ones:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('* **GET**: To retrieve items (notes, notebooks, etc.).');
|
||||||
|
lines.push('* **POST**: To create new items. In general most item properties are optional. If you omit any, a default value will be used.');
|
||||||
|
lines.push('* **PUT**: To update an item. Note in a REST API, traditionally PUT is used to completely replace an item, however in this API it will only replace the properties that are provided. For example if you PUT {"title": "my new title"}, only the "title" property will be changed. The other properties will be left untouched (they won\'t be cleared nor changed).');
|
||||||
|
lines.push('* **DELETE**: To delete items.');
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
lines.push('# Filtering data');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('You can change the fields that will be returned by the API using the `fields=` query parameter, which takes a list of comma separated fields. For example, to get the longitude and latitude of a note, use this:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('\tcurl http://localhost:41184/notes/ABCD123?fields=longitude,latitude');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('To get the IDs only of all the tags:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('\tcurl http://localhost:41184/tags?fields=id');
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
lines.push('# About the property types');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('* Text is UTF-8.');
|
||||||
|
lines.push('* All date/time are Unix timestamps in milliseconds.');
|
||||||
|
lines.push('* Booleans are integer values 0 or 1.');
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
lines.push('# Testing if the service is available');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Call **GET /ping** to check if the service is available. It should return "JoplinClipperServer" if it works.');
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
for (let i = 0; i < models.length; i++) {
|
||||||
|
const model = models[i];
|
||||||
|
const ModelClass = BaseItem.getClassByItemType(model.type);
|
||||||
|
const tableName = ModelClass.tableName();
|
||||||
|
let tableFields = reg.db().tableFields(tableName, { includeDescription: true });
|
||||||
|
const singular = tableName.substr(0, tableName.length - 1);
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_NOTE) {
|
||||||
|
tableFields = tableFields.slice();
|
||||||
|
tableFields.push({
|
||||||
|
name: 'body_html',
|
||||||
|
type: Database.enumId('fieldType', 'text'),
|
||||||
|
description: 'Note body, in HTML format',
|
||||||
|
});
|
||||||
|
tableFields.push({
|
||||||
|
name: 'base_url',
|
||||||
|
type: Database.enumId('fieldType', 'text'),
|
||||||
|
description: 'If `body_html` is provided and contains relative URLs, provide the `base_url` parameter too so that all the URLs can be converted to absolute ones. The base URL is basically where the HTML was fetched from, minus the query (everything after the \'?\'). For example if the original page was `https://stackoverflow.com/search?q=%5Bjava%5D+test`, the base URL is `https://stackoverflow.com/search`.',
|
||||||
|
});
|
||||||
|
tableFields.push({
|
||||||
|
name: 'image_data_url',
|
||||||
|
type: Database.enumId('fieldType', 'text'),
|
||||||
|
description: 'An image to attach to the note, in [Data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) format.',
|
||||||
|
});
|
||||||
|
tableFields.push({
|
||||||
|
name: 'crop_rect',
|
||||||
|
type: Database.enumId('fieldType', 'text'),
|
||||||
|
description: 'If an image is provided, you can also specify an optional rectangle that will be used to crop the image. In format `{ x: x, y: y, width: width, height: height }`',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
lines.push('# ' + toTitleCase(tableName));
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_FOLDER) {
|
||||||
|
lines.push('This is actually a notebook. Internally notebooks are called "folders".');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
|
||||||
|
lines.push('## Properties');
|
||||||
|
lines.push('');
|
||||||
|
lines.push(this.createPropertiesTable(tableFields));
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
lines.push('## GET /' + tableName);
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Gets all ' + tableName);
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_FOLDER) {
|
||||||
|
lines.push('The folders are returned as a tree. The sub-notebooks of a notebook, if any, are under the `children` key.');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
|
||||||
|
lines.push('## GET /' + tableName + '/:id');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Gets ' + singular + ' with ID :id');
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_TAG) {
|
||||||
|
lines.push('## GET /tags/:id/notes');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Gets all the notes with this tag.');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_NOTE) {
|
||||||
|
lines.push('## GET /notes/:id/tags');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Gets all the tags attached to this note.');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_FOLDER) {
|
||||||
|
lines.push('## GET /folders/:id/notes');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Gets all the notes inside this folder.');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_RESOURCE) {
|
||||||
|
lines.push('## GET /resources/:id/file');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Gets the actual file associated with this resource.');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
|
||||||
|
lines.push('## POST /' + tableName);
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Creates a new ' + singular);
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_RESOURCE) {
|
||||||
|
lines.push('Creating a new resource is special because you also need to upload the file. Unlike other API calls, this one must have the "multipart/form-data" Content-Type. The file data must be passed to the "data" form field, and the other properties to the "props" form field. An example of a valid call with cURL would be:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('\tcurl -F \'data=@/path/to/file.jpg\' -F \'props={"title":"my resource title"}\' http://localhost:41184/resources');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('The "data" field is required, while the "props" one is not. If not specified, default values will be used.');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_TAG) {
|
||||||
|
lines.push('## POST /tags/:id/notes');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Post a note to this endpoint to add the tag to the note. The note data must at least contain an ID property (all other properties will be ignored).');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_NOTE) {
|
||||||
|
lines.push('You can either specify the note body as Markdown by setting the `body` parameter, or in HTML by setting the `body_html`.');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Examples:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('* Create a note from some Markdown text');
|
||||||
|
lines.push('');
|
||||||
|
lines.push(' curl --data \'{ "title": "My note", "body": "Some note in **Markdown**"}\' http://127.0.0.1:41184/notes');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('* Create a note from some HTML');
|
||||||
|
lines.push('');
|
||||||
|
lines.push(' curl --data \'{ "title": "My note", "body_html": "Some note in <b>HTML</b>"}\' http://127.0.0.1:41184/notes');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('* Create a note and attach an image to it:');
|
||||||
|
lines.push('');
|
||||||
|
lines.push(' curl --data \'{ "title": "Image test", "body": "Here is Joplin icon:", "image_data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUeNoAyAA3/wFwtO3K6gUB/vz2+Prw9fj/+/r+/wBZKAAExOgF4/MC9ff+MRH6Ui4E+/0Bqc/zutj6AgT+/Pz7+vv7++nu82c4DlMqCvLs8goA/gL8/fz09fb59vXa6vzZ6vjT5fbn6voD/fwC8vX4UiT9Zi//APHyAP8ACgUBAPv5APz7BPj2+DIaC2o3E+3o6ywaC5fT6gD6/QD9/QEVf9kD+/dcLQgJA/7v8vqfwOf18wA1IAIEVycAyt//v9XvAPv7APz8LhoIAPz9Ri4OAgwARgx4W/6fVeEAAAAASUVORK5CYII="}\' http://127.0.0.1:41184/notes');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
|
||||||
|
lines.push('## PUT /' + tableName + '/:id');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Sets the properties of the ' + singular + ' with ID :id');
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
lines.push('## DELETE /' + tableName + '/:id');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Deletes the ' + singular + ' with ID :id');
|
||||||
|
lines.push('');
|
||||||
|
|
||||||
|
if (model.type === BaseModel.TYPE_TAG) {
|
||||||
|
lines.push('## DELETE /tags/:id/notes/:note_id');
|
||||||
|
lines.push('');
|
||||||
|
lines.push('Remove the tag from the note.');
|
||||||
|
lines.push('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.stdout(lines.join('\n'));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = Command;
|
@@ -47,12 +47,48 @@ class Command extends BaseCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (args.command === 'decrypt') {
|
if (args.command === 'decrypt') {
|
||||||
this.stdout(_('Starting decryption... Please wait as it may take several minutes depending on how much there is to decrypt.'));
|
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
try {
|
try {
|
||||||
await DecryptionWorker.instance().start();
|
if (args.path) {
|
||||||
break;
|
const plainText = await EncryptionService.instance().decryptString(args.path);
|
||||||
|
this.stdout(plainText);
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
if (process.stdin.isTTY) {
|
||||||
|
this.stdout(_('Starting decryption... Please wait as it may take several minutes depending on how much there is to decrypt.'));
|
||||||
|
await DecryptionWorker.instance().start();
|
||||||
|
this.stdout(_('Completed decryption.'));
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
// var repl = require("repl");
|
||||||
|
// var r = repl.start("node> ");
|
||||||
|
|
||||||
|
const text = await new Promise((accept, reject) => {
|
||||||
|
var buffer = '';
|
||||||
|
process.stdin.setEncoding('utf8');
|
||||||
|
process.stdin.on('data', function(chunk) {
|
||||||
|
buffer += chunk;
|
||||||
|
// process.stdout.write(chunk);
|
||||||
|
});
|
||||||
|
process.stdin.on('end', function() {
|
||||||
|
accept(buffer.trim());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
if (text.length > 0) {
|
||||||
|
var cipherText = text;
|
||||||
|
try {
|
||||||
|
var item = await BaseItem.unserialize(text);
|
||||||
|
cipherText = item.encryption_cipher_text;
|
||||||
|
} catch (error) {
|
||||||
|
// we already got the pure cipher text
|
||||||
|
}
|
||||||
|
const plainText = await EncryptionService.instance().decryptString(cipherText);
|
||||||
|
this.stdout(plainText);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error.code === 'masterKeyNotLoaded') {
|
if (error.code === 'masterKeyNotLoaded') {
|
||||||
const masterKeyId = error.masterKeyId;
|
const masterKeyId = error.masterKeyId;
|
||||||
@@ -70,8 +106,6 @@ class Command extends BaseCommand {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.stdout(_('Completed decryption.'));
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,4 +215,4 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = Command;
|
module.exports = Command;
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
const { BaseCommand } = require('./base-command.js');
|
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 BaseModel = require('lib/BaseModel.js');
|
||||||
const Note = require('lib/models/Note.js');
|
const Note = require('lib/models/Note.js');
|
||||||
const { reg } = require('lib/registry.js');
|
const { reg } = require('lib/registry.js');
|
||||||
@@ -10,15 +10,21 @@ const fs = require('fs-extra');
|
|||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
return 'export <directory>';
|
return 'export <path>';
|
||||||
}
|
}
|
||||||
|
|
||||||
description() {
|
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() {
|
options() {
|
||||||
|
const service = new InteropService();
|
||||||
|
const formats = service.modules()
|
||||||
|
.filter(m => m.type === 'exporter')
|
||||||
|
.map(m => m.format + (m.description ? ' (' + m.description + ')' : ''));
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
['--format <format>', _('Destination format: %s', formats.join(', '))],
|
||||||
['--note <note>', _('Exports only the given note.')],
|
['--note <note>', _('Exports only the given note.')],
|
||||||
['--notebook <notebook>', _('Exports only the given notebook.')],
|
['--notebook <notebook>', _('Exports only the given notebook.')],
|
||||||
];
|
];
|
||||||
@@ -26,13 +32,9 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
async action(args) {
|
async action(args) {
|
||||||
let exportOptions = {};
|
let exportOptions = {};
|
||||||
exportOptions.destDir = args.directory;
|
exportOptions.path = args.path;
|
||||||
exportOptions.writeFile = (filePath, data) => {
|
|
||||||
return fs.writeFile(filePath, data);
|
exportOptions.format = args.options.format ? args.options.format : 'jex';
|
||||||
};
|
|
||||||
exportOptions.copyFile = (source, dest) => {
|
|
||||||
return fs.copy(source, dest, { overwrite: true });
|
|
||||||
};
|
|
||||||
|
|
||||||
if (args.options.note) {
|
if (args.options.note) {
|
||||||
|
|
||||||
@@ -48,10 +50,10 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const exporter = new Exporter();
|
const service = new InteropService();
|
||||||
const result = await exporter.export(exportOptions);
|
const result = await service.export(exportOptions);
|
||||||
|
|
||||||
reg.logger().info('Export result: ', result);
|
result.warnings.map((w) => this.stdout(w));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -36,21 +36,22 @@ class Command extends BaseCommand {
|
|||||||
async action(args) {
|
async action(args) {
|
||||||
const stdoutWidth = app().commandStdoutMaxWidth();
|
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()) {
|
if (app().gui().isDummy()) {
|
||||||
throw new Error(_('Shortcuts are not available in CLI mode.'));
|
throw new Error(_('Shortcuts are not available in CLI mode.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
const shortcuts = app().gui().shortcuts();
|
const keymap = app().gui().keymap();
|
||||||
|
|
||||||
let rows = [];
|
let rows = [];
|
||||||
|
|
||||||
for (let n in shortcuts) {
|
for (let i = 0; i < keymap.length; i++) {
|
||||||
if (!shortcuts.hasOwnProperty(n)) continue;
|
const item = keymap[i];
|
||||||
const shortcut = shortcuts[n];
|
const keys = item.keys.map((k) => k === ' ' ? '(SPACE)' : k);
|
||||||
if (!shortcut.description) continue;
|
rows.push([keys.join(', '), item.command]);
|
||||||
n = shortcut.friendlyName ? shortcut.friendlyName : n;
|
|
||||||
rows.push([n, shortcut.description()]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cliUtils.printArray(this.stdout.bind(this), rows);
|
cliUtils.printArray(this.stdout.bind(this), rows);
|
||||||
@@ -71,14 +72,14 @@ class Command extends BaseCommand {
|
|||||||
this.stdout('');
|
this.stdout('');
|
||||||
this.stdout(commandNames.join(', '));
|
this.stdout(commandNames.join(', '));
|
||||||
this.stdout('');
|
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('');
|
||||||
this.stdout(_('To move from one pane to another, press Tab or Shift+Tab.'));
|
this.stdout(_('To move from one pane to another, press Tab or Shift+Tab.'));
|
||||||
this.stdout(_('Use the arrows and page up/down to scroll the lists and text areas (including this console).'));
|
this.stdout(_('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 enter command line mode, press ":"'));
|
||||||
this.stdout(_('To exit command line mode, press ESCAPE'));
|
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();
|
app().gui().showConsole();
|
||||||
|
@@ -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;
|
|
75
CliClient/app/command-import.js
Normal file
75
CliClient/app/command-import.js
Normal 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;
|
@@ -22,7 +22,7 @@ class Command extends BaseCommand {
|
|||||||
enabled() {
|
enabled() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
options() {
|
options() {
|
||||||
return [
|
return [
|
||||||
['-n, --limit <num>', _('Displays only the first top <num> notes.')],
|
['-n, --limit <num>', _('Displays only the first top <num> notes.')],
|
||||||
@@ -93,7 +93,7 @@ class Command extends BaseCommand {
|
|||||||
row.push(await Folder.noteCount(item.id));
|
row.push(await Folder.noteCount(item.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
row.push(time.unixMsToLocalDateTime(item.user_updated_time));
|
row.push(time.formatMsToLocal(item.user_updated_time));
|
||||||
}
|
}
|
||||||
|
|
||||||
let title = item.title;
|
let title = item.title;
|
||||||
@@ -123,4 +123,4 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = Command;
|
module.exports = Command;
|
||||||
|
@@ -14,10 +14,6 @@ class Command extends BaseCommand {
|
|||||||
return _('Creates a new notebook.');
|
return _('Creates a new notebook.');
|
||||||
}
|
}
|
||||||
|
|
||||||
aliases() {
|
|
||||||
return ['mkdir'];
|
|
||||||
}
|
|
||||||
|
|
||||||
async action(args) {
|
async action(args) {
|
||||||
let folder = await Folder.save({ title: args['new-notebook'] }, { userSideValidation: true });
|
let folder = await Folder.save({ title: args['new-notebook'] }, { userSideValidation: true });
|
||||||
app().switchCurrentFolder(folder);
|
app().switchCurrentFolder(folder);
|
||||||
|
@@ -29,7 +29,7 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
const folder = await app().loadItem(BaseModel.TYPE_FOLDER, pattern);
|
const folder = await app().loadItem(BaseModel.TYPE_FOLDER, pattern);
|
||||||
if (!folder) throw new Error(_('Cannot find "%s".', 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;
|
if (!ok) return;
|
||||||
|
|
||||||
await Folder.delete(folder.id);
|
await Folder.delete(folder.id);
|
||||||
|
@@ -10,7 +10,6 @@ const { cliUtils } = require('./cli-utils.js');
|
|||||||
const md5 = require('md5');
|
const md5 = require('md5');
|
||||||
const locker = require('proper-lockfile');
|
const locker = require('proper-lockfile');
|
||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
const osTmpdir = require('os-tmpdir');
|
|
||||||
const SyncTargetRegistry = require('lib/SyncTargetRegistry');
|
const SyncTargetRegistry = require('lib/SyncTargetRegistry');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
@@ -79,10 +78,26 @@ class Command extends BaseCommand {
|
|||||||
return false;
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.stdout(_('Not authentified with %s. Please provide any missing credentials.', syncTarget.label()));
|
this.stdout(_('Not authentified with %s. Please provide any missing credentials.', syncTargetMd.label));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,7 +116,8 @@ class Command extends BaseCommand {
|
|||||||
this.releaseLockFn_ = null;
|
this.releaseLockFn_ = null;
|
||||||
|
|
||||||
// Lock is unique per profile/database
|
// Lock is unique per profile/database
|
||||||
const lockFilePath = osTmpdir() + '/synclock_' + md5(escape(Setting.value('profileDir'))); // https://github.com/pvorb/node-md5/issues/41
|
// 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');
|
if (!await fs.pathExists(lockFilePath)) await fs.writeFile(lockFilePath, 'synclock');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -131,7 +147,7 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
const syncTarget = reg.syncTarget(this.syncTargetId_);
|
const syncTarget = reg.syncTarget(this.syncTargetId_);
|
||||||
|
|
||||||
if (!syncTarget.isAuthenticated()) {
|
if (!await syncTarget.isAuthenticated()) {
|
||||||
app().gui().showConsole();
|
app().gui().showConsole();
|
||||||
app().gui().maximizeConsole();
|
app().gui().maximizeConsole();
|
||||||
|
|
||||||
@@ -198,7 +214,7 @@ class Command extends BaseCommand {
|
|||||||
|
|
||||||
const syncTarget = reg.syncTarget(syncTargetId);
|
const syncTarget = reg.syncTarget(syncTargetId);
|
||||||
|
|
||||||
if (syncTarget.isAuthenticated()) {
|
if (await syncTarget.isAuthenticated()) {
|
||||||
const sync = await syncTarget.synchronizer();
|
const sync = await syncTarget.synchronizer();
|
||||||
if (sync) await sync.cancel();
|
if (sync) await sync.cancel();
|
||||||
} else {
|
} else {
|
||||||
|
@@ -3,6 +3,7 @@ const { app } = require('./app.js');
|
|||||||
const { _ } = require('lib/locale.js');
|
const { _ } = require('lib/locale.js');
|
||||||
const Tag = require('lib/models/Tag.js');
|
const Tag = require('lib/models/Tag.js');
|
||||||
const BaseModel = require('lib/BaseModel.js');
|
const BaseModel = require('lib/BaseModel.js');
|
||||||
|
const { time } = require('lib/time-utils.js');
|
||||||
|
|
||||||
class Command extends BaseCommand {
|
class Command extends BaseCommand {
|
||||||
|
|
||||||
@@ -11,11 +12,19 @@ class Command extends BaseCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
description() {
|
description() {
|
||||||
return _('<tag-command> can be "add", "remove" or "list" to assign or remove [tag] from [note], or to list the notes associated with [tag]. The command `tag list` can be used to list all the tags.');
|
return _('<tag-command> can be "add", "remove" or "list" to assign or remove [tag] from [note], or to list the notes associated with [tag]. The command `tag list` can be used to list all the tags (use -l for long option).');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
options() {
|
||||||
|
return [
|
||||||
|
['-l, --long', _('Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, TODO_CHECKED (for to-dos), TITLE')],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
async action(args) {
|
async action(args) {
|
||||||
let tag = null;
|
let tag = null;
|
||||||
|
let options = args.options;
|
||||||
|
|
||||||
if (args.tag) tag = await app().loadItem(BaseModel.TYPE_TAG, args.tag);
|
if (args.tag) tag = await app().loadItem(BaseModel.TYPE_TAG, args.tag);
|
||||||
let notes = [];
|
let notes = [];
|
||||||
if (args.note) {
|
if (args.note) {
|
||||||
@@ -41,7 +50,28 @@ class Command extends BaseCommand {
|
|||||||
} else if (command == 'list') {
|
} else if (command == 'list') {
|
||||||
if (tag) {
|
if (tag) {
|
||||||
let notes = await Tag.notes(tag.id);
|
let notes = await Tag.notes(tag.id);
|
||||||
notes.map((note) => { this.stdout(note.title); });
|
notes.map((note) => {
|
||||||
|
let line = '';
|
||||||
|
if (options.long) {
|
||||||
|
line += BaseModel.shortId(note.id);
|
||||||
|
line += ' ';
|
||||||
|
line += time.formatMsToLocal(note.user_updated_time);
|
||||||
|
line += ' ';
|
||||||
|
}
|
||||||
|
if (note.is_todo) {
|
||||||
|
line += '[';
|
||||||
|
if (note.todo_completed) {
|
||||||
|
line += 'X';
|
||||||
|
} else {
|
||||||
|
line += ' ';
|
||||||
|
}
|
||||||
|
line += '] ';
|
||||||
|
} else {
|
||||||
|
line += ' ';
|
||||||
|
}
|
||||||
|
line += note.title;
|
||||||
|
this.stdout(line);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
let tags = await Tag.all();
|
let tags = await Tag.all();
|
||||||
tags.map((tag) => { this.stdout(tag.title); });
|
tags.map((tag) => { this.stdout(tag.title); });
|
||||||
|
@@ -18,26 +18,36 @@ class FolderListWidget extends ListWidget {
|
|||||||
this.notesParentType_ = 'Folder';
|
this.notesParentType_ = 'Folder';
|
||||||
this.updateIndexFromSelectedFolderId_ = false;
|
this.updateIndexFromSelectedFolderId_ = false;
|
||||||
this.updateItems_ = false;
|
this.updateItems_ = false;
|
||||||
|
this.trimItemTitle = false;
|
||||||
|
|
||||||
this.itemRenderer = (item) => {
|
this.itemRenderer = (item) => {
|
||||||
let output = [];
|
let output = [];
|
||||||
if (item === '-') {
|
if (item === '-') {
|
||||||
output.push('-'.repeat(this.innerWidth));
|
output.push('-'.repeat(this.innerWidth));
|
||||||
} else if (item.type_ === Folder.modelType()) {
|
} 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()) {
|
} else if (item.type_ === Tag.modelType()) {
|
||||||
output.push('[' + Folder.displayTitle(item) + ']');
|
output.push('[' + Folder.displayTitle(item) + ']');
|
||||||
} else if (item.type_ === BaseModel.TYPE_SEARCH) {
|
} else if (item.type_ === BaseModel.TYPE_SEARCH) {
|
||||||
output.push(_('Search:'));
|
output.push(_('Search:'));
|
||||||
output.push(item.title);
|
output.push(item.title);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (item && item.id) output.push(item.id.substr(0, 5));
|
|
||||||
|
|
||||||
return output.join(' ');
|
return output.join(' ');
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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() {
|
get selectedFolderId() {
|
||||||
return this.selectedFolderId_;
|
return this.selectedFolderId_;
|
||||||
}
|
}
|
||||||
@@ -73,7 +83,6 @@ class FolderListWidget extends ListWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
set notesParentType(v) {
|
set notesParentType(v) {
|
||||||
//if (this.notesParentType_ === v) return;
|
|
||||||
this.notesParentType_ = v;
|
this.notesParentType_ = v;
|
||||||
this.updateIndexFromSelectedItemId()
|
this.updateIndexFromSelectedItemId()
|
||||||
this.invalidate();
|
this.invalidate();
|
||||||
@@ -111,6 +120,14 @@ class FolderListWidget extends ListWidget {
|
|||||||
this.updateIndexFromSelectedItemId()
|
this.updateIndexFromSelectedItemId()
|
||||||
this.invalidate();
|
this.invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
folderHasChildren_(folders, folderId) {
|
||||||
|
for (let i = 0; i < folders.length; i++) {
|
||||||
|
let folder = folders[i];
|
||||||
|
if (folder.parent_id === folderId) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
if (this.updateItems_) {
|
if (this.updateItems_) {
|
||||||
@@ -118,7 +135,18 @@ class FolderListWidget extends ListWidget {
|
|||||||
const wasSelectedItemId = this.selectedJoplinItemId;
|
const wasSelectedItemId = this.selectedJoplinItemId;
|
||||||
const previousParentType = this.notesParentType;
|
const previousParentType = this.notesParentType;
|
||||||
|
|
||||||
let newItems = this.folders.slice();
|
let newItems = [];
|
||||||
|
const orderFolders = (parentId) => {
|
||||||
|
for (let i = 0; i < this.folders.length; i++) {
|
||||||
|
const f = this.folders[i];
|
||||||
|
if (f.parent_id === parentId) {
|
||||||
|
newItems.push(f);
|
||||||
|
if (this.folderHasChildren_(this.folders, f.id)) orderFolders(f.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
orderFolders('');
|
||||||
|
|
||||||
if (this.tags.length) {
|
if (this.tags.length) {
|
||||||
if (newItems.length) newItems.push('-');
|
if (newItems.length) newItems.push('-');
|
||||||
|
@@ -133,7 +133,8 @@ class StatusBarWidget extends BaseWidget {
|
|||||||
resolveResult = input ? input.trim() : input;
|
resolveResult = input ? input.trim() : input;
|
||||||
// Add the command to history but only if it's longer than one character.
|
// 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.
|
// 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -53,9 +53,8 @@ function renderCommandHelp(cmd, width = null) {
|
|||||||
desc.push(label);
|
desc.push(label);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (md.description) {
|
const description = Setting.keyDescription(md.key, 'cli');
|
||||||
desc.push(md.description());
|
if (description) desc.push(description);
|
||||||
}
|
|
||||||
|
|
||||||
desc.push(_('Type: %s.', md.isEnum ? _('Enum') : Setting.typeToString(md.type)));
|
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)')));
|
if (md.isEnum) desc.push(_('Possible values: %s.', Setting.enumOptionsDoc(md.key, '%s (%s)')));
|
||||||
|
@@ -66,54 +66,14 @@ process.stdout.on('error', function( err ) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// async function main() {
|
|
||||||
// const WebDavApi = require('lib/WebDavApi');
|
|
||||||
// const api = new WebDavApi('http://nextcloud.local/remote.php/dav/files/admin/Joplin', { username: 'admin', password: '1234567' });
|
|
||||||
// const { FileApiDriverWebDav } = new require('lib/file-api-driver-webdav');
|
|
||||||
// const driver = new FileApiDriverWebDav(api);
|
|
||||||
|
|
||||||
// const stat = await driver.stat('');
|
|
||||||
// console.info(stat);
|
|
||||||
|
|
||||||
// // const stat = await driver.stat('testing.txt');
|
|
||||||
// // console.info(stat);
|
|
||||||
|
|
||||||
|
|
||||||
// // const content = await driver.get('testing.txta');
|
|
||||||
// // console.info(content);
|
|
||||||
|
|
||||||
// // const content = await driver.get('testing.txta', { target: 'file', path: '/var/www/joplin/CliClient/testing-file.txt' });
|
|
||||||
// // console.info(content);
|
|
||||||
|
|
||||||
// // const content = await driver.mkdir('newdir5');
|
|
||||||
// // console.info(content);
|
|
||||||
|
|
||||||
// //await driver.put('myfile4.md', 'this is my content');
|
|
||||||
|
|
||||||
// // await driver.put('testimg.jpg', null, { source: 'file', path: '/mnt/d/test.jpg' });
|
|
||||||
|
|
||||||
// // await driver.delete('myfile4.md');
|
|
||||||
|
|
||||||
// // const deltaResult = await driver.delta('', {
|
|
||||||
// // allItemIdsHandler: () => { return []; }
|
|
||||||
// // });
|
|
||||||
// // console.info(deltaResult);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// main().catch((error) => { console.error(error); });
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
application.start(process.argv).catch((error) => {
|
application.start(process.argv).catch((error) => {
|
||||||
console.error(_('Fatal error:'));
|
if (error.code == 'flagError') {
|
||||||
console.error(error);
|
console.error(error.message);
|
||||||
|
console.error(_('Type `joplin help` for usage information.'));
|
||||||
|
} else {
|
||||||
|
console.error(_('Fatal error:'));
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
process.exit(1);
|
||||||
});
|
});
|
1695
CliClient/locales/ca.po
Normal file
1695
CliClient/locales/ca.po
Normal file
File diff suppressed because it is too large
Load Diff
1666
CliClient/locales/cs_CZ.po
Normal file
1666
CliClient/locales/cs_CZ.po
Normal file
File diff suppressed because it is too large
Load Diff
1682
CliClient/locales/da_DK.po
Normal file
1682
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
@@ -15,63 +15,12 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=CHARSET\n"
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
"Content-Transfer-Encoding: 8bit\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."
|
msgid "To delete a tag, untag the associated notes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Please select the note or notebook to be deleted first."
|
msgid "Please select the note or notebook to be deleted first."
|
||||||
msgstr ""
|
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"
|
msgid "Press Ctrl+D or type \"exit\" to exit the application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -225,10 +174,14 @@ msgid "Exits the application."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
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."
|
"complete database including notebooks, notes, tags and resources."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Destination format: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Exports only the given note."
|
msgid "Exports only the given note."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -241,6 +194,10 @@ msgstr ""
|
|||||||
msgid "Displays usage information."
|
msgid "Displays usage information."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "For information on how to customise the shortcuts please visit %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Shortcuts are not available in CLI mode."
|
msgid "Shortcuts are not available in CLI mode."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -253,7 +210,7 @@ msgid "The possible commands are:"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
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 "
|
"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."
|
"note or notebook. `$c` can be used to refer to the currently selected item."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -266,7 +223,7 @@ msgid ""
|
|||||||
"(including this console)."
|
"(including this console)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "To maximise/minimise the console, press \"TC\"."
|
msgid "To maximise/minimise the console, press \"tc\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "To enter command line mode, press \":\""
|
msgid "To enter command line mode, press \":\""
|
||||||
@@ -276,25 +233,19 @@ msgid "To exit command line mode, press ESCAPE"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Imports an Evernote notebook file (.enex file)."
|
msgid "Imports data into Joplin."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Source format: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Do not ask for confirmation."
|
msgid "Do not ask for confirmation."
|
||||||
msgstr ""
|
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
|
#, javascript-format
|
||||||
msgid "Found: %d."
|
msgid "Found: %d."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -381,7 +332,9 @@ msgstr ""
|
|||||||
msgid "Deletes the notebook without asking for confirmation."
|
msgid "Deletes the notebook without asking for confirmation."
|
||||||
msgstr ""
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Deletes the notes matching <note-pattern>."
|
msgid "Deletes the notes matching <note-pattern>."
|
||||||
@@ -421,6 +374,16 @@ msgid ""
|
|||||||
"Authentication was not completed (did not receive an authentication token)."
|
"Authentication was not completed (did not receive an authentication token)."
|
||||||
msgstr ""
|
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
|
#, javascript-format
|
||||||
msgid "Not authentified with %s. Please provide any missing credentials."
|
msgid "Not authentified with %s. Please provide any missing credentials."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -451,7 +414,7 @@ msgstr ""
|
|||||||
msgid ""
|
msgid ""
|
||||||
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
||||||
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
||||||
"`tag list` can be used to list all the tags."
|
"`tag list` can be used to list all the tags (use -l for long option)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@@ -498,6 +461,9 @@ msgstr ""
|
|||||||
msgid "Possible keys/values:"
|
msgid "Possible keys/values:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Type `joplin help` for usage information."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Fatal error:"
|
msgid "Fatal error:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -535,6 +501,17 @@ msgid ""
|
|||||||
"background and will be available soon."
|
"background and will be available soon."
|
||||||
msgstr ""
|
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"
|
msgid "File"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -547,10 +524,17 @@ msgstr ""
|
|||||||
msgid "New notebook"
|
msgid "New notebook"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Import Evernote notes"
|
msgid "Import"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Evernote Export Files"
|
msgid "Export"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Print"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Hide %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
@@ -568,15 +552,39 @@ msgstr ""
|
|||||||
msgid "Paste"
|
msgid "Paste"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Bold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Italic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Insert Date Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Edit in external editor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Search in all the notes"
|
msgid "Search in all the notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle editor layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Tools"
|
msgid "Tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Synchronisation status"
|
msgid "Synchronisation status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Web clipper options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Encryption options"
|
msgid "Encryption options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -589,6 +597,9 @@ msgstr ""
|
|||||||
msgid "Website and documentation"
|
msgid "Website and documentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make a donation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Check for updates..."
|
msgid "Check for updates..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -612,14 +623,7 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Error"
|
msgid "Current version is up-to-date."
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, javascript-format
|
|
||||||
msgid ""
|
|
||||||
"Release notes:\n"
|
|
||||||
"\n"
|
|
||||||
"%s"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "An update is available, do you want to download it now?"
|
msgid "An update is available, do you want to download it now?"
|
||||||
@@ -631,7 +635,64 @@ msgstr ""
|
|||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Current version is up-to-date."
|
msgid "Token has been copied to the clipboard!"
|
||||||
|
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 "Advanced options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Authorisation token:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"This authorisation token is only needed to allow third-party applications to "
|
||||||
|
"access Joplin."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Check synchronisation configuration"
|
msgid "Check synchronisation configuration"
|
||||||
@@ -641,6 +702,12 @@ msgstr ""
|
|||||||
msgid "Notes and settings are stored in: %s"
|
msgid "Notes and settings are stored in: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Apply"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -702,6 +769,11 @@ msgid ""
|
|||||||
"they will eventually be downloaded via synchronisation."
|
"they will eventually be downloaded via synchronisation."
|
||||||
msgstr ""
|
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"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -734,12 +806,18 @@ msgstr ""
|
|||||||
msgid "Rename notebook:"
|
msgid "Rename notebook:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Rename tag:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set alarm:"
|
msgid "Set alarm:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Some items cannot be synchronised."
|
msgid "Some items cannot be synchronised."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -755,9 +833,19 @@ msgstr ""
|
|||||||
msgid "Add or remove tags"
|
msgid "Add or remove tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Duplicate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "%s - Copy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Switch between note and to-do type"
|
msgid "Switch between note and to-do type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy Markdown link"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -771,16 +859,50 @@ msgid ""
|
|||||||
"There is currently no notebook. Create one by clicking on \"New notebook\"."
|
"There is currently no notebook. Create one by clicking on \"New notebook\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open..."
|
msgid "Open..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "This file could not be opened: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save as..."
|
msgid "Save as..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy path to clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy Link Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unsupported link or message: %s"
|
msgid "Unsupported link or message: %s"
|
||||||
msgstr ""
|
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"
|
msgid "Attach file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -790,6 +912,40 @@ msgstr ""
|
|||||||
msgid "Set alarm"
|
msgid "Set alarm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "In: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Note properties"
|
||||||
|
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"
|
msgid "to-do"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -809,7 +965,7 @@ msgstr ""
|
|||||||
msgid "OneDrive Login"
|
msgid "OneDrive Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Import"
|
msgid "Dropbox Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
@@ -821,6 +977,9 @@ msgstr ""
|
|||||||
msgid "Encryption Options"
|
msgid "Encryption Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Clipper Options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Remove this tag from all the notes?"
|
msgid "Remove this tag from all the notes?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -836,9 +995,6 @@ msgstr ""
|
|||||||
msgid "Notebooks"
|
msgid "Notebooks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Searches"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Please select where the sync status should be exported to"
|
msgid "Please select where the sync status should be exported to"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -850,10 +1006,13 @@ msgstr ""
|
|||||||
msgid "Unknown flag: %s"
|
msgid "Unknown flag: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dropbox"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "File system"
|
msgid "File system"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nextcloud (Beta)"
|
msgid "Nextcloud"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "OneDrive"
|
msgid "OneDrive"
|
||||||
@@ -862,7 +1021,7 @@ msgstr ""
|
|||||||
msgid "OneDrive Dev (For testing only)"
|
msgid "OneDrive Dev (For testing only)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "WebDAV (Beta)"
|
msgid "WebDAV"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@@ -920,7 +1079,7 @@ msgid "Fetched items: %d/%d."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "State: \"%s\"."
|
msgid "State: %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cancelling..."
|
msgid "Cancelling..."
|
||||||
@@ -930,6 +1089,16 @@ msgstr ""
|
|||||||
msgid "Completed: %s"
|
msgid "Completed: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Last error: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Idle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "In progress"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Synchronisation is already in progress. State: %s"
|
msgid "Synchronisation is already in progress. State: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -943,14 +1112,22 @@ msgstr ""
|
|||||||
msgid "Conflicts"
|
msgid "Conflicts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
msgid "Cannot move notebook to this location"
|
||||||
msgid "A notebook with this title already exists: \"%s\""
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "title"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "updated date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "created date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Untitled"
|
msgid "Untitled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -965,14 +1142,6 @@ msgstr ""
|
|||||||
msgid "Cannot move note to \"%s\" notebook"
|
msgid "Cannot move note to \"%s\" notebook"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Text editor"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"The editor that will be used to open a note. If none is provided it will try "
|
|
||||||
"to auto-detect the default editor."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -991,7 +1160,16 @@ msgstr ""
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save geo-location with notes"
|
msgid "Save geo-location with notes"
|
||||||
@@ -1012,7 +1190,21 @@ msgstr ""
|
|||||||
msgid "Show tray icon"
|
msgid "Show tray icon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set application zoom percentage"
|
msgid "Note: Does not work in all desktop environments."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Start application minimised in the tray icon"
|
||||||
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Automatically update the application"
|
msgid "Automatically update the application"
|
||||||
@@ -1033,6 +1225,14 @@ msgstr ""
|
|||||||
msgid "%d hours"
|
msgid "%d hours"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Text editor command"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"The editor command (may include arguments) that will be used to open a note. "
|
||||||
|
"If none is provided it will try to auto-detect the default editor."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Show advanced options"
|
msgid "Show advanced options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1052,13 +1252,20 @@ msgid ""
|
|||||||
"See `sync.target`."
|
"See `sync.target`."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud WebDAV URL"
|
msgid "Nextcloud WebDAV URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud username"
|
#, javascript-format
|
||||||
|
msgid ""
|
||||||
|
"Attention: If you change this location, make sure you copy all your content "
|
||||||
|
"to it before syncing, otherwise all files will be removed! See the FAQ for "
|
||||||
|
"more details: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud password"
|
msgid "Nextcloud username"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nextcloud password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "WebDAV URL"
|
msgid "WebDAV URL"
|
||||||
@@ -1070,10 +1277,62 @@ msgstr ""
|
|||||||
msgid "WebDAV password"
|
msgid "WebDAV password"
|
||||||
msgstr ""
|
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. Note that if you make changes to the TLS settings, you must save your "
|
||||||
|
"changes before clicking on \"Check synchronisation configuration\"."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ignore TLS certificate errors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "The tag \"%s\" already exists. Please choose a different name."
|
||||||
|
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"
|
msgid "Items that cannot be synchronised"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1148,6 +1407,9 @@ msgstr ""
|
|||||||
msgid "Press to set the decryption password."
|
msgid "Press to set the decryption password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Save alarm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select date"
|
msgid "Select date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1157,6 +1419,38 @@ msgstr ""
|
|||||||
msgid "Cancel synchronisation"
|
msgid "Cancel synchronisation"
|
||||||
msgstr ""
|
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
|
#, javascript-format
|
||||||
msgid "Master Key %s"
|
msgid "Master Key %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1196,6 +1490,14 @@ msgstr ""
|
|||||||
msgid "Discard changes"
|
msgid "Discard changes"
|
||||||
msgstr ""
|
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
|
#, javascript-format
|
||||||
msgid "Unsupported image type: %s"
|
msgid "Unsupported image type: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1206,6 +1508,9 @@ msgstr ""
|
|||||||
msgid "Attach any file"
|
msgid "Attach any file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Share"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Convert to note"
|
msgid "Convert to note"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1227,6 +1532,9 @@ msgstr ""
|
|||||||
msgid "Login with OneDrive"
|
msgid "Login with OneDrive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Search"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Click on the (+) button to create a new note or notebook. Click on the side "
|
"Click on the (+) button to create a new note or notebook. Click on the side "
|
||||||
"menu to access your existing notebooks."
|
"menu to access your existing notebooks."
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
|||||||
# Copyright (C) YEAR Laurent Cozic
|
# Copyright (C) YEAR Laurent Cozic
|
||||||
# This file is distributed under the same license as the Joplin-CLI package.
|
# This file is distributed under the same license as the Joplin-CLI package.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Joplin-CLI 1.0.0\n"
|
"Project-Id-Version: Joplin-CLI 1.0.0\n"
|
||||||
@@ -16,63 +16,12 @@ msgstr ""
|
|||||||
"X-Generator: Poedit 1.8.7.1\n"
|
"X-Generator: Poedit 1.8.7.1\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
msgid "Give focus to next pane"
|
|
||||||
msgstr "Eraman fokua hurrengo panelera"
|
|
||||||
|
|
||||||
msgid "Give focus to previous pane"
|
|
||||||
msgstr "Eraman fokua aurreko panelera"
|
|
||||||
|
|
||||||
msgid "Enter command line mode"
|
|
||||||
msgstr "Sartu komando-lerro moduan "
|
|
||||||
|
|
||||||
msgid "Exit command line mode"
|
|
||||||
msgstr "Irten komando-lerro modutik"
|
|
||||||
|
|
||||||
msgid "Edit the selected note"
|
|
||||||
msgstr "Editatu aukeratutako oharra"
|
|
||||||
|
|
||||||
msgid "Cancel the current command."
|
|
||||||
msgstr "Utzi uneko komandoa"
|
|
||||||
|
|
||||||
msgid "Exit the application."
|
|
||||||
msgstr "Irten aplikaziotik"
|
|
||||||
|
|
||||||
msgid "Delete the currently selected note or notebook."
|
|
||||||
msgstr "Ezabatu aukeratutako oharra edo koadernoa"
|
|
||||||
|
|
||||||
msgid "To delete a tag, untag the associated notes."
|
msgid "To delete a tag, untag the associated notes."
|
||||||
msgstr "Etiketa ezabatzeko, kendu etiketa duten oharrei"
|
msgstr "Etiketa ezabatzeko, kendu etiketa duten oharrei"
|
||||||
|
|
||||||
msgid "Please select the note or notebook to be deleted first."
|
msgid "Please select the note or notebook to be deleted first."
|
||||||
msgstr "Aurretik aukeratu ezabatzeko oharra edo koadernoa, mesedez."
|
msgstr "Aurretik aukeratu ezabatzeko oharra edo koadernoa, mesedez."
|
||||||
|
|
||||||
msgid "Set a to-do as completed / not completed"
|
|
||||||
msgstr "Zeregina eginda / ez-eginda markatu"
|
|
||||||
|
|
||||||
msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
|
|
||||||
msgstr "[t]xandakatu [k]ontsola maximizatu/minimizatu/ezkutatu/ikusgai artean"
|
|
||||||
|
|
||||||
msgid "Search"
|
|
||||||
msgstr "Bilatu"
|
|
||||||
|
|
||||||
msgid "[t]oggle note [m]etadata."
|
|
||||||
msgstr "[t]xandakatu oharra eta [m]etadatuak"
|
|
||||||
|
|
||||||
msgid "[M]ake a new [n]ote"
|
|
||||||
msgstr "[S]ortu [o]har berria"
|
|
||||||
|
|
||||||
msgid "[M]ake a new [t]odo"
|
|
||||||
msgstr "[S]ortu [z]ereginen zerrenda"
|
|
||||||
|
|
||||||
msgid "[M]ake a new note[b]ook"
|
|
||||||
msgstr "[S]ortu koa[d]erno berria"
|
|
||||||
|
|
||||||
msgid "Copy ([Y]ank) the [n]ote to a notebook."
|
|
||||||
msgstr "Kopiatu ([E]raman) [o]harra koadernora"
|
|
||||||
|
|
||||||
msgid "Move the note to a notebook."
|
|
||||||
msgstr "Eraman oharra koadernora"
|
|
||||||
|
|
||||||
msgid "Press Ctrl+D or type \"exit\" to exit the application"
|
msgid "Press Ctrl+D or type \"exit\" to exit the application"
|
||||||
msgstr "Sakatu Ktrl+D edo idatzi \"exit\" aplikaziotik irteteko"
|
msgstr "Sakatu Ktrl+D edo idatzi \"exit\" aplikaziotik irteteko"
|
||||||
|
|
||||||
@@ -240,10 +189,14 @@ msgstr "Irten aplikaziotik."
|
|||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
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."
|
"complete database including notebooks, notes, tags and resources."
|
||||||
msgstr "Esportatu Joplineko datuak esandako karpetara"
|
msgstr "Esportatu Joplineko datuak esandako karpetara"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Destination format: %s"
|
||||||
|
msgstr "Data-formatua"
|
||||||
|
|
||||||
msgid "Exports only the given note."
|
msgid "Exports only the given note."
|
||||||
msgstr "Esportatu emandako oharra soilik."
|
msgstr "Esportatu emandako oharra soilik."
|
||||||
|
|
||||||
@@ -256,6 +209,10 @@ msgstr "Erakutsi URL geolokalizazioa oharrean."
|
|||||||
msgid "Displays usage information."
|
msgid "Displays usage information."
|
||||||
msgstr "Erakutsi erabilera datuak."
|
msgstr "Erakutsi erabilera datuak."
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "For information on how to customise the shortcuts please visit %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Shortcuts are not available in CLI mode."
|
msgid "Shortcuts are not available in CLI mode."
|
||||||
msgstr "CLI moduan ez dago lasterbiderik erabilgarri."
|
msgstr "CLI moduan ez dago lasterbiderik erabilgarri."
|
||||||
|
|
||||||
@@ -270,7 +227,7 @@ msgid "The possible commands are:"
|
|||||||
msgstr "Litezkeen komandoak hauek dira:"
|
msgstr "Litezkeen komandoak hauek dira:"
|
||||||
|
|
||||||
msgid ""
|
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 "
|
"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."
|
"note or notebook. `$c` can be used to refer to the currently selected item."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -289,7 +246,8 @@ msgstr ""
|
|||||||
"Erabili geziak edo page up/down list eta testu guneen artean aldatzeko "
|
"Erabili geziak edo page up/down list eta testu guneen artean aldatzeko "
|
||||||
"(kontsola hau ere kontuan izanda)."
|
"(kontsola hau ere kontuan izanda)."
|
||||||
|
|
||||||
msgid "To maximise/minimise the console, press \"TC\"."
|
#, fuzzy
|
||||||
|
msgid "To maximise/minimise the console, press \"tc\"."
|
||||||
msgstr "Kontsola maximizatu edo minimizatzeko, saka \"TC\" ."
|
msgstr "Kontsola maximizatu edo minimizatzeko, saka \"TC\" ."
|
||||||
|
|
||||||
msgid "To enter command line mode, press \":\""
|
msgid "To enter command line mode, press \":\""
|
||||||
@@ -298,30 +256,21 @@ msgstr "Komando lerroa sartzeko, idatzi \":\""
|
|||||||
msgid "To exit command line mode, press ESCAPE"
|
msgid "To exit command line mode, press ESCAPE"
|
||||||
msgstr "Komando lerrotik irteteko, sakatu ESC, mesedez"
|
msgstr "Komando lerrotik irteteko, sakatu ESC, mesedez"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
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 "Laster bideen zerrenda osoa ikusteko, idatzi `help shortcuts`"
|
msgstr "Laster bideen zerrenda osoa ikusteko, idatzi `help shortcuts`"
|
||||||
|
|
||||||
msgid "Imports an Evernote notebook file (.enex file)."
|
msgid "Imports data into Joplin."
|
||||||
msgstr "Inportatu Evernote koaderno fitxategia (.enex fitxategia)."
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Source format: %s"
|
||||||
|
msgstr "Ez dago komandorik: %s"
|
||||||
|
|
||||||
msgid "Do not ask for confirmation."
|
msgid "Do not ask for confirmation."
|
||||||
msgstr "Ez galdetu berresteko."
|
msgstr "Ez galdetu berresteko."
|
||||||
|
|
||||||
#, javascript-format
|
|
||||||
msgid "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
|
|
||||||
msgstr ""
|
|
||||||
" \"%s\" izeneko fitxategia \"%s\" izeneko koadernoan inportatzekotan zaude. "
|
|
||||||
"Jarraitu nahi duzu?"
|
|
||||||
|
|
||||||
#, javascript-format
|
|
||||||
msgid ""
|
|
||||||
"New notebook \"%s\" will be created and file \"%s\" will be imported into "
|
|
||||||
"it. Continue?"
|
|
||||||
msgstr ""
|
|
||||||
" \"%s\" izeneko koaderno berria sortzekotan zaude eta bertan \"%s\" "
|
|
||||||
"fitxategia bertara inportatzekotan zaude. Jarraitu nahi duzu?"
|
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Found: %d."
|
msgid "Found: %d."
|
||||||
msgstr "Aurkitua: %d"
|
msgstr "Aurkitua: %d"
|
||||||
@@ -419,7 +368,10 @@ msgstr "Ezabatu emandako koadernoak."
|
|||||||
msgid "Deletes the notebook without asking for confirmation."
|
msgid "Deletes the notebook without asking for confirmation."
|
||||||
msgstr "Ezabatu koadernoak berrespenik gabe."
|
msgstr "Ezabatu koadernoak berrespenik gabe."
|
||||||
|
|
||||||
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 "Koadernoa ezabatu? Dituen ohar guztiak ere ezabatuko dira."
|
msgstr "Koadernoa ezabatu? Dituen ohar guztiak ere ezabatuko dira."
|
||||||
|
|
||||||
msgid "Deletes the notes matching <note-pattern>."
|
msgid "Deletes the notes matching <note-pattern>."
|
||||||
@@ -466,6 +418,16 @@ msgid ""
|
|||||||
"Authentication was not completed (did not receive an authentication token)."
|
"Authentication was not completed (did not receive an authentication token)."
|
||||||
msgstr "Autentifikazioa ez da egin osorik (ez du token-ik hartu)."
|
msgstr "Autentifikazioa ez da egin osorik (ez du token-ik hartu)."
|
||||||
|
|
||||||
|
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
|
#, javascript-format
|
||||||
msgid "Not authentified with %s. Please provide any missing credentials."
|
msgid "Not authentified with %s. Please provide any missing credentials."
|
||||||
msgstr "Ez da autentifikatu %s -rekin. Eman galdutako kredentzialak."
|
msgstr "Ez da autentifikatu %s -rekin. Eman galdutako kredentzialak."
|
||||||
@@ -496,10 +458,11 @@ msgstr "Sinkronizazioa hasten..."
|
|||||||
msgid "Cancelling... Please wait."
|
msgid "Cancelling... Please wait."
|
||||||
msgstr "Bertan behera uzten... itxaron, mesedez."
|
msgstr "Bertan behera uzten... itxaron, mesedez."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
||||||
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
||||||
"`tag list` can be used to list all the tags."
|
"`tag list` can be used to list all the tags (use -l for long option)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"<tag-command> izan daiteke \"add\", \"remove\" edo \"list\" [oharra]tik "
|
"<tag-command> izan daiteke \"add\", \"remove\" edo \"list\" [oharra]tik "
|
||||||
"[etiketa] esleitu edo kentzeko, edo [etiketa]rekin elkartutako oharrak "
|
"[etiketa] esleitu edo kentzeko, edo [etiketa]rekin elkartutako oharrak "
|
||||||
@@ -555,6 +518,10 @@ msgstr "Lehenetsia: %s"
|
|||||||
msgid "Possible keys/values:"
|
msgid "Possible keys/values:"
|
||||||
msgstr "Litezkeen balioak:"
|
msgstr "Litezkeen balioak:"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Type `joplin help` for usage information."
|
||||||
|
msgstr "Erakutsi erabilera datuak."
|
||||||
|
|
||||||
msgid "Fatal error:"
|
msgid "Fatal error:"
|
||||||
msgstr "Aio! Agur! :_( "
|
msgstr "Aio! Agur! :_( "
|
||||||
|
|
||||||
@@ -608,6 +575,18 @@ msgstr ""
|
|||||||
"Dagoeneko pasahitza ordezkatua baduzu, itemak deszifratzen ari izango dira "
|
"Dagoeneko pasahitza ordezkatua baduzu, itemak deszifratzen ari izango dira "
|
||||||
"atzeko planoan eta laster izango dira eskuragarri."
|
"atzeko planoan eta laster izango dira eskuragarri."
|
||||||
|
|
||||||
|
#, 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 "Fitxategia"
|
||||||
|
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr "Fitxategia"
|
msgstr "Fitxategia"
|
||||||
|
|
||||||
@@ -620,11 +599,19 @@ msgstr "Zeregin berria"
|
|||||||
msgid "New notebook"
|
msgid "New notebook"
|
||||||
msgstr "Koaderno berria"
|
msgstr "Koaderno berria"
|
||||||
|
|
||||||
msgid "Import Evernote notes"
|
msgid "Import"
|
||||||
msgstr "Inportatu Evernoteko oharrak"
|
msgstr "Inportatu"
|
||||||
|
|
||||||
msgid "Evernote Export Files"
|
#, fuzzy
|
||||||
msgstr "Evernotetik esportatutako fitxategiak"
|
msgid "Export"
|
||||||
|
msgstr "Inportatu"
|
||||||
|
|
||||||
|
msgid "Print"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Hide %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Irten"
|
msgstr "Irten"
|
||||||
@@ -641,15 +628,39 @@ msgstr "Moztu"
|
|||||||
msgid "Paste"
|
msgid "Paste"
|
||||||
msgstr "Itsatsi"
|
msgstr "Itsatsi"
|
||||||
|
|
||||||
|
msgid "Bold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Italic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Insert Date Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Edit in external editor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Search in all the notes"
|
msgid "Search in all the notes"
|
||||||
msgstr "Bilatu ohar guztietan"
|
msgstr "Bilatu ohar guztietan"
|
||||||
|
|
||||||
|
msgid "View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle editor layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Tools"
|
msgid "Tools"
|
||||||
msgstr "Tresnak"
|
msgstr "Tresnak"
|
||||||
|
|
||||||
msgid "Synchronisation status"
|
msgid "Synchronisation status"
|
||||||
msgstr "Sinkronizazioaren egoera"
|
msgstr "Sinkronizazioaren egoera"
|
||||||
|
|
||||||
|
msgid "Web clipper options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Encryption options"
|
msgid "Encryption options"
|
||||||
msgstr "Zifratzeko aukerak"
|
msgstr "Zifratzeko aukerak"
|
||||||
|
|
||||||
@@ -662,6 +673,10 @@ msgstr "Laguntza"
|
|||||||
msgid "Website and documentation"
|
msgid "Website and documentation"
|
||||||
msgstr "Web orria eta dokumentazioa (en)"
|
msgstr "Web orria eta dokumentazioa (en)"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Make a donation"
|
||||||
|
msgstr "Web orria eta dokumentazioa (en)"
|
||||||
|
|
||||||
msgid "Check for updates..."
|
msgid "Check for updates..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -685,16 +700,9 @@ msgstr "OK"
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Utzi"
|
msgstr "Utzi"
|
||||||
|
|
||||||
msgid "Error"
|
msgid "Current version is up-to-date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy, javascript-format
|
|
||||||
msgid ""
|
|
||||||
"Release notes:\n"
|
|
||||||
"\n"
|
|
||||||
"%s"
|
|
||||||
msgstr "Oharrak ezabatu?"
|
|
||||||
|
|
||||||
msgid "An update is available, do you want to download it now?"
|
msgid "An update is available, do you want to download it now?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -705,7 +713,65 @@ msgstr ""
|
|||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "E"
|
msgstr "E"
|
||||||
|
|
||||||
msgid "Current version is up-to-date."
|
msgid "Token has been copied to the clipboard!"
|
||||||
|
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 "Egoera: \"%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 "Advanced options"
|
||||||
|
msgstr "Erakutsi aukera aurreratuak"
|
||||||
|
|
||||||
|
msgid "Authorisation token:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"This authorisation token is only needed to allow third-party applications to "
|
||||||
|
"access Joplin."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@@ -716,6 +782,12 @@ msgstr "Sinkronizazioa utzi"
|
|||||||
msgid "Notes and settings are stored in: %s"
|
msgid "Notes and settings are stored in: %s"
|
||||||
msgstr "Oharrak eta ezarpenak hemen daude gordeta: %s"
|
msgstr "Oharrak eta ezarpenak hemen daude gordeta: %s"
|
||||||
|
|
||||||
|
msgid "Apply"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Gorde"
|
msgstr "Gorde"
|
||||||
|
|
||||||
@@ -789,6 +861,11 @@ msgid ""
|
|||||||
"they will eventually be downloaded via synchronisation."
|
"they will eventually be downloaded via synchronisation."
|
||||||
msgstr ""
|
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"
|
msgid "Status"
|
||||||
msgstr "Egoera"
|
msgstr "Egoera"
|
||||||
|
|
||||||
@@ -823,12 +900,20 @@ msgstr "Banatu etiketak koma erabiliaz."
|
|||||||
msgid "Rename notebook:"
|
msgid "Rename notebook:"
|
||||||
msgstr "Berrizendatu koadernoa:"
|
msgstr "Berrizendatu koadernoa:"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Rename tag:"
|
||||||
|
msgstr "Berrizendatu"
|
||||||
|
|
||||||
msgid "Set alarm:"
|
msgid "Set alarm:"
|
||||||
msgstr "Ezarri alarma:"
|
msgstr "Ezarri alarma:"
|
||||||
|
|
||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Diseinua"
|
msgstr "Diseinua"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Bilatu"
|
||||||
|
|
||||||
msgid "Some items cannot be synchronised."
|
msgid "Some items cannot be synchronised."
|
||||||
msgstr "Zenbait item ezin dira sinkronizatu."
|
msgstr "Zenbait item ezin dira sinkronizatu."
|
||||||
|
|
||||||
@@ -844,9 +929,19 @@ msgstr "Ezarri pasahitza"
|
|||||||
msgid "Add or remove tags"
|
msgid "Add or remove tags"
|
||||||
msgstr "Gehitu edo ezabatu etiketak"
|
msgstr "Gehitu edo ezabatu etiketak"
|
||||||
|
|
||||||
|
msgid "Duplicate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "%s - Copy"
|
||||||
|
msgstr "Kopiatu"
|
||||||
|
|
||||||
msgid "Switch between note and to-do type"
|
msgid "Switch between note and to-do type"
|
||||||
msgstr "Aldatu oharra eta zeregin eren artean."
|
msgstr "Aldatu oharra eta zeregin eren artean."
|
||||||
|
|
||||||
|
msgid "Copy Markdown link"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Ezabatu"
|
msgstr "Ezabatu"
|
||||||
|
|
||||||
@@ -860,17 +955,51 @@ msgid ""
|
|||||||
"There is currently no notebook. Create one by clicking on \"New notebook\"."
|
"There is currently no notebook. Create one by clicking on \"New notebook\"."
|
||||||
msgstr "Momentuz ez dago koadernorik. Sortu bat \"Koaderno berria\" sakatuta."
|
msgstr "Momentuz ez dago koadernorik. Sortu bat \"Koaderno berria\" sakatuta."
|
||||||
|
|
||||||
|
msgid "Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open..."
|
msgid "Open..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "This file could not be opened: %s"
|
||||||
|
msgstr "Koadernoa ezin gorde daiteke: %s"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Save as..."
|
msgid "Save as..."
|
||||||
msgstr "Gorde aldaketak"
|
msgstr "Gorde aldaketak"
|
||||||
|
|
||||||
|
msgid "Copy path to clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy Link Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unsupported link or message: %s"
|
msgid "Unsupported link or message: %s"
|
||||||
msgstr "Esteka edo mezu ez dago onartua: %s"
|
msgstr "Esteka edo mezu ez dago onartua: %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"
|
msgid "Attach file"
|
||||||
msgstr "Erantsi fitxategia"
|
msgstr "Erantsi fitxategia"
|
||||||
|
|
||||||
@@ -880,6 +1009,41 @@ msgstr "Etiketak"
|
|||||||
msgid "Set alarm"
|
msgid "Set alarm"
|
||||||
msgstr "Ezarri alarma"
|
msgstr "Ezarri alarma"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "In: %s"
|
||||||
|
msgstr "%s: %s"
|
||||||
|
|
||||||
|
msgid "Note properties"
|
||||||
|
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 "Bertan behera uzten..."
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "to-do"
|
msgid "to-do"
|
||||||
msgstr "Zeregin berria"
|
msgstr "Zeregin berria"
|
||||||
@@ -902,8 +1066,8 @@ msgstr "Garbitu"
|
|||||||
msgid "OneDrive Login"
|
msgid "OneDrive Login"
|
||||||
msgstr "Logeatu OneDriven"
|
msgstr "Logeatu OneDriven"
|
||||||
|
|
||||||
msgid "Import"
|
msgid "Dropbox Login"
|
||||||
msgstr "Inportatu"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Aukerak"
|
msgstr "Aukerak"
|
||||||
@@ -914,6 +1078,10 @@ msgstr "Sinkronizazioaren egoera"
|
|||||||
msgid "Encryption Options"
|
msgid "Encryption Options"
|
||||||
msgstr "Zifratzeko aukerak"
|
msgstr "Zifratzeko aukerak"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Clipper Options"
|
||||||
|
msgstr "Ezarpenak"
|
||||||
|
|
||||||
msgid "Remove this tag from all the notes?"
|
msgid "Remove this tag from all the notes?"
|
||||||
msgstr "Kendu etiketa hori ohar guztietatik?"
|
msgstr "Kendu etiketa hori ohar guztietatik?"
|
||||||
|
|
||||||
@@ -929,9 +1097,6 @@ msgstr "Sinkronizatu"
|
|||||||
msgid "Notebooks"
|
msgid "Notebooks"
|
||||||
msgstr "Koadernoak"
|
msgstr "Koadernoak"
|
||||||
|
|
||||||
msgid "Searches"
|
|
||||||
msgstr "Bilaketak"
|
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Please select where the sync status should be exported to"
|
msgid "Please select where the sync status should be exported to"
|
||||||
msgstr "Aukeratu nora esportatu sinkronizazioaren egoera, mesedez"
|
msgstr "Aukeratu nora esportatu sinkronizazioaren egoera, mesedez"
|
||||||
@@ -944,10 +1109,14 @@ msgstr "Erabili: %s"
|
|||||||
msgid "Unknown flag: %s"
|
msgid "Unknown flag: %s"
|
||||||
msgstr "Marka ezezaguna: %s"
|
msgstr "Marka ezezaguna: %s"
|
||||||
|
|
||||||
|
msgid "Dropbox"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "File system"
|
msgid "File system"
|
||||||
msgstr "Fitxategi sistema"
|
msgstr "Fitxategi sistema"
|
||||||
|
|
||||||
msgid "Nextcloud (Beta)"
|
#, fuzzy
|
||||||
|
msgid "Nextcloud"
|
||||||
msgstr "NextCloud (Beta)"
|
msgstr "NextCloud (Beta)"
|
||||||
|
|
||||||
msgid "OneDrive"
|
msgid "OneDrive"
|
||||||
@@ -956,8 +1125,9 @@ msgstr "OneDrive"
|
|||||||
msgid "OneDrive Dev (For testing only)"
|
msgid "OneDrive Dev (For testing only)"
|
||||||
msgstr "OneDrive Dev (aprobetarako soilik)"
|
msgstr "OneDrive Dev (aprobetarako soilik)"
|
||||||
|
|
||||||
msgid "WebDAV (Beta)"
|
#, fuzzy
|
||||||
msgstr ""
|
msgid "WebDAV"
|
||||||
|
msgstr "Nextcloud WebDAV URL"
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unknown log level: %s"
|
msgid "Unknown log level: %s"
|
||||||
@@ -1020,8 +1190,8 @@ msgstr "Urruneko itemak ezabatuta: %d."
|
|||||||
msgid "Fetched items: %d/%d."
|
msgid "Fetched items: %d/%d."
|
||||||
msgstr "Itemak eskuratuta: %d%d."
|
msgstr "Itemak eskuratuta: %d%d."
|
||||||
|
|
||||||
#, javascript-format
|
#, fuzzy, javascript-format
|
||||||
msgid "State: \"%s\"."
|
msgid "State: %s."
|
||||||
msgstr "Egoera: \"%s\"."
|
msgstr "Egoera: \"%s\"."
|
||||||
|
|
||||||
msgid "Cancelling..."
|
msgid "Cancelling..."
|
||||||
@@ -1031,6 +1201,16 @@ msgstr "Bertan behera uzten..."
|
|||||||
msgid "Completed: %s"
|
msgid "Completed: %s"
|
||||||
msgstr "Osatuta: %s"
|
msgstr "Osatuta: %s"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Last error: %s"
|
||||||
|
msgstr "Aio! Agur! :_( "
|
||||||
|
|
||||||
|
msgid "Idle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "In progress"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Synchronisation is already in progress. State: %s"
|
msgid "Synchronisation is already in progress. State: %s"
|
||||||
msgstr "Sinkronizazioa hasita dago. Egoera: %s"
|
msgstr "Sinkronizazioa hasita dago. Egoera: %s"
|
||||||
@@ -1044,15 +1224,27 @@ msgstr "Zifratutako itemak ezin aldatu daitezke"
|
|||||||
msgid "Conflicts"
|
msgid "Conflicts"
|
||||||
msgstr "Gatazkak"
|
msgstr "Gatazkak"
|
||||||
|
|
||||||
#, javascript-format
|
#, fuzzy
|
||||||
msgid "A notebook with this title already exists: \"%s\""
|
msgid "Cannot move notebook to this location"
|
||||||
msgstr "Dagoeneko bada koaderno bat izen horrekin: \"%s\""
|
msgstr "Ezin eraman daiteke oharra \"%s\" koadernora"
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Koadernoak ezin izendatu daitezke \"%s\", izen hori Joplinek gordeta dauka"
|
"Koadernoak ezin izendatu daitezke \"%s\", izen hori Joplinek gordeta dauka"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "title"
|
||||||
|
msgstr "Titulu gabekoa"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "updated date"
|
||||||
|
msgstr "Eguneratuta: %d."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "created date"
|
||||||
|
msgstr "Sortuta: %d."
|
||||||
|
|
||||||
msgid "Untitled"
|
msgid "Untitled"
|
||||||
msgstr "Titulu gabekoa"
|
msgstr "Titulu gabekoa"
|
||||||
|
|
||||||
@@ -1067,16 +1259,6 @@ msgstr "Ezin kopia daiteke oharra \"%s\" koadernora"
|
|||||||
msgid "Cannot move note to \"%s\" notebook"
|
msgid "Cannot move note to \"%s\" notebook"
|
||||||
msgstr "Ezin eraman daiteke oharra \"%s\" koadernora"
|
msgstr "Ezin eraman daiteke oharra \"%s\" koadernora"
|
||||||
|
|
||||||
msgid "Text editor"
|
|
||||||
msgstr "Testu editorea"
|
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"The editor that will be used to open a note. If none is provided it will try "
|
|
||||||
"to auto-detect the default editor."
|
|
||||||
msgstr ""
|
|
||||||
"Editorea erabiliko da oharra zabaltzeko. Ez badago zehaztutakorik lehenetsia "
|
|
||||||
"igartzen ahaleginduko da."
|
|
||||||
|
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Hizkuntza"
|
msgstr "Hizkuntza"
|
||||||
|
|
||||||
@@ -1095,9 +1277,21 @@ msgstr "Argia"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Iluna"
|
msgstr "Iluna"
|
||||||
|
|
||||||
msgid "Show uncompleted todos on top of the lists"
|
#, fuzzy
|
||||||
|
msgid "Uncompleted to-dos on top"
|
||||||
msgstr "Bete gabeko zereginak erakutsi zerrendaren goiko partean"
|
msgstr "Bete gabeko zereginak erakutsi zerrendaren goiko partean"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Show completed to-dos"
|
||||||
|
msgstr "Bete gabeko zereginak erakutsi zerrendaren goiko partean"
|
||||||
|
|
||||||
|
msgid "Sort notes by"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Reverse sort order"
|
||||||
|
msgstr "Alderantziz antolatzen du."
|
||||||
|
|
||||||
msgid "Save geo-location with notes"
|
msgid "Save geo-location with notes"
|
||||||
msgstr "Gore geokokapena oharrekin"
|
msgstr "Gore geokokapena oharrekin"
|
||||||
|
|
||||||
@@ -1118,9 +1312,24 @@ msgstr "Ohar berria sortzen du."
|
|||||||
msgid "Show tray icon"
|
msgid "Show tray icon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set application zoom percentage"
|
msgid "Note: Does not work in all desktop environments."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Start application minimised in the tray icon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Global zoom percentage"
|
||||||
msgstr "Ezarri aplikazioaren zoomaren ehunekoa"
|
msgstr "Ezarri aplikazioaren zoomaren ehunekoa"
|
||||||
|
|
||||||
|
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"
|
msgid "Automatically update the application"
|
||||||
msgstr "Automatikoki eguneratu aplikazioa"
|
msgstr "Automatikoki eguneratu aplikazioa"
|
||||||
|
|
||||||
@@ -1139,6 +1348,18 @@ msgstr "% ordua"
|
|||||||
msgid "%d hours"
|
msgid "%d hours"
|
||||||
msgstr "% orduak"
|
msgstr "% orduak"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Text editor command"
|
||||||
|
msgstr "Testu editorea"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
"The editor command (may include arguments) that will be used to open a note. "
|
||||||
|
"If none is provided it will try to auto-detect the default editor."
|
||||||
|
msgstr ""
|
||||||
|
"Editorea erabiliko da oharra zabaltzeko. Ez badago zehaztutakorik lehenetsia "
|
||||||
|
"igartzen ahaleginduko da."
|
||||||
|
|
||||||
msgid "Show advanced options"
|
msgid "Show advanced options"
|
||||||
msgstr "Erakutsi aukera aurreratuak"
|
msgstr "Erakutsi aukera aurreratuak"
|
||||||
|
|
||||||
@@ -1162,31 +1383,93 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Sinkronizazio sistema gaituta dagoenerako bide-izena. Ikus `sync.target`."
|
"Sinkronizazio sistema gaituta dagoenerako bide-izena. Ikus `sync.target`."
|
||||||
|
|
||||||
msgid "Nexcloud WebDAV URL"
|
msgid "Nextcloud WebDAV URL"
|
||||||
msgstr "Nexcloud WebDAV URL"
|
msgstr "Nextcloud WebDAV URL"
|
||||||
|
|
||||||
msgid "Nexcloud username"
|
#, javascript-format
|
||||||
msgstr "Nexcloud erabiltzaile-izena"
|
msgid ""
|
||||||
|
"Attention: If you change this location, make sure you copy all your content "
|
||||||
|
"to it before syncing, otherwise all files will be removed! See the FAQ for "
|
||||||
|
"more details: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud password"
|
msgid "Nextcloud username"
|
||||||
msgstr "Nexcloud pasahitza"
|
msgstr "Nextcloud erabiltzaile-izena"
|
||||||
|
|
||||||
|
msgid "Nextcloud password"
|
||||||
|
msgstr "Nextcloud pasahitza"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "WebDAV URL"
|
msgid "WebDAV URL"
|
||||||
msgstr "Nexcloud WebDAV URL"
|
msgstr "Nextcloud WebDAV URL"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "WebDAV username"
|
msgid "WebDAV username"
|
||||||
msgstr "Nexcloud erabiltzaile-izena"
|
msgstr "Nextcloud erabiltzaile-izena"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "WebDAV password"
|
msgid "WebDAV password"
|
||||||
msgstr "Ezarri pasahitza"
|
msgstr "Ezarri pasahitza"
|
||||||
|
|
||||||
|
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. Note that if you make changes to the TLS settings, you must save your "
|
||||||
|
"changes before clicking on \"Check synchronisation configuration\"."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ignore TLS certificate errors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
||||||
msgstr "Balio aukera baliogabea: \"%s\". Litezkeen balioak: %s."
|
msgstr "Balio aukera baliogabea: \"%s\". Litezkeen balioak: %s."
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "The tag \"%s\" already exists. Please choose a different name."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Joplin Export File"
|
||||||
|
msgstr "Evernotetik esportatutako fitxategiak"
|
||||||
|
|
||||||
|
msgid "Markdown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Joplin Export Directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Evernote Export File"
|
||||||
|
msgstr "Evernotetik esportatutako fitxategiak"
|
||||||
|
|
||||||
|
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 "Aukeratu nora esportatu sinkronizazioaren egoera, mesedez"
|
||||||
|
|
||||||
msgid "Items that cannot be synchronised"
|
msgid "Items that cannot be synchronised"
|
||||||
msgstr "Itemok ezin sinkronizatu"
|
msgstr "Itemok ezin sinkronizatu"
|
||||||
|
|
||||||
@@ -1263,6 +1546,10 @@ msgstr "Mugitu %d oharrak \"%s\" koadernora?"
|
|||||||
msgid "Press to set the decryption password."
|
msgid "Press to set the decryption password."
|
||||||
msgstr "Sakatu deszifratze pasahitza ezartzeko."
|
msgstr "Sakatu deszifratze pasahitza ezartzeko."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Save alarm"
|
||||||
|
msgstr "Ezarri alarma"
|
||||||
|
|
||||||
msgid "Select date"
|
msgid "Select date"
|
||||||
msgstr "Data aukeratu"
|
msgstr "Data aukeratu"
|
||||||
|
|
||||||
@@ -1272,6 +1559,39 @@ msgstr "Baieztatu"
|
|||||||
msgid "Cancel synchronisation"
|
msgid "Cancel synchronisation"
|
||||||
msgstr "Sinkronizazioa utzi"
|
msgstr "Sinkronizazioa utzi"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Decrypting items: %d/%d"
|
||||||
|
msgstr "Itemak eskuratuta: %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 "Login with OneDrive"
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Master Key %s"
|
msgid "Master Key %s"
|
||||||
msgstr "Pasahitz Nagusia %s"
|
msgstr "Pasahitz Nagusia %s"
|
||||||
@@ -1311,6 +1631,14 @@ msgstr "Gorde aldaketak"
|
|||||||
msgid "Discard changes"
|
msgid "Discard changes"
|
||||||
msgstr "Bertan behera utzi aldaketak"
|
msgstr "Bertan behera utzi aldaketak"
|
||||||
|
|
||||||
|
#, 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
|
#, javascript-format
|
||||||
msgid "Unsupported image type: %s"
|
msgid "Unsupported image type: %s"
|
||||||
msgstr "Irudi formatua ez onartua: %s"
|
msgstr "Irudi formatua ez onartua: %s"
|
||||||
@@ -1321,6 +1649,9 @@ msgstr "Argazkia erantsi"
|
|||||||
msgid "Attach any file"
|
msgid "Attach any file"
|
||||||
msgstr "Erantsi fitxategiren bat"
|
msgstr "Erantsi fitxategiren bat"
|
||||||
|
|
||||||
|
msgid "Share"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Convert to note"
|
msgid "Convert to note"
|
||||||
msgstr "Oharra bihurtu"
|
msgstr "Oharra bihurtu"
|
||||||
|
|
||||||
@@ -1342,6 +1673,9 @@ msgstr "Ezabatu koadernoa"
|
|||||||
msgid "Login with OneDrive"
|
msgid "Login with OneDrive"
|
||||||
msgstr "Login with OneDrive"
|
msgstr "Login with OneDrive"
|
||||||
|
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Bilatu"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Click on the (+) button to create a new note or notebook. Click on the side "
|
"Click on the (+) button to create a new note or notebook. Click on the side "
|
||||||
"menu to access your existing notebooks."
|
"menu to access your existing notebooks."
|
||||||
@@ -1354,3 +1688,84 @@ msgstr "Oraindik ez duzu koadernorik. Sortu bat (+) botoian sakatuta."
|
|||||||
|
|
||||||
msgid "Welcome"
|
msgid "Welcome"
|
||||||
msgstr "Ongi etorri!"
|
msgstr "Ongi etorri!"
|
||||||
|
|
||||||
|
#~ msgid "A notebook with this title already exists: \"%s\""
|
||||||
|
#~ msgstr "Dagoeneko bada koaderno bat izen horrekin: \"%s\""
|
||||||
|
|
||||||
|
#~ msgid "Searches"
|
||||||
|
#~ msgstr "Bilaketak"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Release notes:\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ "%s"
|
||||||
|
#~ msgstr "Oharrak ezabatu?"
|
||||||
|
|
||||||
|
#~ msgid "Imports an Evernote notebook file (.enex file)."
|
||||||
|
#~ msgstr "Inportatu Evernote koaderno fitxategia (.enex fitxategia)."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ " \"%s\" izeneko fitxategia \"%s\" izeneko koadernoan inportatzekotan "
|
||||||
|
#~ "zaude. Jarraitu nahi duzu?"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "New notebook \"%s\" will be created and file \"%s\" will be imported into "
|
||||||
|
#~ "it. Continue?"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ " \"%s\" izeneko koaderno berria sortzekotan zaude eta bertan \"%s\" "
|
||||||
|
#~ "fitxategia bertara inportatzekotan zaude. Jarraitu nahi duzu?"
|
||||||
|
|
||||||
|
#~ msgid "Import Evernote notes"
|
||||||
|
#~ msgstr "Inportatu Evernoteko oharrak"
|
||||||
|
|
||||||
|
#~ msgid "Give focus to next pane"
|
||||||
|
#~ msgstr "Eraman fokua hurrengo panelera"
|
||||||
|
|
||||||
|
#~ msgid "Give focus to previous pane"
|
||||||
|
#~ msgstr "Eraman fokua aurreko panelera"
|
||||||
|
|
||||||
|
#~ msgid "Enter command line mode"
|
||||||
|
#~ msgstr "Sartu komando-lerro moduan "
|
||||||
|
|
||||||
|
#~ msgid "Exit command line mode"
|
||||||
|
#~ msgstr "Irten komando-lerro modutik"
|
||||||
|
|
||||||
|
#~ msgid "Edit the selected note"
|
||||||
|
#~ msgstr "Editatu aukeratutako oharra"
|
||||||
|
|
||||||
|
#~ msgid "Cancel the current command."
|
||||||
|
#~ msgstr "Utzi uneko komandoa"
|
||||||
|
|
||||||
|
#~ msgid "Exit the application."
|
||||||
|
#~ msgstr "Irten aplikaziotik"
|
||||||
|
|
||||||
|
#~ msgid "Delete the currently selected note or notebook."
|
||||||
|
#~ msgstr "Ezabatu aukeratutako oharra edo koadernoa"
|
||||||
|
|
||||||
|
#~ msgid "Set a to-do as completed / not completed"
|
||||||
|
#~ msgstr "Zeregina eginda / ez-eginda markatu"
|
||||||
|
|
||||||
|
#~ msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "[t]xandakatu [k]ontsola maximizatu/minimizatu/ezkutatu/ikusgai artean"
|
||||||
|
|
||||||
|
#~ msgid "[t]oggle note [m]etadata."
|
||||||
|
#~ msgstr "[t]xandakatu oharra eta [m]etadatuak"
|
||||||
|
|
||||||
|
#~ msgid "[M]ake a new [n]ote"
|
||||||
|
#~ msgstr "[S]ortu [o]har berria"
|
||||||
|
|
||||||
|
#~ msgid "[M]ake a new [t]odo"
|
||||||
|
#~ msgstr "[S]ortu [z]ereginen zerrenda"
|
||||||
|
|
||||||
|
#~ msgid "[M]ake a new note[b]ook"
|
||||||
|
#~ msgstr "[S]ortu koa[d]erno berria"
|
||||||
|
|
||||||
|
#~ msgid "Copy ([Y]ank) the [n]ote to a notebook."
|
||||||
|
#~ msgstr "Kopiatu ([E]raman) [o]harra koadernora"
|
||||||
|
|
||||||
|
#~ msgid "Move the note to a notebook."
|
||||||
|
#~ msgstr "Eraman oharra koadernora"
|
||||||
|
File diff suppressed because it is too large
Load Diff
1671
CliClient/locales/gl_ES.po
Normal file
1671
CliClient/locales/gl_ES.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -17,69 +17,12 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||||
|
|
||||||
msgid "Give focus to next pane"
|
|
||||||
msgstr "Fokusiraj sljedeće okno"
|
|
||||||
|
|
||||||
msgid "Give focus to previous pane"
|
|
||||||
msgstr "Fokusiraj prethodno okno"
|
|
||||||
|
|
||||||
msgid "Enter command line mode"
|
|
||||||
msgstr "Otvori naredbeni redak"
|
|
||||||
|
|
||||||
msgid "Exit command line mode"
|
|
||||||
msgstr "Napusti naredbeni redak"
|
|
||||||
|
|
||||||
msgid "Edit the selected note"
|
|
||||||
msgstr "Uredi odabranu bilješku"
|
|
||||||
|
|
||||||
msgid "Cancel the current command."
|
|
||||||
msgstr "Prekini trenutnu naredbu."
|
|
||||||
|
|
||||||
msgid "Exit the application."
|
|
||||||
msgstr "Izađi iz aplikacije."
|
|
||||||
|
|
||||||
msgid "Delete the currently selected note or notebook."
|
|
||||||
msgstr "Obriši odabranu bilješku ili bilježnicu."
|
|
||||||
|
|
||||||
msgid "To delete a tag, untag the associated notes."
|
msgid "To delete a tag, untag the associated notes."
|
||||||
msgstr "Da bi mogao obrisati oznaku, skini oznaku s povezanih bilješki."
|
msgstr "Da bi mogao obrisati oznaku, skini oznaku s povezanih bilješki."
|
||||||
|
|
||||||
msgid "Please select the note or notebook to be deleted first."
|
msgid "Please select the note or notebook to be deleted first."
|
||||||
msgstr "Odaberi bilješku ili bilježnicu za brisanje."
|
msgstr "Odaberi bilješku ili bilježnicu za brisanje."
|
||||||
|
|
||||||
msgid "Set a to-do as completed / not completed"
|
|
||||||
msgstr "Postavi zadatak kao završen/nezavršen"
|
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
|
|
||||||
msgstr "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
|
|
||||||
|
|
||||||
msgid "Search"
|
|
||||||
msgstr "Traži"
|
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
msgid "[t]oggle note [m]etadata."
|
|
||||||
msgstr "[t]oggle note [m]etadata."
|
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
msgid "[M]ake a new [n]ote"
|
|
||||||
msgstr "[M]ake a new [n]ote"
|
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
msgid "[M]ake a new [t]odo"
|
|
||||||
msgstr "[M]ake a new [t]odo"
|
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
msgid "[M]ake a new note[b]ook"
|
|
||||||
msgstr "[M]ake a new note[b]ook"
|
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
msgid "Copy ([Y]ank) the [n]ote to a notebook."
|
|
||||||
msgstr "Copy ([Y]ank) the [n]ote to a notebook."
|
|
||||||
|
|
||||||
msgid "Move the note to a notebook."
|
|
||||||
msgstr "Premjesti bilješku u bilježnicu."
|
|
||||||
|
|
||||||
msgid "Press Ctrl+D or type \"exit\" to exit the application"
|
msgid "Press Ctrl+D or type \"exit\" to exit the application"
|
||||||
msgstr "Pritisni Ctrl+D ili napiši \"exit\" za izlazak iz aplikacije"
|
msgstr "Pritisni Ctrl+D ili napiši \"exit\" za izlazak iz aplikacije"
|
||||||
|
|
||||||
@@ -245,13 +188,18 @@ msgstr "Bilješka je spremljena."
|
|||||||
msgid "Exits the application."
|
msgid "Exits the application."
|
||||||
msgstr "Izlaz iz aplikacije."
|
msgstr "Izlaz iz aplikacije."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
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."
|
"complete database including notebooks, notes, tags and resources."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Izvozi podatke u dati direktorij. Po defaultu izvozi sve podatke uključujući "
|
"Izvozi podatke u dati direktorij. Po defaultu izvozi sve podatke uključujući "
|
||||||
"bilježnice, bilješke, zadatke i resurse."
|
"bilježnice, bilješke, zadatke i resurse."
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Destination format: %s"
|
||||||
|
msgstr "Format datuma"
|
||||||
|
|
||||||
msgid "Exports only the given note."
|
msgid "Exports only the given note."
|
||||||
msgstr "Izvozi samo datu bilješku."
|
msgstr "Izvozi samo datu bilješku."
|
||||||
|
|
||||||
@@ -264,6 +212,10 @@ msgstr "Prikazuje geolokacijski URL bilješke."
|
|||||||
msgid "Displays usage information."
|
msgid "Displays usage information."
|
||||||
msgstr "Prikazuje informacije o korištenju."
|
msgstr "Prikazuje informacije o korištenju."
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "For information on how to customise the shortcuts please visit %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Shortcuts are not available in CLI mode."
|
msgid "Shortcuts are not available in CLI mode."
|
||||||
msgstr "Prečaci nisu podržani u naredbenom retku."
|
msgstr "Prečaci nisu podržani u naredbenom retku."
|
||||||
|
|
||||||
@@ -277,15 +229,11 @@ msgstr ""
|
|||||||
msgid "The possible commands are:"
|
msgid "The possible commands are:"
|
||||||
msgstr "Moguće naredbe su:"
|
msgstr "Moguće naredbe su:"
|
||||||
|
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
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 "
|
"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."
|
"note or notebook. `$c` can be used to refer to the currently selected item."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"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."
|
|
||||||
|
|
||||||
msgid "To move from one pane to another, press Tab or Shift+Tab."
|
msgid "To move from one pane to another, press Tab or Shift+Tab."
|
||||||
msgstr "Za prijelaz iz jednog okna u drugo, pritisni Tab ili Shift+Tab."
|
msgstr "Za prijelaz iz jednog okna u drugo, pritisni Tab ili Shift+Tab."
|
||||||
@@ -298,7 +246,8 @@ msgstr ""
|
|||||||
"Use the arrows and page up/down to scroll the lists and text areas "
|
"Use the arrows and page up/down to scroll the lists and text areas "
|
||||||
"(including this console)."
|
"(including this console)."
|
||||||
|
|
||||||
msgid "To maximise/minimise the console, press \"TC\"."
|
#, fuzzy
|
||||||
|
msgid "To maximise/minimise the console, press \"tc\"."
|
||||||
msgstr "Za maksimiziranje/minimiziranje konzole, pritisni \"TC\"."
|
msgstr "Za maksimiziranje/minimiziranje konzole, pritisni \"TC\"."
|
||||||
|
|
||||||
msgid "To enter command line mode, press \":\""
|
msgid "To enter command line mode, press \":\""
|
||||||
@@ -307,29 +256,21 @@ msgstr "Za ulaz u naredbeni redak, pritisni \":\""
|
|||||||
msgid "To exit command line mode, press ESCAPE"
|
msgid "To exit command line mode, press ESCAPE"
|
||||||
msgstr "Za izlaz iz naredbenog retka, pritisni Esc"
|
msgstr "Za izlaz iz naredbenog retka, pritisni Esc"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
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 "Za potpunu listu mogućih prečaca, upiši `help shortcuts`"
|
msgstr "Za potpunu listu mogućih prečaca, upiši `help shortcuts`"
|
||||||
|
|
||||||
msgid "Imports an Evernote notebook file (.enex file)."
|
msgid "Imports data into Joplin."
|
||||||
msgstr "Uvozi Evernote bilježnicu (.enex datoteku)."
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Source format: %s"
|
||||||
|
msgstr "Ne postoji naredba: %s"
|
||||||
|
|
||||||
msgid "Do not ask for confirmation."
|
msgid "Do not ask for confirmation."
|
||||||
msgstr "Ne pitaj za potvrdu."
|
msgstr "Ne pitaj za potvrdu."
|
||||||
|
|
||||||
#, javascript-format
|
|
||||||
msgid "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
|
|
||||||
msgstr ""
|
|
||||||
"Datoteka \"%s\" će biti uvezena u postojeću bilježnicu \"%s\". Nastavi?"
|
|
||||||
|
|
||||||
#, javascript-format
|
|
||||||
msgid ""
|
|
||||||
"New notebook \"%s\" will be created and file \"%s\" will be imported into "
|
|
||||||
"it. Continue?"
|
|
||||||
msgstr ""
|
|
||||||
"Nova bilježnica \"%s\" će biti stvorena i datoteka \"%s\" će biti uvezena u "
|
|
||||||
"nju. Nastavi?"
|
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Found: %d."
|
msgid "Found: %d."
|
||||||
msgstr "Nađeno: %d."
|
msgstr "Nađeno: %d."
|
||||||
@@ -427,7 +368,10 @@ msgstr "Briše datu bilježnicu."
|
|||||||
msgid "Deletes the notebook without asking for confirmation."
|
msgid "Deletes the notebook without asking for confirmation."
|
||||||
msgstr "Briše bilježnicu bez traženja potvrde."
|
msgstr "Briše bilježnicu bez traženja potvrde."
|
||||||
|
|
||||||
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 ""
|
msgstr ""
|
||||||
"Obrisati bilježnicu? Sve bilješke u toj bilježnici će također biti obrisane."
|
"Obrisati bilježnicu? Sve bilješke u toj bilježnici će također biti obrisane."
|
||||||
|
|
||||||
@@ -476,6 +420,16 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Ovjera nije dovršena (nije dobivena potvrda ovjere - authentication token)."
|
"Ovjera nije dovršena (nije dobivena potvrda ovjere - authentication token)."
|
||||||
|
|
||||||
|
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
|
#, javascript-format
|
||||||
msgid "Not authentified with %s. Please provide any missing credentials."
|
msgid "Not authentified with %s. Please provide any missing credentials."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -508,7 +462,7 @@ msgstr "Prekidam... Pričekaj."
|
|||||||
msgid ""
|
msgid ""
|
||||||
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
||||||
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
||||||
"`tag list` can be used to list all the tags."
|
"`tag list` can be used to list all the tags (use -l for long option)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
||||||
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
||||||
@@ -566,6 +520,10 @@ msgstr "Default: %s"
|
|||||||
msgid "Possible keys/values:"
|
msgid "Possible keys/values:"
|
||||||
msgstr "Mogući ključevi/vrijednosti:"
|
msgstr "Mogući ključevi/vrijednosti:"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Type `joplin help` for usage information."
|
||||||
|
msgstr "Prikazuje informacije o korištenju."
|
||||||
|
|
||||||
msgid "Fatal error:"
|
msgid "Fatal error:"
|
||||||
msgstr "Fatalna greška:"
|
msgstr "Fatalna greška:"
|
||||||
|
|
||||||
@@ -614,6 +572,18 @@ msgid ""
|
|||||||
"background and will be available soon."
|
"background and will be available soon."
|
||||||
msgstr ""
|
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 "Datoteka"
|
||||||
|
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr "Datoteka"
|
msgstr "Datoteka"
|
||||||
|
|
||||||
@@ -626,11 +596,19 @@ msgstr "Novi zadatak"
|
|||||||
msgid "New notebook"
|
msgid "New notebook"
|
||||||
msgstr "Nova bilježnica"
|
msgstr "Nova bilježnica"
|
||||||
|
|
||||||
msgid "Import Evernote notes"
|
msgid "Import"
|
||||||
msgstr "Uvezi Evernote bilješke"
|
msgstr "Uvoz"
|
||||||
|
|
||||||
msgid "Evernote Export Files"
|
#, fuzzy
|
||||||
msgstr "Evernote izvozne datoteke"
|
msgid "Export"
|
||||||
|
msgstr "Uvoz"
|
||||||
|
|
||||||
|
msgid "Print"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Hide %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Izađi"
|
msgstr "Izađi"
|
||||||
@@ -647,15 +625,39 @@ msgstr "Izreži"
|
|||||||
msgid "Paste"
|
msgid "Paste"
|
||||||
msgstr "Zalijepi"
|
msgstr "Zalijepi"
|
||||||
|
|
||||||
|
msgid "Bold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Italic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Insert Date Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Edit in external editor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Search in all the notes"
|
msgid "Search in all the notes"
|
||||||
msgstr "Pretraži u svim bilješkama"
|
msgstr "Pretraži u svim bilješkama"
|
||||||
|
|
||||||
|
msgid "View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle editor layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Tools"
|
msgid "Tools"
|
||||||
msgstr "Alati"
|
msgstr "Alati"
|
||||||
|
|
||||||
msgid "Synchronisation status"
|
msgid "Synchronisation status"
|
||||||
msgstr "Status sinkronizacije"
|
msgstr "Status sinkronizacije"
|
||||||
|
|
||||||
|
msgid "Web clipper options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Encryption options"
|
msgid "Encryption options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -669,6 +671,10 @@ msgstr "Pomoć"
|
|||||||
msgid "Website and documentation"
|
msgid "Website and documentation"
|
||||||
msgstr "Website i dokumentacija"
|
msgstr "Website i dokumentacija"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Make a donation"
|
||||||
|
msgstr "Website i dokumentacija"
|
||||||
|
|
||||||
msgid "Check for updates..."
|
msgid "Check for updates..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -692,16 +698,9 @@ msgstr "U redu"
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Odustani"
|
msgstr "Odustani"
|
||||||
|
|
||||||
msgid "Error"
|
msgid "Current version is up-to-date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy, javascript-format
|
|
||||||
msgid ""
|
|
||||||
"Release notes:\n"
|
|
||||||
"\n"
|
|
||||||
"%s"
|
|
||||||
msgstr "Obriši bilješke?"
|
|
||||||
|
|
||||||
msgid "An update is available, do you want to download it now?"
|
msgid "An update is available, do you want to download it now?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -712,7 +711,65 @@ msgstr ""
|
|||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "N"
|
msgstr "N"
|
||||||
|
|
||||||
msgid "Current version is up-to-date."
|
msgid "Token has been copied to the clipboard!"
|
||||||
|
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 "Stanje: \"%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 "Advanced options"
|
||||||
|
msgstr "Prikaži napredne opcije"
|
||||||
|
|
||||||
|
msgid "Authorisation token:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"This authorisation token is only needed to allow third-party applications to "
|
||||||
|
"access Joplin."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@@ -723,6 +780,12 @@ msgstr "Prekini sinkronizaciju"
|
|||||||
msgid "Notes and settings are stored in: %s"
|
msgid "Notes and settings are stored in: %s"
|
||||||
msgstr "Bilješke i postavke su pohranjene u: %s"
|
msgstr "Bilješke i postavke su pohranjene u: %s"
|
||||||
|
|
||||||
|
msgid "Apply"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Spremi"
|
msgstr "Spremi"
|
||||||
|
|
||||||
@@ -784,6 +847,11 @@ msgid ""
|
|||||||
"they will eventually be downloaded via synchronisation."
|
"they will eventually be downloaded via synchronisation."
|
||||||
msgstr ""
|
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"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
@@ -818,12 +886,20 @@ msgstr "Odvoji oznake zarezom."
|
|||||||
msgid "Rename notebook:"
|
msgid "Rename notebook:"
|
||||||
msgstr "Preimenuj bilježnicu:"
|
msgstr "Preimenuj bilježnicu:"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Rename tag:"
|
||||||
|
msgstr "Preimenuj"
|
||||||
|
|
||||||
msgid "Set alarm:"
|
msgid "Set alarm:"
|
||||||
msgstr "Postavi upozorenje:"
|
msgstr "Postavi upozorenje:"
|
||||||
|
|
||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Izgled"
|
msgstr "Izgled"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Traži"
|
||||||
|
|
||||||
msgid "Some items cannot be synchronised."
|
msgid "Some items cannot be synchronised."
|
||||||
msgstr "Neke stavke se ne mogu sinkronizirati."
|
msgstr "Neke stavke se ne mogu sinkronizirati."
|
||||||
|
|
||||||
@@ -840,9 +916,19 @@ msgstr ""
|
|||||||
msgid "Add or remove tags"
|
msgid "Add or remove tags"
|
||||||
msgstr "Dodaj ili makni oznake"
|
msgstr "Dodaj ili makni oznake"
|
||||||
|
|
||||||
|
msgid "Duplicate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "%s - Copy"
|
||||||
|
msgstr "Kopiraj"
|
||||||
|
|
||||||
msgid "Switch between note and to-do type"
|
msgid "Switch between note and to-do type"
|
||||||
msgstr "Zamijeni bilješku i zadatak"
|
msgstr "Zamijeni bilješku i zadatak"
|
||||||
|
|
||||||
|
msgid "Copy Markdown link"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Obriši"
|
msgstr "Obriši"
|
||||||
|
|
||||||
@@ -856,17 +942,51 @@ msgid ""
|
|||||||
"There is currently no notebook. Create one by clicking on \"New notebook\"."
|
"There is currently no notebook. Create one by clicking on \"New notebook\"."
|
||||||
msgstr "Ovdje nema bilježnica. Stvori novu pritiskom na \"Nova bilježnica\"."
|
msgstr "Ovdje nema bilježnica. Stvori novu pritiskom na \"Nova bilježnica\"."
|
||||||
|
|
||||||
|
msgid "Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open..."
|
msgid "Open..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "This file could not be opened: %s"
|
||||||
|
msgstr "Bilježnicu nije moguće snimiti: %s"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Save as..."
|
msgid "Save as..."
|
||||||
msgstr "Spremi promjene"
|
msgstr "Spremi promjene"
|
||||||
|
|
||||||
|
msgid "Copy path to clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy Link Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unsupported link or message: %s"
|
msgid "Unsupported link or message: %s"
|
||||||
msgstr "Nepodržana poveznica ili poruka: %s"
|
msgstr "Nepodržana poveznica ili poruka: %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"
|
msgid "Attach file"
|
||||||
msgstr "Priloži datoteku"
|
msgstr "Priloži datoteku"
|
||||||
|
|
||||||
@@ -876,6 +996,41 @@ msgstr "Oznake"
|
|||||||
msgid "Set alarm"
|
msgid "Set alarm"
|
||||||
msgstr "Postavi upozorenje"
|
msgstr "Postavi upozorenje"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "In: %s"
|
||||||
|
msgstr "%s: %s"
|
||||||
|
|
||||||
|
msgid "Note properties"
|
||||||
|
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 "Prekidam..."
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "to-do"
|
msgid "to-do"
|
||||||
msgstr "Novi zadatak"
|
msgstr "Novi zadatak"
|
||||||
@@ -897,8 +1052,8 @@ msgstr "Očisti"
|
|||||||
msgid "OneDrive Login"
|
msgid "OneDrive Login"
|
||||||
msgstr "OneDrive Login"
|
msgstr "OneDrive Login"
|
||||||
|
|
||||||
msgid "Import"
|
msgid "Dropbox Login"
|
||||||
msgstr "Uvoz"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Opcije"
|
msgstr "Opcije"
|
||||||
@@ -909,6 +1064,10 @@ msgstr "Status Sinkronizacije"
|
|||||||
msgid "Encryption Options"
|
msgid "Encryption Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Clipper Options"
|
||||||
|
msgstr "Opcije"
|
||||||
|
|
||||||
msgid "Remove this tag from all the notes?"
|
msgid "Remove this tag from all the notes?"
|
||||||
msgstr "Makni ovu oznaku iz svih bilješki?"
|
msgstr "Makni ovu oznaku iz svih bilješki?"
|
||||||
|
|
||||||
@@ -924,9 +1083,6 @@ msgstr "Sinkroniziraj"
|
|||||||
msgid "Notebooks"
|
msgid "Notebooks"
|
||||||
msgstr "Bilježnice"
|
msgstr "Bilježnice"
|
||||||
|
|
||||||
msgid "Searches"
|
|
||||||
msgstr "Pretraživanja"
|
|
||||||
|
|
||||||
msgid "Please select where the sync status should be exported to"
|
msgid "Please select where the sync status should be exported to"
|
||||||
msgstr "Odaberi lokaciju za izvoz statusa sinkronizacije"
|
msgstr "Odaberi lokaciju za izvoz statusa sinkronizacije"
|
||||||
|
|
||||||
@@ -938,10 +1094,13 @@ msgstr "Korištenje: %s"
|
|||||||
msgid "Unknown flag: %s"
|
msgid "Unknown flag: %s"
|
||||||
msgstr "Nepoznata zastavica: %s"
|
msgstr "Nepoznata zastavica: %s"
|
||||||
|
|
||||||
|
msgid "Dropbox"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "File system"
|
msgid "File system"
|
||||||
msgstr "Datotečni sustav"
|
msgstr "Datotečni sustav"
|
||||||
|
|
||||||
msgid "Nextcloud (Beta)"
|
msgid "Nextcloud"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "OneDrive"
|
msgid "OneDrive"
|
||||||
@@ -950,7 +1109,7 @@ msgstr "OneDrive"
|
|||||||
msgid "OneDrive Dev (For testing only)"
|
msgid "OneDrive Dev (For testing only)"
|
||||||
msgstr "OneDrive Dev (Samo za testiranje)"
|
msgstr "OneDrive Dev (Samo za testiranje)"
|
||||||
|
|
||||||
msgid "WebDAV (Beta)"
|
msgid "WebDAV"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@@ -1013,8 +1172,8 @@ msgstr "Obrisane udaljene stavke: %d."
|
|||||||
msgid "Fetched items: %d/%d."
|
msgid "Fetched items: %d/%d."
|
||||||
msgstr "Stvorene lokalne stavke: %d."
|
msgstr "Stvorene lokalne stavke: %d."
|
||||||
|
|
||||||
#, javascript-format
|
#, fuzzy, javascript-format
|
||||||
msgid "State: \"%s\"."
|
msgid "State: %s."
|
||||||
msgstr "Stanje: \"%s\"."
|
msgstr "Stanje: \"%s\"."
|
||||||
|
|
||||||
msgid "Cancelling..."
|
msgid "Cancelling..."
|
||||||
@@ -1024,6 +1183,16 @@ msgstr "Prekidam..."
|
|||||||
msgid "Completed: %s"
|
msgid "Completed: %s"
|
||||||
msgstr "Dovršeno: %s"
|
msgstr "Dovršeno: %s"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Last error: %s"
|
||||||
|
msgstr "Fatalna greška:"
|
||||||
|
|
||||||
|
msgid "Idle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "In progress"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Synchronisation is already in progress. State: %s"
|
msgid "Synchronisation is already in progress. State: %s"
|
||||||
msgstr "Sinkronizacija je već u toku. Stanje: %s"
|
msgstr "Sinkronizacija je već u toku. Stanje: %s"
|
||||||
@@ -1038,14 +1207,26 @@ msgstr "Neke stavke se ne mogu sinkronizirati."
|
|||||||
msgid "Conflicts"
|
msgid "Conflicts"
|
||||||
msgstr "Sukobi"
|
msgstr "Sukobi"
|
||||||
|
|
||||||
#, javascript-format
|
#, fuzzy
|
||||||
msgid "A notebook with this title already exists: \"%s\""
|
msgid "Cannot move notebook to this location"
|
||||||
msgstr "Bilježnica s ovim naslovom već postoji: \"%s\""
|
msgstr "Ne mogu premjestiti bilješku u bilježnicu %s"
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
||||||
msgstr "Naslov \"%s\" je rezerviran i ne može se koristiti."
|
msgstr "Naslov \"%s\" je rezerviran i ne može se koristiti."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "title"
|
||||||
|
msgstr "Nenaslovljen"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "updated date"
|
||||||
|
msgstr "Ažurirano: %d."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "created date"
|
||||||
|
msgstr "Stvoreno: %d."
|
||||||
|
|
||||||
msgid "Untitled"
|
msgid "Untitled"
|
||||||
msgstr "Nenaslovljen"
|
msgstr "Nenaslovljen"
|
||||||
|
|
||||||
@@ -1060,16 +1241,6 @@ msgstr "Ne mogu kopirati bilješku u bilježnicu %s"
|
|||||||
msgid "Cannot move note to \"%s\" notebook"
|
msgid "Cannot move note to \"%s\" notebook"
|
||||||
msgstr "Ne mogu premjestiti bilješku u bilježnicu %s"
|
msgstr "Ne mogu premjestiti bilješku u bilježnicu %s"
|
||||||
|
|
||||||
msgid "Text editor"
|
|
||||||
msgstr "Uređivač teksta"
|
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"The editor that will be used to open a note. If none is provided it will try "
|
|
||||||
"to auto-detect the default editor."
|
|
||||||
msgstr ""
|
|
||||||
"Program za uređivanje koji će biti korišten za uređivanje bilješki. Ako ni "
|
|
||||||
"jedan nije odabran, pokušati će se sa default programom."
|
|
||||||
|
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Jezik"
|
msgstr "Jezik"
|
||||||
|
|
||||||
@@ -1088,9 +1259,21 @@ msgstr "Svijetla"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Tamna"
|
msgstr "Tamna"
|
||||||
|
|
||||||
msgid "Show uncompleted todos on top of the lists"
|
#, fuzzy
|
||||||
|
msgid "Uncompleted to-dos on top"
|
||||||
msgstr "Prikaži nezavršene zadatke na vrhu liste"
|
msgstr "Prikaži nezavršene zadatke na vrhu liste"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Show completed to-dos"
|
||||||
|
msgstr "Prikaži nezavršene zadatke na vrhu liste"
|
||||||
|
|
||||||
|
msgid "Sort notes by"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Reverse sort order"
|
||||||
|
msgstr "Mijenja redoslijed."
|
||||||
|
|
||||||
msgid "Save geo-location with notes"
|
msgid "Save geo-location with notes"
|
||||||
msgstr "Spremi geolokacijske podatke sa bilješkama"
|
msgstr "Spremi geolokacijske podatke sa bilješkama"
|
||||||
|
|
||||||
@@ -1112,7 +1295,21 @@ msgstr "Stvara novu bilješku."
|
|||||||
msgid "Show tray icon"
|
msgid "Show tray icon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set application zoom percentage"
|
msgid "Note: Does not work in all desktop environments."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Start application minimised in the tray icon"
|
||||||
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Automatically update the application"
|
msgid "Automatically update the application"
|
||||||
@@ -1133,6 +1330,18 @@ msgstr "%d sat"
|
|||||||
msgid "%d hours"
|
msgid "%d hours"
|
||||||
msgstr "%d sati"
|
msgstr "%d sati"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Text editor command"
|
||||||
|
msgstr "Uređivač teksta"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
"The editor command (may include arguments) that will be used to open a note. "
|
||||||
|
"If none is provided it will try to auto-detect the default editor."
|
||||||
|
msgstr ""
|
||||||
|
"Program za uređivanje koji će biti korišten za uređivanje bilješki. Ako ni "
|
||||||
|
"jedan nije odabran, pokušati će se sa default programom."
|
||||||
|
|
||||||
msgid "Show advanced options"
|
msgid "Show advanced options"
|
||||||
msgstr "Prikaži napredne opcije"
|
msgstr "Prikaži napredne opcije"
|
||||||
|
|
||||||
@@ -1154,13 +1363,20 @@ msgstr ""
|
|||||||
"Putanja do direktorija za sinkronizaciju u slučaju kad je sinkronizacija sa "
|
"Putanja do direktorija za sinkronizaciju u slučaju kad je sinkronizacija sa "
|
||||||
"datotečnim sustavom omogućena. Vidi `sync.target`."
|
"datotečnim sustavom omogućena. Vidi `sync.target`."
|
||||||
|
|
||||||
msgid "Nexcloud WebDAV URL"
|
msgid "Nextcloud WebDAV URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud username"
|
#, javascript-format
|
||||||
|
msgid ""
|
||||||
|
"Attention: If you change this location, make sure you copy all your content "
|
||||||
|
"to it before syncing, otherwise all files will be removed! See the FAQ for "
|
||||||
|
"more details: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud password"
|
msgid "Nextcloud username"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nextcloud password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "WebDAV URL"
|
msgid "WebDAV URL"
|
||||||
@@ -1172,10 +1388,65 @@ msgstr ""
|
|||||||
msgid "WebDAV password"
|
msgid "WebDAV password"
|
||||||
msgstr ""
|
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. Note that if you make changes to the TLS settings, you must save your "
|
||||||
|
"changes before clicking on \"Check synchronisation configuration\"."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ignore TLS certificate errors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
||||||
msgstr "Nevažeća vrijednost: \"%s\". Moguće vrijednosti su: %s."
|
msgstr "Nevažeća vrijednost: \"%s\". Moguće vrijednosti su: %s."
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "The tag \"%s\" already exists. Please choose a different name."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Joplin Export File"
|
||||||
|
msgstr "Evernote izvozne datoteke"
|
||||||
|
|
||||||
|
msgid "Markdown"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Joplin Export Directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Evernote Export File"
|
||||||
|
msgstr "Evernote izvozne datoteke"
|
||||||
|
|
||||||
|
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 "Odaberi lokaciju za izvoz statusa sinkronizacije"
|
||||||
|
|
||||||
msgid "Items that cannot be synchronised"
|
msgid "Items that cannot be synchronised"
|
||||||
msgstr "Stavke koje se ne mogu sinkronizirati"
|
msgstr "Stavke koje se ne mogu sinkronizirati"
|
||||||
|
|
||||||
@@ -1250,6 +1521,10 @@ msgstr "Premjesti %d bilješke u bilježnicu \"%s\"?"
|
|||||||
msgid "Press to set the decryption password."
|
msgid "Press to set the decryption password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Save alarm"
|
||||||
|
msgstr "Postavi upozorenje"
|
||||||
|
|
||||||
msgid "Select date"
|
msgid "Select date"
|
||||||
msgstr "Odaberi datum"
|
msgstr "Odaberi datum"
|
||||||
|
|
||||||
@@ -1259,6 +1534,39 @@ msgstr "Potvrdi"
|
|||||||
msgid "Cancel synchronisation"
|
msgid "Cancel synchronisation"
|
||||||
msgstr "Prekini sinkronizaciju"
|
msgstr "Prekini sinkronizaciju"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Decrypting items: %d/%d"
|
||||||
|
msgstr "Stvorene lokalne stavke: %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 "Prijavi se u OneDrive"
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Master Key %s"
|
msgid "Master Key %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1299,6 +1607,14 @@ msgstr "Spremi promjene"
|
|||||||
msgid "Discard changes"
|
msgid "Discard changes"
|
||||||
msgstr "Odbaci promjene"
|
msgstr "Odbaci promjene"
|
||||||
|
|
||||||
|
#, 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
|
#, javascript-format
|
||||||
msgid "Unsupported image type: %s"
|
msgid "Unsupported image type: %s"
|
||||||
msgstr "Nepodržana vrsta slike: %s"
|
msgstr "Nepodržana vrsta slike: %s"
|
||||||
@@ -1309,6 +1625,9 @@ msgstr "Priloži sliku"
|
|||||||
msgid "Attach any file"
|
msgid "Attach any file"
|
||||||
msgstr "Priloži datoteku"
|
msgstr "Priloži datoteku"
|
||||||
|
|
||||||
|
msgid "Share"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Convert to note"
|
msgid "Convert to note"
|
||||||
msgstr "Pretvori u bilješku"
|
msgstr "Pretvori u bilješku"
|
||||||
|
|
||||||
@@ -1330,6 +1649,9 @@ msgstr "Obriši bilježnicu"
|
|||||||
msgid "Login with OneDrive"
|
msgid "Login with OneDrive"
|
||||||
msgstr "Prijavi se u OneDrive"
|
msgstr "Prijavi se u OneDrive"
|
||||||
|
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Traži"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Click on the (+) button to create a new note or notebook. Click on the side "
|
"Click on the (+) button to create a new note or notebook. Click on the side "
|
||||||
"menu to access your existing notebooks."
|
"menu to access your existing notebooks."
|
||||||
@@ -1343,6 +1665,91 @@ msgstr "Trenutno nemaš nijednu bilježnicu. Stvori novu klikom na (+) gumb."
|
|||||||
msgid "Welcome"
|
msgid "Welcome"
|
||||||
msgstr "Dobro došli"
|
msgstr "Dobro došli"
|
||||||
|
|
||||||
|
#~ msgid "A notebook with this title already exists: \"%s\""
|
||||||
|
#~ msgstr "Bilježnica s ovim naslovom već postoji: \"%s\""
|
||||||
|
|
||||||
|
#~ msgid "Searches"
|
||||||
|
#~ msgstr "Pretraživanja"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Release notes:\n"
|
||||||
|
#~ "\n"
|
||||||
|
#~ "%s"
|
||||||
|
#~ msgstr "Obriši bilješke?"
|
||||||
|
|
||||||
|
#~ msgid "Imports an Evernote notebook file (.enex file)."
|
||||||
|
#~ msgstr "Uvozi Evernote bilježnicu (.enex datoteku)."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "File \"%s\" will be imported into existing notebook \"%s\". Continue?"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Datoteka \"%s\" će biti uvezena u postojeću bilježnicu \"%s\". Nastavi?"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "New notebook \"%s\" will be created and file \"%s\" will be imported into "
|
||||||
|
#~ "it. Continue?"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Nova bilježnica \"%s\" će biti stvorena i datoteka \"%s\" će biti uvezena "
|
||||||
|
#~ "u nju. Nastavi?"
|
||||||
|
|
||||||
|
#~ msgid "Import Evernote notes"
|
||||||
|
#~ msgstr "Uvezi Evernote bilješke"
|
||||||
|
|
||||||
|
#~ msgid "Give focus to next pane"
|
||||||
|
#~ msgstr "Fokusiraj sljedeće okno"
|
||||||
|
|
||||||
|
#~ msgid "Give focus to previous pane"
|
||||||
|
#~ msgstr "Fokusiraj prethodno okno"
|
||||||
|
|
||||||
|
#~ msgid "Enter command line mode"
|
||||||
|
#~ msgstr "Otvori naredbeni redak"
|
||||||
|
|
||||||
|
#~ msgid "Exit command line mode"
|
||||||
|
#~ msgstr "Napusti naredbeni redak"
|
||||||
|
|
||||||
|
#~ msgid "Edit the selected note"
|
||||||
|
#~ msgstr "Uredi odabranu bilješku"
|
||||||
|
|
||||||
|
#~ msgid "Cancel the current command."
|
||||||
|
#~ msgstr "Prekini trenutnu naredbu."
|
||||||
|
|
||||||
|
#~ msgid "Exit the application."
|
||||||
|
#~ msgstr "Izađi iz aplikacije."
|
||||||
|
|
||||||
|
#~ msgid "Delete the currently selected note or notebook."
|
||||||
|
#~ msgstr "Obriši odabranu bilješku ili bilježnicu."
|
||||||
|
|
||||||
|
#~ msgid "Set a to-do as completed / not completed"
|
||||||
|
#~ msgstr "Postavi zadatak kao završen/nezavršen"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
|
||||||
|
#~ msgstr "[t]oggle [c]onsole between maximized/minimized/hidden/visible."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "[t]oggle note [m]etadata."
|
||||||
|
#~ msgstr "[t]oggle note [m]etadata."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "[M]ake a new [n]ote"
|
||||||
|
#~ msgstr "[M]ake a new [n]ote"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "[M]ake a new [t]odo"
|
||||||
|
#~ msgstr "[M]ake a new [t]odo"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "[M]ake a new note[b]ook"
|
||||||
|
#~ msgstr "[M]ake a new note[b]ook"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid "Copy ([Y]ank) the [n]ote to a notebook."
|
||||||
|
#~ msgstr "Copy ([Y]ank) the [n]ote to a notebook."
|
||||||
|
|
||||||
|
#~ msgid "Move the note to a notebook."
|
||||||
|
#~ msgstr "Premjesti bilješku u bilježnicu."
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "The target to synchonise to. If synchronising with the file system, set "
|
#~ "The target to synchonise to. If synchronising with the file system, set "
|
||||||
#~ "`sync.2.path` to specify the target directory."
|
#~ "`sync.2.path` to specify the target directory."
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -15,63 +15,12 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=CHARSET\n"
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
"Content-Transfer-Encoding: 8bit\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."
|
msgid "To delete a tag, untag the associated notes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Please select the note or notebook to be deleted first."
|
msgid "Please select the note or notebook to be deleted first."
|
||||||
msgstr ""
|
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"
|
msgid "Press Ctrl+D or type \"exit\" to exit the application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -225,10 +174,14 @@ msgid "Exits the application."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
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."
|
"complete database including notebooks, notes, tags and resources."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Destination format: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Exports only the given note."
|
msgid "Exports only the given note."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -241,6 +194,10 @@ msgstr ""
|
|||||||
msgid "Displays usage information."
|
msgid "Displays usage information."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "For information on how to customise the shortcuts please visit %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Shortcuts are not available in CLI mode."
|
msgid "Shortcuts are not available in CLI mode."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -253,7 +210,7 @@ msgid "The possible commands are:"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
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 "
|
"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."
|
"note or notebook. `$c` can be used to refer to the currently selected item."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -266,7 +223,7 @@ msgid ""
|
|||||||
"(including this console)."
|
"(including this console)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "To maximise/minimise the console, press \"TC\"."
|
msgid "To maximise/minimise the console, press \"tc\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "To enter command line mode, press \":\""
|
msgid "To enter command line mode, press \":\""
|
||||||
@@ -276,25 +233,19 @@ msgid "To exit command line mode, press ESCAPE"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Imports an Evernote notebook file (.enex file)."
|
msgid "Imports data into Joplin."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Source format: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Do not ask for confirmation."
|
msgid "Do not ask for confirmation."
|
||||||
msgstr ""
|
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
|
#, javascript-format
|
||||||
msgid "Found: %d."
|
msgid "Found: %d."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -381,7 +332,9 @@ msgstr ""
|
|||||||
msgid "Deletes the notebook without asking for confirmation."
|
msgid "Deletes the notebook without asking for confirmation."
|
||||||
msgstr ""
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Deletes the notes matching <note-pattern>."
|
msgid "Deletes the notes matching <note-pattern>."
|
||||||
@@ -421,6 +374,16 @@ msgid ""
|
|||||||
"Authentication was not completed (did not receive an authentication token)."
|
"Authentication was not completed (did not receive an authentication token)."
|
||||||
msgstr ""
|
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
|
#, javascript-format
|
||||||
msgid "Not authentified with %s. Please provide any missing credentials."
|
msgid "Not authentified with %s. Please provide any missing credentials."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -451,7 +414,7 @@ msgstr ""
|
|||||||
msgid ""
|
msgid ""
|
||||||
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
||||||
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
||||||
"`tag list` can be used to list all the tags."
|
"`tag list` can be used to list all the tags (use -l for long option)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@@ -498,6 +461,9 @@ msgstr ""
|
|||||||
msgid "Possible keys/values:"
|
msgid "Possible keys/values:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Type `joplin help` for usage information."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Fatal error:"
|
msgid "Fatal error:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -535,6 +501,17 @@ msgid ""
|
|||||||
"background and will be available soon."
|
"background and will be available soon."
|
||||||
msgstr ""
|
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"
|
msgid "File"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -547,10 +524,17 @@ msgstr ""
|
|||||||
msgid "New notebook"
|
msgid "New notebook"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Import Evernote notes"
|
msgid "Import"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Evernote Export Files"
|
msgid "Export"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Print"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Hide %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
@@ -568,15 +552,39 @@ msgstr ""
|
|||||||
msgid "Paste"
|
msgid "Paste"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Bold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Italic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Insert Date Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Edit in external editor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Search in all the notes"
|
msgid "Search in all the notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle editor layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Tools"
|
msgid "Tools"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Synchronisation status"
|
msgid "Synchronisation status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Web clipper options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Encryption options"
|
msgid "Encryption options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -589,6 +597,9 @@ msgstr ""
|
|||||||
msgid "Website and documentation"
|
msgid "Website and documentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make a donation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Check for updates..."
|
msgid "Check for updates..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -612,14 +623,7 @@ msgstr ""
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Error"
|
msgid "Current version is up-to-date."
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#, javascript-format
|
|
||||||
msgid ""
|
|
||||||
"Release notes:\n"
|
|
||||||
"\n"
|
|
||||||
"%s"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "An update is available, do you want to download it now?"
|
msgid "An update is available, do you want to download it now?"
|
||||||
@@ -631,7 +635,64 @@ msgstr ""
|
|||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Current version is up-to-date."
|
msgid "Token has been copied to the clipboard!"
|
||||||
|
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 "Advanced options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Authorisation token:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"This authorisation token is only needed to allow third-party applications to "
|
||||||
|
"access Joplin."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Check synchronisation configuration"
|
msgid "Check synchronisation configuration"
|
||||||
@@ -641,6 +702,12 @@ msgstr ""
|
|||||||
msgid "Notes and settings are stored in: %s"
|
msgid "Notes and settings are stored in: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Apply"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -702,6 +769,11 @@ msgid ""
|
|||||||
"they will eventually be downloaded via synchronisation."
|
"they will eventually be downloaded via synchronisation."
|
||||||
msgstr ""
|
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"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -734,12 +806,18 @@ msgstr ""
|
|||||||
msgid "Rename notebook:"
|
msgid "Rename notebook:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Rename tag:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set alarm:"
|
msgid "Set alarm:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Some items cannot be synchronised."
|
msgid "Some items cannot be synchronised."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -755,9 +833,19 @@ msgstr ""
|
|||||||
msgid "Add or remove tags"
|
msgid "Add or remove tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Duplicate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "%s - Copy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Switch between note and to-do type"
|
msgid "Switch between note and to-do type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy Markdown link"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -771,16 +859,50 @@ msgid ""
|
|||||||
"There is currently no notebook. Create one by clicking on \"New notebook\"."
|
"There is currently no notebook. Create one by clicking on \"New notebook\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open..."
|
msgid "Open..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "This file could not be opened: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save as..."
|
msgid "Save as..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy path to clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy Link Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unsupported link or message: %s"
|
msgid "Unsupported link or message: %s"
|
||||||
msgstr ""
|
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"
|
msgid "Attach file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -790,6 +912,40 @@ msgstr ""
|
|||||||
msgid "Set alarm"
|
msgid "Set alarm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "In: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Note properties"
|
||||||
|
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"
|
msgid "to-do"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -809,7 +965,7 @@ msgstr ""
|
|||||||
msgid "OneDrive Login"
|
msgid "OneDrive Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Import"
|
msgid "Dropbox Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
@@ -821,6 +977,9 @@ msgstr ""
|
|||||||
msgid "Encryption Options"
|
msgid "Encryption Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Clipper Options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Remove this tag from all the notes?"
|
msgid "Remove this tag from all the notes?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -836,9 +995,6 @@ msgstr ""
|
|||||||
msgid "Notebooks"
|
msgid "Notebooks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Searches"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Please select where the sync status should be exported to"
|
msgid "Please select where the sync status should be exported to"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -850,10 +1006,13 @@ msgstr ""
|
|||||||
msgid "Unknown flag: %s"
|
msgid "Unknown flag: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dropbox"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "File system"
|
msgid "File system"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nextcloud (Beta)"
|
msgid "Nextcloud"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "OneDrive"
|
msgid "OneDrive"
|
||||||
@@ -862,7 +1021,7 @@ msgstr ""
|
|||||||
msgid "OneDrive Dev (For testing only)"
|
msgid "OneDrive Dev (For testing only)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "WebDAV (Beta)"
|
msgid "WebDAV"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@@ -920,7 +1079,7 @@ msgid "Fetched items: %d/%d."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "State: \"%s\"."
|
msgid "State: %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cancelling..."
|
msgid "Cancelling..."
|
||||||
@@ -930,6 +1089,16 @@ msgstr ""
|
|||||||
msgid "Completed: %s"
|
msgid "Completed: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Last error: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Idle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "In progress"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Synchronisation is already in progress. State: %s"
|
msgid "Synchronisation is already in progress. State: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -943,14 +1112,22 @@ msgstr ""
|
|||||||
msgid "Conflicts"
|
msgid "Conflicts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
msgid "Cannot move notebook to this location"
|
||||||
msgid "A notebook with this title already exists: \"%s\""
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "title"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "updated date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "created date"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Untitled"
|
msgid "Untitled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -965,14 +1142,6 @@ msgstr ""
|
|||||||
msgid "Cannot move note to \"%s\" notebook"
|
msgid "Cannot move note to \"%s\" notebook"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Text editor"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"The editor that will be used to open a note. If none is provided it will try "
|
|
||||||
"to auto-detect the default editor."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -991,7 +1160,16 @@ msgstr ""
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr ""
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save geo-location with notes"
|
msgid "Save geo-location with notes"
|
||||||
@@ -1012,7 +1190,21 @@ msgstr ""
|
|||||||
msgid "Show tray icon"
|
msgid "Show tray icon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set application zoom percentage"
|
msgid "Note: Does not work in all desktop environments."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Start application minimised in the tray icon"
|
||||||
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Automatically update the application"
|
msgid "Automatically update the application"
|
||||||
@@ -1033,6 +1225,14 @@ msgstr ""
|
|||||||
msgid "%d hours"
|
msgid "%d hours"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Text editor command"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"The editor command (may include arguments) that will be used to open a note. "
|
||||||
|
"If none is provided it will try to auto-detect the default editor."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Show advanced options"
|
msgid "Show advanced options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1052,13 +1252,20 @@ msgid ""
|
|||||||
"See `sync.target`."
|
"See `sync.target`."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud WebDAV URL"
|
msgid "Nextcloud WebDAV URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud username"
|
#, javascript-format
|
||||||
|
msgid ""
|
||||||
|
"Attention: If you change this location, make sure you copy all your content "
|
||||||
|
"to it before syncing, otherwise all files will be removed! See the FAQ for "
|
||||||
|
"more details: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud password"
|
msgid "Nextcloud username"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nextcloud password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "WebDAV URL"
|
msgid "WebDAV URL"
|
||||||
@@ -1070,10 +1277,62 @@ msgstr ""
|
|||||||
msgid "WebDAV password"
|
msgid "WebDAV password"
|
||||||
msgstr ""
|
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. Note that if you make changes to the TLS settings, you must save your "
|
||||||
|
"changes before clicking on \"Check synchronisation configuration\"."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ignore TLS certificate errors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "The tag \"%s\" already exists. Please choose a different name."
|
||||||
|
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"
|
msgid "Items that cannot be synchronised"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1148,6 +1407,9 @@ msgstr ""
|
|||||||
msgid "Press to set the decryption password."
|
msgid "Press to set the decryption password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Save alarm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select date"
|
msgid "Select date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1157,6 +1419,38 @@ msgstr ""
|
|||||||
msgid "Cancel synchronisation"
|
msgid "Cancel synchronisation"
|
||||||
msgstr ""
|
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
|
#, javascript-format
|
||||||
msgid "Master Key %s"
|
msgid "Master Key %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1196,6 +1490,14 @@ msgstr ""
|
|||||||
msgid "Discard changes"
|
msgid "Discard changes"
|
||||||
msgstr ""
|
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
|
#, javascript-format
|
||||||
msgid "Unsupported image type: %s"
|
msgid "Unsupported image type: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1206,6 +1508,9 @@ msgstr ""
|
|||||||
msgid "Attach any file"
|
msgid "Attach any file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Share"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Convert to note"
|
msgid "Convert to note"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1227,6 +1532,9 @@ msgstr ""
|
|||||||
msgid "Login with OneDrive"
|
msgid "Login with OneDrive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Search"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Click on the (+) button to create a new note or notebook. Click on the side "
|
"Click on the (+) button to create a new note or notebook. Click on the side "
|
||||||
"menu to access your existing notebooks."
|
"menu to access your existing notebooks."
|
||||||
|
1662
CliClient/locales/ko.po
Normal file
1662
CliClient/locales/ko.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -16,64 +16,12 @@ msgstr ""
|
|||||||
"X-Generator: Poedit 2.0.5\n"
|
"X-Generator: Poedit 2.0.5\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\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."
|
msgid "To delete a tag, untag the associated notes."
|
||||||
msgstr "Untag de geassocieerde notities om een tag te verwijderen."
|
msgstr "Untag de geassocieerde notities om een tag te verwijderen."
|
||||||
|
|
||||||
msgid "Please select the note or notebook to be deleted first."
|
msgid "Please select the note or notebook to be deleted first."
|
||||||
msgstr "Selecteer eerst het notitieboek of de notitie om te verwijderen."
|
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"
|
msgid "Press Ctrl+D or type \"exit\" to exit the application"
|
||||||
msgstr "Typ Ctrl+D of \"exit\" om de applicatie te sluiten"
|
msgstr "Typ Ctrl+D of \"exit\" om de applicatie te sluiten"
|
||||||
|
|
||||||
@@ -239,14 +187,19 @@ msgstr "Notitie is opgeslaan."
|
|||||||
msgid "Exits the application."
|
msgid "Exits the application."
|
||||||
msgstr "Sluit de applicatie."
|
msgstr "Sluit de applicatie."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
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."
|
"complete database including notebooks, notes, tags and resources."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Exporteert Joplin gegevens naar de opgegeven folder. Standaard zal het de "
|
"Exporteert Joplin gegevens naar de opgegeven folder. Standaard zal het de "
|
||||||
"volledige database exporteren, zoals notitieboeken, notities, tags en "
|
"volledige database exporteren, zoals notitieboeken, notities, tags en "
|
||||||
"middelen."
|
"middelen."
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Destination format: %s"
|
||||||
|
msgstr "Datumnotatie"
|
||||||
|
|
||||||
msgid "Exports only the given note."
|
msgid "Exports only the given note."
|
||||||
msgstr "Exporteert alleen de opgegeven notitie."
|
msgstr "Exporteert alleen de opgegeven notitie."
|
||||||
|
|
||||||
@@ -259,6 +212,10 @@ msgstr "Toont een geolocatie link voor de notitie."
|
|||||||
msgid "Displays usage information."
|
msgid "Displays usage information."
|
||||||
msgstr "Toont gebruiksinformatie."
|
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."
|
msgid "Shortcuts are not available in CLI mode."
|
||||||
msgstr "Shortcuts zijn niet beschikbaar in command line modus."
|
msgstr "Shortcuts zijn niet beschikbaar in command line modus."
|
||||||
|
|
||||||
@@ -273,7 +230,7 @@ msgid "The possible commands are:"
|
|||||||
msgstr "Mogelijke commando's zijn:"
|
msgstr "Mogelijke commando's zijn:"
|
||||||
|
|
||||||
msgid ""
|
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 "
|
"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."
|
"note or notebook. `$c` can be used to refer to the currently selected item."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -292,7 +249,8 @@ msgstr ""
|
|||||||
"Gebruik de pijltjes en page up/down om door de lijsten en de tekstvelden te "
|
"Gebruik de pijltjes en page up/down om door de lijsten en de tekstvelden te "
|
||||||
"scrollen (ook deze console)."
|
"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\"."
|
msgstr "Om de console te maximaliseren/minimaliseren, typ \"TC\"."
|
||||||
|
|
||||||
msgid "To enter command line mode, press \":\""
|
msgid "To enter command line mode, press \":\""
|
||||||
@@ -301,31 +259,22 @@ msgstr "Om command line modus te gebruiken, duw \":\""
|
|||||||
msgid "To exit command line mode, press ESCAPE"
|
msgid "To exit command line mode, press ESCAPE"
|
||||||
msgstr "Om command line modus te verlaten, duw ESCAPE"
|
msgstr "Om command line modus te verlaten, duw ESCAPE"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
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 ""
|
msgstr ""
|
||||||
"Voor de volledige lijst van beschikbare shortcuts, typ `help shortcuts`"
|
"Voor de volledige lijst van beschikbare shortcuts, typ `help shortcuts`"
|
||||||
|
|
||||||
msgid "Imports an Evernote notebook file (.enex file)."
|
msgid "Imports data into Joplin."
|
||||||
msgstr "Importeer een Evernote notitieboek (.enex bestand)."
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Source format: %s"
|
||||||
|
msgstr "Geen commando gevonden: \"%s\""
|
||||||
|
|
||||||
msgid "Do not ask for confirmation."
|
msgid "Do not ask for confirmation."
|
||||||
msgstr "Vraag niet om bevestiging. "
|
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
|
#, javascript-format
|
||||||
msgid "Found: %d."
|
msgid "Found: %d."
|
||||||
msgstr "Gevonden: %d."
|
msgstr "Gevonden: %d."
|
||||||
@@ -420,7 +369,10 @@ msgstr "Verwijdert het opgegeven notitieboek."
|
|||||||
msgid "Deletes the notebook without asking for confirmation."
|
msgid "Deletes the notebook without asking for confirmation."
|
||||||
msgstr "Verwijdert het notitieboek zonder te vragen om bevestiging."
|
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 ""
|
msgstr ""
|
||||||
"Notitieboek verwijderen? Alle notities in dit notitieboek zullen ook "
|
"Notitieboek verwijderen? Alle notities in dit notitieboek zullen ook "
|
||||||
"verwijderd worden."
|
"verwijderd worden."
|
||||||
@@ -467,6 +419,16 @@ msgid ""
|
|||||||
"Authentication was not completed (did not receive an authentication token)."
|
"Authentication was not completed (did not receive an authentication token)."
|
||||||
msgstr "Authenticatie was niet voltooid (geen authenticatietoken ontvangen)."
|
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
|
#, javascript-format
|
||||||
msgid "Not authentified with %s. Please provide any missing credentials."
|
msgid "Not authentified with %s. Please provide any missing credentials."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -497,10 +459,11 @@ msgstr "Synchronisatie starten..."
|
|||||||
msgid "Cancelling... Please wait."
|
msgid "Cancelling... Please wait."
|
||||||
msgstr "Annuleren.. Even geduld."
|
msgstr "Annuleren.. Even geduld."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
|
||||||
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
"[tag] from [note], or to list the notes associated with [tag]. The command "
|
||||||
"`tag list` can be used to list all the tags."
|
"`tag list` can be used to list all the tags (use -l for long option)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"<tag-command> kan \"add\", \"remove\" of \"list\" zijn om een [tag] toe te "
|
"<tag-command> kan \"add\", \"remove\" of \"list\" zijn om een [tag] toe te "
|
||||||
"voegen aan een [note] of te verwijderen, of om alle notities geassocieerd "
|
"voegen aan een [note] of te verwijderen, of om alle notities geassocieerd "
|
||||||
@@ -557,6 +520,10 @@ msgstr "Standaard: %s"
|
|||||||
msgid "Possible keys/values:"
|
msgid "Possible keys/values:"
|
||||||
msgstr "Mogelijke sleutels/waarden:"
|
msgstr "Mogelijke sleutels/waarden:"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Type `joplin help` for usage information."
|
||||||
|
msgstr "Toont gebruiksinformatie."
|
||||||
|
|
||||||
msgid "Fatal error:"
|
msgid "Fatal error:"
|
||||||
msgstr "Fatale fout:"
|
msgstr "Fatale fout:"
|
||||||
|
|
||||||
@@ -610,6 +577,18 @@ msgstr ""
|
|||||||
"hoofdsleutel al ingegeven hebt, worden de versleutelde items ontsleuteld in "
|
"hoofdsleutel al ingegeven hebt, worden de versleutelde items ontsleuteld in "
|
||||||
"de achtergrond. Ze zijn binnenkort beschikbaar."
|
"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"
|
msgid "File"
|
||||||
msgstr "Bestand"
|
msgstr "Bestand"
|
||||||
|
|
||||||
@@ -622,11 +601,19 @@ msgstr "Nieuwe to-do"
|
|||||||
msgid "New notebook"
|
msgid "New notebook"
|
||||||
msgstr "Nieuw notitieboek"
|
msgstr "Nieuw notitieboek"
|
||||||
|
|
||||||
msgid "Import Evernote notes"
|
msgid "Import"
|
||||||
msgstr "Importeer Evernote notities"
|
msgstr "Importeer"
|
||||||
|
|
||||||
msgid "Evernote Export Files"
|
#, fuzzy
|
||||||
msgstr "Exporteer Evernote bestanden"
|
msgid "Export"
|
||||||
|
msgstr "Importeer"
|
||||||
|
|
||||||
|
msgid "Print"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "Hide %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Stop"
|
msgstr "Stop"
|
||||||
@@ -643,15 +630,39 @@ msgstr "Knip"
|
|||||||
msgid "Paste"
|
msgid "Paste"
|
||||||
msgstr "Plak"
|
msgstr "Plak"
|
||||||
|
|
||||||
|
msgid "Bold"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Italic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Insert Date Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Edit in external editor"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Search in all the notes"
|
msgid "Search in all the notes"
|
||||||
msgstr "Zoek in alle notities"
|
msgstr "Zoek in alle notities"
|
||||||
|
|
||||||
|
msgid "View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toggle editor layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Tools"
|
msgid "Tools"
|
||||||
msgstr "Tools"
|
msgstr "Tools"
|
||||||
|
|
||||||
msgid "Synchronisation status"
|
msgid "Synchronisation status"
|
||||||
msgstr "Synchronisatie status"
|
msgstr "Synchronisatie status"
|
||||||
|
|
||||||
|
msgid "Web clipper options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Encryption options"
|
msgid "Encryption options"
|
||||||
msgstr "Versleutelopties"
|
msgstr "Versleutelopties"
|
||||||
|
|
||||||
@@ -664,6 +675,10 @@ msgstr "Help"
|
|||||||
msgid "Website and documentation"
|
msgid "Website and documentation"
|
||||||
msgstr "Website en documentatie"
|
msgstr "Website en documentatie"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Make a donation"
|
||||||
|
msgstr "Website en documentatie"
|
||||||
|
|
||||||
msgid "Check for updates..."
|
msgid "Check for updates..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -687,16 +702,9 @@ msgstr "OK"
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuleer"
|
msgstr "Annuleer"
|
||||||
|
|
||||||
msgid "Error"
|
msgid "Current version is up-to-date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy, javascript-format
|
|
||||||
msgid ""
|
|
||||||
"Release notes:\n"
|
|
||||||
"\n"
|
|
||||||
"%s"
|
|
||||||
msgstr "Notities verwijderen?"
|
|
||||||
|
|
||||||
msgid "An update is available, do you want to download it now?"
|
msgid "An update is available, do you want to download it now?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -707,7 +715,65 @@ msgstr ""
|
|||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "N"
|
msgstr "N"
|
||||||
|
|
||||||
msgid "Current version is up-to-date."
|
msgid "Token has been copied to the clipboard!"
|
||||||
|
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 "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 "Advanced options"
|
||||||
|
msgstr "Toon geavanceerde opties"
|
||||||
|
|
||||||
|
msgid "Authorisation token:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy token"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"This authorisation token is only needed to allow third-party applications to "
|
||||||
|
"access Joplin."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@@ -718,6 +784,12 @@ msgstr "Annuleer synchronisatie"
|
|||||||
msgid "Notes and settings are stored in: %s"
|
msgid "Notes and settings are stored in: %s"
|
||||||
msgstr "Notities en instellingen zijn opgeslaan in %s"
|
msgstr "Notities en instellingen zijn opgeslaan in %s"
|
||||||
|
|
||||||
|
msgid "Apply"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Sla op"
|
msgstr "Sla op"
|
||||||
|
|
||||||
@@ -791,6 +863,11 @@ msgid ""
|
|||||||
"they will eventually be downloaded via synchronisation."
|
"they will eventually be downloaded via synchronisation."
|
||||||
msgstr ""
|
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"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
@@ -825,12 +902,20 @@ msgstr "Scheid iedere tag met een komma."
|
|||||||
msgid "Rename notebook:"
|
msgid "Rename notebook:"
|
||||||
msgstr "Hernoem notitieboek:"
|
msgstr "Hernoem notitieboek:"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Rename tag:"
|
||||||
|
msgstr "Hernoem"
|
||||||
|
|
||||||
msgid "Set alarm:"
|
msgid "Set alarm:"
|
||||||
msgstr "Stel melding in:"
|
msgstr "Stel melding in:"
|
||||||
|
|
||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Layout"
|
msgstr "Layout"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Search..."
|
||||||
|
msgstr "Zoeken"
|
||||||
|
|
||||||
msgid "Some items cannot be synchronised."
|
msgid "Some items cannot be synchronised."
|
||||||
msgstr "Sommige items kunnen niet gesynchroniseerd worden."
|
msgstr "Sommige items kunnen niet gesynchroniseerd worden."
|
||||||
|
|
||||||
@@ -846,9 +931,19 @@ msgstr "Stel wachtwoord in"
|
|||||||
msgid "Add or remove tags"
|
msgid "Add or remove tags"
|
||||||
msgstr "Voeg tag toe of verwijder tag"
|
msgstr "Voeg tag toe of verwijder tag"
|
||||||
|
|
||||||
|
msgid "Duplicate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "%s - Copy"
|
||||||
|
msgstr "Kopieer"
|
||||||
|
|
||||||
msgid "Switch between note and to-do type"
|
msgid "Switch between note and to-do type"
|
||||||
msgstr "Wissel tussen notitie en to-do type"
|
msgstr "Wissel tussen notitie en to-do type"
|
||||||
|
|
||||||
|
msgid "Copy Markdown link"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Verwijderen"
|
msgstr "Verwijderen"
|
||||||
|
|
||||||
@@ -864,17 +959,51 @@ msgstr ""
|
|||||||
"U heeft momenteel geen notitieboek. Maak een notitieboek door op \"Nieuw "
|
"U heeft momenteel geen notitieboek. Maak een notitieboek door op \"Nieuw "
|
||||||
"notitieboek\" te klikken."
|
"notitieboek\" te klikken."
|
||||||
|
|
||||||
|
msgid "Location"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open..."
|
msgid "Open..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "This file could not be opened: %s"
|
||||||
|
msgstr "Het notitieboek kon niet opgeslaan worden: %s"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Save as..."
|
msgid "Save as..."
|
||||||
msgstr "Sla wijzigingen op"
|
msgstr "Sla wijzigingen op"
|
||||||
|
|
||||||
|
msgid "Copy path to clipboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Copy Link Address"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unsupported link or message: %s"
|
msgid "Unsupported link or message: %s"
|
||||||
msgstr "Link of bericht \"%s\" wordt niet ondersteund"
|
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"
|
msgid "Attach file"
|
||||||
msgstr "Voeg bestand toe"
|
msgstr "Voeg bestand toe"
|
||||||
|
|
||||||
@@ -884,6 +1013,41 @@ msgstr "Tags"
|
|||||||
msgid "Set alarm"
|
msgid "Set alarm"
|
||||||
msgstr "Zet melding"
|
msgstr "Zet melding"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "In: %s"
|
||||||
|
msgstr "%s: %s"
|
||||||
|
|
||||||
|
msgid "Note properties"
|
||||||
|
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 "Annuleren..."
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "to-do"
|
msgid "to-do"
|
||||||
msgstr "Nieuwe to-do"
|
msgstr "Nieuwe to-do"
|
||||||
@@ -905,8 +1069,8 @@ msgstr "Vrijmaken"
|
|||||||
msgid "OneDrive Login"
|
msgid "OneDrive Login"
|
||||||
msgstr "OneDrive Login"
|
msgstr "OneDrive Login"
|
||||||
|
|
||||||
msgid "Import"
|
msgid "Dropbox Login"
|
||||||
msgstr "Importeer"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Options"
|
msgid "Options"
|
||||||
msgstr "Opties"
|
msgstr "Opties"
|
||||||
@@ -917,6 +1081,10 @@ msgstr "Synchronisatie status"
|
|||||||
msgid "Encryption Options"
|
msgid "Encryption Options"
|
||||||
msgstr "Versleutelopties"
|
msgstr "Versleutelopties"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Clipper Options"
|
||||||
|
msgstr "Algemene opties"
|
||||||
|
|
||||||
msgid "Remove this tag from all the notes?"
|
msgid "Remove this tag from all the notes?"
|
||||||
msgstr "Deze tag verwijderen van alle notities?"
|
msgstr "Deze tag verwijderen van alle notities?"
|
||||||
|
|
||||||
@@ -932,9 +1100,6 @@ msgstr "Synchroniseer"
|
|||||||
msgid "Notebooks"
|
msgid "Notebooks"
|
||||||
msgstr "Notitieboeken"
|
msgstr "Notitieboeken"
|
||||||
|
|
||||||
msgid "Searches"
|
|
||||||
msgstr "Zoekopdrachten"
|
|
||||||
|
|
||||||
msgid "Please select where the sync status should be exported to"
|
msgid "Please select where the sync status should be exported to"
|
||||||
msgstr "Selecteer waar de synchronisatie status naar geëxporteerd moet worden"
|
msgstr "Selecteer waar de synchronisatie status naar geëxporteerd moet worden"
|
||||||
|
|
||||||
@@ -946,11 +1111,15 @@ msgstr "Gebruik: %s"
|
|||||||
msgid "Unknown flag: %s"
|
msgid "Unknown flag: %s"
|
||||||
msgstr "Onbekende optie: %s"
|
msgstr "Onbekende optie: %s"
|
||||||
|
|
||||||
|
msgid "Dropbox"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "File system"
|
msgid "File system"
|
||||||
msgstr "Bestandssysteem"
|
msgstr "Bestandssysteem"
|
||||||
|
|
||||||
msgid "Nextcloud (Beta)"
|
#, fuzzy
|
||||||
msgstr ""
|
msgid "Nextcloud"
|
||||||
|
msgstr "Stel wachtwoord in"
|
||||||
|
|
||||||
msgid "OneDrive"
|
msgid "OneDrive"
|
||||||
msgstr "OneDrive"
|
msgstr "OneDrive"
|
||||||
@@ -958,7 +1127,7 @@ msgstr "OneDrive"
|
|||||||
msgid "OneDrive Dev (For testing only)"
|
msgid "OneDrive Dev (For testing only)"
|
||||||
msgstr "OneDrive Dev (Alleen voor testen)"
|
msgstr "OneDrive Dev (Alleen voor testen)"
|
||||||
|
|
||||||
msgid "WebDAV (Beta)"
|
msgid "WebDAV"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@@ -1023,8 +1192,8 @@ msgstr "Verwijderde remote items: %d."
|
|||||||
msgid "Fetched items: %d/%d."
|
msgid "Fetched items: %d/%d."
|
||||||
msgstr "Opgehaalde items: %d/%d."
|
msgstr "Opgehaalde items: %d/%d."
|
||||||
|
|
||||||
#, javascript-format
|
#, fuzzy, javascript-format
|
||||||
msgid "State: \"%s\"."
|
msgid "State: %s."
|
||||||
msgstr "Status: \"%s\""
|
msgstr "Status: \"%s\""
|
||||||
|
|
||||||
msgid "Cancelling..."
|
msgid "Cancelling..."
|
||||||
@@ -1034,6 +1203,16 @@ msgstr "Annuleren..."
|
|||||||
msgid "Completed: %s"
|
msgid "Completed: %s"
|
||||||
msgstr "Voltooid: %s"
|
msgstr "Voltooid: %s"
|
||||||
|
|
||||||
|
#, fuzzy, javascript-format
|
||||||
|
msgid "Last error: %s"
|
||||||
|
msgstr "Fatale fout:"
|
||||||
|
|
||||||
|
msgid "Idle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "In progress"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Synchronisation is already in progress. State: %s"
|
msgid "Synchronisation is already in progress. State: %s"
|
||||||
msgstr "Synchronisatie is reeds bezig. Status: %s"
|
msgstr "Synchronisatie is reeds bezig. Status: %s"
|
||||||
@@ -1047,9 +1226,9 @@ msgstr "Versleutelde items kunnen niet aangepast worden"
|
|||||||
msgid "Conflicts"
|
msgid "Conflicts"
|
||||||
msgstr "Conflicten"
|
msgstr "Conflicten"
|
||||||
|
|
||||||
#, javascript-format
|
#, fuzzy
|
||||||
msgid "A notebook with this title already exists: \"%s\""
|
msgid "Cannot move notebook to this location"
|
||||||
msgstr "Er bestaat al een notitieboek met \"%s\" als titel"
|
msgstr "Kan notitie niet naar notitieboek \"%s\" verplaatsen."
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
|
||||||
@@ -1057,6 +1236,18 @@ msgstr ""
|
|||||||
"Notitieboeken kunnen niet \"%s\" genoemd worden, dit is een gereserveerd "
|
"Notitieboeken kunnen niet \"%s\" genoemd worden, dit is een gereserveerd "
|
||||||
"woord."
|
"woord."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "title"
|
||||||
|
msgstr "Untitled"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "updated date"
|
||||||
|
msgstr "Bijgewerkt: %d."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "created date"
|
||||||
|
msgstr "Aangemaakt: %d."
|
||||||
|
|
||||||
msgid "Untitled"
|
msgid "Untitled"
|
||||||
msgstr "Untitled"
|
msgstr "Untitled"
|
||||||
|
|
||||||
@@ -1071,17 +1262,6 @@ msgstr "Kan notitie niet naar notitieboek \"%s\" kopiëren."
|
|||||||
msgid "Cannot move note to \"%s\" notebook"
|
msgid "Cannot move note to \"%s\" notebook"
|
||||||
msgstr "Kan notitie niet naar notitieboek \"%s\" verplaatsen."
|
msgstr "Kan notitie niet naar notitieboek \"%s\" verplaatsen."
|
||||||
|
|
||||||
msgid "Text editor"
|
|
||||||
msgstr "Tekst editor"
|
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"The editor that will be used to open a note. If none is provided it will try "
|
|
||||||
"to auto-detect the default editor."
|
|
||||||
msgstr ""
|
|
||||||
"De editor die zal gebruikt worden bij het openen van een notitie. Als er "
|
|
||||||
"geen meegegeven wordt, zal het programma de standaard editor proberen te "
|
|
||||||
"detecteren. "
|
|
||||||
|
|
||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "Taal"
|
msgstr "Taal"
|
||||||
|
|
||||||
@@ -1100,9 +1280,21 @@ msgstr "Licht"
|
|||||||
msgid "Dark"
|
msgid "Dark"
|
||||||
msgstr "Donker"
|
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"
|
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"
|
msgid "Save geo-location with notes"
|
||||||
msgstr "Sla geo-locatie op bij notities"
|
msgstr "Sla geo-locatie op bij notities"
|
||||||
|
|
||||||
@@ -1123,7 +1315,21 @@ msgstr "Maakt een nieuwe notitie aan."
|
|||||||
msgid "Show tray icon"
|
msgid "Show tray icon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set application zoom percentage"
|
msgid "Note: Does not work in all desktop environments."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Start application minimised in the tray icon"
|
||||||
|
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 ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Automatically update the application"
|
msgid "Automatically update the application"
|
||||||
@@ -1144,6 +1350,19 @@ msgstr "%d uur"
|
|||||||
msgid "%d hours"
|
msgid "%d hours"
|
||||||
msgstr "%d uren"
|
msgstr "%d uren"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Text editor command"
|
||||||
|
msgstr "Tekst editor"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
"The editor command (may include arguments) that will be used to open a note. "
|
||||||
|
"If none is provided it will try to auto-detect the default editor."
|
||||||
|
msgstr ""
|
||||||
|
"De editor die zal gebruikt worden bij het openen van een notitie. Als er "
|
||||||
|
"geen meegegeven wordt, zal het programma de standaard editor proberen te "
|
||||||
|
"detecteren. "
|
||||||
|
|
||||||
msgid "Show advanced options"
|
msgid "Show advanced options"
|
||||||
msgstr "Toon geavanceerde opties"
|
msgstr "Toon geavanceerde opties"
|
||||||
|
|
||||||
@@ -1165,14 +1384,21 @@ msgstr ""
|
|||||||
"Het pad om mee te synchroniseren als bestandssysteem synchronisatie is "
|
"Het pad om mee te synchroniseren als bestandssysteem synchronisatie is "
|
||||||
"ingeschakeld. Zie `sync.target`."
|
"ingeschakeld. Zie `sync.target`."
|
||||||
|
|
||||||
msgid "Nexcloud WebDAV URL"
|
msgid "Nextcloud WebDAV URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Nexcloud username"
|
#, javascript-format
|
||||||
|
msgid ""
|
||||||
|
"Attention: If you change this location, make sure you copy all your content "
|
||||||
|
"to it before syncing, otherwise all files will be removed! See the FAQ for "
|
||||||
|
"more details: %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Nextcloud username"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Nexcloud password"
|
msgid "Nextcloud password"
|
||||||
msgstr "Stel wachtwoord in"
|
msgstr "Stel wachtwoord in"
|
||||||
|
|
||||||
msgid "WebDAV URL"
|
msgid "WebDAV URL"
|
||||||
@@ -1185,10 +1411,65 @@ msgstr ""
|
|||||||
msgid "WebDAV password"
|
msgid "WebDAV password"
|
||||||
msgstr "Stel wachtwoord in"
|
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. Note that if you make changes to the TLS settings, you must save your "
|
||||||
|
"changes before clicking on \"Check synchronisation configuration\"."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ignore TLS certificate errors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
msgid "Invalid option value: \"%s\". Possible values are: %s."
|
||||||
msgstr "Ongeldige optie: \"%s\". Geldige waarden zijn: %s."
|
msgstr "Ongeldige optie: \"%s\". Geldige waarden zijn: %s."
|
||||||
|
|
||||||
|
#, javascript-format
|
||||||
|
msgid "The tag \"%s\" already exists. Please choose a different name."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#, 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"
|
msgid "Items that cannot be synchronised"
|
||||||
msgstr "Items die niet gesynchroniseerd kunnen worden"
|
msgstr "Items die niet gesynchroniseerd kunnen worden"
|
||||||
|
|
||||||
@@ -1267,6 +1548,10 @@ msgstr "Verplaats %d notities naar notitieboek \"%s\"?"
|
|||||||
msgid "Press to set the decryption password."
|
msgid "Press to set the decryption password."
|
||||||
msgstr "Klik om het decryptie wachtwoord in te stellen"
|
msgstr "Klik om het decryptie wachtwoord in te stellen"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
msgid "Save alarm"
|
||||||
|
msgstr "Zet melding"
|
||||||
|
|
||||||
msgid "Select date"
|
msgid "Select date"
|
||||||
msgstr "Selecteer datum"
|
msgstr "Selecteer datum"
|
||||||
|
|
||||||
@@ -1276,6 +1561,39 @@ msgstr "Bevestig"
|
|||||||
msgid "Cancel synchronisation"
|
msgid "Cancel synchronisation"
|
||||||
msgstr "Annuleer synchronisatie"
|
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
|
#, javascript-format
|
||||||
msgid "Master Key %s"
|
msgid "Master Key %s"
|
||||||
msgstr "Hoofdsleutel: %s"
|
msgstr "Hoofdsleutel: %s"
|
||||||
@@ -1315,6 +1633,14 @@ msgstr "Sla wijzigingen op"
|
|||||||
msgid "Discard changes"
|
msgid "Discard changes"
|
||||||
msgstr "Verwijder wijzigingen"
|
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
|
#, javascript-format
|
||||||
msgid "Unsupported image type: %s"
|
msgid "Unsupported image type: %s"
|
||||||
msgstr "Afbeeldingstype %s wordt niet ondersteund"
|
msgstr "Afbeeldingstype %s wordt niet ondersteund"
|
||||||
@@ -1325,6 +1651,9 @@ msgstr "Voeg foto toe"
|
|||||||
msgid "Attach any file"
|
msgid "Attach any file"
|
||||||
msgstr "Voeg bestand toe"
|
msgstr "Voeg bestand toe"
|
||||||
|
|
||||||
|
msgid "Share"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Convert to note"
|
msgid "Convert to note"
|
||||||
msgstr "Converteer naar notitie"
|
msgstr "Converteer naar notitie"
|
||||||
|
|
||||||
@@ -1346,6 +1675,9 @@ msgstr "Verwijder notitieboek"
|
|||||||
msgid "Login with OneDrive"
|
msgid "Login with OneDrive"
|
||||||
msgstr "Log in met OneDrive"
|
msgstr "Log in met OneDrive"
|
||||||
|
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Zoeken"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Click on the (+) button to create a new note or notebook. Click on the side "
|
"Click on the (+) button to create a new note or notebook. Click on the side "
|
||||||
"menu to access your existing notebooks."
|
"menu to access your existing notebooks."
|
||||||
@@ -1361,6 +1693,89 @@ msgstr ""
|
|||||||
msgid "Welcome"
|
msgid "Welcome"
|
||||||
msgstr "Welkom"
|
msgstr "Welkom"
|
||||||
|
|
||||||
|
#~ msgid "A notebook with this title already exists: \"%s\""
|
||||||
|
#~ msgstr "Er bestaat al een notitieboek met \"%s\" als titel"
|
||||||
|
|
||||||
|
#~ 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 ""
|
#~ msgid ""
|
||||||
#~ "The target to synchonise to. If synchronising with the file system, set "
|
#~ "The target to synchonise to. If synchronising with the file system, set "
|
||||||
#~ "`sync.2.path` to specify the target directory."
|
#~ "`sync.2.path` to specify the target directory."
|
||||||
|
1700
CliClient/locales/nl_NL.po
Normal file
1700
CliClient/locales/nl_NL.po
Normal file
File diff suppressed because it is too large
Load Diff
1680
CliClient/locales/no.po
Normal file
1680
CliClient/locales/no.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1688
CliClient/locales/sl_SI.po
Normal file
1688
CliClient/locales/sl_SI.po
Normal file
File diff suppressed because it is too large
Load Diff
1704
CliClient/locales/sv.po
Normal file
1704
CliClient/locales/sv.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1620
CliClient/locales/zh_TW.po
Normal file
1620
CliClient/locales/zh_TW.po
Normal file
File diff suppressed because it is too large
Load Diff
2997
CliClient/package-lock.json
generated
2997
CliClient/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -19,7 +19,7 @@
|
|||||||
],
|
],
|
||||||
"owner": "Laurent Cozic"
|
"owner": "Laurent Cozic"
|
||||||
},
|
},
|
||||||
"version": "1.0.95",
|
"version": "1.0.116",
|
||||||
"bin": {
|
"bin": {
|
||||||
"joplin": "./main.js"
|
"joplin": "./main.js"
|
||||||
},
|
},
|
||||||
@@ -31,36 +31,46 @@
|
|||||||
"async-mutex": "^0.1.3",
|
"async-mutex": "^0.1.3",
|
||||||
"base-64": "^0.1.0",
|
"base-64": "^0.1.0",
|
||||||
"compare-version": "^0.1.2",
|
"compare-version": "^0.1.2",
|
||||||
|
"es6-promise-pool": "^2.5.0",
|
||||||
"follow-redirects": "^1.2.4",
|
"follow-redirects": "^1.2.4",
|
||||||
"form-data": "^2.1.4",
|
"form-data": "^2.1.4",
|
||||||
"fs-extra": "^5.0.0",
|
"fs-extra": "^5.0.0",
|
||||||
"html-entities": "^1.2.1",
|
"html-entities": "^1.2.1",
|
||||||
|
"html-minifier": "^3.5.15",
|
||||||
|
"image-data-uri": "^2.0.0",
|
||||||
|
"image-type": "^3.0.0",
|
||||||
|
"joplin-turndown": "^4.0.9",
|
||||||
|
"joplin-turndown-plugin-gfm": "^1.0.7",
|
||||||
"jssha": "^2.3.0",
|
"jssha": "^2.3.0",
|
||||||
"levenshtein": "^1.0.5",
|
"levenshtein": "^1.0.5",
|
||||||
"lodash": "^4.17.4",
|
"lodash": "^4.17.4",
|
||||||
|
"markdown-it": "^8.4.2",
|
||||||
"md5": "^2.2.1",
|
"md5": "^2.2.1",
|
||||||
"mime": "^2.0.3",
|
"mime": "^2.0.3",
|
||||||
"moment": "^2.18.1",
|
"moment": "^2.18.1",
|
||||||
"node-emoji": "^1.8.1",
|
"node-emoji": "^1.8.1",
|
||||||
"node-fetch": "^1.7.1",
|
"node-fetch": "^1.7.1",
|
||||||
"node-persist": "^2.1.0",
|
"node-persist": "^2.1.0",
|
||||||
"os-tmpdir": "^1.0.2",
|
|
||||||
"promise": "^7.1.1",
|
"promise": "^7.1.1",
|
||||||
"proper-lockfile": "^2.0.1",
|
"proper-lockfile": "^2.0.1",
|
||||||
"query-string": "4.3.4",
|
"query-string": "4.3.4",
|
||||||
|
"read-chunk": "^2.1.0",
|
||||||
"redux": "^3.7.2",
|
"redux": "^3.7.2",
|
||||||
"sax": "^1.2.2",
|
"sax": "^1.2.2",
|
||||||
"server-destroy": "^1.0.1",
|
"server-destroy": "^1.0.1",
|
||||||
"sharp": "^0.18.4",
|
"sharp": "^0.20.8",
|
||||||
"sprintf-js": "^1.1.1",
|
"sprintf-js": "^1.1.1",
|
||||||
"sqlite3": "^3.1.8",
|
"sqlite3": "^4.0.1",
|
||||||
"string-padding": "^1.0.2",
|
"string-padding": "^1.0.2",
|
||||||
"string-to-stream": "^1.1.0",
|
"string-to-stream": "^1.1.0",
|
||||||
"strip-ansi": "^4.0.0",
|
"strip-ansi": "^4.0.0",
|
||||||
|
"syswide-cas": "^5.2.0",
|
||||||
|
"tar": "^4.4.0",
|
||||||
"tcp-port-used": "^0.1.2",
|
"tcp-port-used": "^0.1.2",
|
||||||
"tkwidgets": "^0.5.21",
|
"tkwidgets": "^0.5.26",
|
||||||
"url-parse": "^1.2.0",
|
"url-parse": "^1.2.0",
|
||||||
"uuid": "^3.0.1",
|
"uuid": "^3.0.1",
|
||||||
|
"valid-url": "^1.0.9",
|
||||||
"word-wrap": "^1.2.3",
|
"word-wrap": "^1.2.3",
|
||||||
"xml2js": "^0.4.19",
|
"xml2js": "^0.4.19",
|
||||||
"yargs-parser": "^7.0.0"
|
"yargs-parser": "^7.0.0"
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
START_DIR="$(pwd)"
|
||||||
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
BUILD_DIR="$ROOT_DIR/tests-build"
|
BUILD_DIR="$ROOT_DIR/tests-build"
|
||||||
TEST_FILE="$1"
|
TEST_FILE="$1"
|
||||||
@@ -8,8 +9,29 @@ rsync -a "$ROOT_DIR/../ReactNativeClient/lib/" "$BUILD_DIR/lib/"
|
|||||||
rsync -a "$ROOT_DIR/build/locales/" "$BUILD_DIR/locales/"
|
rsync -a "$ROOT_DIR/build/locales/" "$BUILD_DIR/locales/"
|
||||||
mkdir -p "$BUILD_DIR/data"
|
mkdir -p "$BUILD_DIR/data"
|
||||||
|
|
||||||
if [[ $TEST_FILE == "" ]]; then
|
if [[ $TEST_FILE != "" ]]; then
|
||||||
(cd "$ROOT_DIR" && npm test tests-build/synchronizer.js tests-build/encryption.js tests-build/ArrayUtils.js tests-build/models_Setting.js)
|
|
||||||
else
|
|
||||||
(cd "$ROOT_DIR" && npm test tests-build/$TEST_FILE.js)
|
(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/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_Tag.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/urlUtils.js
|
||||||
|
npm test tests-build/encryption.js
|
||||||
|
npm test tests-build/services_rest_Api.js
|
||||||
|
npm test tests-build/synchronizer.js
|
@@ -44,4 +44,13 @@ describe('ArrayUtils', function() {
|
|||||||
done();
|
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();
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
62
CliClient/tests/EnexToMd.js
Normal file
62
CliClient/tests/EnexToMd.js
Normal 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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
|
});
|
66
CliClient/tests/HtmlToMd.js
Normal file
66
CliClient/tests/HtmlToMd.js
Normal 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 !== 'anchor_with_url_with_spaces.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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
|
});
|
16
CliClient/tests/enex_to_md/code1.html
Normal file
16
CliClient/tests/enex_to_md/code1.html
Normal 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"><!DOCTYPE html></span>
|
||||||
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>html</span><span class="token punctuation">></span></span>
|
||||||
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>head</span><span class="token punctuation">></span></span>
|
||||||
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</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">/></span></span>
|
||||||
|
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>head</span><span class="token punctuation">></span></span>
|
||||||
|
|
||||||
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>body</span><span class="token punctuation">></span></span>
|
||||||
|
<span class="token tag"><span class="token tag"><span class="token punctuation"><</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">></span></span><span class="token script language-javascript"></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span>
|
||||||
|
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>body</span><span class="token punctuation">></span></span>
|
||||||
|
<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>html</span><span class="token punctuation">></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>
|
14
CliClient/tests/enex_to_md/code1.md
Normal file
14
CliClient/tests/enex_to_md/code1.md
Normal 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:
|
7
CliClient/tests/enex_to_md/code2.html
Normal file
7
CliClient/tests/enex_to_md/code2.html
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<p>Subshell:</p>
|
||||||
|
<pre><code>(
|
||||||
|
set -e
|
||||||
|
false
|
||||||
|
echo Unreachable
|
||||||
|
) && echo Great success
|
||||||
|
</code></pre>
|
7
CliClient/tests/enex_to_md/code2.md
Normal file
7
CliClient/tests/enex_to_md/code2.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Subshell:
|
||||||
|
|
||||||
|
(
|
||||||
|
set -e
|
||||||
|
false
|
||||||
|
echo Unreachable
|
||||||
|
) && echo Great success
|
9
CliClient/tests/enex_to_md/heading.html
Normal file
9
CliClient/tests/enex_to_md/heading.html
Normal 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>
|
5
CliClient/tests/enex_to_md/heading.md
Normal file
5
CliClient/tests/enex_to_md/heading.md
Normal 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:
|
3
CliClient/tests/enex_to_md/inlineCode.html
Normal file
3
CliClient/tests/enex_to_md/inlineCode.html
Normal 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>
|
1
CliClient/tests/enex_to_md/inlineCode.md
Normal file
1
CliClient/tests/enex_to_md/inlineCode.md
Normal 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.
|
3
CliClient/tests/enex_to_md/inlineCodeWithLink.html
Normal file
3
CliClient/tests/enex_to_md/inlineCodeWithLink.html
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<div>
|
||||||
|
<p>the <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>
|
1
CliClient/tests/enex_to_md/inlineCodeWithLink.md
Normal file
1
CliClient/tests/enex_to_md/inlineCodeWithLink.md
Normal 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.
|
4
CliClient/tests/enex_to_md/link1.html
Normal file
4
CliClient/tests/enex_to_md/link1.html
Normal 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>
|
1
CliClient/tests/enex_to_md/link1.md
Normal file
1
CliClient/tests/enex_to_md/link1.md
Normal 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)
|
17
CliClient/tests/enex_to_md/list.html
Normal file
17
CliClient/tests/enex_to_md/list.html
Normal 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>
|
9
CliClient/tests/enex_to_md/list.md
Normal file
9
CliClient/tests/enex_to_md/list.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Liste de courses
|
||||||
|
|
||||||
|
- [X] Pizzas
|
||||||
|
- [X] Pain
|
||||||
|
- [X] Jambon
|
||||||
|
|
||||||
|
- [X] On its own
|
||||||
|
|
||||||
|
End
|
1
CliClient/tests/enex_to_md/list2.html
Normal file
1
CliClient/tests/enex_to_md/list2.html
Normal 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>
|
3
CliClient/tests/enex_to_md/list2.md
Normal file
3
CliClient/tests/enex_to_md/list2.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
- [Github](https://github.com/zetter)
|
||||||
|
- [Twitter](https://twitter.com/czetter)
|
||||||
|
- [Lanyrd](http://lanyrd.com/profile/czetter/)
|
1
CliClient/tests/enex_to_md/list3.html
Normal file
1
CliClient/tests/enex_to_md/list3.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<ul class="find-me-on"><li>Github</li><li>Twitter</li></ul>
|
2
CliClient/tests/enex_to_md/list3.md
Normal file
2
CliClient/tests/enex_to_md/list3.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- Github
|
||||||
|
- Twitter
|
11
CliClient/tests/enex_to_md/paragraph.html
Normal file
11
CliClient/tests/enex_to_md/paragraph.html
Normal 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>
|
8
CliClient/tests/enex_to_md/paragraph.md
Normal file
8
CliClient/tests/enex_to_md/paragraph.md
Normal 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.
|
12
CliClient/tests/enex_to_md/table1.html
Normal file
12
CliClient/tests/enex_to_md/table1.html
Normal 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
|
5
CliClient/tests/enex_to_md/table1.md
Normal file
5
CliClient/tests/enex_to_md/table1.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
| |
|
||||||
|
| --- |
|
||||||
|
| $ sudo ethtool --set-priv-flags p2p1 mlx4_rss_xor_hash_function on<br># Three empty lines follow |
|
||||||
|
|
||||||
|
Some text
|
3
CliClient/tests/enex_to_md/tableWithNewLines.html
Normal file
3
CliClient/tests/enex_to_md/tableWithNewLines.html
Normal 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>
|
4
CliClient/tests/enex_to_md/tableWithNewLines.md
Normal file
4
CliClient/tests/enex_to_md/tableWithNewLines.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
| | |
|
||||||
|
| --- | --- |
|
||||||
|
| line 1<br>line 2 | |
|
||||||
|
| aaaaaa | line 3<br>line 4 |
|
1
CliClient/tests/html_to_md/anchor_with_inner_tags.html
Normal file
1
CliClient/tests/html_to_md/anchor_with_inner_tags.html
Normal 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>
|
1
CliClient/tests/html_to_md/anchor_with_inner_tags.md
Normal file
1
CliClient/tests/html_to_md/anchor_with_inner_tags.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[# oplin](https://joplin.cozic.net)
|
1
CliClient/tests/html_to_md/anchor_with_js.html
Normal file
1
CliClient/tests/html_to_md/anchor_with_js.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<a href="javascript:alert('js')">Some text</a>
|
1
CliClient/tests/html_to_md/anchor_with_js.md
Normal file
1
CliClient/tests/html_to_md/anchor_with_js.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[Some text]()
|
1
CliClient/tests/html_to_md/anchor_with_newlines.html
Normal file
1
CliClient/tests/html_to_md/anchor_with_newlines.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<a href="http://example.com"><p>That</p><p>Shouldn't be allowed</p></a>
|
1
CliClient/tests/html_to_md/anchor_with_newlines.md
Normal file
1
CliClient/tests/html_to_md/anchor_with_newlines.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[That<br>Shouldn't be allowed](http://example.com)
|
@@ -0,0 +1 @@
|
|||||||
|
<a href="http://example.com/That is not right"/>Testing</a>
|
@@ -0,0 +1 @@
|
|||||||
|
[Testing](http://example.com/That%20is%20not%20right)
|
8
CliClient/tests/html_to_md/code_1.html
Normal file
8
CliClient/tests/html_to_md/code_1.html
Normal 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>
|
5
CliClient/tests/html_to_md/code_1.md
Normal file
5
CliClient/tests/html_to_md/code_1.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
def ma_fonction():
|
||||||
|
"""
|
||||||
|
C'est une super fonction
|
||||||
|
"""
|
||||||
|
pass
|
13
CliClient/tests/html_to_md/list_with_many_items.html
Normal file
13
CliClient/tests/html_to_md/list_with_many_items.html
Normal 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>
|
39
CliClient/tests/html_to_md/list_with_many_items.md
Normal file
39
CliClient/tests/html_to_md/list_with_many_items.md
Normal 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
|
29
CliClient/tests/html_to_md/picture_with_no_img.html
Normal file
29
CliClient/tests/html_to_md/picture_with_no_img.html
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
Some pictures:
|
||||||
|
|
||||||
|
<picture>
|
||||||
|
<!--[if IE 9]><video style="display: none;"><![endif]-->
|
||||||
|
<source media="(min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.25), (min-width: px) and (min-resolution: 120dpi)" sizes="588px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop&dpr=1.5 882w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop&dpr=1.5 882w">
|
||||||
|
<source media="(min-width: 768px)" sizes="588px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop 588w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop 588w">
|
||||||
|
<source media="(min-width: 481px) and (-webkit-min-device-pixel-ratio: 1.25), (min-width: px) and (min-resolution: 120dpi)" sizes="588px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop&dpr=1.5 882w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop&dpr=1.5 882w">
|
||||||
|
<source media="(min-width: 481px)" sizes="588px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop 588w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop 588w">
|
||||||
|
<source media="(min-width: 321px) and (-webkit-min-device-pixel-ratio: 1.25), (min-width: px) and (min-resolution: 120dpi)" sizes="450px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=450&h=688&fit=crop&dpr=1.5 675w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=450&h=688&fit=crop&dpr=1.5 675w">
|
||||||
|
<source media="(min-width: 321px)" sizes="450px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=450&h=688&fit=crop 450w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=450&h=688&fit=crop 450w">
|
||||||
|
<source media="(min-width: 0px) and (-webkit-min-device-pixel-ratio: 1.25), (min-width: px) and (min-resolution: 120dpi)" sizes="320px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=320&h=489&fit=crop&dpr=1.5 480w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=320&h=489&fit=crop&dpr=1.5 480w">
|
||||||
|
<source media="(min-width: 0px)" sizes="320px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=320&h=489&fit=crop 320w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=320&h=489&fit=crop 320w">
|
||||||
|
<!--[if IE 9]></video><![endif]-->
|
||||||
|
<img class=" lazyloaded" title="" alt="" id="img-id-0">
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
<picture>
|
||||||
|
<!--[if IE 9]><video style="display: none;"><![endif]-->
|
||||||
|
<source media="(min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.25), (min-width: px) and (min-resolution: 120dpi)" sizes="588px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop&dpr=1.5 882w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop&dpr=1.5 882w">
|
||||||
|
<source media="(min-width: 768px)" sizes="588px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop 588w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop 588w">
|
||||||
|
<source media="(min-width: 481px) and (-webkit-min-device-pixel-ratio: 1.25), (min-width: px) and (min-resolution: 120dpi)" sizes="588px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop&dpr=1.5 882w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop&dpr=1.5 882w">
|
||||||
|
<source media="(min-width: 481px)" sizes="588px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop 588w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=588&h=900&fit=crop 588w">
|
||||||
|
<source media="(min-width: 321px) and (-webkit-min-device-pixel-ratio: 1.25), (min-width: px) and (min-resolution: 120dpi)" sizes="450px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=450&h=688&fit=crop&dpr=1.5 675w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=450&h=688&fit=crop&dpr=1.5 675w">
|
||||||
|
<source media="(min-width: 321px)" sizes="450px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=450&h=688&fit=crop 450w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=450&h=688&fit=crop 450w">
|
||||||
|
<source media="(min-width: 0px) and (-webkit-min-device-pixel-ratio: 1.25), (min-width: px) and (min-resolution: 120dpi)" sizes="320px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=320&h=489&fit=crop&dpr=1.5 480w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=320&h=489&fit=crop&dpr=1.5 480w">
|
||||||
|
<source media="(min-width: 0px)" sizes="320px" data-srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=320&h=489&fit=crop 320w" srcset="https://static2.cbrimages.com/wp-content/uploads/2018/09/Die-01-cvrA.jpg?q=35&w=320&h=489&fit=crop 320w">
|
||||||
|
<!--[if IE 9]></video><![endif]-->
|
||||||
|
<img class=" lazyloaded" title="" alt="" id="img-id-0" src="http://example.com/test.gif">
|
||||||
|
</picture>
|
1
CliClient/tests/html_to_md/picture_with_no_img.md
Normal file
1
CliClient/tests/html_to_md/picture_with_no_img.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Some pictures:  
|
1
CliClient/tests/html_to_md/skip_script.html
Normal file
1
CliClient/tests/html_to_md/skip_script.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<script id="appnexus-adload" data-reactid="7">window.apntag=window.apntag||{};window.apntag.anq=window.apntag.anq||[];</script>
|
0
CliClient/tests/html_to_md/skip_script.md
Normal file
0
CliClient/tests/html_to_md/skip_script.md
Normal file
6
CliClient/tests/html_to_md/skip_style.html
Normal file
6
CliClient/tests/html_to_md/skip_style.html
Normal file
File diff suppressed because one or more lines are too long
0
CliClient/tests/html_to_md/skip_style.md
Normal file
0
CliClient/tests/html_to_md/skip_style.md
Normal file
4
CliClient/tests/html_to_md/table_no_header.html
Normal file
4
CliClient/tests/html_to_md/table_no_header.html
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<table>
|
||||||
|
<tr><td>No</td><td>header</td></tr>
|
||||||
|
<tr><td>And no</td><td>suprises</td></tr>
|
||||||
|
</table>
|
4
CliClient/tests/html_to_md/table_no_header.md
Normal file
4
CliClient/tests/html_to_md/table_no_header.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
| | |
|
||||||
|
| --- | --- |
|
||||||
|
| No | header |
|
||||||
|
| And no | suprises |
|
15
CliClient/tests/html_to_md/table_with_colspan.html
Normal file
15
CliClient/tests/html_to_md/table_with_colspan.html
Normal 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>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user