1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-09-05 20:56:22 +02:00

Compare commits

...

84 Commits

Author SHA1 Message Date
Laurent Cozic
71078637db Android release v1.0.281 2019-07-14 19:56:46 +01:00
Laurent Cozic
3e48992eb4 Clipper: Disabled preview for now as too many problems with it and not so useful 2019-07-14 09:46:06 +01:00
Laurent Cozic
bdb31f2890 Mobile: Fixed issue that could slow down app when displaying large list of notes 2019-07-13 23:55:28 +01:00
Laurent Cozic
0255546ae1 Mobile: Auto-save after toggling to-do state 2019-07-13 23:49:35 +01:00
Laurent Cozic
d066350eea Electron release v1.0.161 2019-07-13 19:18:34 +01:00
Laurent Cozic
a1e3260309 Clipper: Resolves #1160: Allow importing MathJax formulas, in particular from StackExchange 2019-07-13 19:17:28 +01:00
Laurent Cozic
be1f57a8a6 Desktop: Fixes #1727: Keep back button when opening a note link from the search results 2019-07-13 17:58:59 +01:00
Laurent Cozic
ca4dfe0f0f Desktop: Fixes #1724: Improved note selection and scrolling when moving a note to a different notebook 2019-07-13 17:40:09 +01:00
Laurent Cozic
fa69957d3f Desktop, CLI: Fixes #1723: Import Evernote audio files correctly 2019-07-13 17:26:47 +01:00
Laurent Cozic
f7203ed7e2 Desktop: Fixes #1720: Fixed issue with certain commands being repeated in some cases 2019-07-13 16:57:33 +01:00
Laurent Cozic
331858bd4f Desktop: Fixes #1704: Set note title to correct size when zoom is enabled 2019-07-13 16:46:52 +01:00
Laurent Cozic
4d2c9523a3 Desktop: Fixes #1699: Hide toolbar button text when it is below a certain size 2019-07-13 16:42:57 +01:00
Laurent Cozic
4d9d84a8f3 Merge branch 'master' of github.com:laurent22/joplin 2019-07-13 15:58:06 +01:00
Laurent Cozic
ec1089870f All: Fixes #1694: When deleting resource from sync target also delete associated data blob 2019-07-13 15:57:53 +01:00
Helmut K. C. Tessarek
dbedefc021 Desktop: Fixes #1342: Add override for ACE editor shortcut Ctrl+K (#1705) 2019-07-13 14:52:32 +01:00
Kirill Goncharov
f6b0da3f5e Android: Check filesystem permission if filesystem sync target is selected (#1665)
* Android: Check filesystem permission if filesystem sync target is selected

* Android: Change permission error text, don't prevent user from saving settings
2019-07-13 14:51:54 +01:00
Laurent Cozic
85bf89fd97 Android release v1.0.279 2019-07-12 19:44:23 +01:00
Laurent Cozic
c2a80b12f0 Mobile: More rendering optimisations to make animations smoother and to allow typing fast on large notes 2019-07-12 19:36:12 +01:00
Laurent Cozic
981c97cca5 Mobile: Optimising screen rendering to make text input faster 2019-07-12 18:32:08 +01:00
Laurent Cozic
091cbc5355 Mobile: Added sync button animation; Added notebook header; Improved layout of Edit Notebook screen 2019-07-12 18:07:47 +01:00
Laurent Cozic
e5a8114887 Mobile: Added icons to left sidebar 2019-07-11 18:44:26 +01:00
Laurent Cozic
4779fc6f43 Mobile: Remove search and side menu button from config screen 2019-07-11 18:26:04 +01:00
Laurent Cozic
86e7daaec4 Mobile: Cleaned context menu and moved options and metadata to side menu bar 2019-07-11 18:23:29 +01:00
Laurent Cozic
cab73a26e7 Mobile: Adding note side menu 2019-07-11 17:43:55 +01:00
Laurent Cozic
554ddb3b51 Mobile: Grouped file attachment action under one menu 2019-07-11 17:41:13 +01:00
Laurent Cozic
3b22bdb8ae Doc: Fixed Linux install command line for website 2019-07-10 18:18:31 +01:00
Laurent Cozic
5fdd07679e All: Fix: Only log master key ID 2019-07-10 17:35:08 +01:00
Laurent Cozic
69f75a1520 Doc: Updated old links 2019-07-10 17:00:10 +01:00
Laurent Cozic
f9b7acb8b1 Merge branch 'master' of github.com:laurent22/joplin 2019-07-10 16:41:20 +01:00
Laurent Cozic
91f700ad54 Doc: Updated email addresses 2019-07-10 16:41:13 +01:00
Robert
966aca7753 Update nl_NL.po (#1709)
* Update nl_NL.po

* Added ampersands to main menu items 

for the nl-nl translation
2019-07-05 13:00:53 -04:00
Helmut K. C. Tessarek
4de8816ed5 Merge pull request #1710 from Marmo/Marmo-translation-20190705
Translation: minor fixes (de_DE)
2019-07-05 11:26:32 -04:00
Marmo
bea68a1056 Minor translation fixes (de_DE) 2019-07-05 13:54:11 +02:00
Laurent Cozic
6fea7116b6 Mobile: Removed now unneeded Welcome screen 2019-06-29 00:24:00 +01:00
Laurent Cozic
2955914ca5 Mobile: Fixes #1690 (maybe): Process less data simultaneously when building search index to prevent out of memory errors 2019-06-28 23:49:43 +01:00
Laurent Cozic
fd150b5b9d Update website 2019-06-28 16:08:50 +01:00
Laurent Cozic
334ffad196 Doc: Added link to Mastodon feed 2019-06-28 16:04:05 +01:00
Charles
a796a9d179 API: Support is_todo property to allow making a note a todo (#1688) 2019-06-28 13:46:55 +01:00
Helmut K. C. Tessarek
917dcea28a use a command to get the current branch that works with older git versions
closes #1695
2019-06-28 05:02:21 -04:00
Laurent Cozic
c901228dc5 Merge branch 'master' of github.com:laurent22/joplin 2019-06-28 00:51:14 +01:00
Laurent Cozic
da21580785 Mobile: Added 'All notes' screen; Cleaned up header bar buttons; Removed 'body' from note preview object to improve memory usage 2019-06-28 00:51:02 +01:00
Laurent Cozic
4d92187327 Mobile: Added button to fix search engine index 2019-06-28 00:48:52 +01:00
Helmut K. C. Tessarek
207d433fb3 Desktop: Improved: Show git branch and hash in About dialog (#1692)
* show git branch and hash in About dialog

This additional info will only be shown, if the code is not an official release.

An official release is calculated as follows:
- current commit has a tag
- the tag contains the version number of the package

However, the information will always be printed to the console.

* info will now always be shown in About dialog (if available)

ElectronClient/app/compile-package-info.js: added warning
ElectronClient/app/app.js: push info conditionally to the message array

* use sprintf syntax
2019-06-27 15:04:02 +01:00
Laurent Cozic
ffc311d7bd Mobile: Moved slider value to the left so that it is visible while dragging 2019-06-27 00:05:17 +01:00
Laurent Cozic
a1e8e71359 Mobile: Added auto-save 2019-06-26 23:26:26 +01:00
Laurent Cozic
7942e74dc6 Mobile: Fixed field focus logic 2019-06-26 23:21:12 +01:00
Laurent Cozic
c4e21c2b6a Mobile: Added placeholders for note title and body, and focus body by default for notes 2019-06-26 23:00:25 +01:00
Laurent Cozic
0a06aa6f9f Mobile: When inside a note, do not show side menu and search buttons 2019-06-26 22:54:09 +01:00
Laurent Cozic
f985cfa25c Mobile: Removed arrow icon as it is rendered weirdly on device 2019-06-26 18:51:12 +01:00
Laurent Cozic
6e143aef5c Android release v1.0.277 2019-06-26 18:40:43 +01:00
Laurent Cozic
bf16aa6192 All: Better logging in case of error while indexing search 2019-06-26 18:36:42 +01:00
Laurent Cozic
d96c58d192 Mobile: Edit and delete notebooks by long-pressing them, and removed context menu on note lists 2019-06-26 18:28:09 +01:00
Laurent Cozic
e7e0264411 Mobile: Improved side menu: Made button panel fixed at the bottom, and added dark overlay over right side content 2019-06-26 18:05:37 +00:00
Laurent Cozic
430a11282b Mobile: Moved 'New notebook' button to sidebar 2019-06-26 01:10:15 +01:00
Laurent Cozic
9957b2798c Mobile: Moved config menu item to button on side bar 2019-06-26 00:35:26 +01:00
Laurent Cozic
2c5b0010bf Mobile: Removed concept of Advanced Options and move tools to Config screen to clean up context menu 2019-06-26 00:13:13 +01:00
Laurent Cozic
1e3c6ed98c Desktop: When doing local search do not split query into words 2019-06-25 23:09:53 +01:00
Laurent Cozic
484f290eb0 Clipper: Improved clipping selection by removing unecessary elements 2019-06-25 22:11:12 +01:00
Helmut K. C. Tessarek
06ad539941 Clipper release v1.0.17 2019-06-23 23:23:07 -04:00
Laurent Cozic
5b84e80ac4 Clipper: Fixes #1214: Include data from form fields when clipping forms 2019-06-24 00:57:39 +01:00
Laurent Cozic
ca0f349348 Merge branch 'master' of github.com:laurent22/joplin 2019-06-24 00:00:24 +01:00
Laurent Cozic
d79089aea3 Clipper: Fixes #1682: Do not clip elements that should be hidden 2019-06-24 00:00:11 +01:00
Eugene Odeluga
03611ad5ca Desktop: For Ubuntu users, added unity to if condition for desktop icon creation (#1683) 2019-06-23 22:24:58 +01:00
Helmut K. C. Tessarek
c78c1cd3cf Clipper release v1.0.16 2019-06-23 03:06:34 -04:00
水货
55afa7b5b7 Update zh_CN.po (#1681) 2019-06-23 03:00:41 -04:00
Laurent Cozic
a6c407b62b Doc: Mentioned Goto Anything feature 2019-06-22 19:06:54 +01:00
Laurent Cozic
21897a3cd4 Clipper: Resolves #1669: Handle special case of code block used on Microsoft website 2019-06-22 18:57:41 +01:00
Laurent Cozic
5796dd2098 Update translations 2019-06-22 13:10:13 +01:00
abonte
d050071437 update it_IT.po (#1680) 2019-06-22 12:45:35 +01:00
Laurent Cozic
eaf8510f49 Doc: Added requirement for unit tests 2019-06-22 12:44:31 +01:00
Laurent Cozic
6ee2595dce Desktop: Fixes #1676: Preserve user timestamps when adding note via API 2019-06-22 12:31:04 +01:00
Laurent Cozic
0ecf2d6d9a Merge branch 'master' of github.com:laurent22/joplin 2019-06-22 11:23:35 +01:00
Laurent Cozic
50fd075168 Desktop, CLI: Fixes #1672: Fix line break issue when importing certain notes from Evernotes 2019-06-22 11:23:22 +01:00
Helmut K. C. Tessarek
6fa76bb83a fix minor typo in README.md 2019-06-21 23:58:44 -04:00
Laurent Cozic
b175c1fc94 Desktop: Resolves #1649: Cache code blocks in notes to speed up rendering 2019-06-21 08:28:59 +01:00
Caleb John
b461625518 Desktop: Fixed issue with issue with watching file on Linux (#1659)
Watch for rename events in the external editor and re-watch file
2019-06-20 00:44:51 +01:00
Laurent Cozic
3819897ba1 Merge branch 'master' of github.com:laurent22/joplin 2019-06-20 00:02:29 +01:00
Laurent Cozic
6a031857ba Desktop: Fixes #1664: Disable certain menu items when no note or multiple notes are selected, and fixed menu item to set tag 2019-06-20 00:02:13 +01:00
Laurent Cozic
0e57b7eb46 iOS v10.0.36 2019-06-19 23:22:35 +01:00
Laurent Cozic
e21a0ba5b7 Update translations 2019-06-19 23:18:24 +01:00
Laurent Cozic
78f731e616 Merge branch 'master' of github.com:laurent22/joplin 2019-06-19 23:16:45 +01:00
Laurent Cozic
f6688a65ae iOS: Fixed bug that was preventing images from displaying 2019-06-19 23:16:37 +01:00
Laurent Cozic
035b9c6d1a Android: This is now needed to build the app 2019-06-19 21:51:22 +01:00
Laurent Cozic
266ff244d9 Revert "Mobile: Added button to clear local sync state"
Can cause too many issues.

This reverts commit 6ce091f4d8.
2019-06-19 21:50:26 +01:00
166 changed files with 2332 additions and 1263 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 986 B

BIN
Assets/AdresseSupport.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@@ -16,10 +16,12 @@ File bugs in the [Github Issue Tracker](https://github.com/laurent22/joplin/issu
Please check that your request has not already been posted in the [Github Issue Tracker](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue). If it has, **up-voting the issue** increases the chances it'll be noticed and implemented in the future. "+1" comments are not tracked. Please check that your request has not already been posted in the [Github Issue Tracker](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue). If it has, **up-voting the issue** increases the chances it'll be noticed and implemented in the future. "+1" comments are not tracked.
As a general rule, suggestions to _improve Joplin_ should be posted first in the [Joplin Forum](https://discourse.joplinapp.org/) for discussion. As a general rule, suggestions to *improve Joplin* should be posted first in the [Joplin Forum](https://discourse.joplinapp.org/) for discussion.
Avoid listing multiple requests in one report in the [Github Issue Tracker](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue). One issue per request makes it easier to track and discuss it. Avoid listing multiple requests in one report in the [Github Issue Tracker](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue). One issue per request makes it easier to track and discuss it.
Finally, when submitting a pull request, don't forget to [test your code](#unit-tests).
# Contribute to the project # Contribute to the project
## Contributing to Joplin's translation ## Contributing to Joplin's translation
@@ -42,3 +44,20 @@ There are only two rules, but not following them means the pull request will not
- **Please use tabs, NOT spaces.** - **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. - **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.
## Unit tests
When submitting a pull request for a new feature or bug fix, please add unit tests for your code. Unit testing GUI changes is not always possible so it is not required, but any change in a file under /lib for example should be unit tested.
The tests are under CliClient/tests. To get them running, you first need to build the CLI app:
cd CliClient
npm i
Then to run all the test units:
./run_test.sh
To run just one particular file:
./run_test.sh markdownUtils # Don't add the .js extension

View File

@@ -670,12 +670,18 @@ msgstr "مائل"
msgid "Link" msgid "Link"
msgstr "رابط" msgstr "رابط"
msgid "Code"
msgstr "رمز"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "إدراج التاريخ والوقت" msgstr "إدراج التاريخ والوقت"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "التحرير في محرر خارجي" msgstr "التحرير في محرر خارجي"
msgid "Tags"
msgstr "وسوم"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "البحث في كل الملاحظات" msgstr "البحث في كل الملاحظات"
@@ -1053,9 +1059,6 @@ msgstr "إدراج ارتباط تشعبي"
msgid "Attach file" msgid "Attach file"
msgstr "إرفاق ملف" msgstr "إرفاق ملف"
msgid "Tags"
msgstr "وسوم"
msgid "Set alarm" msgid "Set alarm"
msgstr "ضبط منبّه" msgstr "ضبط منبّه"
@@ -1066,9 +1069,6 @@ msgstr "في: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "ارتباط تشعبي" msgstr "ارتباط تشعبي"
msgid "Code"
msgstr "رمز"
msgid "Numbered List" msgid "Numbered List"
msgstr "قائمة مرقّمة" msgstr "قائمة مرقّمة"
@@ -1912,6 +1912,10 @@ msgstr "لا يوجد عنصر بالمعرّف %s"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "تطبيق Joplin على الهاتف الجوال لا يدعم حالياً هذا النوع من الربط : %s" msgstr "تطبيق Joplin على الهاتف الجوال لا يدعم حالياً هذا النوع من الربط : %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "نوع صورة غير مدعوم: %s" msgstr "نوع صورة غير مدعوم: %s"

View File

@@ -7,16 +7,14 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Joplin-CLI 1.0.0\n" "Project-Id-Version: Joplin-CLI 1.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: bg_BG\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"X-Generator: Poedit 2.2.3\n" "X-Generator: Poedit 2.2.3\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg_BG\n"
msgid "To delete a tag, untag the associated notes." msgid "To delete a tag, untag the associated notes."
msgstr "За да изтриете таг, премахнете го от всички бележки." msgstr "За да изтриете таг, премахнете го от всички бележки."
@@ -689,12 +687,18 @@ msgstr "Курсив"
msgid "Link" msgid "Link"
msgstr "Линк" msgstr "Линк"
msgid "Code"
msgstr "Код"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Постави датата и часа" msgstr "Постави датата и часа"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Редактирай във външен редактор" msgstr "Редактирай във външен редактор"
msgid "Tags"
msgstr "Тагове"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Търсене във всички бележки" msgstr "Търсене във всички бележки"
@@ -1084,9 +1088,6 @@ msgstr "Вкарай линк"
msgid "Attach file" msgid "Attach file"
msgstr "Прикачи файл" msgstr "Прикачи файл"
msgid "Tags"
msgstr "Тагове"
msgid "Set alarm" msgid "Set alarm"
msgstr "Задай аларма" msgstr "Задай аларма"
@@ -1097,9 +1098,6 @@ msgstr "В: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Линк" msgstr "Линк"
msgid "Code"
msgstr "Код"
msgid "Numbered List" msgid "Numbered List"
msgstr "Номериран списък" msgstr "Номериран списък"
@@ -1962,6 +1960,10 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
"Мобилното приложение на Joplin в момента не поддържа този вид линкове: %s" "Мобилното приложение на Joplin в момента не поддържа този вид линкове: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Този тип изображения не се поддържа: %s" msgstr "Този тип изображения не се поддържа: %s"

View File

@@ -697,12 +697,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr "Etiquetes"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Cerca a totes les notes" msgstr "Cerca a totes les notes"
@@ -1093,9 +1099,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "Adjunta un fitxer" msgstr "Adjunta un fitxer"
msgid "Tags"
msgstr "Etiquetes"
msgid "Set alarm" msgid "Set alarm"
msgstr "Estableix una alarma" msgstr "Estableix una alarma"
@@ -1106,9 +1109,6 @@ msgstr "A: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1960,6 +1960,10 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
"L'aplicació mòbil del Joplin, ara per ara, no admet aquest tipus d'enllaç: %s" "L'aplicació mòbil del Joplin, ara per ara, no admet aquest tipus d'enllaç: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Tipus d'imatge no admesa: %s" msgstr "Tipus d'imatge no admesa: %s"

View File

@@ -679,12 +679,18 @@ msgstr "Kurzíva"
msgid "Link" msgid "Link"
msgstr "Odkaz" msgstr "Odkaz"
msgid "Code"
msgstr "Kód"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Vložit datum a čas" msgstr "Vložit datum a čas"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Upravit externím editorem" msgstr "Upravit externím editorem"
msgid "Tags"
msgstr "Tagy"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Hledat ve všech poznámkách" msgstr "Hledat ve všech poznámkách"
@@ -1067,9 +1073,6 @@ msgstr "Vložit odkaz"
msgid "Attach file" msgid "Attach file"
msgstr "Přiložit soubor" msgstr "Přiložit soubor"
msgid "Tags"
msgstr "Tagy"
msgid "Set alarm" msgid "Set alarm"
msgstr "Nastavit alarm" msgstr "Nastavit alarm"
@@ -1080,9 +1083,6 @@ msgstr "%s: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Odkaz" msgstr "Odkaz"
msgid "Code"
msgstr "Kód"
msgid "Numbered List" msgid "Numbered List"
msgstr "Číslovanáý seznam" msgstr "Číslovanáý seznam"
@@ -1935,6 +1935,10 @@ msgstr "Nenalezena položka s ID %s"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "Mobilní aplikace Joplin aktuálně nepodporuje tento typ odkazu:% s" msgstr "Mobilní aplikace Joplin aktuálně nepodporuje tento typ odkazu:% s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Nepodporovaný formát obrázku: %s" msgstr "Nepodporovaný formát obrázku: %s"

View File

@@ -684,12 +684,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr "Mærker"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Søg i alle noter" msgstr "Søg i alle noter"
@@ -1070,9 +1076,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "Vedhæft fil" msgstr "Vedhæft fil"
msgid "Tags"
msgstr "Mærker"
msgid "Set alarm" msgid "Set alarm"
msgstr "Indstil alarm" msgstr "Indstil alarm"
@@ -1083,9 +1086,6 @@ msgstr "%s: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1936,6 +1936,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Ulovlig billedtype: %s" msgstr "Ulovlig billedtype: %s"

View File

@@ -597,7 +597,7 @@ msgstr ""
#, javascript-format #, javascript-format
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..." msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Exportiere „%s“ ins „%s“ Format. Bitte warten..." msgstr "Exportiere „%s“ ins „%s“-Format. Bitte warten..."
msgid "Sidebar" msgid "Sidebar"
msgstr "Seitenleiste" msgstr "Seitenleiste"
@@ -606,14 +606,14 @@ msgid "Note list"
msgstr "Notizen-Liste" msgstr "Notizen-Liste"
msgid "Note title" msgid "Note title"
msgstr "Notiz Titel" msgstr "Notiz-Titel"
msgid "Note body" msgid "Note body"
msgstr "Notiz Text" msgstr "Notiz-Text"
#, javascript-format #, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..." msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "Importiere „%s“ ins „%s“ Format. Bitte warten..." msgstr "Importiere „%s“ als „%s“-Format. Bitte warten..."
msgid "PDF File" msgid "PDF File"
msgstr "PDF-Datei" msgstr "PDF-Datei"
@@ -701,12 +701,18 @@ msgstr "Kursiv"
msgid "Link" msgid "Link"
msgstr "Link" msgstr "Link"
msgid "Code"
msgstr "Code"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Datum / Uhrzeit einfügen" msgstr "Datum / Uhrzeit einfügen"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Im externen Editor bearbeiten" msgstr "Im externen Editor bearbeiten"
msgid "Tags"
msgstr "Schlagwörter"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Alle Notizen durchsuchen" msgstr "Alle Notizen durchsuchen"
@@ -1100,9 +1106,6 @@ msgstr "Weblink einfügen"
msgid "Attach file" msgid "Attach file"
msgstr "Datei anhängen" msgstr "Datei anhängen"
msgid "Tags"
msgstr "Schlagwörter"
msgid "Set alarm" msgid "Set alarm"
msgstr "Alarm erstellen" msgstr "Alarm erstellen"
@@ -1113,9 +1116,6 @@ msgstr "In: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Weblink" msgstr "Weblink"
msgid "Code"
msgstr "Code"
msgid "Numbered List" msgid "Numbered List"
msgstr "Nummerierte Liste" msgstr "Nummerierte Liste"
@@ -1983,6 +1983,10 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
"Die Joplin Handy-Applikation unterstützt derzeit diese Art von Link nicht: %s" "Die Joplin Handy-Applikation unterstützt derzeit diese Art von Link nicht: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Nicht unterstütztes Fotoformat: %s" msgstr "Nicht unterstütztes Fotoformat: %s"

View File

@@ -610,12 +610,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr ""
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "" msgstr ""
@@ -969,9 +975,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "" msgstr ""
msgid "Tags"
msgstr ""
msgid "Set alarm" msgid "Set alarm"
msgstr "" msgstr ""
@@ -982,9 +985,6 @@ msgstr ""
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1785,6 +1785,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "" msgstr ""

View File

@@ -616,12 +616,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr ""
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Search in all notes" msgstr "Search in all notes"
@@ -987,9 +993,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "" msgstr ""
msgid "Tags"
msgstr ""
msgid "Set alarm" msgid "Set alarm"
msgstr "" msgstr ""
@@ -1000,9 +1003,6 @@ msgstr ""
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1817,6 +1817,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "" msgstr ""

View File

@@ -691,12 +691,18 @@ msgstr "Cursiva"
msgid "Link" msgid "Link"
msgstr "Enlace" msgstr "Enlace"
msgid "Code"
msgstr "Código"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Introduce fecha" msgstr "Introduce fecha"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Editar con un editor externo" msgstr "Editar con un editor externo"
msgid "Tags"
msgstr "Etiquetas"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Buscar en todas las notas" msgstr "Buscar en todas las notas"
@@ -1081,9 +1087,6 @@ msgstr "Insertar hipervínculo"
msgid "Attach file" msgid "Attach file"
msgstr "Adjuntar archivo" msgstr "Adjuntar archivo"
msgid "Tags"
msgstr "Etiquetas"
msgid "Set alarm" msgid "Set alarm"
msgstr "Establecer alarma" msgstr "Establecer alarma"
@@ -1094,9 +1097,6 @@ msgstr "En: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Hipervínculo" msgstr "Hipervínculo"
msgid "Code"
msgstr "Código"
msgid "Numbered List" msgid "Numbered List"
msgstr "Lista numerada" msgstr "Lista numerada"
@@ -1959,6 +1959,10 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
"La aplicación móvil de Joplin no soporta actualmente este tipo de enlace: %s" "La aplicación móvil de Joplin no soporta actualmente este tipo de enlace: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Tipo de imagen no soportado: %s" msgstr "Tipo de imagen no soportado: %s"

View File

@@ -692,12 +692,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr "Etiketak"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Bilatu ohar guztietan" msgstr "Bilatu ohar guztietan"
@@ -1079,9 +1085,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "Erantsi fitxategia" msgstr "Erantsi fitxategia"
msgid "Tags"
msgstr "Etiketak"
msgid "Set alarm" msgid "Set alarm"
msgstr "Ezarri alarma" msgstr "Ezarri alarma"
@@ -1092,9 +1095,6 @@ msgstr "%s: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1957,6 +1957,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
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"

View File

@@ -617,12 +617,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "لینک" msgstr "لینک"
msgid "Code"
msgstr "کد"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "وارد کردن تاریخ و ساعت" msgstr "وارد کردن تاریخ و ساعت"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "تنظیم ویرایشگر خارجی" msgstr "تنظیم ویرایشگر خارجی"
msgid "Tags"
msgstr "برچسب‌ها"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "جستجو در تمام یادداشت ها" msgstr "جستجو در تمام یادداشت ها"
@@ -981,9 +987,6 @@ msgstr "وارد کردن لینک"
msgid "Attach file" msgid "Attach file"
msgstr "پیوست فایل" msgstr "پیوست فایل"
msgid "Tags"
msgstr "برچسب‌ها"
msgid "Set alarm" msgid "Set alarm"
msgstr "" msgstr ""
@@ -994,9 +997,6 @@ msgstr "در: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "لینک" msgstr "لینک"
msgid "Code"
msgstr "کد"
#, fuzzy #, fuzzy
msgid "Numbered List" msgid "Numbered List"
msgstr "لیست ترتیبی" msgstr "لیست ترتیبی"
@@ -1808,6 +1808,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "" msgstr ""

View File

@@ -686,12 +686,18 @@ msgstr "Italique"
msgid "Link" msgid "Link"
msgstr "Lien" msgstr "Lien"
msgid "Code"
msgstr "Code"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Insérer la date et l'heure" msgstr "Insérer la date et l'heure"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Ouvrir dans un éditeur externe" msgstr "Ouvrir dans un éditeur externe"
msgid "Tags"
msgstr "Étiquettes"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Chercher dans toutes les notes" msgstr "Chercher dans toutes les notes"
@@ -1084,9 +1090,6 @@ msgstr "Insérer lien"
msgid "Attach file" msgid "Attach file"
msgstr "Attacher un fichier" msgstr "Attacher un fichier"
msgid "Tags"
msgstr "Étiquettes"
msgid "Set alarm" msgid "Set alarm"
msgstr "Régler alarme" msgstr "Régler alarme"
@@ -1097,9 +1100,6 @@ msgstr "Dans : %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Lien" msgstr "Lien"
msgid "Code"
msgstr "Code"
msgid "Numbered List" msgid "Numbered List"
msgstr "Liste numérotée" msgstr "Liste numérotée"
@@ -1439,9 +1439,9 @@ msgid ""
"the attachments are downloaded whether you open the note or not." "the attachments are downloaded whether you open the note or not."
msgstr "" msgstr ""
"En mode \"manuel\", les ressources sont téléchargées uniquement lorsque vous " "En mode \"manuel\", les ressources sont téléchargées uniquement lorsque vous "
"cliquez dessus. En mode \"auto\", elle sont téléchargée lorsque vous ouvrez " "cliquez dessus. En mode \"auto\", elles sont téléchargées lorsque vous "
"la note. En mode \"toujours\", toutes les ressources sont téléchargées, que " "ouvrez la note. En mode \"toujours\", toutes les ressources sont "
"vous ayez ouvert la note ou pas." "téléchargées, que vous ayez ouvert la note ou pas."
msgid "Always" msgid "Always"
msgstr "Toujours" msgstr "Toujours"
@@ -1961,6 +1961,10 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
"L'application mobile Joplin ne gère pas pour l'instant ce type de lien : %s" "L'application mobile Joplin ne gère pas pour l'instant ce type de lien : %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr "Le schéma d'URI \"%s\" n'est pas supporté"
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Type d'image non géré : %s" msgstr "Type d'image non géré : %s"

View File

@@ -684,12 +684,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr "Etiquetas"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Buscar en todas as notas" msgstr "Buscar en todas as notas"
@@ -1069,9 +1075,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "Anexar un ficheiro" msgstr "Anexar un ficheiro"
msgid "Tags"
msgstr "Etiquetas"
msgid "Set alarm" msgid "Set alarm"
msgstr "Estabelecer alarma" msgstr "Estabelecer alarma"
@@ -1082,9 +1085,6 @@ msgstr "%s: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1936,6 +1936,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Tipo de imaxe incompatíbel: %s" msgstr "Tipo de imaxe incompatíbel: %s"

View File

@@ -689,12 +689,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr "Oznake"
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"
@@ -1064,9 +1070,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "Priloži datoteku" msgstr "Priloži datoteku"
msgid "Tags"
msgstr "Oznake"
msgid "Set alarm" msgid "Set alarm"
msgstr "Postavi upozorenje" msgstr "Postavi upozorenje"
@@ -1077,9 +1080,6 @@ msgstr "%s: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1930,6 +1930,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
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"

View File

@@ -692,12 +692,18 @@ msgstr "Corsivo"
msgid "Link" msgid "Link"
msgstr "Link" msgstr "Link"
msgid "Code"
msgstr "Codice"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Inserisci data e ora" msgstr "Inserisci data e ora"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Modifica in un editor esterno" msgstr "Modifica in un editor esterno"
msgid "Tags"
msgstr "Tag"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Cerca in tutte le note" msgstr "Cerca in tutte le note"
@@ -729,7 +735,7 @@ msgid "Make a donation"
msgstr "Fai una donazione" msgstr "Fai una donazione"
msgid "Toggle development tools" msgid "Toggle development tools"
msgstr "" msgstr "Attiva / disattiva strumenti di sviluppo"
#, javascript-format #, javascript-format
msgid "Open %s" msgid "Open %s"
@@ -749,7 +755,7 @@ msgstr "La versione attuale è aggiornata."
#, javascript-format #, javascript-format
msgid "%s (pre-release)" msgid "%s (pre-release)"
msgstr "" msgstr "%s (pre-rilascio)"
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 "È disponibile un aggiornamento, vuoi scaricarlo ora?" msgstr "È disponibile un aggiornamento, vuoi scaricarlo ora?"
@@ -985,9 +991,8 @@ msgstr "Alcuni elementi non possono essere sincronizzati."
msgid "View them now" msgid "View them now"
msgstr "Mostrali ora" msgstr "Mostrali ora"
#, fuzzy
msgid "One or more master keys need a password." msgid "One or more master keys need a password."
msgstr "Inserisci password principale:" msgstr "Una o più chiavi master necessitano di una password."
msgid "Set the password" msgid "Set the password"
msgstr "Imposta la password" msgstr "Imposta la password"
@@ -1084,9 +1089,6 @@ msgstr "Inserire collegamento ipertestuale"
msgid "Attach file" msgid "Attach file"
msgstr "Allega File" msgstr "Allega File"
msgid "Tags"
msgstr "Tag"
msgid "Set alarm" msgid "Set alarm"
msgstr "Imposta Allarme" msgstr "Imposta Allarme"
@@ -1097,9 +1099,6 @@ msgstr "In: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Collegamento ipertestuale" msgstr "Collegamento ipertestuale"
msgid "Code"
msgstr "Codice"
msgid "Numbered List" msgid "Numbered List"
msgstr "Elenco Numerato" msgstr "Elenco Numerato"
@@ -1185,18 +1184,19 @@ msgstr "Taccuini"
msgid "Decrypting items: %d/%d" msgid "Decrypting items: %d/%d"
msgstr "Decrittografia Elementi: %d/%d" msgstr "Decrittografia Elementi: %d/%d"
#, fuzzy, javascript-format #, javascript-format
msgid "Fetching resources: %d/%d" msgid "Fetching resources: %d/%d"
msgstr "Risorse: %d/%d" msgstr "Recupero risorse: %d/%d"
msgid "Please select where the sync status should be exported to" msgid "Please select where the sync status should be exported to"
msgstr "" msgstr ""
"Prego selezionare dove lo stato della sincronizzazione deve essere esportato"
msgid "Retry" msgid "Retry"
msgstr "" msgstr "Riprova"
msgid "Add or remove tags" msgid "Add or remove tags"
msgstr "Aggiungi o rimuovi etichetta" msgstr "Aggiungi o rimuovi etichette"
msgid "Duplicate" msgid "Duplicate"
msgstr "Duplicare" msgstr "Duplicare"
@@ -1229,9 +1229,11 @@ msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ " "Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name." "followed by a notebook name."
msgstr "" msgstr ""
"Scrivi il titolo di una nota per saltare ad essa. Oppure digita # seguito "
"dal nome di una etichetta, oppure @ seguito dal nome di un taccuino."
msgid "Goto Anything..." msgid "Goto Anything..."
msgstr "" msgstr "Vai a..."
#, javascript-format #, javascript-format
msgid "Usage: %s" msgid "Usage: %s"
@@ -1348,6 +1350,8 @@ msgstr "La sincronizzazione è già in corso. Stato: %s"
msgid "" msgid ""
"Unknown item type downloaded - please upgrade Joplin to the latest version" "Unknown item type downloaded - please upgrade Joplin to the latest version"
msgstr "" msgstr ""
"Tipo elemento scaricato sconosciuto - prego aggiornare Joplin all’ultima "
"versione"
msgid "Encrypted" msgid "Encrypted"
msgstr "Crittografato" msgstr "Crittografato"
@@ -1391,6 +1395,9 @@ msgid ""
"to it before syncing, otherwise all files will be removed! See the FAQ for " "to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s" "more details: %s"
msgstr "" msgstr ""
"Attenzione: se si cambia questa posizione, accertarsi di copiare tutto il "
"contenuto prima di sincronizzare, altrimenti tutti i file saranno rimossi! "
"Vedi le FAQ per maggiori dettagli: %s"
msgid "Synchronisation target" msgid "Synchronisation target"
msgstr "Destinazione di sincronizzazione" msgstr "Destinazione di sincronizzazione"
@@ -1424,13 +1431,16 @@ msgid "WebDAV password"
msgstr "Password WebDAV" msgstr "Password WebDAV"
msgid "Attachment download behaviour" msgid "Attachment download behaviour"
msgstr "" msgstr "Comportamento scaricamento allegati"
msgid "" msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. " "In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all " "In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not." "the attachments are downloaded whether you open the note or not."
msgstr "" msgstr ""
"In modalità \"Manuale\", gli allegati sono scaricati solo quando si clicca su "
"di essi. In \"Auto\" sono scaricati quando si apre la nota. In \"Sempre\" tutti "
"gli allegati sono scaricati sia che si apra o no la nota."
msgid "Always" msgid "Always"
msgstr "Sempre" msgstr "Sempre"
@@ -1442,7 +1452,7 @@ msgid "Auto"
msgstr "Auto" msgstr "Auto"
msgid "Max concurrent connections" msgid "Max concurrent connections"
msgstr "" msgstr "Massimo numero di connessioni concorrenti"
msgid "Language" msgid "Language"
msgstr "Linguaggio" msgstr "Linguaggio"
@@ -1499,7 +1509,7 @@ msgid "Enable math expressions"
msgstr "Attiva espressioni matematiche" msgstr "Attiva espressioni matematiche"
msgid "Enable ==mark== syntax" msgid "Enable ==mark== syntax"
msgstr "" msgstr "Attiva sintassi ==mark=="
msgid "Enable footnotes" msgid "Enable footnotes"
msgstr "Attiva note a piè pagina" msgstr "Attiva note a piè pagina"
@@ -1508,10 +1518,10 @@ msgid "Enable table of contents extension"
msgstr "" msgstr ""
msgid "Enable ~sub~ syntax" msgid "Enable ~sub~ syntax"
msgstr "" msgstr "Attiva sintassi ~sub~"
msgid "Enable ^sup^ syntax" msgid "Enable ^sup^ syntax"
msgstr "" msgstr "Attiva sintassi ^sup^"
msgid "Enable deflist syntax" msgid "Enable deflist syntax"
msgstr "" msgstr ""
@@ -1523,7 +1533,7 @@ msgid "Enable markdown emoji"
msgstr "" msgstr ""
msgid "Enable ++insert++ syntax" msgid "Enable ++insert++ syntax"
msgstr "" msgstr "Attiva sintassi ++insert++"
msgid "Enable multimarkdown table extension" msgid "Enable multimarkdown table extension"
msgstr "" msgstr ""
@@ -1544,7 +1554,7 @@ msgstr ""
"costantemente le tue note e quindi ridurre il numero di conflitti." "costantemente le tue note e quindi ridurre il numero di conflitti."
msgid "Start application minimised in the tray icon" msgid "Start application minimised in the tray icon"
msgstr "" msgstr "Avvia applicazione minimizzata nell’icona del vassoio"
msgid "Global zoom percentage" msgid "Global zoom percentage"
msgstr "Percentuale di zoom globale" msgstr "Percentuale di zoom globale"
@@ -1567,11 +1577,11 @@ msgid "Automatically update the application"
msgstr "Aggiorna automaticamente l'applicazione" msgstr "Aggiorna automaticamente l'applicazione"
msgid "Get pre-releases when checking for updates" msgid "Get pre-releases when checking for updates"
msgstr "" msgstr "Ottieni pre-rilasci durante controllo aggiornamenti"
#, javascript-format #, javascript-format
msgid "See the pre-release page for more details: %s" msgid "See the pre-release page for more details: %s"
msgstr "" msgstr "Vedi la pagina di pre-rilascio per maggiori dettagli: %s"
msgid "Synchronisation interval" msgid "Synchronisation interval"
msgstr "Intervallo di sincronizzazione" msgstr "Intervallo di sincronizzazione"
@@ -1631,7 +1641,7 @@ msgid "%d days"
msgstr "%d giorni" msgstr "%d giorni"
msgid "Keep note history for" msgid "Keep note history for"
msgstr "" msgstr "Mantieni cronologia nota per"
#, javascript-format #, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s." msgid "Invalid option value: \"%s\". Possible values are: %s."
@@ -1650,7 +1660,7 @@ msgid "Note"
msgstr "Nota" msgstr "Nota"
msgid "Plugins" msgid "Plugins"
msgstr "" msgstr "Plugins"
msgid "Application" msgid "Application"
msgstr "Applicazione" msgstr "Applicazione"
@@ -1725,15 +1735,17 @@ msgstr "%s (%s) non può essere caricato: %s"
msgid "Item \"%s\" could not be downloaded: %s" msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Elemento \"%s\" non può essere scaricato: %s" msgstr "Elemento \"%s\" non può essere scaricato: %s"
#, fuzzy
msgid "Items that cannot be decrypted" msgid "Items that cannot be decrypted"
msgstr "Elementi che non possono essere sincronizzati" msgstr "Elementi che non possono essere decriptati"
msgid "" msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they " "Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin " "are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them." "will no longer attempt to decrypt them."
msgstr "" msgstr ""
"Joplin ha fallito la decriptazione di questi elementi più volte, forse "
"perché sono corrotti o troppo grandi. Questi elementi rimarranno sul "
"dispositivo, ma Joplin non proverà più a decriptarli."
msgid "Sync status (synced items / total items)" msgid "Sync status (synced items / total items)"
msgstr "Stato di sincronizzazione (Elementi sincronizzati / Elementi totali)" msgstr "Stato di sincronizzazione (Elementi sincronizzati / Elementi totali)"
@@ -1828,6 +1840,9 @@ msgid ""
"Error. Please check that URL, username, password, etc. are correct and that " "Error. Please check that URL, username, password, etc. are correct and that "
"the sync target is accessible. The reported error was:" "the sync target is accessible. The reported error was:"
msgstr "" msgstr ""
"Errore. Prego controllare che URL, nome utente, password, etc. siano corretti "
"e che la destinazione di sincronizzazione sia accessibile. L’errore "
"riportato era:"
msgid "The application has been authorised!" msgid "The application has been authorised!"
msgstr "L'applicazione è stata autorizzata con successo!" msgstr "L'applicazione è stata autorizzata con successo!"
@@ -1840,6 +1855,11 @@ msgid ""
"\n" "\n"
"Please try again." "Please try again."
msgstr "" msgstr ""
"Non è stato possibile autorizzare l’applicazione:\n"
"\n"
"%s\n"
"\n"
"Riprovare prego."
#, javascript-format #, javascript-format
msgid "Decrypted items: %s / %s" msgid "Decrypted items: %s / %s"
@@ -1851,9 +1871,8 @@ msgstr "Nuovi tag:"
msgid "Type new tags or select from list" msgid "Type new tags or select from list"
msgstr "Digita nuovi tag o seleziona dalla lista" msgstr "Digita nuovi tag o seleziona dalla lista"
#, fuzzy
msgid "More information" msgid "More information"
msgstr "Configurazione" msgstr "Maggiori informazioni"
msgid "" msgid ""
"To work correctly, the app needs the following permissions. Please enable " "To work correctly, the app needs the following permissions. Please enable "
@@ -1944,6 +1963,10 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
"L'app mobile Joplin attualmente non supporta questo tipo di collegamento: %s" "L'app mobile Joplin attualmente non supporta questo tipo di collegamento: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr "Collegamenti con protocollo \"%s\" non sono supportati"
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Tipo di immagine non supportata: %s" msgstr "Tipo di immagine non supportata: %s"

View File

@@ -678,12 +678,18 @@ msgstr "斜体"
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr "コード"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "日付の入力" msgstr "日付の入力"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "外部エディターで編集" msgstr "外部エディターで編集"
msgid "Tags"
msgstr "タグ"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "すべてのノートを検索" msgstr "すべてのノートを検索"
@@ -1069,9 +1075,6 @@ msgstr "ハイパーリンクの挿入"
msgid "Attach file" msgid "Attach file"
msgstr "ファイルを添付する" msgstr "ファイルを添付する"
msgid "Tags"
msgstr "タグ"
msgid "Set alarm" msgid "Set alarm"
msgstr "アラームをセット" msgstr "アラームをセット"
@@ -1082,9 +1085,6 @@ msgstr "内: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "ハイパーリンク" msgstr "ハイパーリンク"
msgid "Code"
msgstr "コード"
msgid "Numbered List" msgid "Numbered List"
msgstr "番号つきリスト" msgstr "番号つきリスト"
@@ -1938,6 +1938,10 @@ msgstr "ID %s のアイテムはありません"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "Joplinモバイルアプリは次のタイプのリンクをまだサポートしていません: %s" msgstr "Joplinモバイルアプリは次のタイプのリンクをまだサポートしていません: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "サポートされていない画像の形式: %s" msgstr "サポートされていない画像の形式: %s"

View File

@@ -610,12 +610,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr ""
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "" msgstr ""
@@ -969,9 +975,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "" msgstr ""
msgid "Tags"
msgstr ""
msgid "Set alarm" msgid "Set alarm"
msgstr "" msgstr ""
@@ -982,9 +985,6 @@ msgstr ""
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1785,6 +1785,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "" msgstr ""

View File

@@ -675,12 +675,18 @@ msgstr "기울임"
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr "코드"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "날짜와 시간 입력" msgstr "날짜와 시간 입력"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "외부 편집기에서 편집하기" msgstr "외부 편집기에서 편집하기"
msgid "Tags"
msgstr "태그"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "모든 노트에서 검색" msgstr "모든 노트에서 검색"
@@ -1063,9 +1069,6 @@ msgstr "하이퍼링크 삽입"
msgid "Attach file" msgid "Attach file"
msgstr "파일 첨부" msgstr "파일 첨부"
msgid "Tags"
msgstr "태그"
msgid "Set alarm" msgid "Set alarm"
msgstr "알람 설정" msgstr "알람 설정"
@@ -1076,9 +1079,6 @@ msgstr "내부: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "하이퍼링크" msgstr "하이퍼링크"
msgid "Code"
msgstr "코드"
msgid "Numbered List" msgid "Numbered List"
msgstr "숫자가 매겨진 목록" msgstr "숫자가 매겨진 목록"
@@ -1929,6 +1929,10 @@ msgstr "ID %s에 해당하는 항목이 없습니다"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "조플린 모바일 앱은 현재 해당 형식의 링크를 지원하지 않습니다: %s" msgstr "조플린 모바일 앱은 현재 해당 형식의 링크를 지원하지 않습니다: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "지원하지 않는 이미지 형식: %s" msgstr "지원하지 않는 이미지 형식: %s"

View File

@@ -677,12 +677,18 @@ msgstr "Kursiv"
msgid "Link" msgid "Link"
msgstr "Lenke" msgstr "Lenke"
msgid "Code"
msgstr "Kode"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Sett inn dato/tid" msgstr "Sett inn dato/tid"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Rediger i ekstern editor" msgstr "Rediger i ekstern editor"
msgid "Tags"
msgstr "Merkelapper"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Søk i alle notater" msgstr "Søk i alle notater"
@@ -1066,9 +1072,6 @@ msgstr "Sett inn hyperlenke"
msgid "Attach file" msgid "Attach file"
msgstr "Legg ved fil" msgstr "Legg ved fil"
msgid "Tags"
msgstr "Merkelapper"
msgid "Set alarm" msgid "Set alarm"
msgstr "Angi alarm" msgstr "Angi alarm"
@@ -1079,9 +1082,6 @@ msgstr "I: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Hyperlenke" msgstr "Hyperlenke"
msgid "Code"
msgstr "Kode"
msgid "Numbered List" msgid "Numbered List"
msgstr "Nummerert liste" msgstr "Nummerert liste"
@@ -1934,6 +1934,10 @@ msgstr "Ingen elementer med ID %s"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "Joplins mobilapp støtter for tiden ikke denne type linker: %s" msgstr "Joplins mobilapp støtter for tiden ikke denne type linker: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Bildetypen er ikke støttet: %s" msgstr "Bildetypen er ikke støttet: %s"

View File

@@ -694,12 +694,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr "Tags"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Zoek in alle notities" msgstr "Zoek in alle notities"
@@ -1083,9 +1089,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "Voeg bestand toe" msgstr "Voeg bestand toe"
msgid "Tags"
msgstr "Tags"
msgid "Set alarm" msgid "Set alarm"
msgstr "Zet melding" msgstr "Zet melding"
@@ -1096,9 +1099,6 @@ msgstr "%s: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1960,6 +1960,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
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"

View File

@@ -13,8 +13,10 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.1.1\n" "X-Generator: Poedit 2.2.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
msgid "To delete a tag, untag the associated notes." msgid "To delete a tag, untag the associated notes."
msgstr "" msgstr ""
@@ -127,13 +129,12 @@ msgstr "Markeert een taak als afgerond."
msgid "Note is not a to-do: \"%s\"" msgid "Note is not a to-do: \"%s\""
msgstr "Notitie is geen taak: \"%s\"" msgstr "Notitie is geen taak: \"%s\""
#, fuzzy
msgid "" msgid ""
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, " "Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, "
"`status`, `decrypt-file` and `target-status`." "`status`, `decrypt-file` and `target-status`."
msgstr "" msgstr ""
"Beheert de E2EE-configuratie. Opdrachten zijn: `enable`, `disable`, " "Beheert de E2EE-configuratie. Opdrachten zijn: `enable`, `disable`, "
"`decrypt`, `status` en `target-status`." "`decrypt`, `status`, `decrypt-file` en `target-status`."
msgid "Enter master password:" msgid "Enter master password:"
msgstr "Voer het hoofdwachtwoord in:" msgstr "Voer het hoofdwachtwoord in:"
@@ -260,13 +261,13 @@ msgid "To enter command line mode, press \":\""
msgstr "Druk op \":\" om de opdrachtregelmodus te starten." msgstr "Druk op \":\" om de opdrachtregelmodus te starten."
msgid "To exit command line mode, press ESCAPE" msgid "To exit command line mode, press ESCAPE"
msgstr "Druk op Esc om de opdrachtregelmodus af te sluiten." msgstr "Druk op Esc om de opdrachtregelmodus af te sluiten"
msgid "" msgid ""
"For the list of keyboard shortcuts and config options, type `help keymap`" "For the list of keyboard shortcuts and config options, type `help keymap`"
msgstr "" msgstr ""
"Typ `help keymap` om de lijst met sneltoetsen en configuratie-opties te " "Typ `help keymap` om de lijst met sneltoetsen en configuratie-opties te "
"bekijken." "bekijken"
msgid "Imports data into Joplin." msgid "Imports data into Joplin."
msgstr "Importeert gegeven naar Joplin." msgstr "Importeert gegeven naar Joplin."
@@ -459,21 +460,20 @@ msgid "Starting synchronisation..."
msgstr "Bezig met starten van synchronisatie..." msgstr "Bezig met starten van synchronisatie..."
msgid "Downloading resources..." msgid "Downloading resources..."
msgstr "" msgstr "Resources downloaden…"
msgid "Cancelling... Please wait." msgid "Cancelling... Please wait."
msgstr "Bezig met annuleren... Even geduld." msgstr "Bezig met 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 (use -l for long option)." "`tag list` can be used to list all the tags (use -l for long option)."
msgstr "" msgstr ""
"<tag-command> kan zijn \"add\", \"remove\" of \"list\" om [tag] toe te " "<tag-command> kan \"add\", \"remove\" of \"list\" zijn om [tag] toe te "
"wijzen aan of te verwijderen uit [note] of om de met [tag] geassocieerde " "wijzen aan of te verwijderen uit [note] of om de met [tag] geassocieerde "
"notities op te sommen. De opdracht `tag list` kan worden gebruikt om alle " "notities op te sommen. De opdracht `tag list` kan worden gebruikt om alle "
"labels op te sommen." "labels op te sommen (gebruik “-l” voor “long” optie)."
#, javascript-format #, javascript-format
msgid "Invalid command: \"%s\"" msgid "Invalid command: \"%s\""
@@ -587,18 +587,16 @@ msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Bezig met exporteren van \"%s\" in het formaat \"%s\". Even geduld..." msgstr "Bezig met exporteren van \"%s\" in het formaat \"%s\". Even geduld..."
msgid "Sidebar" msgid "Sidebar"
msgstr "" msgstr "Zijbalk"
msgid "Note list" msgid "Note list"
msgstr "" msgstr "Notitielijst"
#, fuzzy
msgid "Note title" msgid "Note title"
msgstr "Titel van notitieboek:" msgstr "Titel van notitie"
#, fuzzy
msgid "Note body" msgid "Note body"
msgstr "Notitieboeken" msgstr "Inhoud van notitie"
#, javascript-format #, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..." msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
@@ -635,15 +633,14 @@ msgstr "Webclipper-opties"
msgid "%s %s (%s, %s)" msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)" msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File" msgid "&File"
msgstr "Bestand" msgstr "&Bestand"
msgid "About Joplin" msgid "About Joplin"
msgstr "Over Joplin" msgstr "Over Joplin"
msgid "Preferences..." msgid "Preferences..."
msgstr "" msgstr "Voorkeuren…"
msgid "Check for updates..." msgid "Check for updates..."
msgstr "Controleren op updates..." msgstr "Controleren op updates..."
@@ -665,11 +662,10 @@ msgid "Quit"
msgstr "Afsluiten" msgstr "Afsluiten"
msgid "Close Window" msgid "Close Window"
msgstr "" msgstr "Venster afsluiten"
#, fuzzy
msgid "&Edit" msgid "&Edit"
msgstr "Bewerken" msgstr "Be&werken"
msgid "Copy" msgid "Copy"
msgstr "Kopiëren" msgstr "Kopiëren"
@@ -680,9 +676,8 @@ msgstr "Knippen"
msgid "Paste" msgid "Paste"
msgstr "Plakken" msgstr "Plakken"
#, fuzzy
msgid "Select all" msgid "Select all"
msgstr "Datum kiezen" msgstr "Alles selecteren"
msgid "Bold" msgid "Bold"
msgstr "Vetgedrukt" msgstr "Vetgedrukt"
@@ -691,7 +686,10 @@ msgid "Italic"
msgstr "Cursief" msgstr "Cursief"
msgid "Link" msgid "Link"
msgstr "" msgstr "Koppeling"
msgid "Code"
msgstr "Code"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Datum en tijd invoegen" msgstr "Datum en tijd invoegen"
@@ -699,16 +697,17 @@ msgstr "Datum en tijd invoegen"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Bewerken in externe bewerker" msgstr "Bewerken in externe bewerker"
msgid "Tags"
msgstr "Labels"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Alle notities doorzoeken" msgstr "Alle notities doorzoeken"
#, fuzzy
msgid "Search in current note" msgid "Search in current note"
msgstr "Alle notities doorzoeken" msgstr "Huidige notitie doorzoeken"
#, fuzzy
msgid "&View" msgid "&View"
msgstr "Beeld" msgstr "Beel&d"
msgid "Toggle sidebar" msgid "Toggle sidebar"
msgstr "Zijbalk tonen/verbergen" msgstr "Zijbalk tonen/verbergen"
@@ -716,17 +715,14 @@ msgstr "Zijbalk tonen/verbergen"
msgid "Toggle editor layout" msgid "Toggle editor layout"
msgstr "Bewerkindeling tonen/verbergen" msgstr "Bewerkindeling tonen/verbergen"
#, fuzzy
msgid "Focus" msgid "Focus"
msgstr "Inhoud focussen" msgstr "Focus"
#, fuzzy
msgid "&Tools" msgid "&Tools"
msgstr "Hulpmiddelen" msgstr "E&xtra"
#, fuzzy
msgid "&Help" msgid "&Help"
msgstr "Hulp" msgstr "&Help"
msgid "Website and documentation" msgid "Website and documentation"
msgstr "Website en documentatie" msgstr "Website en documentatie"
@@ -735,7 +731,7 @@ msgid "Make a donation"
msgstr "Doneren" msgstr "Doneren"
msgid "Toggle development tools" msgid "Toggle development tools"
msgstr "" msgstr "Wissel ontwikkelhulpmiddelen"
#, javascript-format #, javascript-format
msgid "Open %s" msgid "Open %s"
@@ -755,18 +751,18 @@ msgstr "De huidige versie is up-to-date."
#, javascript-format #, javascript-format
msgid "%s (pre-release)" msgid "%s (pre-release)"
msgstr "" msgstr "%s (pre-release)"
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 "Er is een update beschikbaar. Wil je deze nu downloaden?" msgstr "Er is een update beschikbaar. Wil je deze nu downloaden?"
#, javascript-format #, javascript-format
msgid "Your version: %s" msgid "Your version: %s"
msgstr "" msgstr "Jouw versie: %s"
#, javascript-format #, javascript-format
msgid "New version: %s" msgid "New version: %s"
msgstr "" msgstr "Nieuwe versie: %s"
msgid "Yes" msgid "Yes"
msgstr "Ja" msgstr "Ja"
@@ -775,7 +771,7 @@ msgid "No"
msgstr "Nee" msgstr "Nee"
msgid "Token has been copied to the clipboard!" msgid "Token has been copied to the clipboard!"
msgstr "" msgstr "Token is naar het klembord gekopieerd!"
msgid "The web clipper service is enabled and set to auto-start." msgid "The web clipper service is enabled and set to auto-start."
msgstr "De webclipper-dienst is ingeschakeld en wordt automatisch opgestart." msgstr "De webclipper-dienst is ingeschakeld en wordt automatisch opgestart."
@@ -826,20 +822,21 @@ msgstr "Stap 2: Installeer de extensie"
msgid "Download and install the relevant extension for your browser:" msgid "Download and install the relevant extension for your browser:"
msgstr "Download en installeer de bijbehorende extensie in je browser:" msgstr "Download en installeer de bijbehorende extensie in je browser:"
#, fuzzy
msgid "Advanced options" msgid "Advanced options"
msgstr "Geavanceerde opties tonen" msgstr "Geavanceerde opties"
msgid "Authorisation token:" msgid "Authorisation token:"
msgstr "" msgstr "Autorisatie-token:"
msgid "Copy token" msgid "Copy token"
msgstr "" msgstr "Kopieer token"
msgid "" msgid ""
"This authorisation token is only needed to allow third-party applications to " "This authorisation token is only needed to allow third-party applications to "
"access Joplin." "access Joplin."
msgstr "" msgstr ""
"Dit autorisatie-token is alleen nodig om applicaties van derden toegang te "
"geven tot Joplin."
#, javascript-format #, javascript-format
msgid "Notes and settings are stored in: %s" msgid "Notes and settings are stored in: %s"
@@ -849,7 +846,7 @@ msgid "Check synchronisation configuration"
msgstr "Synchronisatieconfiguratie controleren" msgstr "Synchronisatieconfiguratie controleren"
msgid "Browse..." msgid "Browse..."
msgstr "" msgstr "Bladeren…"
msgid "Apply" msgid "Apply"
msgstr "Toepassen" msgstr "Toepassen"
@@ -945,9 +942,8 @@ msgstr "Status"
msgid "Encryption is:" msgid "Encryption is:"
msgstr "Gebruikte versleuteling:" msgstr "Gebruikte versleuteling:"
#, fuzzy
msgid "Usage" msgid "Usage"
msgstr "Gebruik: %s" msgstr "Gebruik"
msgid "Back" msgid "Back"
msgstr "Terug" msgstr "Terug"
@@ -992,9 +988,8 @@ msgstr "Sommige items kunnen niet worden gesynchroniseerd."
msgid "View them now" msgid "View them now"
msgstr "Items tonen" msgstr "Items tonen"
#, fuzzy
msgid "One or more master keys need a password." msgid "One or more master keys need a password."
msgstr "Voer het hoofdwachtwoord in:" msgstr "Een of meer hoofdsleutels vereist een wachtwoord."
msgid "Set the password" msgid "Set the password"
msgstr "Wachtwoord instellen" msgstr "Wachtwoord instellen"
@@ -1011,37 +1006,38 @@ msgstr ""
"\"Nieuw notitieboek\"." "\"Nieuw notitieboek\"."
msgid "Location" msgid "Location"
msgstr "" msgstr "Locatie"
msgid "URL" msgid "URL"
msgstr "" msgstr "URL"
#, fuzzy
msgid "Note History" msgid "Note History"
msgstr "Notitieboeken" msgstr "Notitiegeschiedenis"
msgid "Previous versions of this note" msgid "Previous versions of this note"
msgstr "" msgstr "Vorige versies van deze notitie"
msgid "Note properties" msgid "Note properties"
msgstr "" msgstr "Eigenschappen van notitie"
#, javascript-format #, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"." msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr "" msgstr "De notitie “%s” is succesvol hersteld naar notitieboek “%s”."
#, fuzzy
msgid "This note has no history" msgid "This note has no history"
msgstr "Deze notitie is bewerkt:" msgstr "Deze notitie heeft geen geschiedenis"
msgid "Restore" msgid "Restore"
msgstr "" msgstr "Herstel"
#, javascript-format #, javascript-format
msgid "" msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named " "Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified." "\"%s\". The current version of the note will not be replaced or modified."
msgstr "" msgstr ""
"Klik “%s” om de notitie te herstellen. Het wordt gekopieerd naar het "
"notitieboek genaamd “%s”. De huidige versie van de notitie wordt niet "
"vervangen of aangepast."
msgid "Open..." msgid "Open..."
msgstr "Openen..." msgstr "Openen..."
@@ -1060,7 +1056,7 @@ msgid "Copy Link Address"
msgstr "Linkadres kopiëren" msgstr "Linkadres kopiëren"
msgid "This attachment is not downloaded or not decrypted yet." msgid "This attachment is not downloaded or not decrypted yet."
msgstr "" msgstr "Deze bijlage is niet gedownload of nog niet ontsleuteld."
#, javascript-format #, javascript-format
msgid "Unsupported link or message: %s" msgid "Unsupported link or message: %s"
@@ -1076,6 +1072,8 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time." msgid "Only one note can be printed or exported to PDF at a time."
msgstr "" msgstr ""
"Slechts één notitie kan gelijktijdig worden afgedrukt of geëxporteerd naar "
"PDF."
msgid "strong text" msgid "strong text"
msgstr "vetgedrukte tekst" msgstr "vetgedrukte tekst"
@@ -1092,9 +1090,6 @@ msgstr "Hyperlink invoegen"
msgid "Attach file" msgid "Attach file"
msgstr "Bestand bijvoegen" msgstr "Bestand bijvoegen"
msgid "Tags"
msgstr "Labels"
msgid "Set alarm" msgid "Set alarm"
msgstr "Alarm instellen" msgstr "Alarm instellen"
@@ -1105,9 +1100,6 @@ msgstr "In: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Hyperlink" msgstr "Hyperlink"
msgid "Code"
msgstr "Code"
msgid "Numbered List" msgid "Numbered List"
msgstr "Genummerde lijst" msgstr "Genummerde lijst"
@@ -1163,21 +1155,23 @@ msgstr "Versleutelopties"
msgid "Clipper Options" msgid "Clipper Options"
msgstr "Webclipperopties" msgstr "Webclipperopties"
#, fuzzy, javascript-format #, javascript-format
msgid "" msgid ""
"Delete notebook \"%s\"?\n" "Delete notebook \"%s\"?\n"
"\n" "\n"
"All notes and sub-notebooks within this notebook will also be deleted." "All notes and sub-notebooks within this notebook will also be deleted."
msgstr "" msgstr ""
"Notitieboek verwijderen? Alle notities en sub-notitieboeken worden eveneens " "Notitieboek “%s” verwijderen?\n"
"\n"
"Alle notities en sub-notitieboeken in dit notitieboek worden eveneens "
"verwijderd." "verwijderd."
#, fuzzy, javascript-format #, javascript-format
msgid "Remove tag \"%s\" from all notes?" msgid "Remove tag \"%s\" from all notes?"
msgstr "Wil je dit label verwijderen van alle notities?" msgstr "Label “%s” verwijderen van alle notities?"
msgid "Remove this search from the sidebar?" msgid "Remove this search from the sidebar?"
msgstr "Wil je deze zoekopdracht verwijderen uit de zijbalk?" msgstr "Deze zoekopdracht verwijderen uit de zijbalk?"
msgid "Delete" msgid "Delete"
msgstr "Verwijderen" msgstr "Verwijderen"
@@ -1192,15 +1186,15 @@ msgstr "Notitieboeken"
msgid "Decrypting items: %d/%d" msgid "Decrypting items: %d/%d"
msgstr "Bezig met ontsleutelen van items: %d/%d" msgstr "Bezig met ontsleutelen van items: %d/%d"
#, fuzzy, javascript-format #, javascript-format
msgid "Fetching resources: %d/%d" msgid "Fetching resources: %d/%d"
msgstr "Bronnen: %d/%d" msgstr "Bronnen ophalen: %d/%d"
msgid "Please select where the sync status should be exported to" msgid "Please select where the sync status should be exported to"
msgstr "Kies waar de synchronisatiestatus naar moet worden geëxporteerd" msgstr "Kies waar de synchronisatiestatus naar moet worden geëxporteerd"
msgid "Retry" msgid "Retry"
msgstr "" msgstr "Opnieuw proberen"
msgid "Add or remove tags" msgid "Add or remove tags"
msgstr "Labels toevoegen of verwijderen" msgstr "Labels toevoegen of verwijderen"
@@ -1215,32 +1209,32 @@ msgstr "%s - kopiëren"
msgid "Switch between note and to-do type" msgid "Switch between note and to-do type"
msgstr "Schakelen tussen notitie en taak" msgstr "Schakelen tussen notitie en taak"
#, fuzzy
msgid "Switch to note type" msgid "Switch to note type"
msgstr "Schakelen tussen notitie en taak" msgstr "Overschakelen naar notitie-type"
#, fuzzy
msgid "Switch to to-do type" msgid "Switch to to-do type"
msgstr "Schakelen tussen notitie en taak" msgstr "Overschakelen naar todo-type"
msgid "Copy Markdown link" msgid "Copy Markdown link"
msgstr "Markdownlink kopiëren" msgstr "Markdownlink kopiëren"
#, fuzzy, javascript-format #, javascript-format
msgid "Delete note \"%s\"?" msgid "Delete note \"%s\"?"
msgstr "Notities verwijderen?" msgstr "Notitie “%s” verwijderen?"
#, fuzzy, javascript-format #, javascript-format
msgid "Delete these %d notes?" msgid "Delete these %d notes?"
msgstr "Deze notities verwijderen?" msgstr "Deze %d notities verwijderen?"
msgid "" msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ " "Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name." "followed by a notebook name."
msgstr "" msgstr ""
"Typ de titel van een notitie om er naartoe te springen. Of typ # gevolgd "
"door de naam van een label, of @ gevolgd door de naam van een notitieboek."
msgid "Goto Anything..." msgid "Goto Anything..."
msgstr "" msgstr "Ga naar alles…"
#, javascript-format #, javascript-format
msgid "Usage: %s" msgid "Usage: %s"
@@ -1357,6 +1351,7 @@ msgstr "De synchronisatie loopt al. Status: %s"
msgid "" msgid ""
"Unknown item type downloaded - please upgrade Joplin to the latest version" "Unknown item type downloaded - please upgrade Joplin to the latest version"
msgstr "" msgstr ""
"Onbekend type item gedownload - graag Joplin upgraden naar de laatste versie"
msgid "Encrypted" msgid "Encrypted"
msgstr "Versleuteld" msgstr "Versleuteld"
@@ -1400,6 +1395,9 @@ msgid ""
"to it before syncing, otherwise all files will be removed! See the FAQ for " "to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s" "more details: %s"
msgstr "" msgstr ""
"Let op: Als je deze locatie wijzigt, zorg dan dat je eerst alle inhoud hier "
"naartoe kopieert voor synchronisatie. Anders worden alle bestanden "
"verwijderd! Zie de FAQ voor meer details: %s"
msgid "Synchronisation target" msgid "Synchronisation target"
msgstr "Synchronisatiedoel" msgstr "Synchronisatiedoel"
@@ -1434,25 +1432,29 @@ msgid "WebDAV password"
msgstr "WebDAV-wachtwoord" msgstr "WebDAV-wachtwoord"
msgid "Attachment download behaviour" msgid "Attachment download behaviour"
msgstr "" msgstr "Gedrag bijlagen downloaden"
msgid "" msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. " "In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all " "In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not." "the attachments are downloaded whether you open the note or not."
msgstr "" msgstr ""
"In de mode “Handmatig” worden bijlagen alleen gedownload als je hen "
"aanklikt. In “Auto” worden ze gedownload zodra je de notitie opent. In "
"“Altijd” worden bijlagen altijd gedownload, of je de notitie nu opent of "
"niet."
msgid "Always" msgid "Always"
msgstr "" msgstr "Altijd"
msgid "Manual" msgid "Manual"
msgstr "" msgstr "Handmatig"
msgid "Auto" msgid "Auto"
msgstr "" msgstr "Auto"
msgid "Max concurrent connections" msgid "Max concurrent connections"
msgstr "" msgstr "Max gelijktijdige verbindingen"
msgid "Language" msgid "Language"
msgstr "Taal" msgstr "Taal"
@@ -1484,9 +1486,8 @@ msgstr "Notities sorteren op"
msgid "Reverse sort order" msgid "Reverse sort order"
msgstr "Sorteervolgorde omdraaien" msgstr "Sorteervolgorde omdraaien"
#, fuzzy
msgid "Sort notebooks by" msgid "Sort notebooks by"
msgstr "Notities sorteren op" msgstr "Notitieboeken sorteren op"
msgid "Save geo-location with notes" msgid "Save geo-location with notes"
msgstr "Locatie opslaan in notities" msgstr "Locatie opslaan in notities"
@@ -1504,41 +1505,40 @@ msgid "When creating a new note:"
msgstr "Bij het creëren van een nieuwe notitie:" msgstr "Bij het creëren van een nieuwe notitie:"
msgid "Enable soft breaks" msgid "Enable soft breaks"
msgstr "" msgstr "Inschakelen zacht afbreken"
#, fuzzy
msgid "Enable math expressions" msgid "Enable math expressions"
msgstr "Versleuteling inschakelen" msgstr "Inschakelen wiskundige expressies"
msgid "Enable ==mark== syntax" msgid "Enable ==mark== syntax"
msgstr "" msgstr "Inschakelen ==mark== syntaxis"
msgid "Enable footnotes" msgid "Enable footnotes"
msgstr "" msgstr "Inschakelen voetnoten"
msgid "Enable table of contents extension" msgid "Enable table of contents extension"
msgstr "" msgstr "Inschakelen inhoudsopgave"
msgid "Enable ~sub~ syntax" msgid "Enable ~sub~ syntax"
msgstr "" msgstr "Inschakelen ~sub~ syntaxis"
msgid "Enable ^sup^ syntax" msgid "Enable ^sup^ syntax"
msgstr "" msgstr "Inschakelen ^sup^ syntaxis"
msgid "Enable deflist syntax" msgid "Enable deflist syntax"
msgstr "" msgstr "Inschakelen deflist syntaxis"
msgid "Enable abbreviation syntax" msgid "Enable abbreviation syntax"
msgstr "" msgstr "Inschakelen afkortingen syntaxis"
msgid "Enable markdown emoji" msgid "Enable markdown emoji"
msgstr "" msgstr "Inschakelen markdown emoji"
msgid "Enable ++insert++ syntax" msgid "Enable ++insert++ syntax"
msgstr "" msgstr "Inschakelen ++insert++ syntaxis"
msgid "Enable multimarkdown table extension" msgid "Enable multimarkdown table extension"
msgstr "" msgstr "Inschakelen multimarkdown tabel extensie"
msgid "Show tray icon" msgid "Show tray icon"
msgstr "Systeemvakpictogram tonen" msgstr "Systeemvakpictogram tonen"
@@ -1551,16 +1551,18 @@ msgid ""
"this setting so that your notes are constantly being synchronised, thus " "this setting so that your notes are constantly being synchronised, thus "
"reducing the number of conflicts." "reducing the number of conflicts."
msgstr "" msgstr ""
"Dit zal Joplin toestaan in de achtergrond te werken. Het is aanbevolen deze "
"instelling in te schakelen, zodat je notities constant worden "
"gesynchroniseerd, waardoor het aantal conflicten wordt beperkt."
msgid "Start application minimised in the tray icon" msgid "Start application minimised in the tray icon"
msgstr "" msgstr "Start applicatie geminimaliseerd in het systeemvak"
msgid "Global zoom percentage" msgid "Global zoom percentage"
msgstr "Globaal zoompercentage" msgstr "Globaal zoompercentage"
#, fuzzy
msgid "Editor font size" msgid "Editor font size"
msgstr "Lettertype van bewerker" msgstr "Lettergrootte van bewerker"
msgid "Editor font family" msgid "Editor font family"
msgstr "Lettertype van bewerker" msgstr "Lettertype van bewerker"
@@ -1577,11 +1579,11 @@ msgid "Automatically update the application"
msgstr "Applicatie automatisch bijwerken" msgstr "Applicatie automatisch bijwerken"
msgid "Get pre-releases when checking for updates" msgid "Get pre-releases when checking for updates"
msgstr "" msgstr "Verkrijg pre-releases bij controleren op updates"
#, javascript-format #, javascript-format
msgid "See the pre-release page for more details: %s" msgid "See the pre-release page for more details: %s"
msgstr "" msgstr "Zie de pre-release pagina voor meer details: %s"
msgid "Synchronisation interval" msgid "Synchronisation interval"
msgstr "Synchronisatietussenpoos" msgstr "Synchronisatietussenpoos"
@@ -1630,49 +1632,44 @@ msgstr ""
msgid "Ignore TLS certificate errors" msgid "Ignore TLS certificate errors"
msgstr "TLS-certificaatfouten negeren" msgstr "TLS-certificaatfouten negeren"
#, fuzzy
msgid "Enable note history" msgid "Enable note history"
msgstr "Versleuteling inschakelen" msgstr "Inschakelen geschiedenis van notities"
msgid "days" msgid "days"
msgstr "" msgstr "dagen"
#, javascript-format #, javascript-format
msgid "%d days" msgid "%d days"
msgstr "" msgstr "%d dagen"
msgid "Keep note history for" msgid "Keep note history for"
msgstr "" msgstr "Bewaar geschiedenis van notities voor"
#, 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."
#, fuzzy
msgid "General" msgid "General"
msgstr "Algemene opties" msgstr "Algemeen"
#, fuzzy
msgid "Synchronisation" msgid "Synchronisation"
msgstr "Synchronisatiestatus" msgstr "Synchronisatie"
msgid "Appearance" msgid "Appearance"
msgstr "" msgstr "Verschijningsvorm"
#, fuzzy
msgid "Note" msgid "Note"
msgstr "Notitieboeken" msgstr "Notitie"
msgid "Plugins" msgid "Plugins"
msgstr "" msgstr "Plugins"
#, fuzzy
msgid "Application" msgid "Application"
msgstr "Sluit de applicatie af." msgstr "Applicatie"
#, javascript-format #, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name." msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr "" msgstr "Het label “%s” bestaat al. Kies een andere naam."
msgid "Joplin Export File" msgid "Joplin Export File"
msgstr "Joplin-exportbestand" msgstr "Joplin-exportbestand"
@@ -1686,9 +1683,8 @@ msgstr "Joplin-exportmap"
msgid "Evernote Export File" msgid "Evernote Export File"
msgstr "Evernote-exportbestand" msgstr "Evernote-exportbestand"
#, fuzzy
msgid "Json Export Directory" msgid "Json Export Directory"
msgstr "Joplin-exportmap" msgstr "JSON-exportmap"
msgid "File" msgid "File"
msgstr "Bestand" msgstr "Bestand"
@@ -1720,7 +1716,7 @@ msgstr ""
"Geef het notitieboek op waar de notities naar moeten worden geïmporteerd." "Geef het notitieboek op waar de notities naar moeten worden geïmporteerd."
msgid "Restored Notes" msgid "Restored Notes"
msgstr "" msgstr "Herstelde notities"
msgid "Items that cannot be synchronised" msgid "Items that cannot be synchronised"
msgstr "Items die niet kunnen worden gesynchroniseerd" msgstr "Items die niet kunnen worden gesynchroniseerd"
@@ -1734,23 +1730,25 @@ msgstr ""
"synchronisatiedoel. Als je deze items wilt vinden, moet je zoeken naar de " "synchronisatiedoel. Als je deze items wilt vinden, moet je zoeken naar de "
"titel of ID ervan (welke hierboven tussen haakjes wordt getoond)." "titel of ID ervan (welke hierboven tussen haakjes wordt getoond)."
#, fuzzy, javascript-format #, javascript-format
msgid "%s (%s) could not be uploaded: %s" msgid "%s (%s) could not be uploaded: %s"
msgstr "Dit bestand kan niet worden geopend: %s" msgstr "%s (%s) kon niet worden geupload: %s"
#, fuzzy, javascript-format #, javascript-format
msgid "Item \"%s\" could not be downloaded: %s" msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Dit bestand kan niet worden geopend: %s" msgstr "Item “%s” kan niet worden gedownload: %s"
#, fuzzy
msgid "Items that cannot be decrypted" msgid "Items that cannot be decrypted"
msgstr "Items die niet kunnen worden gesynchroniseerd" msgstr "Items die niet kunnen worden ontsleuteld"
msgid "" msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they " "Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin " "are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them." "will no longer attempt to decrypt them."
msgstr "" msgstr ""
"Joplin kon deze items meermaals niet ontsleutelen, mogelijk omdat ze "
"beschadigd of te groot zijn. Deze items blijven op het apparaat, maar Joplin "
"zal niet langer proberen ze te ontsleutelen."
msgid "Sync status (synced items / total items)" msgid "Sync status (synced items / total items)"
msgstr "" msgstr ""
@@ -1787,10 +1785,10 @@ msgid "On %s: %s"
msgstr "Op %s: %s" msgstr "Op %s: %s"
msgid "Permission to use camera" msgid "Permission to use camera"
msgstr "" msgstr "Toestemming om de camera te gebruiken"
msgid "Your permission to use your camera is required." msgid "Your permission to use your camera is required."
msgstr "" msgstr "Je toestemming om de camera te gebruiken is vereist."
msgid "There are currently no notes. Create one by clicking on the (+) button." msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "" msgstr ""
@@ -1822,12 +1820,11 @@ msgstr "%d notities verplaatsen naar notitieboek \"%s\"?"
msgid "Press to set the decryption password." msgid "Press to set the decryption password."
msgstr "Druk om het ontsleutelwachtwoord in te stellen." msgstr "Druk om het ontsleutelwachtwoord in te stellen."
#, fuzzy
msgid "Clear alarm" msgid "Clear alarm"
msgstr "Alarm instellen" msgstr "Alarm wissen"
msgid "Save alarm" msgid "Save alarm"
msgstr "Alarm opslaam" msgstr "Alarm opslaan"
msgid "Select date" msgid "Select date"
msgstr "Datum kiezen" msgstr "Datum kiezen"
@@ -1838,22 +1835,21 @@ msgstr "Bevestigen"
msgid "Cancel synchronisation" msgid "Cancel synchronisation"
msgstr "Synchronisatie annuleren" msgstr "Synchronisatie annuleren"
#, fuzzy
msgid "Checking... Please wait." msgid "Checking... Please wait."
msgstr "Bezig met annuleren... Even geduld." msgstr "Controleren Even geduld."
#, fuzzy
msgid "Success! Synchronisation configuration appears to be correct." msgid "Success! Synchronisation configuration appears to be correct."
msgstr "Synchronisatieconfiguratie controleren" msgstr "Succes! Configuratie van synchronisatie lijkt correct te zijn."
msgid "" msgid ""
"Error. Please check that URL, username, password, etc. are correct and that " "Error. Please check that URL, username, password, etc. are correct and that "
"the sync target is accessible. The reported error was:" "the sync target is accessible. The reported error was:"
msgstr "" msgstr ""
"Fout. Controleer of de URL, gebruikersnaam, wachtwoord, etc. kloppen en dat "
"het synchronisatiedoel toegankelijk is. De gemelde fout :"
#, fuzzy
msgid "The application has been authorised!" msgid "The application has been authorised!"
msgstr "De applicatie is geautoriseerd." msgstr "De applicatie is geautoriseerd!"
#, javascript-format #, javascript-format
msgid "" msgid ""
@@ -1863,10 +1859,15 @@ msgid ""
"\n" "\n"
"Please try again." "Please try again."
msgstr "" msgstr ""
"Kon applicatie niet autoriseren:\n"
"\n"
"%s\n"
"\n"
"Probeer opnieuw."
#, fuzzy, javascript-format #, javascript-format
msgid "Decrypted items: %s / %s" msgid "Decrypted items: %s / %s"
msgstr "Bezig met ontsleutelen van items: %d/%d" msgstr "Ontsleutelde items: %s / %s"
msgid "New tags:" msgid "New tags:"
msgstr "Nieuwe labels:" msgstr "Nieuwe labels:"
@@ -1874,9 +1875,8 @@ msgstr "Nieuwe labels:"
msgid "Type new tags or select from list" msgid "Type new tags or select from list"
msgstr "Typ nieuwe labels of kies ze uit de lijst" msgstr "Typ nieuwe labels of kies ze uit de lijst"
#, fuzzy
msgid "More information" msgid "More information"
msgstr "Configuratie" msgstr "Meer informatie"
msgid "" msgid ""
"To work correctly, the app needs the following permissions. Please enable " "To work correctly, the app needs the following permissions. Please enable "
@@ -1904,17 +1904,17 @@ msgstr "Joplin-website"
#, javascript-format #, javascript-format
msgid "Database v%s" msgid "Database v%s"
msgstr "" msgstr "Database v%s"
#, fuzzy, javascript-format #, javascript-format
msgid "FTS enabled: %d" msgid "FTS enabled: %d"
msgstr "Te verwijderen: %d" msgstr "FTS ingeschakeld: %d"
msgid "Login with Dropbox" msgid "Login with Dropbox"
msgstr "Inloggen met Dropbox" msgstr "Inloggen met Dropbox"
msgid "Enter code here" msgid "Enter code here"
msgstr "" msgstr "Code hier invoeren"
#, javascript-format #, javascript-format
msgid "Master Key %s" msgid "Master Key %s"
@@ -1963,13 +1963,16 @@ msgstr "Geen item met ID %s"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "De mobiele Joplin-app ondersteunt momenteel niet dit soort links: %s" msgstr "De mobiele Joplin-app ondersteunt momenteel niet dit soort links: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr "Links met protocol “%s” worden niet ondersteund"
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Niet-ondersteunde afbeeldingssoort: %s" msgstr "Niet-ondersteunde afbeeldingssoort: %s"
#, fuzzy
msgid "Take photo" msgid "Take photo"
msgstr "Foto bijvoegen" msgstr "Foto maken"
msgid "Attach photo" msgid "Attach photo"
msgstr "Foto bijvoegen" msgstr "Foto bijvoegen"
@@ -1996,7 +1999,7 @@ msgid "View on map"
msgstr "Tonen op kaart" msgstr "Tonen op kaart"
msgid "Go to source URL" msgid "Go to source URL"
msgstr "" msgstr "Ga naar bron-URL"
msgid "Edit" msgid "Edit"
msgstr "Bewerken" msgstr "Bewerken"

View File

@@ -696,12 +696,18 @@ msgstr "Kursywa"
msgid "Link" msgid "Link"
msgstr "Odnośnik" msgstr "Odnośnik"
msgid "Code"
msgstr "Kod"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Wstaw stempel czasowy" msgstr "Wstaw stempel czasowy"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Edytuj w edytorze zewnętrznym" msgstr "Edytuj w edytorze zewnętrznym"
msgid "Tags"
msgstr "Znaczniki"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Wyszukaj we wszystkich notatkach" msgstr "Wyszukaj we wszystkich notatkach"
@@ -1088,9 +1094,6 @@ msgstr "Wstaw Hyperlink"
msgid "Attach file" msgid "Attach file"
msgstr "Załącz plik" msgstr "Załącz plik"
msgid "Tags"
msgstr "Znaczniki"
msgid "Set alarm" msgid "Set alarm"
msgstr "Ustaw powiadomienie" msgstr "Ustaw powiadomienie"
@@ -1101,9 +1104,6 @@ msgstr "W: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Hyperlink" msgstr "Hyperlink"
msgid "Code"
msgstr "Kod"
msgid "Numbered List" msgid "Numbered List"
msgstr "Lista numerowana" msgstr "Lista numerowana"
@@ -1970,6 +1970,10 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
"Aplikacja mobilna Joplin nie wspiera aktualnie odnośników tego typu: %s" "Aplikacja mobilna Joplin nie wspiera aktualnie odnośników tego typu: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Niewspierany typ obrazu: %s" msgstr "Niewspierany typ obrazu: %s"

View File

@@ -684,12 +684,18 @@ msgstr "Itálico"
msgid "Link" msgid "Link"
msgstr "Link" msgstr "Link"
msgid "Code"
msgstr "Código"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Inserir Data e Hora" msgstr "Inserir Data e Hora"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Editar com editor externo" msgstr "Editar com editor externo"
msgid "Tags"
msgstr "Tags"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Pesquisar em todas as notas" msgstr "Pesquisar em todas as notas"
@@ -1072,9 +1078,6 @@ msgstr "Inserir Hiperlink"
msgid "Attach file" msgid "Attach file"
msgstr "Anexar arquivo" msgstr "Anexar arquivo"
msgid "Tags"
msgstr "Tags"
msgid "Set alarm" msgid "Set alarm"
msgstr "Definir alarme" msgstr "Definir alarme"
@@ -1085,9 +1088,6 @@ msgstr "Em: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Hiperlink" msgstr "Hiperlink"
msgid "Code"
msgstr "Código"
msgid "Numbered List" msgid "Numbered List"
msgstr "Lista numerada" msgstr "Lista numerada"
@@ -1947,6 +1947,10 @@ msgstr "Nenhum item com ID %s"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "O app mobile do Joplin não suporta, atualmente, esse tipo de link: %s" msgstr "O app mobile do Joplin não suporta, atualmente, esse tipo de link: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Tipo de imagem não suportada: %s" msgstr "Tipo de imagem não suportada: %s"

View File

@@ -628,12 +628,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr "Cod"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Editați într-un editor extern" msgstr "Editați într-un editor extern"
msgid "Tags"
msgstr "Etichete"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Căutați în toate notițele" msgstr "Căutați în toate notițele"
@@ -995,9 +1001,6 @@ msgstr "Introduceți hyperlink"
msgid "Attach file" msgid "Attach file"
msgstr "Atașați fișier" msgstr "Atașați fișier"
msgid "Tags"
msgstr "Etichete"
msgid "Set alarm" msgid "Set alarm"
msgstr "Setați alarma" msgstr "Setați alarma"
@@ -1008,9 +1011,6 @@ msgstr "În: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Hyperlink" msgstr "Hyperlink"
msgid "Code"
msgstr "Cod"
msgid "Numbered List" msgid "Numbered List"
msgstr "Listă numerotată" msgstr "Listă numerotată"
@@ -1826,6 +1826,10 @@ msgstr "Niciun item cu ID-ul %s"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "" msgstr ""

View File

@@ -690,12 +690,18 @@ msgstr "Наклонный"
msgid "Link" msgid "Link"
msgstr "Ссылка" msgstr "Ссылка"
msgid "Code"
msgstr "Код"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Вставить дату и время" msgstr "Вставить дату и время"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Редактировать во внешнем редакторе" msgstr "Редактировать во внешнем редакторе"
msgid "Tags"
msgstr "Метки"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Поиск во всех заметках" msgstr "Поиск во всех заметках"
@@ -1080,9 +1086,6 @@ msgstr "Вставить гиперссылку"
msgid "Attach file" msgid "Attach file"
msgstr "Прикрепить файл" msgstr "Прикрепить файл"
msgid "Tags"
msgstr "Метки"
msgid "Set alarm" msgid "Set alarm"
msgstr "Установить напоминание" msgstr "Установить напоминание"
@@ -1093,9 +1096,6 @@ msgstr "В: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Гиперссылка" msgstr "Гиперссылка"
msgid "Code"
msgstr "Код"
msgid "Numbered List" msgid "Numbered List"
msgstr "Нумерованный список" msgstr "Нумерованный список"
@@ -1953,6 +1953,10 @@ msgstr ""
"Мобильное приложение Joplin в настоящее время не поддерживает этот тип " "Мобильное приложение Joplin в настоящее время не поддерживает этот тип "
"ссылки: %s" "ссылки: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Неподдерживаемый формат изображения: %s" msgstr "Неподдерживаемый формат изображения: %s"

View File

@@ -690,12 +690,18 @@ msgstr ""
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "" msgstr ""
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "" msgstr ""
msgid "Tags"
msgstr "Oznake"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Išči znotraj vseh zabeležk" msgstr "Išči znotraj vseh zabeležk"
@@ -1083,9 +1089,6 @@ msgstr ""
msgid "Attach file" msgid "Attach file"
msgstr "Pripni datoteko" msgstr "Pripni datoteko"
msgid "Tags"
msgstr "Oznake"
msgid "Set alarm" msgid "Set alarm"
msgstr "Nastavi alarm" msgstr "Nastavi alarm"
@@ -1096,9 +1099,6 @@ msgstr "%s: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "" msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List" msgid "Numbered List"
msgstr "" msgstr ""
@@ -1951,6 +1951,10 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Nepodprt tip slike: %s" msgstr "Nepodprt tip slike: %s"

View File

@@ -693,12 +693,18 @@ msgstr "Kursiv"
msgid "Link" msgid "Link"
msgstr "Länk" msgstr "Länk"
msgid "Code"
msgstr "Kod"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Infoga datumtid" msgstr "Infoga datumtid"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Redigera i extern redigerare" msgstr "Redigera i extern redigerare"
msgid "Tags"
msgstr "Taggar"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Sök i alla anteckningarna" msgstr "Sök i alla anteckningarna"
@@ -1088,9 +1094,6 @@ msgstr "Infoga hyperlänk"
msgid "Attach file" msgid "Attach file"
msgstr "Bifoga fil" msgstr "Bifoga fil"
msgid "Tags"
msgstr "Taggar"
msgid "Set alarm" msgid "Set alarm"
msgstr "Sätt alarm" msgstr "Sätt alarm"
@@ -1101,9 +1104,6 @@ msgstr "I: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Hyperlänk" msgstr "Hyperlänk"
msgid "Code"
msgstr "Kod"
msgid "Numbered List" msgid "Numbered List"
msgstr "Numrerad lista" msgstr "Numrerad lista"
@@ -1965,6 +1965,10 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
"Den mobila appen Joplin stöder för närvarande inte denna typ av länk: %s" "Den mobila appen Joplin stöder för närvarande inte denna typ av länk: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Bildstorlek som inte stöds: %s" msgstr "Bildstorlek som inte stöds: %s"

View File

@@ -660,12 +660,18 @@ msgstr "İtalik"
msgid "Link" msgid "Link"
msgstr "Bağlantı" msgstr "Bağlantı"
msgid "Code"
msgstr "Kod"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "Tarih Ekle" msgstr "Tarih Ekle"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "Başka editörde düzenle" msgstr "Başka editörde düzenle"
msgid "Tags"
msgstr "Etiketler"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "Tüm notlarda ara" msgstr "Tüm notlarda ara"
@@ -1058,9 +1064,6 @@ msgstr "Köprü ekle"
msgid "Attach file" msgid "Attach file"
msgstr "Dosya ekle" msgstr "Dosya ekle"
msgid "Tags"
msgstr "Etiketler"
msgid "Set alarm" msgid "Set alarm"
msgstr "Alarm kur" msgstr "Alarm kur"
@@ -1071,9 +1074,6 @@ msgstr "İçinde: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "Köprü" msgstr "Köprü"
msgid "Code"
msgstr "Kod"
msgid "Numbered List" msgid "Numbered List"
msgstr "Numaralı liste" msgstr "Numaralı liste"
@@ -1926,6 +1926,10 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "" msgstr ""
"Joplin mobil uygulaması şu anda bu tür bir bağlantıyı desteklemiyor: %s" "Joplin mobil uygulaması şu anda bu tür bir bağlantıyı desteklemiyor: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "Desteklenmeyen resim türü: %s" msgstr "Desteklenmeyen resim türü: %s"

View File

@@ -14,6 +14,8 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.1\n" "X-Generator: Poedit 2.2.1\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
msgid "To delete a tag, untag the associated notes." msgid "To delete a tag, untag the associated notes."
msgstr "移除相关笔记的标签后才可删除此标签。" msgstr "移除相关笔记的标签后才可删除此标签。"
@@ -22,7 +24,7 @@ msgid "Please select the note or notebook to be deleted first."
msgstr "请先选择需要删除的笔记或笔记本。" msgstr "请先选择需要删除的笔记或笔记本。"
msgid "Press Ctrl+D or type \"exit\" to exit the application" msgid "Press Ctrl+D or type \"exit\" to exit the application"
msgstr "按 Ctrl+D 或输入 \"exit\" 退出程序" msgstr "按 Ctrl+D 或输入exit退出程序"
#, javascript-format #, javascript-format
msgid "More than one item match \"%s\". Please narrow down your query." msgid "More than one item match \"%s\". Please narrow down your query."
@@ -55,7 +57,7 @@ msgstr "不存在该命令:%s"
#, javascript-format #, javascript-format
msgid "The command \"%s\" is only available in GUI mode" msgid "The command \"%s\" is only available in GUI mode"
msgstr "命令 \"%s\" 仅在GUI模式下可用" msgstr "命令“%s”仅在 GUI 模式下可用"
msgid "Cannot change encrypted item" msgid "Cannot change encrypted item"
msgstr "无法更改加密项目" msgstr "无法更改加密项目"
@@ -80,7 +82,7 @@ msgstr "将选定文件添加到笔记中。"
#, javascript-format #, javascript-format
msgid "Cannot find \"%s\"." msgid "Cannot find \"%s\"."
msgstr "无法找到 \"%s\"。" msgstr "无法找到“%s”。"
msgid "Displays the given note." msgid "Displays the given note."
msgstr "显示选定笔记。" msgstr "显示选定笔记。"
@@ -119,7 +121,7 @@ msgstr "标记待办事项为完成。"
#, javascript-format #, javascript-format
msgid "Note is not a to-do: \"%s\"" msgid "Note is not a to-do: \"%s\""
msgstr "笔记非待办事项:\"%s\"" msgstr "笔记非待办事项:“%s”"
msgid "" msgid ""
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, " "Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, "
@@ -237,7 +239,7 @@ msgid ""
msgstr "通过方向键与 page up/down 键来滚动列表与文本区域(包含此控制台)。" msgstr "通过方向键与 page up/down 键来滚动列表与文本区域(包含此控制台)。"
msgid "To maximise/minimise the console, press \"tc\"." msgid "To maximise/minimise the console, press \"tc\"."
msgstr "按 \"TC\" 最大化/最小化控制台。" msgstr "按“TC”最大化/最小化控制台。"
msgid "To enter command line mode, press \":\"" msgid "To enter command line mode, press \":\""
msgstr "按“:”键进入命令行模式" msgstr "按“:”键进入命令行模式"
@@ -314,7 +316,7 @@ msgstr ""
"待办事项。" "待办事项。"
msgid "Either \"text\" or \"json\"" msgid "Either \"text\" or \"json\""
msgstr "\"text\" 或 \"json\"" msgstr "text”或“json"
msgid "" msgid ""
"Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, " "Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, "
@@ -418,8 +420,8 @@ msgid ""
"taking place, you may delete the lock file at \"%s\" and resume the " "taking place, you may delete the lock file at \"%s\" and resume the "
"operation." "operation."
msgstr "" msgstr ""
"锁定文件已被保存。如果您确认当前未在进行任何同步,可删除锁定文件 \"%s\" 后继" "锁定文件已被保存。如果您确认当前未在进行任何同步,可删除锁定文件“%s”后继续上"
"续上一部操作。" "一部操作。"
#, javascript-format #, javascript-format
msgid "Synchronisation target: %s (%s)" msgid "Synchronisation target: %s (%s)"
@@ -442,13 +444,13 @@ msgid ""
"[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 (use -l for long option)." "`tag list` can be used to list all the tags (use -l for long option)."
msgstr "" msgstr ""
"<tag-command> 可以是 \"add\"、\"remove\" 或者 \"list\", 用于从 [note] 中赋值" "<tag-command> 可以是“add”、“remove”或者“list, 用于从 [note] 中赋值或删除 "
"或删除 [tag],或者列出与 [tag] 相关的笔记。`tag list` 命令可以用于列出所有的" "[tag],或者列出与 [tag] 相关的笔记。`tag list` 命令可以用于列出所有的标签(对"
"标签(对于过长选项请使用 -l 参数)。" "于过长选项请使用 -l 参数)。"
#, javascript-format #, javascript-format
msgid "Invalid command: \"%s\"" msgid "Invalid command: \"%s\""
msgstr "无效命令:\"%s\"" msgstr "无效命令:“%s”"
msgid "" msgid ""
"<todo-command> can either be \"toggle\" or \"clear\". Use \"toggle\" to " "<todo-command> can either be \"toggle\" or \"clear\". Use \"toggle\" to "
@@ -456,9 +458,9 @@ msgid ""
"target is a regular note it will be converted to a to-do). Use \"clear\" to " "target is a regular note it will be converted to a to-do). Use \"clear\" to "
"convert the to-do back to a regular note." "convert the to-do back to a regular note."
msgstr "" msgstr ""
"<todo-command> 可以是 \"toggle\" 或者 \"clear\"。使用 \"toggle\" 命令来切换待" "<todo-command> 可以是toggle”或者“clear。使用toggle命令来切换待办事项的完"
"办事项的完成状态(若目标为普通笔记则将会转换成待办事项)。使用 \"clear\" 命令" "成状态(若目标为普通笔记则将会转换成待办事项)。使用clear”命令来把待办事项转"
"来把待办事项转换到普通笔记。" "换到普通笔记。"
msgid "Marks a to-do as non-completed." msgid "Marks a to-do as non-completed."
msgstr "标记待办事项为未完成。" msgstr "标记待办事项为未完成。"
@@ -513,9 +515,9 @@ msgid ""
"any files outside this directory nor to any other personal data. No data " "any files outside this directory nor to any other personal data. No data "
"will be shared with any third party." "will be shared with any third party."
msgstr "" msgstr ""
"请在浏览器中打开以下链接激活该应用程序。该应用会建立 \"Apps/Joplin\" 文件目" "请在浏览器中打开以下链接激活该应用程序。该应用会建立Apps/Joplin”文件目录,并"
"录,并只会读写该目录中的文件。它没有任何权限访问此目录以外的任何文件或个人信" "只会读写该目录中的文件。它没有任何权限访问此目录以外的任何文件或个人信息。也"
"息。也不会与第三方分享任何数据。" "不会与第三方分享任何数据。"
msgid "Search:" msgid "Search:"
msgstr "搜索:" msgstr "搜索:"
@@ -545,7 +547,7 @@ msgstr ""
#, javascript-format #, javascript-format
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..." msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "从 \"%s\" 导出,导出格式为 \"%s\"。请稍等…" msgstr "从“%s”导出,导出格式为“%s”。请稍等…"
msgid "Sidebar" msgid "Sidebar"
msgstr "边栏" msgstr "边栏"
@@ -561,7 +563,7 @@ msgstr "笔记正文"
#, javascript-format #, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..." msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "从 \"%s\" 导入,导入格式为 \"%s\" 。请稍等…" msgstr "从“%s”导入,导入格式为“%s”。请稍等…"
msgid "PDF File" msgid "PDF File"
msgstr "PDF 文件" msgstr "PDF 文件"
@@ -649,12 +651,18 @@ msgstr "斜体"
msgid "Link" msgid "Link"
msgstr "链接" msgstr "链接"
msgid "Code"
msgstr "代码"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "插入时间" msgstr "插入时间"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "在外部编辑器中打开" msgstr "在外部编辑器中打开"
msgid "Tags"
msgstr "标签"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "在所有笔记内搜索" msgstr "在所有笔记内搜索"
@@ -686,7 +694,7 @@ msgid "Make a donation"
msgstr "捐赠" msgstr "捐赠"
msgid "Toggle development tools" msgid "Toggle development tools"
msgstr "" msgstr "切换开发者工具"
#, javascript-format #, javascript-format
msgid "Open %s" msgid "Open %s"
@@ -893,7 +901,7 @@ msgstr "返回"
#, javascript-format #, javascript-format
msgid "" msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it" "New notebook \"%s\" will be created and file \"%s\" will be imported into it"
msgstr "将新建的笔记本“%s”,并将文件 \"%s\" 导入其中" msgstr "将新建的笔记本“%s”,并将文件“%s”导入其中"
msgid "Please create a notebook first." msgid "Please create a notebook first."
msgstr "请先创建笔记本。" msgstr "请先创建笔记本。"
@@ -928,19 +936,18 @@ msgstr "一些项目无法被同步。"
msgid "View them now" msgid "View them now"
msgstr "立刻查看" msgstr "立刻查看"
#, fuzzy
msgid "One or more master keys need a password." msgid "One or more master keys need a password."
msgstr "输入主密码:" msgstr "一个或多个主密钥需要密码。"
msgid "Set the password" msgid "Set the password"
msgstr "设置密码" msgstr "设置密码"
msgid "No notes in here. Create one by clicking on \"New note\"." msgid "No notes in here. Create one by clicking on \"New note\"."
msgstr "此处没有任何笔记。点击\"新建笔记\"创建。" msgstr "此处没有任何笔记。点击新建笔记创建。"
msgid "" 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" msgid "Location"
msgstr "位置" msgstr "位置"
@@ -959,7 +966,7 @@ msgstr "笔记属性"
#, javascript-format #, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"." msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr "笔记\"%s\"已成功恢复到笔记本\"%s\"中。" msgstr "笔记“%s”已成功恢复到笔记本“%s”中。"
msgid "This note has no history" msgid "This note has no history"
msgstr "此笔记没有历史记录" msgstr "此笔记没有历史记录"
@@ -972,8 +979,8 @@ msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named " "Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified." "\"%s\". The current version of the note will not be replaced or modified."
msgstr "" msgstr ""
"单击 \"%s\" 以恢复笔记。它将会被复制到名为 \"%s\" 的笔记本中。笔记的当前版本" "单击“%s”以恢复笔记。它将会被复制到名为“%s”的笔记本中。笔记的当前版本不会被替"
"不会被替换或修改。" "换或修改。"
msgid "Open..." msgid "Open..."
msgstr "打开…" msgstr "打开…"
@@ -1022,9 +1029,6 @@ msgstr "插入超链接"
msgid "Attach file" msgid "Attach file"
msgstr "附加文件" msgstr "附加文件"
msgid "Tags"
msgstr "标签"
msgid "Set alarm" msgid "Set alarm"
msgstr "设置提醒" msgstr "设置提醒"
@@ -1035,9 +1039,6 @@ msgstr "在: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "超链接" msgstr "超链接"
msgid "Code"
msgstr "代码"
msgid "Numbered List" msgid "Numbered List"
msgstr "有序列表" msgstr "有序列表"
@@ -1131,7 +1132,7 @@ msgid "Please select where the sync status should be exported to"
msgstr "请选择同步状态的导出位置" msgstr "请选择同步状态的导出位置"
msgid "Retry" msgid "Retry"
msgstr "" msgstr "重试"
msgid "Add or remove tags" msgid "Add or remove tags"
msgstr "添加或删除标签" msgstr "添加或删除标签"
@@ -1306,7 +1307,7 @@ 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 "笔记本无法被命名为 \"%s\",这个标题被留作他用。" msgstr "笔记本无法被命名为“%s”,这个标题被留作他用。"
msgid "created date" msgid "created date"
msgstr "创建日期" msgstr "创建日期"
@@ -1362,25 +1363,27 @@ msgid "WebDAV password"
msgstr "WebDAV 密码" msgstr "WebDAV 密码"
msgid "Attachment download behaviour" msgid "Attachment download behaviour"
msgstr "" msgstr "附件下载行为"
msgid "" msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. " "In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all " "In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not." "the attachments are downloaded whether you open the note or not."
msgstr "" msgstr ""
"在“手动”模式下,只有单击附件时才会下载它们。在“自动”中,当你打开笔记时,它们"
"就会被下载下来。在“总是”中,无论你是否打开笔记,所有的附件都会被下载。"
msgid "Always" msgid "Always"
msgstr "" msgstr "总是"
msgid "Manual" msgid "Manual"
msgstr "" msgstr "手动"
msgid "Auto" msgid "Auto"
msgstr "" msgstr "自动"
msgid "Max concurrent connections" msgid "Max concurrent connections"
msgstr "" msgstr "最大并发连接数"
msgid "Language" msgid "Language"
msgstr "语言" msgstr "语言"
@@ -1564,11 +1567,11 @@ msgid "%d days"
msgstr "" msgstr ""
msgid "Keep note history for" msgid "Keep note history for"
msgstr "" msgstr "保留笔记历史记录"
#, javascript-format #, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s." msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "无效的选项值:\"%s\"。可用值有:%s。" msgstr "无效的选项值:“%s”。可用值有:%s。"
msgid "General" msgid "General"
msgstr "通用选项" msgstr "通用选项"
@@ -1590,7 +1593,7 @@ msgstr "应用程序"
#, javascript-format #, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name." msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr "标签 \"%s\" 已存在。请选择一个不同的名称。" msgstr "标签“%s”已存在。请选择一个不同的名称。"
msgid "Joplin Export File" msgid "Joplin Export File"
msgstr "Joplin 导出文件" msgstr "Joplin 导出文件"
@@ -1615,7 +1618,7 @@ msgstr "文件目录"
#, javascript-format #, javascript-format
msgid "Cannot load \"%s\" module for format \"%s\"" msgid "Cannot load \"%s\" module for format \"%s\""
msgstr "无法加载 \"%s\" 模块用于读取 \"%s\" 格式" msgstr "无法加载“%s”模块用于读取“%s”格式"
#, javascript-format #, javascript-format
msgid "Please specify import format for %s" msgid "Please specify import format for %s"
@@ -1625,7 +1628,7 @@ msgstr "请指定 %s 的导入格式"
msgid "" msgid ""
"This item is currently encrypted: %s \"%s\". Please wait for all items to be " "This item is currently encrypted: %s \"%s\". Please wait for all items to be "
"decrypted and try again." "decrypted and try again."
msgstr "该项目当前已加密:%s \"%s\"。请等待所有项目解密后再重试。" msgstr "该项目当前已加密:%s“%s”。请等待所有项目解密后再重试。"
msgid "There is no data to export." msgid "There is no data to export."
msgstr "没有可导出的数据。" msgstr "没有可导出的数据。"
@@ -1653,17 +1656,18 @@ msgstr "%s (%s) 无法上传到:%s"
#, javascript-format #, javascript-format
msgid "Item \"%s\" could not be downloaded: %s" msgid "Item \"%s\" could not be downloaded: %s"
msgstr "项目 \"%s\" 无法从 %s 中下载" msgstr "项目“%s”无法从 %s 中下载"
#, fuzzy
msgid "Items that cannot be decrypted" msgid "Items that cannot be decrypted"
msgstr "无法同步项目" msgstr "无法解密的项目"
msgid "" msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they " "Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin " "are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them." "will no longer attempt to decrypt them."
msgstr "" msgstr ""
"Joplin 多次解密这些项目均已失败,可能是它们太大或已经损坏导致的。这些项目会保"
"留再设备上,但 Joplin 不会再尝试对它们进行解密。"
msgid "Sync status (synced items / total items)" msgid "Sync status (synced items / total items)"
msgstr "同步状态(已同步项目/项目总数)" msgstr "同步状态(已同步项目/项目总数)"
@@ -1787,9 +1791,8 @@ msgstr "新建标签:"
msgid "Type new tags or select from list" msgid "Type new tags or select from list"
msgstr "输入新的标签或从列表中选择" msgstr "输入新的标签或从列表中选择"
#, fuzzy
msgid "More information" msgid "More information"
msgstr "配置" msgstr "更多信息"
msgid "" msgid ""
"To work correctly, the app needs the following permissions. Please enable " "To work correctly, the app needs the following permissions. Please enable "
@@ -1873,6 +1876,10 @@ msgstr "没有 ID 为 %s 的项"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "Joplin 手机应用目前不支持这种类型的链接:%s" msgstr "Joplin 手机应用目前不支持这种类型的链接:%s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr "不支持“%s”协议链接"
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "不支持的图片格式:%s" msgstr "不支持的图片格式:%s"

View File

@@ -656,12 +656,18 @@ msgstr "斜體"
msgid "Link" msgid "Link"
msgstr "" msgstr ""
msgid "Code"
msgstr "引言"
msgid "Insert Date Time" msgid "Insert Date Time"
msgstr "插入日期時間" msgstr "插入日期時間"
msgid "Edit in external editor" msgid "Edit in external editor"
msgstr "使用外部編輯器編輯" msgstr "使用外部編輯器編輯"
msgid "Tags"
msgstr "標籤"
msgid "Search in all the notes" msgid "Search in all the notes"
msgstr "在所有記事中搜尋" msgstr "在所有記事中搜尋"
@@ -1036,9 +1042,6 @@ msgstr "插入超連結"
msgid "Attach file" msgid "Attach file"
msgstr "附加檔案" msgstr "附加檔案"
msgid "Tags"
msgstr "標籤"
msgid "Set alarm" msgid "Set alarm"
msgstr "設置提醒" msgstr "設置提醒"
@@ -1049,9 +1052,6 @@ msgstr "在: %s"
msgid "Hyperlink" msgid "Hyperlink"
msgstr "超連結" msgstr "超連結"
msgid "Code"
msgstr "引言"
msgid "Numbered List" msgid "Numbered List"
msgstr "編號清單" msgstr "編號清單"
@@ -1887,6 +1887,10 @@ msgstr "沒有 ID 為 %s 的項目"
msgid "The Joplin mobile app does not currently support this type of link: %s" msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "Joplin 移動應用程式暫時不支援此類型的連結: %s" msgstr "Joplin 移動應用程式暫時不支援此類型的連結: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format #, javascript-format
msgid "Unsupported image type: %s" msgid "Unsupported image type: %s"
msgstr "不支援的圖像類型: %s" msgstr "不支援的圖像類型: %s"

View File

@@ -29,16 +29,16 @@
}, },
"dependencies": { "dependencies": {
"acorn": { "acorn": {
"version": "6.1.1", "version": "6.2.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz",
"integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw=="
} }
} }
}, },
"acorn-walk": { "acorn-walk": {
"version": "6.1.1", "version": "6.2.0",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
"integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==" "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA=="
}, },
"ajv": { "ajv": {
"version": "5.5.2", "version": "5.5.2",
@@ -165,6 +165,11 @@
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
}, },
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
},
"aws-sign2": { "aws-sign2": {
"version": "0.7.0", "version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
@@ -453,17 +458,35 @@
} }
} }
}, },
"css": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
"integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
"requires": {
"inherits": "^2.0.3",
"source-map": "^0.6.1",
"source-map-resolve": "^0.5.2",
"urix": "^0.1.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
"cssom": { "cssom": {
"version": "0.3.6", "version": "0.3.8",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
"integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==" "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
}, },
"cssstyle": { "cssstyle": {
"version": "1.2.2", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.2.tgz", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.3.0.tgz",
"integrity": "sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==", "integrity": "sha512-wXsoRfsRfsLVNaVzoKdqvEmK/5PFaEXNspVT22Ots6K/cnJdpoDKuQFw+qlMiXnmaif1OgeC466X1zISgAOcGg==",
"requires": { "requires": {
"cssom": "0.3.x" "cssom": "~0.3.6"
} }
}, },
"cwise-compiler": { "cwise-compiler": {
@@ -517,6 +540,11 @@
"ms": "2.0.0" "ms": "2.0.0"
} }
}, },
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
},
"decompress-response": { "decompress-response": {
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
@@ -1437,10 +1465,11 @@
"dev": true "dev": true
}, },
"joplin-turndown": { "joplin-turndown": {
"version": "4.0.12", "version": "4.0.17",
"resolved": "https://registry.npmjs.org/joplin-turndown/-/joplin-turndown-4.0.12.tgz", "resolved": "https://registry.npmjs.org/joplin-turndown/-/joplin-turndown-4.0.17.tgz",
"integrity": "sha512-HlxkcIiNFSMLBvYktoXqLLHFGuwQYlcPclo0Peeatw3cPe6iFqSsEgEGY/0bYM/fubA/zpPULrJcjST99BO9wQ==", "integrity": "sha512-57mw92ZOKoR77YBLUkauN1xNq1xlxOm2KaPty/jlYrkEyGotUBBvq46a6wXh6d3aM4CccGuwymSge18/9IoB3A==",
"requires": { "requires": {
"css": "^2.2.4",
"html-entities": "^1.2.1", "html-entities": "^1.2.1",
"jsdom": "^11.9.0" "jsdom": "^11.9.0"
} }
@@ -1500,9 +1529,9 @@
}, },
"dependencies": { "dependencies": {
"ajv": { "ajv": {
"version": "6.10.0", "version": "6.10.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz",
"integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", "integrity": "sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==",
"requires": { "requires": {
"fast-deep-equal": "^2.0.1", "fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0", "fast-json-stable-stringify": "^2.0.0",
@@ -1614,9 +1643,9 @@
} }
}, },
"safe-buffer": { "safe-buffer": {
"version": "5.1.2", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
}, },
"uuid": { "uuid": {
"version": "3.3.2", "version": "3.3.2",
@@ -2420,9 +2449,9 @@
}, },
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "4.17.11", "version": "4.17.14",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw=="
} }
} }
}, },
@@ -2441,6 +2470,11 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
}, },
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
},
"retry": { "retry": {
"version": "0.10.1", "version": "0.10.1",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
@@ -2598,6 +2632,23 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
}, },
"source-map-resolve": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
"integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
"requires": {
"atob": "^2.1.1",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
"urix": "^0.1.0"
}
},
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
},
"split-skip": { "split-skip": {
"version": "0.0.2", "version": "0.0.2",
"resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.2.tgz", "resolved": "https://registry.npmjs.org/split-skip/-/split-skip-0.0.2.tgz",
@@ -3114,6 +3165,11 @@
} }
} }
}, },
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
},
"url-parse": { "url-parse": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz",

View File

@@ -43,7 +43,7 @@
"html-minifier": "^3.5.15", "html-minifier": "^3.5.15",
"image-data-uri": "^2.0.0", "image-data-uri": "^2.0.0",
"image-type": "^3.0.0", "image-type": "^3.0.0",
"joplin-turndown": "^4.0.12", "joplin-turndown": "^4.0.17",
"joplin-turndown-plugin-gfm": "^1.0.8", "joplin-turndown-plugin-gfm": "^1.0.8",
"jssha": "^2.3.0", "jssha": "^2.3.0",
"levenshtein": "^1.0.5", "levenshtein": "^1.0.5",

View File

@@ -35,7 +35,7 @@ describe('EnexToMd', function() {
const htmlPath = basePath + '/' + htmlFilename; const htmlPath = basePath + '/' + htmlFilename;
const mdPath = basePath + '/' + filename(htmlFilename) + '.md'; const mdPath = basePath + '/' + filename(htmlFilename) + '.md';
// if (htmlFilename !== 'list5.html') continue; // if (htmlFilename !== 'multiline_inner_text.html') continue;
const html = await shim.fsDriver().readFile(htmlPath); const html = await shim.fsDriver().readFile(htmlPath);
let expectedMd = await shim.fsDriver().readFile(mdPath); let expectedMd = await shim.fsDriver().readFile(mdPath);

View File

@@ -37,7 +37,7 @@ describe('HtmlToMd', function() {
const htmlPath = basePath + '/' + htmlFilename; const htmlPath = basePath + '/' + htmlFilename;
const mdPath = basePath + '/' + filename(htmlFilename) + '.md'; const mdPath = basePath + '/' + filename(htmlFilename) + '.md';
// if (htmlFilename !== 'anchor_local.html') continue; // if (htmlFilename !== 'mathjax_block.html') continue;
const htmlToMdOptions = {} const htmlToMdOptions = {}

View File

@@ -0,0 +1,7 @@
<div>Sometimes Evernote
wraps lines inside blocks</div>
<div>Sometimes it doesn't wrap them</div>
<pre>But
careful
with
pre tags</pre>

View File

@@ -0,0 +1,6 @@
Sometimes Evernote wraps lines inside blocks
Sometimes it doesn't wrap them
But
careful
with
pre tags

View File

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

View File

@@ -0,0 +1,2 @@
<pre style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace;"><strong><font color="#008080">thatsCode();</font></strong></pre>
<pre>thatsJustPre(); // In that case we do not have enough info to know if it is a codeblock or not, so we leave it as plain text</pre>

View File

@@ -0,0 +1,5 @@
```
thatsCode();
```
thatsJustPre(); // In that case we do not have enough info to know if it is a codeblock or not, so we leave it as plain text

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,5 @@
_Block formulas_ are surrounded by double dollar signs. For example, `$$x = \frac{-b \pm \sqrt{b^2 - 4ac} }{2a}$$` renders, _on a separate line_, as
$$
x = \frac{-b \pm \sqrt{b^2 - 4ac} }{2a}.
$$

View File

@@ -0,0 +1 @@
<p><em>Inline formulas</em> are surrounded by single dollar signs. For example, <code>$f(x) = ax^2 + bx + c$</code> renders as <span class="MathJax_Preview" style="color: inherit;"></span><span class="MathJax" id="MathJax-Element-2-Frame" tabindex="0" style="position: relative;" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mi>f</mi><mo stretchy=&quot;false&quot;>(</mo><mi>x</mi><mo stretchy=&quot;false&quot;>)</mo><mo>=</mo><mi>a</mi><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mi>b</mi><mi>x</mi><mo>+</mo><mi>c</mi></math>" role="presentation"><nobr aria-hidden="true"><span class="math" id="MathJax-Span-26" style="width: 9.372em; display: inline-block;"><span style="display: inline-block; position: relative; width: 8.408em; height: 0px; font-size: 111%;"><span style="position: absolute; clip: rect(1.562em, 1008.39em, 2.95em, -1000em); top: -2.583em; left: 0em;"><span class="mrow" id="MathJax-Span-27"><span class="mi" id="MathJax-Span-28" style="font-family: STIXGeneral; font-style: italic;">𝑓<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.06em;"></span></span><span class="mo" id="MathJax-Span-29" style="font-family: STIXGeneral;">(</span><span class="mi" id="MathJax-Span-30" style="font-family: STIXGeneral; font-style: italic;">𝑥</span><span class="mo" id="MathJax-Span-31" style="font-family: STIXGeneral;">)</span><span class="mo" id="MathJax-Span-32" style="font-family: STIXGeneral; padding-left: 0.313em;">=</span><span class="mi" id="MathJax-Span-33" style="font-family: STIXGeneral; font-style: italic; padding-left: 0.313em;">𝑎</span><span class="msubsup" id="MathJax-Span-34"><span style="display: inline-block; position: relative; width: 0.979em; height: 0px;"><span style="position: absolute; clip: rect(3.403em, 1000.51em, 4.213em, -1000em); top: -4.024em; left: 0em;"><span class="mi" id="MathJax-Span-35" style="font-family: STIXGeneral; font-style: italic;">𝑥</span><span style="display: inline-block; width: 0px; height: 4.024em;"></span></span><span style="position: absolute; top: -4.387em; left: 0.55em;"><span class="mn" id="MathJax-Span-36" style="font-size: 70.7%; font-family: STIXGeneral;">2</span><span style="display: inline-block; width: 0px; height: 4.024em;"></span></span></span></span><span class="mo" id="MathJax-Span-37" style="font-family: STIXGeneral; padding-left: 0.25em;">+</span><span class="mi" id="MathJax-Span-38" style="font-family: STIXGeneral; font-style: italic; padding-left: 0.25em;">𝑏</span><span class="mi" id="MathJax-Span-39" style="font-family: STIXGeneral; font-style: italic;">𝑥</span><span class="mo" id="MathJax-Span-40" style="font-family: STIXGeneral; padding-left: 0.25em;">+</span><span class="mi" id="MathJax-Span-41" style="font-family: STIXGeneral; font-style: italic; padding-left: 0.25em;">𝑐</span></span><span style="display: inline-block; width: 0px; height: 2.583em;"></span></span></span><span style="display: inline-block; overflow: hidden; vertical-align: -0.274em; border-left: 0px solid; width: 0px; height: 1.274em;"></span></span></nobr><span class="MJX_Assistive_MathML" role="presentation"><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mi>a</mi><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mi>b</mi><mi>x</mi><mo>+</mo><mi>c</mi></math></span></span><script type="math/tex" id="MathJax-Element-2">f(x)=ax^2+bx+c</script>.</p>

View File

@@ -0,0 +1 @@
_Inline formulas_ are surrounded by single dollar signs. For example, `$f(x) = ax^2 + bx + c$` renders as $f(x)=ax^2+bx+c$.

View File

@@ -6,4 +6,6 @@ Some text, not an image, so it should remain escaped:
But this is code so it can be unescaped: But this is code so it can be unescaped:
<img src="http://test.com/image.png" /> ```
<img src="http://test.com/image.png" />
```

View File

@@ -5,9 +5,10 @@ const { fileContentEqual, setupDatabase, setupDatabaseAndSynchronizer, db, synch
const markdownUtils = require('lib/markdownUtils.js'); const markdownUtils = require('lib/markdownUtils.js');
const Api = require('lib/services/rest/Api'); const Api = require('lib/services/rest/Api');
const Folder = require('lib/models/Folder'); const Folder = require('lib/models/Folder');
const Resource = require('lib/models/Resource');
const Note = require('lib/models/Note'); const Note = require('lib/models/Note');
const Tag = require('lib/models/Tag'); const Tag = require('lib/models/Tag');
const Resource = require('lib/models/Resource'); const { shim } = require('lib/shim');
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
@@ -156,6 +157,25 @@ describe('services_rest_Api', function() {
done(); done();
}); });
it('should preserve user timestamps when creating notes', async (done) => {
let response = null;
const f = await Folder.save({ title: "mon carnet" });
const updatedTime = Date.now() - 1000;
const createdTime = Date.now() - 10000;
response = await api.route('POST', 'notes', null, JSON.stringify({
parent_id: f.id,
user_updated_time: updatedTime,
user_created_time: createdTime,
}));
expect(response.user_updated_time).toBe(updatedTime);
expect(response.user_created_time).toBe(createdTime);
done();
});
it('should create notes with supplied ID', async (done) => { it('should create notes with supplied ID', async (done) => {
let response = null; let response = null;
const f = await Folder.save({ title: "mon carnet" }); const f = await Folder.save({ title: "mon carnet" });
@@ -170,6 +190,39 @@ describe('services_rest_Api', function() {
done(); done();
}); });
it('should create todos', async (done) => {
let response = null;
const f = await Folder.save({ title: "stuff to do" });
response = await api.route('POST', 'notes', null, JSON.stringify({
title: 'testing',
parent_id: f.id,
is_todo: 1
}));
expect(response.is_todo).toBe(1);
response = await api.route('POST', 'notes', null, JSON.stringify({
title: 'testing 2',
parent_id: f.id,
is_todo: 0
}));
expect(response.is_todo).toBe(0);
response = await api.route('POST', 'notes', null, JSON.stringify({
title: 'testing 3',
parent_id: f.id,
}));
expect(response.is_todo).toBeUndefined();
response = await api.route('POST', 'notes', null, JSON.stringify({
title: 'testing 4',
parent_id: f.id,
is_todo: '1'
}));
expect(response.is_todo).toBe(1);
done();
});
it('should create folders with supplied ID', async (done) => { it('should create folders with supplied ID', async (done) => {
const response = await api.route('POST', 'folders', null, JSON.stringify({ const response = await api.route('POST', 'folders', null, JSON.stringify({
id: '12345678123456781234567812345678', id: '12345678123456781234567812345678',
@@ -200,6 +253,28 @@ describe('services_rest_Api', function() {
done(); done();
}); });
it('should delete resources', async (done) => {
let response = null;
const f = await Folder.save({ title: "mon carnet" });
response = await api.route('POST', 'notes', null, JSON.stringify({
title: 'testing image',
parent_id: f.id,
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="
}));
const resource = (await Resource.all())[0];
const filePath = Resource.fullPath(resource);
expect(await shim.fsDriver().exists(filePath)).toBe(true);
await api.route('DELETE', 'resources/' + resource.id);
expect(await shim.fsDriver().exists(filePath)).toBe(false);
expect(!(await Resource.load(resource.id))).toBe(true);
done();
});
it('should create notes from HTML', async (done) => { it('should create notes from HTML', async (done) => {
let response = null; let response = null;
const f = await Folder.save({ title: "mon carnet" }); const f = await Folder.save({ title: "mon carnet" });
@@ -297,4 +372,4 @@ describe('services_rest_Api', function() {
done(); done();
}); });
}); });

View File

@@ -947,6 +947,9 @@ describe('Synchronizer', function() {
await synchronizer().start(); await synchronizer().start();
expect((await remoteNotesFoldersResources()).length).toBe(2); expect((await remoteNotesFoldersResources()).length).toBe(2);
const remoteBlob = await fileApi().stat('.resource/' + resource1.id);
expect(!remoteBlob).toBe(true);
await switchClient(1); await switchClient(1);
expect(await shim.fsDriver().exists(resourcePath1)).toBe(true); expect(await shim.fsDriver().exists(resourcePath1)).toBe(true);

View File

@@ -87,20 +87,31 @@
} }
// Cleans up element by removing all its invisible children (which we don't want to render as Markdown) // Cleans up element by removing all its invisible children (which we don't want to render as Markdown)
// And hard-code the image dimensions so that the information can be used by the clipper server to
// display them at the right sizes in the notes.
function cleanUpElement(element, imageSizes) { function cleanUpElement(element, imageSizes) {
const childNodes = element.childNodes; const childNodes = element.childNodes;
for (let i = 0; i < childNodes.length; i++) { for (let i = childNodes.length - 1; i >= 0; i--) {
const node = childNodes[i]; const node = childNodes[i];
const nodeName = node.nodeName.toLowerCase();
let isVisible = node.nodeType === 1 ? window.getComputedStyle(node).display !== 'none' : true; const isHidden = node && node.classList && node.classList.contains('joplin-clipper-hidden');
if (isVisible && ['input', 'textarea', 'script', 'noscript', 'style', 'select', 'option', 'button'].indexOf(node.nodeName.toLowerCase()) >= 0) isVisible = false;
if (!isVisible) { if (isHidden) {
element.removeChild(node); element.removeChild(node);
} else { } else {
if (node.nodeName.toLowerCase() === 'img') { // If the data-joplin-clipper-value has been set earlier, create a new DIV element
// to replace the input or text area, so that it can be exported.
if (node.getAttribute && node.getAttribute('data-joplin-clipper-value')) {
const div = document.createElement('div');
div.innerText = node.getAttribute('data-joplin-clipper-value');
node.parentNode.insertBefore(div, node.nextSibling);
element.removeChild(node);
}
if (nodeName === 'img') {
node.src = absoluteUrl(node.src); node.src = absoluteUrl(node.src);
const imageSize = imageSizes[node.src]; const imageSize = imageSizes[node.src];
if (imageSize) { if (imageSize) {
@@ -114,6 +125,75 @@
} }
} }
// When we clone the document before cleaning it, we lose some of the information that might have been set via CSS or
// JavaScript, in particular whether an element was hidden or not. This function pre-process the document by
// adding a "joplin-clipper-hidden" class to all currently hidden elements in the current document.
// This class is then used in cleanUpElement() on the cloned document to find an element should be visible or not.
function preProcessDocument(element) {
const childNodes = element.childNodes;
for (let i = 0; i < childNodes.length; i++) {
const node = childNodes[i];
const nodeName = node.nodeName.toLowerCase();
let isVisible = node.nodeType === 1 ? window.getComputedStyle(node).display !== 'none' : true;
if (isVisible && ['script', 'noscript', 'style', 'select', 'option', 'button'].indexOf(nodeName) >= 0) isVisible = false;
// If it's a text input or a textarea and it has a value, save
// that value to data-joplin-clipper-value. This is then used
// when cleaning up the document to export the value.
if (['input', 'textarea'].indexOf(nodeName) >= 0) {
isVisible = !!node.value;
if (nodeName === 'input' && node.getAttribute('type') !== 'text') isVisible = false;
if (isVisible) node.setAttribute('data-joplin-clipper-value', node.value);
}
if (nodeName === 'script') {
const a = node.getAttribute('type');
if (a && a.toLowerCase().indexOf('math/tex') >= 0) isVisible = true;
}
if (!isVisible) {
node.classList.add('joplin-clipper-hidden');
} else {
preProcessDocument(node);
}
}
}
// This sets the PRE elements computed style to the style attribute, so that
// the info can be exported and later processed by the htmlToMd converter
// to detect code blocks.
function hardcodePreStyles(doc) {
const preElements = doc.getElementsByTagName('pre');
for (const preElement of preElements) {
const fontFamily = getComputedStyle(preElement).getPropertyValue('font-family');
const fontFamilyArray = fontFamily.split(',').map(f => f.toLowerCase().trim());
if (fontFamilyArray.indexOf('monospace') >= 0) {
preElement.style.fontFamily = fontFamily;
}
}
}
// Given a document, return a <style> tag that contains all the styles
// required to render the page. Not currently used but could be as an
// option to clip pages as HTML.
function getStyleTag(doc) {
const styleText = [];
for (var i=0; i<doc.styleSheets.length; i++) {
try {
var sheet = doc.styleSheets[i];
for (const cssRule of sheet.cssRules) {
styleText.push(cssRule.cssText);
}
} catch (error) {
console.warn(error);
}
}
return '<style>' + styleText.join('\n') + '</style>';
}
function documentForReadability() { function documentForReadability() {
// Readability directly change the passed document so clone it so as // Readability directly change the passed document so clone it so as
// to preserve the original web page. // to preserve the original web page.
@@ -180,6 +260,10 @@
} else if (command.name === "completePageHtml") { } else if (command.name === "completePageHtml") {
hardcodePreStyles(document);
preProcessDocument(document);
// Because cleanUpElement is going to modify the DOM and remove elements we don't want to work
// directly on the document, so we make a copy of it first.
const cleanDocument = document.body.cloneNode(true); const cleanDocument = document.body.cloneNode(true);
const imageSizes = getImageSizes(document, true); const imageSizes = getImageSizes(document, true);
cleanUpElement(cleanDocument, imageSizes); cleanUpElement(cleanDocument, imageSizes);
@@ -187,10 +271,14 @@
} else if (command.name === "selectedHtml") { } else if (command.name === "selectedHtml") {
const range = window.getSelection().getRangeAt(0); hardcodePreStyles(document);
const container = document.createElement('div'); preProcessDocument(document);
container.appendChild(range.cloneContents()); const range = window.getSelection().getRangeAt(0);
return clippedContentResponse(pageTitle(), container.innerHTML, getImageSizes(document), getAnchorNames(document)); const container = document.createElement('div');
container.appendChild(range.cloneContents());
const imageSizes = getImageSizes(document, true);
cleanUpElement(container, imageSizes);
return clippedContentResponse(pageTitle(), container.innerHTML, getImageSizes(document), getAnchorNames(document));
} else if (command.name === 'screenshot') { } else if (command.name === 'screenshot') {

View File

@@ -1,7 +1,7 @@
{ {
"manifest_version": 2, "manifest_version": 2,
"name": "Joplin Web Clipper [DEV]", "name": "Joplin Web Clipper [DEV]",
"version": "1.0.15", "version": "1.0.17",
"description": "Capture and save web pages and screenshots from your browser to Joplin.", "description": "Capture and save web pages and screenshots from your browser to Joplin.",
"homepage_url": "https://joplinapp.org", "homepage_url": "https://joplinapp.org",
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'", "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",

View File

@@ -1,6 +1,6 @@
.App { .App {
width: 400px; width: 400px;
height: 600px;
overflow-x: hidden; overflow-x: hidden;
overflow-y: hidden; overflow-y: hidden;
display: flex; display: flex;

View File

@@ -16,6 +16,8 @@ class PreviewComponent extends React.PureComponent {
} }
componentDidMount() { componentDidMount() {
if (!this.bodyRef.current) return;
// Because the text size is made twice smaller with CSS, we need // Because the text size is made twice smaller with CSS, we need
// to also reduce the size of the images // to also reduce the size of the images
const imgs = this.bodyRef.current.getElementsByTagName('img'); const imgs = this.bodyRef.current.getElementsByTagName('img');
@@ -28,14 +30,22 @@ class PreviewComponent extends React.PureComponent {
render() { render() {
return ( return (
<div className="Preview"> <div className="Preview">
<a className={"Confirm Button"} onClick={this.props.onConfirmClick}>Confirm</a> <h2>Title:</h2>
<h2>Preview:</h2>
<input className={"Title"} value={this.props.title} onChange={this.props.onTitleChange}/> <input className={"Title"} value={this.props.title} onChange={this.props.onTitleChange}/>
<div className={"BodyWrapper"}> <a className={"Confirm Button"} onClick={this.props.onConfirmClick}>Confirm</a>
<div className={"Body"} ref={this.bodyRef} dangerouslySetInnerHTML={{__html: this.props.body_html}}></div>
</div>
</div> </div>
); );
// return (
// <div className="Preview">
// <a className={"Confirm Button"} onClick={this.props.onConfirmClick}>Confirm</a>
// <h2>Preview:</h2>
// <input className={"Title"} value={this.props.title} onChange={this.props.onTitleChange}/>
// <div className={"BodyWrapper"}>
// <div className={"Body"} ref={this.bodyRef} dangerouslySetInnerHTML={{__html: this.props.body_html}}></div>
// </div>
// </div>
// );
} }
} }

View File

@@ -239,6 +239,10 @@ class Application extends BaseApplication {
Setting.setValue('sidebarVisibility', newState.sidebarVisibility); Setting.setValue('sidebarVisibility', newState.sidebarVisibility);
} }
if (action.type.indexOf('NOTE_SELECT') === 0 || action.type.indexOf('FOLDER_SELECT') === 0) {
this.updateMenuItemStates();
}
return result; return result;
} }
@@ -508,12 +512,20 @@ class Application extends BaseApplication {
function _showAbout() { function _showAbout() {
const p = packageInfo; const p = packageInfo;
let gitInfo = '';
if ("git" in p) {
gitInfo = _('Revision: %s (%s)', p.git.hash, p.git.branch);
}
let message = [ let message = [
p.description, p.description,
'', '',
'Copyright © 2016-2019 Laurent Cozic', 'Copyright © 2016-2019 Laurent Cozic',
_('%s %s (%s, %s)', p.name, p.version, Setting.value('env'), process.platform), _('%s %s (%s, %s)', p.name, p.version, Setting.value('env'), process.platform),
]; ];
if (!!gitInfo) {
message.push("\n" + gitInfo);
console.info(gitInfo);
}
bridge().showInfoMessageBox(message.join('\n'), { bridge().showInfoMessageBox(message.join('\n'), {
icon: bridge().electronApp().buildDir() + '/icons/32x32.png', icon: bridge().electronApp().buildDir() + '/icons/32x32.png',
}); });
@@ -618,20 +630,25 @@ class Application extends BaseApplication {
const rootMenus = { const rootMenus = {
edit: { edit: {
id: 'edit',
label: _('&Edit'), label: _('&Edit'),
submenu: [{ submenu: [{
id: 'edit:copy',
label: _('Copy'), label: _('Copy'),
role: 'copy', role: 'copy',
accelerator: 'CommandOrControl+C', accelerator: 'CommandOrControl+C',
}, { }, {
id: 'edit:cut',
label: _('Cut'), label: _('Cut'),
role: 'cut', role: 'cut',
accelerator: 'CommandOrControl+X', accelerator: 'CommandOrControl+X',
}, { }, {
id: 'edit:paste',
label: _('Paste'), label: _('Paste'),
role: 'paste', role: 'paste',
accelerator: 'CommandOrControl+V', accelerator: 'CommandOrControl+V',
}, { }, {
id: 'edit:selectAll',
label: _('Select all'), label: _('Select all'),
role: 'selectall', role: 'selectall',
accelerator: 'CommandOrControl+A', accelerator: 'CommandOrControl+A',
@@ -639,6 +656,7 @@ class Application extends BaseApplication {
type: 'separator', type: 'separator',
screens: ['Main'], screens: ['Main'],
}, { }, {
id: 'edit:bold',
label: _('Bold'), label: _('Bold'),
screens: ['Main'], screens: ['Main'],
accelerator: 'CommandOrControl+B', accelerator: 'CommandOrControl+B',
@@ -649,6 +667,7 @@ class Application extends BaseApplication {
}); });
}, },
}, { }, {
id: 'edit:italic',
label: _('Italic'), label: _('Italic'),
screens: ['Main'], screens: ['Main'],
accelerator: 'CommandOrControl+I', accelerator: 'CommandOrControl+I',
@@ -659,6 +678,7 @@ class Application extends BaseApplication {
}); });
}, },
}, { }, {
id: 'edit:link',
label: _('Link'), label: _('Link'),
screens: ['Main'], screens: ['Main'],
accelerator: 'CommandOrControl+K', accelerator: 'CommandOrControl+K',
@@ -669,6 +689,7 @@ class Application extends BaseApplication {
}); });
}, },
}, { }, {
id: 'edit:code',
label: _('Code'), label: _('Code'),
screens: ['Main'], screens: ['Main'],
accelerator: 'CommandOrControl+`', accelerator: 'CommandOrControl+`',
@@ -682,6 +703,7 @@ class Application extends BaseApplication {
type: 'separator', type: 'separator',
screens: ['Main'], screens: ['Main'],
}, { }, {
id: 'edit:insertDateTime',
label: _('Insert Date Time'), label: _('Insert Date Time'),
screens: ['Main'], screens: ['Main'],
accelerator: 'CommandOrControl+Shift+T', accelerator: 'CommandOrControl+Shift+T',
@@ -695,6 +717,7 @@ class Application extends BaseApplication {
type: 'separator', type: 'separator',
screens: ['Main'], screens: ['Main'],
}, { }, {
id: 'edit:commandStartExternalEditing',
label: _('Edit in external editor'), label: _('Edit in external editor'),
screens: ['Main'], screens: ['Main'],
accelerator: 'CommandOrControl+E', accelerator: 'CommandOrControl+E',
@@ -705,29 +728,36 @@ class Application extends BaseApplication {
}); });
}, },
}, { }, {
id: 'edit:setTags',
label: _('Tags'), label: _('Tags'),
screens: ['Main'], screens: ['Main'],
accelerator: 'CommandOrControl+Alt+T', accelerator: 'CommandOrControl+Alt+T',
click: () => { click: () => {
const selectedNoteIds = this.store().getState().selectedNoteIds;
if (selectedNoteIds.length !== 1) return;
this.dispatch({ this.dispatch({
type: 'WINDOW_COMMAND', type: 'WINDOW_COMMAND',
name: 'setTags', name: 'setTags',
noteId: selectedNoteIds[0],
}); });
}, },
}, { }, {
type: 'separator', type: 'separator',
screens: ['Main'], screens: ['Main'],
}, { }, {
id: 'edit:focusSearch',
label: _('Search in all the notes'), label: _('Search in all the notes'),
screens: ['Main'], screens: ['Main'],
accelerator: shim.isMac() ? 'Shift+Command+F' : 'F6', accelerator: shim.isMac() ? 'Shift+Command+F' : 'F6',
click: () => { click: () => {
this.dispatch({ this.dispatch({
type: 'WINDOW_COMMAND', type: 'WINDOW_COMMAND',
name: 'focus_search', name: 'focusSearch',
}); });
}, },
}, { }, {
id: 'edit:showLocalSearch',
label: _('Search in current note'), label: _('Search in current note'),
screens: ['Main'], screens: ['Main'],
accelerator: 'CommandOrControl+F', accelerator: 'CommandOrControl+F',
@@ -924,6 +954,19 @@ class Application extends BaseApplication {
this.lastMenuScreen_ = screen; this.lastMenuScreen_ = screen;
} }
updateMenuItemStates() {
if (!this.lastMenuScreen_) return;
if (!this.store()) return;
const selectedNoteIds = this.store().getState().selectedNoteIds;
for (const itemId of ['copy', 'paste', 'cut', 'selectAll', 'bold', 'italic', 'link', 'code', 'insertDateTime', 'commandStartExternalEditing', 'setTags', 'showLocalSearch']) {
const menuItem = Menu.getApplicationMenu().getMenuItemById('edit:' + itemId);
if (!menuItem) continue;
menuItem.enabled = selectedNoteIds.length === 1;
}
}
updateTray() { updateTray() {
const app = bridge().electronApp(); const app = bridge().electronApp();
@@ -1092,6 +1135,8 @@ class Application extends BaseApplication {
RevisionService.instance().runInBackground(); RevisionService.instance().runInBackground();
this.updateMenuItemStates();
// Make it available to the console window - useful to call revisionService.collectRevisions() // Make it available to the console window - useful to call revisionService.collectRevisions()
window.revisionService = RevisionService.instance(); window.revisionService = RevisionService.instance();
window.migrationService = MigrationService.instance(); window.migrationService = MigrationService.instance();

View File

@@ -1,4 +1,5 @@
const fs = require('fs-extra'); const fs = require('fs-extra');
const execSync = require('child_process').execSync;
// Electron Builder strip off certain important keys from package.json, which we need, in particular build.appId // Electron Builder strip off certain important keys from package.json, which we need, in particular build.appId
// so this script is used to preserve the keys that we need. // so this script is used to preserve the keys that we need.
@@ -16,6 +17,19 @@ const appId = packageInfo.build.appId;
delete packageInfo.build; delete packageInfo.build;
packageInfo.build = { appId: appId }; packageInfo.build = { appId: appId };
let branch;
let hash;
try {
branch = execSync('git rev-parse --abbrev-ref HEAD').toString().trim();
hash = execSync('git log --pretty="%h" -1').toString().trim();
}
catch(err) {
console.warn("Could not get git info", err);
}
if (typeof branch !== 'undefined' && typeof hash !== 'undefined') {
packageInfo.git = { branch: branch, hash: hash };
}
let fileContent = "// Auto-generated by compile-package-info.js\n// Do not change directly\nconst packageInfo = " + JSON.stringify(packageInfo, null, 4) + ';'; let fileContent = "// Auto-generated by compile-package-info.js\n// Do not change directly\nconst packageInfo = " + JSON.stringify(packageInfo, null, 4) + ';';
fileContent += "\n"; fileContent += "\n";
fileContent += "module.exports = packageInfo;"; fileContent += "module.exports = packageInfo;";

View File

@@ -96,7 +96,7 @@ class HeaderComponent extends React.Component {
let commandProcessed = true; let commandProcessed = true;
if (command.name === 'focus_search' && this.searchElement_) { if (command.name === 'focusSearch' && this.searchElement_) {
this.searchElement_.focus(); this.searchElement_.focus();
} else { } else {
commandProcessed = false; commandProcessed = false;
@@ -137,14 +137,17 @@ class HeaderComponent extends React.Component {
opacity: isEnabled ? 1 : 0.4, opacity: isEnabled ? 1 : 0.4,
}); });
const title = options.title ? options.title : '';
return <a return <a
className={classes.join(' ')} className={classes.join(' ')}
style={finalStyle} style={finalStyle}
key={key} key={key}
href="#" href="#"
title={title}
onClick={() => { if (isEnabled) options.onClick() }} onClick={() => { if (isEnabled) options.onClick() }}
> >
{icon}{options.title ? options.title : ''} {icon}<span className="title">{title}</span>
</a> </a>
} }

View File

@@ -52,7 +52,7 @@ class ItemList extends React.Component {
makeItemIndexVisible(itemIndex) { makeItemIndexVisible(itemIndex) {
const top = Math.min(this.props.items.length - 1, this.state.topItemIndex + 1); const top = Math.min(this.props.items.length - 1, this.state.topItemIndex + 1);
const bottom = Math.max(0, this.state.bottomItemIndex - 1) const bottom = Math.max(0, this.state.bottomItemIndex)
if (itemIndex >= top && itemIndex <= bottom) return; if (itemIndex >= top && itemIndex <= bottom) return;

View File

@@ -94,17 +94,15 @@ class MainScreenComponent extends React.Component {
if (command.name === 'newNote') { if (command.name === 'newNote') {
if (!this.props.folders.length) { if (!this.props.folders.length) {
bridge().showErrorMessageBox(_('Please create a notebook first.')); bridge().showErrorMessageBox(_('Please create a notebook first.'));
return; } else {
await createNewNote(null, false);
} }
await createNewNote(null, false);
} else if (command.name === 'newTodo') { } else if (command.name === 'newTodo') {
if (!this.props.folders.length) { if (!this.props.folders.length) {
bridge().showErrorMessageBox(_('Please create a notebook first')); bridge().showErrorMessageBox(_('Please create a notebook first'));
return; } else {
await createNewNote(null, true);
} }
await createNewNote(null, true);
} else if (command.name === 'newNotebook') { } else if (command.name === 'newNotebook') {
this.setState({ this.setState({
promptOptions: { promptOptions: {
@@ -153,47 +151,47 @@ class MainScreenComponent extends React.Component {
}); });
} else if (command.name === 'renameFolder') { } else if (command.name === 'renameFolder') {
const folder = await Folder.load(command.id); const folder = await Folder.load(command.id);
if (!folder) return;
if (folder) {
this.setState({ this.setState({
promptOptions: { promptOptions: {
label: _('Rename notebook:'), label: _('Rename notebook:'),
value: folder.title, value: folder.title,
onClose: async (answer) => { onClose: async (answer) => {
if (answer !== null) { if (answer !== null) {
try { try {
folder.title = answer; folder.title = answer;
await Folder.save(folder, { fields: ['title'], userSideValidation: true }); await Folder.save(folder, { fields: ['title'], userSideValidation: true });
} catch (error) { } catch (error) {
bridge().showErrorMessageBox(error.message); bridge().showErrorMessageBox(error.message);
}
} }
this.setState({ promptOptions: null });
} }
this.setState({ promptOptions: null }); },
} });
}, }
});
} else if (command.name === 'renameTag') { } else if (command.name === 'renameTag') {
const tag = await Tag.load(command.id); const tag = await Tag.load(command.id);
if(!tag) return; if (tag) {
this.setState({
this.setState({ promptOptions: {
promptOptions: { label: _('Rename tag:'),
label: _('Rename tag:'), value: tag.title,
value: tag.title, onClose: async (answer) => {
onClose: async (answer) => { if (answer !== null) {
if (answer !== null) { try {
try { tag.title = answer;
tag.title = answer; await Tag.save(tag, { fields: ['title'], userSideValidation: true });
await Tag.save(tag, { fields: ['title'], userSideValidation: true }); } catch (error) {
} catch (error) { bridge().showErrorMessageBox(error.message);
bridge().showErrorMessageBox(error.message); }
} }
this.setState({promptOptions: null });
} }
this.setState({promptOptions: null });
} }
} })
}) }
} else if (command.name === 'search') { } else if (command.name === 'search') {
if (!this.searchId_) this.searchId_ = uuid.create(); if (!this.searchId_) this.searchId_ = uuid.create();

View File

@@ -62,8 +62,6 @@ class NoteTextComponent extends React.Component {
this.state = { this.state = {
note: null, note: null,
noteMetadata: '',
showNoteMetadata: false,
folder: null, folder: null,
lastSavedNote: null, lastSavedNote: null,
isLoading: true, isLoading: true,
@@ -644,10 +642,6 @@ class NoteTextComponent extends React.Component {
return false; return false;
} }
refreshNoteMetadata(force = null) {
return shared.refreshNoteMetadata(this, force);
}
async noteRevisionViewer_onBack() { async noteRevisionViewer_onBack() {
this.setState({ showRevisions: false }); this.setState({ showRevisions: false });
@@ -666,10 +660,6 @@ class NoteTextComponent extends React.Component {
this.scheduleSave(); this.scheduleSave();
} }
showMetadata_onPress() {
shared.showMetadata_onPress(this);
}
async webview_ipcMessage(event) { async webview_ipcMessage(event) {
const msg = event.channel ? event.channel : ''; const msg = event.channel ? event.channel : '';
const args = event.args; const args = event.args;
@@ -863,7 +853,7 @@ class NoteTextComponent extends React.Component {
this.editor_.editor.renderer.on('afterRender', this.onAfterEditorRender_); this.editor_.editor.renderer.on('afterRender', this.onAfterEditorRender_);
const cancelledKeys = []; const cancelledKeys = [];
const letters = ['F', 'T', 'P', 'Q', 'L', ',', 'G']; const letters = ['F', 'T', 'P', 'Q', 'L', ',', 'G', 'K'];
for (let i = 0; i < letters.length; i++) { for (let i = 0; i < letters.length; i++) {
const l = letters[i]; const l = letters[i];
cancelledKeys.push('Ctrl+' + l); cancelledKeys.push('Ctrl+' + l);
@@ -954,6 +944,7 @@ class NoteTextComponent extends React.Component {
postMessageSyntax: 'ipcProxySendToHost', postMessageSyntax: 'ipcProxySendToHost',
userCss: options.useCustomCss ? this.props.customCss : '', userCss: options.useCustomCss ? this.props.customCss : '',
resources: await shared.attachedResources(bodyToRender), resources: await shared.attachedResources(bodyToRender),
codeHighlightCacheKey: this.state.note ? this.state.note.id : null,
}; };
let bodyHtml = ''; let bodyHtml = '';
@@ -1701,6 +1692,7 @@ class NoteTextComponent extends React.Component {
backgroundColor: theme.backgroundColor, backgroundColor: theme.backgroundColor,
border: '1px solid', border: '1px solid',
borderColor: theme.dividerColor, borderColor: theme.dividerColor,
fontSize: theme.fontSize,
}; };
const toolbarStyle = { const toolbarStyle = {
@@ -1794,6 +1786,7 @@ class NoteTextComponent extends React.Component {
accuracy: 'partially', accuracy: 'partially',
}] }]
markerOptions.selectedIndex = this.state.localSearch.selectedIndex; markerOptions.selectedIndex = this.state.localSearch.selectedIndex;
markerOptions.separateWordSearch = false;
} else { } else {
const search = BaseModel.byId(this.props.searches, this.props.selectedSearchId); const search = BaseModel.byId(this.props.searches, this.props.selectedSearchId);
if (search) { if (search) {
@@ -1917,7 +1910,6 @@ const mapStateToProps = (state) => {
itemType: state.selectedItemType, itemType: state.selectedItemType,
folders: state.folders, folders: state.folders,
theme: state.settings.theme, theme: state.settings.theme,
showAdvancedOptions: state.settings.showAdvancedOptions,
syncStarted: state.syncStarted, syncStarted: state.syncStarted,
newNote: state.newNote, newNote: state.newNote,
windowCommand: state.windowCommand, windowCommand: state.windowCommand,

View File

@@ -205,15 +205,19 @@
elementIndex++; elementIndex++;
} }
const markKeywordOptions = {
each: onEachElement,
};
if ('separateWordSearch' in options) markKeywordOptions.separateWordSearch = options.separateWordSearch;
for (let i = 0; i < keywords.length; i++) { for (let i = 0; i < keywords.length; i++) {
let keyword = keywords[i]; let keyword = keywords[i];
markJsUtils.markKeyword(mark_, keyword, { markJsUtils.markKeyword(mark_, keyword, {
pregQuote: pregQuote, pregQuote: pregQuote,
replaceRegexDiacritics: replaceRegexDiacritics, replaceRegexDiacritics: replaceRegexDiacritics,
}, { }, markKeywordOptions);
each: onEachElement,
});
} }
ipcProxySendToHost('setMarkerCount', elementIndex); ipcProxySendToHost('setMarkerCount', elementIndex);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,7 @@
var locales = {}; var locales = {};
locales['en_GB'] = require('./en_GB.json'); locales['en_GB'] = require('./en_GB.json');
locales['ar'] = require('./ar.json'); locales['ar'] = require('./ar.json');
locales['bg_BG'] = require('./bg_BG.json');
locales['ca'] = require('./ca.json'); locales['ca'] = require('./ca.json');
locales['cs_CZ'] = require('./cs_CZ.json'); locales['cs_CZ'] = require('./cs_CZ.json');
locales['da_DK'] = require('./da_DK.json'); locales['da_DK'] = require('./da_DK.json');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{ {
"name": "Joplin", "name": "Joplin",
"version": "1.0.160", "version": "1.0.161",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@@ -168,16 +168,16 @@
}, },
"dependencies": { "dependencies": {
"acorn": { "acorn": {
"version": "6.1.1", "version": "6.2.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz",
"integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw=="
} }
} }
}, },
"acorn-walk": { "acorn-walk": {
"version": "6.1.1", "version": "6.2.0",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
"integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==" "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA=="
}, },
"ajv": { "ajv": {
"version": "6.5.0", "version": "6.5.0",
@@ -434,6 +434,11 @@
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
}, },
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
},
"aws-sign2": { "aws-sign2": {
"version": "0.7.0", "version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
@@ -559,13 +564,15 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true "dev": true,
"optional": true
}, },
"is-glob": { "is-glob": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"is-extglob": "^1.0.0" "is-extglob": "^1.0.0"
} }
@@ -1639,17 +1646,35 @@
"integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
"dev": true "dev": true
}, },
"css": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
"integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
"requires": {
"inherits": "^2.0.3",
"source-map": "^0.6.1",
"source-map-resolve": "^0.5.2",
"urix": "^0.1.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
},
"cssom": { "cssom": {
"version": "0.3.6", "version": "0.3.8",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
"integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==" "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
}, },
"cssstyle": { "cssstyle": {
"version": "1.2.2", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.2.tgz", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.3.0.tgz",
"integrity": "sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==", "integrity": "sha512-wXsoRfsRfsLVNaVzoKdqvEmK/5PFaEXNspVT22Ots6K/cnJdpoDKuQFw+qlMiXnmaif1OgeC466X1zISgAOcGg==",
"requires": { "requires": {
"cssom": "0.3.x" "cssom": "~0.3.6"
} }
}, },
"csstype": { "csstype": {
@@ -2601,7 +2626,8 @@
"version": "2.1.1", "version": "2.1.1",
"resolved": false, "resolved": false,
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true "dev": true,
"optional": true
}, },
"aproba": { "aproba": {
"version": "1.2.0", "version": "1.2.0",
@@ -2625,13 +2651,15 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": false, "resolved": false,
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true "dev": true,
"optional": true
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"resolved": false, "resolved": false,
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
@@ -2648,19 +2676,22 @@
"version": "1.1.0", "version": "1.1.0",
"resolved": false, "resolved": false,
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true "dev": true,
"optional": true
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": false, "resolved": false,
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true "dev": true,
"optional": true
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
"resolved": false, "resolved": false,
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true "dev": true,
"optional": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
@@ -2791,7 +2822,8 @@
"version": "2.0.3", "version": "2.0.3",
"resolved": false, "resolved": false,
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true "dev": true,
"optional": true
}, },
"ini": { "ini": {
"version": "1.3.5", "version": "1.3.5",
@@ -2805,6 +2837,7 @@
"resolved": false, "resolved": false,
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"number-is-nan": "^1.0.0" "number-is-nan": "^1.0.0"
} }
@@ -2821,6 +2854,7 @@
"resolved": false, "resolved": false,
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
@@ -2829,13 +2863,15 @@
"version": "0.0.8", "version": "0.0.8",
"resolved": false, "resolved": false,
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true "dev": true,
"optional": true
}, },
"minipass": { "minipass": {
"version": "2.2.4", "version": "2.2.4",
"resolved": false, "resolved": false,
"integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"safe-buffer": "^5.1.1", "safe-buffer": "^5.1.1",
"yallist": "^3.0.0" "yallist": "^3.0.0"
@@ -2856,6 +2892,7 @@
"resolved": false, "resolved": false,
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"minimist": "0.0.8" "minimist": "0.0.8"
} }
@@ -2944,7 +2981,8 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": false, "resolved": false,
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true "dev": true,
"optional": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
@@ -2958,6 +2996,7 @@
"resolved": false, "resolved": false,
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"wrappy": "1" "wrappy": "1"
} }
@@ -3053,7 +3092,8 @@
"version": "5.1.1", "version": "5.1.1",
"resolved": false, "resolved": false,
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
"dev": true "dev": true,
"optional": true
}, },
"safer-buffer": { "safer-buffer": {
"version": "2.1.2", "version": "2.1.2",
@@ -3095,6 +3135,7 @@
"resolved": false, "resolved": false,
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"code-point-at": "^1.0.0", "code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0", "is-fullwidth-code-point": "^1.0.0",
@@ -3116,6 +3157,7 @@
"resolved": false, "resolved": false,
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"ansi-regex": "^2.0.0" "ansi-regex": "^2.0.0"
} }
@@ -3164,13 +3206,15 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": false, "resolved": false,
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true "dev": true,
"optional": true
}, },
"yallist": { "yallist": {
"version": "3.0.2", "version": "3.0.2",
"resolved": false, "resolved": false,
"integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=",
"dev": true "dev": true,
"optional": true
} }
} }
}, },
@@ -3271,13 +3315,15 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true "dev": true,
"optional": true
}, },
"is-glob": { "is-glob": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"is-extglob": "^1.0.0" "is-extglob": "^1.0.0"
} }
@@ -3752,10 +3798,11 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
}, },
"joplin-turndown": { "joplin-turndown": {
"version": "4.0.12", "version": "4.0.17",
"resolved": "https://registry.npmjs.org/joplin-turndown/-/joplin-turndown-4.0.12.tgz", "resolved": "https://registry.npmjs.org/joplin-turndown/-/joplin-turndown-4.0.17.tgz",
"integrity": "sha512-HlxkcIiNFSMLBvYktoXqLLHFGuwQYlcPclo0Peeatw3cPe6iFqSsEgEGY/0bYM/fubA/zpPULrJcjST99BO9wQ==", "integrity": "sha512-57mw92ZOKoR77YBLUkauN1xNq1xlxOm2KaPty/jlYrkEyGotUBBvq46a6wXh6d3aM4CccGuwymSge18/9IoB3A==",
"requires": { "requires": {
"css": "^2.2.4",
"html-entities": "^1.2.1", "html-entities": "^1.2.1",
"jsdom": "^11.9.0" "jsdom": "^11.9.0"
} }
@@ -4547,6 +4594,7 @@
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"remove-trailing-separator": "^1.0.1" "remove-trailing-separator": "^1.0.1"
} }
@@ -4910,7 +4958,8 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
"dev": true "dev": true,
"optional": true
}, },
"is-glob": { "is-glob": {
"version": "2.0.1", "version": "2.0.1",
@@ -5550,13 +5599,15 @@
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
"dev": true "dev": true,
"optional": true
}, },
"repeat-element": { "repeat-element": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
"integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
"dev": true "dev": true,
"optional": true
}, },
"repeat-string": { "repeat-string": {
"version": "1.6.1", "version": "1.6.1",
@@ -5610,9 +5661,9 @@
}, },
"dependencies": { "dependencies": {
"lodash": { "lodash": {
"version": "4.17.11", "version": "4.17.14",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw=="
} }
} }
}, },
@@ -5656,6 +5707,11 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
"integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
}, },
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
},
"restore-cursor": { "restore-cursor": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
@@ -5843,6 +5899,18 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
}, },
"source-map-resolve": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
"integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
"requires": {
"atob": "^2.1.1",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
"urix": "^0.1.0"
}
},
"source-map-support": { "source-map-support": {
"version": "0.4.18", "version": "0.4.18",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
@@ -5852,6 +5920,11 @@
"source-map": "^0.5.6" "source-map": "^0.5.6"
} }
}, },
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
},
"spawn-rx": { "spawn-rx": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-3.0.0.tgz", "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-3.0.0.tgz",
@@ -6408,6 +6481,11 @@
"punycode": "^2.1.0" "punycode": "^2.1.0"
} }
}, },
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
},
"url-parse": { "url-parse": {
"version": "1.4.4", "version": "1.4.4",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz",

View File

@@ -1,6 +1,6 @@
{ {
"name": "Joplin", "name": "Joplin",
"version": "1.0.160", "version": "1.0.161",
"description": "Joplin for Desktop", "description": "Joplin for Desktop",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
@@ -101,7 +101,7 @@
"highlight.js": "^9.15.6", "highlight.js": "^9.15.6",
"html-entities": "^1.2.1", "html-entities": "^1.2.1",
"image-type": "^3.0.0", "image-type": "^3.0.0",
"joplin-turndown": "^4.0.12", "joplin-turndown": "^4.0.17",
"joplin-turndown-plugin-gfm": "^1.0.8", "joplin-turndown-plugin-gfm": "^1.0.8",
"jssha": "^2.3.1", "jssha": "^2.3.1",
"katex": "^0.10.0", "katex": "^0.10.0",

View File

@@ -121,4 +121,10 @@ table td, table th {
:disabled { :disabled {
opacity: 0.6; opacity: 0.6;
}
@media screen and (max-width:550px){
.header .title {
display: none;
}
} }

View File

@@ -71,7 +71,7 @@ if [[ ! -e ~/.joplin/VERSION ]] || [[ $(< ~/.joplin/VERSION) != "$version" ]]; t
# Create icon for Gnome # Create icon for Gnome
echo 'Create Desktop icon.' echo 'Create Desktop icon.'
if [[ $desktop =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.*|.*lxqt.* ]] if [[ $desktop =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.*|.*lxqt.*|.*unity.* ]]
then then
: "${TMPDIR:=/tmp}" : "${TMPDIR:=/tmp}"
# This command extracts to squashfs-root by default and can't be changed... # This command extracts to squashfs-root by default and can't be changed...

View File

@@ -8,7 +8,7 @@ Notes exported from Evernote via .enex files [can be imported](#importing) into
The notes can be [synchronised](#synchronisation) with various cloud services including [Nextcloud](https://nextcloud.com/), Dropbox, OneDrive, WebDAV or the file system (for example with a network directory). When synchronising the notes, notebooks, tags and other metadata are saved to plain text files which can be easily inspected, backed up and moved around. The notes can be [synchronised](#synchronisation) with various cloud services including [Nextcloud](https://nextcloud.com/), Dropbox, OneDrive, WebDAV or the file system (for example with a network directory). When synchronising the notes, notebooks, tags and other metadata are saved to plain text files which can be easily inspected, backed up and moved around.
The application is available for Windows, Linux, macOS, Android and iOS (the terminal app also work on FreeBSD). A [Web Clipper](https://github.com/laurent22/joplin/blob/master/readme/clipper.md), to save web pages and screenshots from your browser, is also available for [Firefox](https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper/) and [Chrome](https://chrome.google.com/webstore/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek?hl=en-GB). The application is available for Windows, Linux, macOS, Android and iOS (the terminal app also works on FreeBSD). A [Web Clipper](https://github.com/laurent22/joplin/blob/master/readme/clipper.md), to save web pages and screenshots from your browser, is also available for [Firefox](https://addons.mozilla.org/en-US/firefox/addon/joplin-web-clipper/) and [Chrome](https://chrome.google.com/webstore/detail/joplin-web-clipper/alofnhikmmkdbbbgpnglcpdollgjjfek?hl=en-GB).
<div class="top-screenshot"><img src="https://joplinapp.org/images/AllClients.jpg" style="max-width: 100%; max-height: 35em;"></div> <div class="top-screenshot"><img src="https://joplinapp.org/images/AllClients.jpg" style="max-width: 100%; max-height: 35em;"></div>
@@ -28,7 +28,7 @@ Linux | <a href='https://github.com/laurent22/joplin/releases/download/
Operating System | Download | Alt. Download Operating System | Download | Alt. Download
-----------------|----------|---------------- -----------------|----------|----------------
Android | <a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="40px" src='https://joplinapp.org/images/BadgeAndroid.png'/></a> | or [Download APK File](https://github.com/laurent22/joplin-android/releases/download/android-v1.0.276/joplin-v1.0.276.apk) Android | <a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="40px" src='https://joplinapp.org/images/BadgeAndroid.png'/></a> | or [Download APK File](https://github.com/laurent22/joplin-android/releases/download/android-v1.0.281/joplin-v1.0.281.apk)
iOS | <a href='https://itunes.apple.com/us/app/joplin/id1315599797'><img alt='Get it on the App Store' height="40px" src='https://joplinapp.org/images/BadgeIOS.png'/></a> | - iOS | <a href='https://itunes.apple.com/us/app/joplin/id1315599797'><img alt='Get it on the App Store' height="40px" src='https://joplinapp.org/images/BadgeIOS.png'/></a> | -
## Terminal application ## Terminal application
@@ -84,6 +84,7 @@ The Web Clipper is a browser extension that allows you to save web pages and scr
- Import Enex files (Evernote export format) and Markdown files. - Import Enex files (Evernote export format) and Markdown files.
- Export JEX files (Joplin Export format) and raw files. - Export JEX files (Joplin Export format) and raw files.
- Support notes, to-dos, tags and notebooks. - Support notes, to-dos, tags and notebooks.
- Goto Anything feature.
- Sort notes by multiple criteria - title, updated time, etc. - Sort notes by multiple criteria - title, updated time, etc.
- Support for alarms (notifications) in mobile and desktop applications. - Support for alarms (notifications) in mobile and desktop applications.
- Offline first, so the entire data is always available on the device even without an internet connection. - Offline first, so the entire data is always available on the device even without an internet connection.
@@ -329,6 +330,10 @@ Field restricted | Add either `title:` or `body:` before a note to restrict your
Notes are sorted by "relevance". Currently it means the notes that contain the requested terms the most times are on top. For queries with multiple terms, it also matter how close to each others are the terms. This is a bit experimental so if you notice a search query that returns unexpected results, please report it in the forum, providing as much details as possible to replicate the issue. Notes are sorted by "relevance". Currently it means the notes that contain the requested terms the most times are on top. For queries with multiple terms, it also matter how close to each others are the terms. This is a bit experimental so if you notice a search query that returns unexpected results, please report it in the forum, providing as much details as possible to replicate the issue.
# Goto Anything
In the desktop application, press Ctrl+G or Cmd+G and type the title of a note to jump directly to it. You can also type `#` followed by a tag or `@` followed by a notebook title.
# Donations # Donations
Donations to Joplin support the development of the project. Developing quality applications mostly takes time, but there are also some expenses, such as digital certificates to sign the applications, app store fees, hosting, etc. Most of all, your donation will make it possible to keep up the current development standard. Donations to Joplin support the development of the project. Developing quality applications mostly takes time, but there are also some expenses, such as digital certificates to sign the applications, app store fees, hosting, etc. Most of all, your donation will make it possible to keep up the current development standard.
@@ -341,7 +346,7 @@ Please see the [donation page](https://joplinapp.org/donate/) for information on
- Also see here for information about [the latest releases and general news](https://discourse.joplinapp.org/c/news). - Also see here for information about [the latest releases and general news](https://discourse.joplinapp.org/c/news).
- For bug reports and feature requests, go to the [GitHub Issue Tracker](https://github.com/laurent22/joplin/issues). - For bug reports and feature requests, go to the [GitHub Issue Tracker](https://github.com/laurent22/joplin/issues).
- The latest news are posted [on the Patreon page](https://www.patreon.com/joplin). - The latest news are posted [on the Patreon page](https://www.patreon.com/joplin).
- You can also follow us on [the Twitter feed](https://twitter.com/joplinapp). - You can also follow us on <a rel="me" href="https://mastodon.social/@joplinapp">the Mastodon feed</a> or [the Twitter feed](https://twitter.com/joplinapp).
# Contributing # Contributing
@@ -354,7 +359,7 @@ Joplin is currently available in the languages below. If you would like to contr
- [Download Poedit](https://poedit.net/), the translation editor, and install it. - [Download Poedit](https://poedit.net/), the translation editor, and install it.
- [Download the file to be translated](https://raw.githubusercontent.com/laurent22/joplin/master/CliClient/locales/joplin.pot). - [Download the file to be translated](https://raw.githubusercontent.com/laurent22/joplin/master/CliClient/locales/joplin.pot).
- In Poedit, open this .pot file, go into the Catalog menu and click Configuration. Change "Country" and "Language" to your own country and language. - In Poedit, open this .pot file, go into the Catalog menu and click Configuration. Change "Country" and "Language" to your own country and language.
- From then you can translate the file. Once it is done, please either [open a pull request](https://github.com/laurent22/joplin/pulls) or send the file to [this address](https://raw.githubusercontent.com/laurent22/joplin/master/Assets/Adresse.png). - From then you can translate the file. Once it is done, please either [open a pull request](https://github.com/laurent22/joplin/pulls) or send the file to [this address](https://raw.githubusercontent.com/laurent22/joplin/master/Assets/AdresseTranslation.png).
This translation will apply to the three applications - desktop, mobile and terminal. This translation will apply to the three applications - desktop, mobile and terminal.
@@ -365,20 +370,21 @@ Current translations:
<!-- LOCALE-TABLE-AUTO-GENERATED --> <!-- LOCALE-TABLE-AUTO-GENERATED -->
&nbsp; | Language | Po File | Last translator | Percent done &nbsp; | Language | Po File | Last translator | Percent done
---|---|---|---|--- ---|---|---|---|---
![](https://joplinapp.org/images/flags/country-4x3/arableague.png) | Arabic | [ar](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ar.po) | عبد الناصر سعيد (as@althobaity.com) | 91% ![](https://joplinapp.org/images/flags/country-4x3/arableague.png) | Arabic | [ar](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ar.po) | عبد الناصر سعيد (as@althobaity.com) | 90%
![](https://joplinapp.org/images/flags/es/basque_country.png) | Basque | [eu](https://github.com/laurent22/joplin/blob/master/CliClient/locales/eu.po) | juan.abasolo@ehu.eus | 51% ![](https://joplinapp.org/images/flags/es/basque_country.png) | Basque | [eu](https://github.com/laurent22/joplin/blob/master/CliClient/locales/eu.po) | juan.abasolo@ehu.eus | 51%
![](https://joplinapp.org/images/flags/country-4x3/bg.png) | Bulgarian | [bg_BG](https://github.com/laurent22/joplin/blob/master/CliClient/locales/bg_BG.po) | | 99%
![](https://joplinapp.org/images/flags/es/catalonia.png) | Catalan | [ca](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ca.po) | jmontane, 2018 | 73% ![](https://joplinapp.org/images/flags/es/catalonia.png) | Catalan | [ca](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ca.po) | jmontane, 2018 | 73%
![](https://joplinapp.org/images/flags/country-4x3/hr.png) | Croatian | [hr_HR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/hr_HR.po) | Hrvoje Mandić (trbuhom@net.hr) | 42% ![](https://joplinapp.org/images/flags/country-4x3/hr.png) | Croatian | [hr_HR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/hr_HR.po) | Hrvoje Mandić (trbuhom@net.hr) | 42%
![](https://joplinapp.org/images/flags/country-4x3/cz.png) | Czech | [cs_CZ](https://github.com/laurent22/joplin/blob/master/CliClient/locales/cs_CZ.po) | Lukas Helebrandt (lukas@aiya.cz) | 91% ![](https://joplinapp.org/images/flags/country-4x3/cz.png) | Czech | [cs_CZ](https://github.com/laurent22/joplin/blob/master/CliClient/locales/cs_CZ.po) | Lukas Helebrandt (lukas@aiya.cz) | 91%
![](https://joplinapp.org/images/flags/country-4x3/dk.png) | Dansk | [da_DK](https://github.com/laurent22/joplin/blob/master/CliClient/locales/da_DK.po) | Morten Juhl-Johansen Zölde-Fejér (mjjzf@syntaktisk. | 66% ![](https://joplinapp.org/images/flags/country-4x3/dk.png) | Dansk | [da_DK](https://github.com/laurent22/joplin/blob/master/CliClient/locales/da_DK.po) | Morten Juhl-Johansen Zölde-Fejér (mjjzf@syntaktisk. | 66%
![](https://joplinapp.org/images/flags/country-4x3/de.png) | Deutsch | [de_DE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/de_DE.po) | Michael Sonntag (ms@editorei.de) | 98% ![](https://joplinapp.org/images/flags/country-4x3/de.png) | Deutsch | [de_DE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/de_DE.po) | Michael Sonntag (ms@editorei.de) | 99%
![](https://joplinapp.org/images/flags/country-4x3/gb.png) | English (UK) | [en_GB](https://github.com/laurent22/joplin/blob/master/CliClient/locales/en_GB.po) | | 100% ![](https://joplinapp.org/images/flags/country-4x3/gb.png) | English (UK) | [en_GB](https://github.com/laurent22/joplin/blob/master/CliClient/locales/en_GB.po) | | 100%
![](https://joplinapp.org/images/flags/country-4x3/us.png) | English (US) | [en_US](https://github.com/laurent22/joplin/blob/master/CliClient/locales/en_US.po) | | 100% ![](https://joplinapp.org/images/flags/country-4x3/us.png) | English (US) | [en_US](https://github.com/laurent22/joplin/blob/master/CliClient/locales/en_US.po) | | 100%
![](https://joplinapp.org/images/flags/country-4x3/es.png) | Español | [es_ES](https://github.com/laurent22/joplin/blob/master/CliClient/locales/es_ES.po) | Andros Fenollosa (andros@fenollosa.email) | 98% ![](https://joplinapp.org/images/flags/country-4x3/es.png) | Español | [es_ES](https://github.com/laurent22/joplin/blob/master/CliClient/locales/es_ES.po) | Andros Fenollosa (andros@fenollosa.email) | 97%
![](https://joplinapp.org/images/flags/country-4x3/fr.png) | Français | [fr_FR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/fr_FR.po) | Laurent Cozic | 100% ![](https://joplinapp.org/images/flags/country-4x3/fr.png) | Français | [fr_FR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/fr_FR.po) | Laurent Cozic | 100%
![](https://joplinapp.org/images/flags/es/galicia.png) | Galician | [gl_ES](https://github.com/laurent22/joplin/blob/master/CliClient/locales/gl_ES.po) | Marcos Lans (marcoslansgarza@gmail.com) | 65% ![](https://joplinapp.org/images/flags/es/galicia.png) | Galician | [gl_ES](https://github.com/laurent22/joplin/blob/master/CliClient/locales/gl_ES.po) | Marcos Lans (marcoslansgarza@gmail.com) | 65%
![](https://joplinapp.org/images/flags/country-4x3/it.png) | Italiano | [it_IT](https://github.com/laurent22/joplin/blob/master/CliClient/locales/it_IT.po) | | 92% ![](https://joplinapp.org/images/flags/country-4x3/it.png) | Italiano | [it_IT](https://github.com/laurent22/joplin/blob/master/CliClient/locales/it_IT.po) | | 98%
![](https://joplinapp.org/images/flags/country-4x3/be.png) | Nederlands | [nl_BE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_BE.po) | | 52% ![](https://joplinapp.org/images/flags/country-4x3/be.png) | Nederlands | [nl_BE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_BE.po) | | 51%
![](https://joplinapp.org/images/flags/country-4x3/nl.png) | Nederlands | [nl_NL](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_NL.po) | Heimen Stoffels (vistausss@outlook.com) | 79% ![](https://joplinapp.org/images/flags/country-4x3/nl.png) | Nederlands | [nl_NL](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_NL.po) | Heimen Stoffels (vistausss@outlook.com) | 79%
![](https://joplinapp.org/images/flags/country-4x3/no.png) | Norwegian | [nb_NO](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nb_NO.po) | Mats Estensen (code@mxe.no) | 91% ![](https://joplinapp.org/images/flags/country-4x3/no.png) | Norwegian | [nb_NO](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nb_NO.po) | Mats Estensen (code@mxe.no) | 91%
![](https://joplinapp.org/images/flags/country-4x3/ir.png) | Persian | [fa](https://github.com/laurent22/joplin/blob/master/CliClient/locales/fa.po) | Mehrad Mahmoudian (mehrad@mahmoudian.me) | 49% ![](https://joplinapp.org/images/flags/country-4x3/ir.png) | Persian | [fa](https://github.com/laurent22/joplin/blob/master/CliClient/locales/fa.po) | Mehrad Mahmoudian (mehrad@mahmoudian.me) | 49%

View File

@@ -94,8 +94,8 @@ android {
applicationId "net.cozic.joplin" applicationId "net.cozic.joplin"
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 2097512 versionCode 2097517
versionName "1.0.276" versionName "1.0.281"
ndk { ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64" abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
} }

View File

@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>10.0.35</string> <string>10.0.36</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>35</string> <string>36</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>NSAppTransportSecurity</key> <key>NSAppTransportSecurity</key>

View File

@@ -8,6 +8,7 @@ class HtmlToMd {
const turndown = new TurndownService({ const turndown = new TurndownService({
headingStyle: 'atx', headingStyle: 'atx',
anchorNames: options.anchorNames ? options.anchorNames.map(n => n.trim().toLowerCase()) : [], anchorNames: options.anchorNames ? options.anchorNames.map(n => n.trim().toLowerCase()) : [],
codeBlockStyle: 'fenced',
}) })
turndown.use(turndownPluginGfm) turndown.use(turndownPluginGfm)
turndown.remove('script'); turndown.remove('script');

View File

@@ -22,7 +22,7 @@ const hljs = require('highlight.js');
const markdownItAnchor = require('markdown-it-anchor'); const markdownItAnchor = require('markdown-it-anchor');
// The keys must match the corresponding entry in Setting.js // The keys must match the corresponding entry in Setting.js
const plugins = { const plugins = {
mark: {module: require('markdown-it-mark')}, mark: {module: require('markdown-it-mark')},
footnote: {module: require('markdown-it-footnote')}, footnote: {module: require('markdown-it-footnote')},
sub: {module: require('markdown-it-sub')}, sub: {module: require('markdown-it-sub')},
sup: {module: require('markdown-it-sup')}, sup: {module: require('markdown-it-sup')},
@@ -43,6 +43,9 @@ class MdToHtml {
this.resourceBaseUrl_ = ('resourceBaseUrl' in options) ? options.resourceBaseUrl : null; this.resourceBaseUrl_ = ('resourceBaseUrl' in options) ? options.resourceBaseUrl : null;
this.cachedOutputs_ = {}; this.cachedOutputs_ = {};
this.lastCodeHighlightCacheKey_ = null;
this.cachedHighlightedCode_ = {};
} }
render(body, style, options = null) { render(body, style, options = null) {
@@ -51,6 +54,15 @@ class MdToHtml {
if (!options.paddingBottom) options.paddingBottom = '0'; if (!options.paddingBottom) options.paddingBottom = '0';
if (!options.highlightedKeywords) options.highlightedKeywords = []; if (!options.highlightedKeywords) options.highlightedKeywords = [];
// The "codeHighlightCacheKey" option indicates what set of cached object should be
// associated with this particular Markdown body. It is only used to allow us to
// clear the cache whenever switching to a different note.
// If "codeHighlightCacheKey" is not specified, code highlighting won't be cached.
if (options.codeHighlightCacheKey !== this.lastCodeHighlightCacheKey_ || !options.codeHighlightCacheKey) {
this.cachedHighlightedCode_ = {};
this.lastCodeHighlightCacheKey_ = options.codeHighlightCacheKey;
}
const breaks_ = Setting.value('markdown.softbreaks') ? false : true; const breaks_ = Setting.value('markdown.softbreaks') ? false : true;
const cacheKey = md5(escape(body + JSON.stringify(options) + JSON.stringify(style))); const cacheKey = md5(escape(body + JSON.stringify(options) + JSON.stringify(style)));
@@ -67,14 +79,21 @@ class MdToHtml {
breaks: breaks_, breaks: breaks_,
linkify: true, linkify: true,
html: true, html: true,
highlight: function(str, lang) { highlight: (str, lang) => {
try { try {
let hlCode = ''; let hlCode = '';
if (lang && hljs.getLanguage(lang)) { const cacheKey = md5(str + '_' + lang);
hlCode = hljs.highlight(lang, str, true).value;
if (options.codeHighlightCacheKey && this.cachedHighlightedCode_[cacheKey]) {
hlCode = this.cachedHighlightedCode_[cacheKey];
} else { } else {
hlCode = hljs.highlightAuto(str).value; if (lang && hljs.getLanguage(lang)) {
hlCode = hljs.highlight(lang, str, true).value;
} else {
hlCode = hljs.highlightAuto(str).value;
}
this.cachedHighlightedCode_[cacheKey] = hlCode;
} }
if (shim.isReactNative()) { if (shim.isReactNative()) {
@@ -124,15 +143,13 @@ class MdToHtml {
markdownIt.use(rules.checkbox(context, ruleOptions)); markdownIt.use(rules.checkbox(context, ruleOptions));
markdownIt.use(rules.link_open(context, ruleOptions)); markdownIt.use(rules.link_open(context, ruleOptions));
markdownIt.use(rules.html_image(context, ruleOptions)); markdownIt.use(rules.html_image(context, ruleOptions));
if (Setting.value('markdown.plugin.katex')) if (Setting.value('markdown.plugin.katex')) markdownIt.use(rules.katex(context, ruleOptions));
markdownIt.use(rules.katex(context, ruleOptions));
markdownIt.use(rules.highlight_keywords(context, ruleOptions)); markdownIt.use(rules.highlight_keywords(context, ruleOptions));
markdownIt.use(rules.code_inline(context, ruleOptions)); markdownIt.use(rules.code_inline(context, ruleOptions));
markdownIt.use(markdownItAnchor) markdownIt.use(markdownItAnchor)
for (let key in plugins) { for (let key in plugins) {
if (Setting.value('markdown.plugin.' + key)) if (Setting.value('markdown.plugin.' + key)) markdownIt.use(plugins[key].module, plugins[key].options);
markdownIt.use(plugins[key].module, plugins[key].options);
} }
setupLinkify(markdownIt); setupLinkify(markdownIt);

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