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

Compare commits

...

125 Commits

Author SHA1 Message Date
Laurent Cozic
4f47bd7bcd Android release v1.0.244 2019-05-03 00:22:11 +01:00
Laurent Cozic
4f76946140 Electron release v1.0.145 2019-05-03 00:20:01 +01:00
Laurent Cozic
aa60923cbd Doc: Better handling of platforms in changelog generation 2019-05-03 00:19:42 +01:00
doc75
7670ce32b1 removing sh in Linux installation command line as this is unnecessary (and failing on Ubuntu) (#1484) 2019-05-02 23:58:38 +01:00
Laurent Cozic
0b98632336 Update website 2019-05-02 23:54:52 +01:00
Laurent Cozic
49c998de83 Doc: Auto-generate anchors 2019-05-02 23:54:31 +01:00
Helmut K. C. Tessarek
da69d6b2c9 Desktop: Fix: Update chokidar to fix blank screen when returning from external editor (#1479) 2019-05-02 16:00:17 +01:00
Michael Schneider
a757aefce0 Remove separator between New Notebook and Close Window in File Menu (#1483) 2019-05-02 15:55:48 +01:00
Laurent Cozic
b2129cb8c4 Desktop, CLI: Fixes #1476: Import lists and sub-lists from Enex files with correct indentation 2019-05-01 18:06:37 +01:00
Laurent Cozic
27f14c175f Electron release v1.0.144 2019-04-30 23:42:42 +01:00
Laurent Cozic
aad49c520b All: Improved: Display better error message when trying to sync with a new sync target from an old version of Joplin 2019-04-30 23:42:06 +01:00
Michael Schneider
af794a16d6 Desktop (macOS): Add macOS "Close Window" menu item and add name to Quit menu (#1434)
* Add Close Window to macOS file menu

* Add Joplin to Quit menu item

On macOS the application name appears usually within the Quit menu item.

* Use performClose: selector for Close Window

* Revert Quit with name and add Quit string to translations

* Move Quit translation to joplin.pot

* Remove Quit string
2019-04-30 21:38:20 +01:00
Laurent Cozic
ca7266cd69 Fixing images 2019-04-30 19:04:24 +01:00
Laurent Cozic
fb758afc81 Update website 2019-04-30 18:58:35 +01:00
Laurent Cozic
b806f0da49 Removed dependency to unsafe and buggy marked 2019-04-30 18:58:19 +01:00
Laurent Cozic
4e3b1f3e13 Merge branch 'master' of github.com:laurent22/joplin 2019-04-30 18:29:46 +01:00
Laurent Cozic
475467c41c Update website 2019-04-30 18:29:43 +01:00
Caleb John
28e5039873 Update Joplin_install_and_update from #1422 and #1473 (#1475) 2019-04-30 18:28:36 +01:00
Laurent Cozic
1efc6e6151 Merge branch 'master' of github.com:laurent22/joplin 2019-04-30 18:27:08 +01:00
Laurent Cozic
e280a02643 Update doc 2019-04-30 18:26:58 +01:00
Christian Moritz
788dc42684 CLI: Improved: Update sharp (for node 12 compatibility) (#1471) 2019-04-30 17:32:51 +01:00
Laurent Cozic
01f2759a62 Added CLI changelog 2019-04-29 18:39:43 +01:00
Laurent Cozic
9419e3af9c CLI v1.0.125 2019-04-29 18:36:32 +01:00
Laurent Cozic
6d220005cc All: Fixes #1353: Remove message "Processing a path that has already been done" as this is not an error 2019-04-29 18:27:32 +01:00
Laurent Cozic
6d68e61bbd Exclude reverted commits from changelog 2019-04-29 07:42:40 +01:00
Laurent Cozic
29582623b0 Revert "Desktop: Improved: Removed gaps between note list and vertical resizers (#1464)"
This reverts commit d6e59c5238.
2019-04-29 07:28:16 +01:00
Laurent Cozic
4571e7853a Improved auto-generation of changelog 2019-04-28 15:09:07 +01:00
Luis Orozco
d6e59c5238 Desktop: Improved: Removed gaps between note list and vertical resizers (#1464) 2019-04-28 14:23:17 +01:00
Luis Orozco
6335cbedb8 Desktop: Improved: UI updates to sidebar and header, changing icon sizes and animations (#1463)
Added animation to icon in synchronize button

Moved sync report above button, which prevents the sync button from moving from its place when the report has text.

Added animation to icon in Toggle Sidebar button, using the css transition property.

Reduced font size for text and icons in header and sidebar

Changed theme color2 from white to a very light grey. It is barely
noticeable, but reduces contrast a bit, improving readability.
2019-04-28 14:20:18 +01:00
Laurent Cozic
f3344ce05d Removed "Demo" word from screenshot to comply with App Store 2019-04-28 13:11:15 +01:00
Laurent Cozic
155d38d24a Update website 2019-04-26 19:06:17 +01:00
Laurent Cozic
412f6d8316 Fixing Arabic flag 2019-04-26 18:58:40 +01:00
Laurent Cozic
d0f3ed80e0 Added new required iOS screenshots 2019-04-26 18:37:30 +01:00
Helmut K. C. Tessarek
b86f3b74bd build-translation.js: hack to show en_US as 100% (#1448) 2019-04-26 18:36:12 +01:00
Laurent Cozic
60054d1d8b ios-v10.0.31 2019-04-26 08:52:59 +01:00
Laurent Cozic
c40c6428d7 Merge branch 'master' of github.com:laurent22/joplin 2019-04-26 08:30:51 +01:00
Laurent Cozic
e708ecccee Updated FAQ 2019-04-26 08:30:40 +01:00
Helmut K. C. Tessarek
04f991d3bf Update website 2019-04-23 16:10:41 -04:00
Helmut K. C. Tessarek
d5d7368ba0 Merge pull request #1446 from Fvbor/patch-1
Readme: Change Download links from 1.0.142 to 1.0.143
2019-04-23 16:09:16 -04:00
Hagen Tasche
abff929d4e Change Download links from 1.0.142 to 1.0.143 2019-04-23 09:09:11 +02:00
Laurent Cozic
49edc82594 Tools: Allow auto-generating changelog from commit messages 2019-04-22 18:02:45 +00:00
Helmut K. C. Tessarek
7dd7d0ec17 Merge pull request #1439 from tessus/localization-de_DE
update localization de_DE.po
2019-04-22 00:01:34 -04:00
Helmut K. C. Tessarek
61aaf64f95 update localization de_DE.po 2019-04-22 00:00:54 -04:00
Helmut K. C. Tessarek
da35785951 Update website 2019-04-21 14:55:52 -04:00
Helmut K. C. Tessarek
e394034678 restore the content of API.md 2019-04-21 14:49:12 -04:00
Laurent Cozic
edf002ab32 Android release v1.0.243 2019-04-21 14:58:33 +01:00
Laurent Cozic
50f2076981 Electron release v1.0.143 2019-04-21 14:56:13 +01:00
Laurent Cozic
a9ae78bcde Updated translations 2019-04-21 14:55:12 +01:00
Laurent Cozic
0d7f9a2ab3 Merge branch 'master' of github.com:laurent22/joplin 2019-04-21 13:56:01 +01:00
Laurent Cozic
a5ee120281 All: Fixes #1433: Some resources could incorrectly be deleted even though they are still present in a note. Also added additional verifications before deleting a resource. 2019-04-21 13:49:40 +01:00
Helmut K. C. Tessarek
12ebf44e22 Desktop: add option to use soft breaks for markdown rendering (#1408)
* add option to use soft breaks for markdown rendering

* oops, I didn't use the British spelling

* moved setting to section Plugins

* change text -> Enable soft breaks
2019-04-21 10:03:10 +01:00
Laurent Cozic
220f5d0967 Desktop: Fixes #1425 (probably): Fix display of images when using VSCode as external editor 2019-04-20 21:12:19 +01:00
Laurent Cozic
4ef05272c4 Clipper: Fixes #1417: Sort the folders in the same order as the desktop app 2019-04-20 19:29:23 +01:00
Laurent Cozic
c3262aa5f8 Desktop: Allow CtrlCmd+G shortcut from text editor 2019-04-20 19:07:13 +01:00
Laurent Cozic
42119c8f42 All: Fixes #1427: Support checkoxes behind bullets 2019-04-20 19:00:22 +01:00
Laurent Cozic
27cce03968 Updated translations 2019-04-20 12:26:34 +01:00
Laurent Cozic
776aba1e49 Merge branch 'master' of github.com:laurent22/joplin 2019-04-20 12:23:55 +01:00
Laurent Cozic
9356841cfc Desktop: Fixes #423: Make sure links are clickable when exporting to PDF 2019-04-20 12:23:05 +01:00
Helmut K. C. Tessarek
7fc233e808 Desktop: change shortcuts for 'Print' and 'Goto Anything' (#1420)
Print            Command/Control + P
Goto Anything    Command/Control + G

closes #1413
2019-04-20 12:02:43 +01:00
Helmut K. C. Tessarek
7b2eac3abd add localization for English (United States) en_US (#1391) 2019-04-20 12:01:53 +01:00
Laurent Cozic
93323deea5 Desktop: Fix: Updated Electron and Chokidar to try to fix external editor crashing app 2019-04-20 12:00:42 +01:00
Laurent Cozic
e8fa399e9e Update website 2019-04-18 15:26:13 +01:00
Laurent Cozic
a974eb5d9f Fixing links 2019-04-18 15:11:56 +01:00
Laurent Cozic
6a3f04274d Update website 2019-04-18 15:00:32 +01:00
Laurent Cozic
f8e1395087 joplin.cozic.net => joplinapp.org 2019-04-18 14:59:17 +01:00
Laurent Cozic
82b5af51e5 Update CNAME 2019-04-18 14:06:15 +01:00
Laurent Cozic
cf40c14a86 All: Fixes #1405: Handle invalid resource tags that contain no data when importing ENEX 2019-04-12 01:43:15 +01:00
Laurent Cozic
be2b2b7836 Merge branch 'master' of github.com:laurent22/joplin 2019-04-04 08:14:36 +01:00
Laurent Cozic
0cebae8032 All: Allow longer folder paths 2019-04-04 08:01:16 +01:00
Laurent Cozic
6ebc77cbba Desktop: Fix: Goto Anything results were displayed lowercase 2019-04-04 07:53:20 +01:00
Tim Kilåker
542a5e88b7 All: 1383 Clear selected Notes when switching Notebook (#1387) 2019-04-04 07:48:33 +01:00
Laurent Cozic
72b36522e8 All: Improved support for Japanese, Chinese, Korean search queries (also applies to Goto Anything) 2019-04-03 07:46:41 +01:00
Laurent Cozic
252d937405 Update website 2019-04-02 17:46:39 +01:00
Laurent Cozic
a73b0309b9 Electron release v1.0.142 2019-04-02 17:27:52 +01:00
Laurent Cozic
c22283e799 Electron release v1.0.141 2019-04-02 17:27:39 +01:00
Laurent Cozic
1e51ab4a59 Updated translations 2019-04-02 17:27:19 +01:00
Caleb John
0c2f2667d3 All: Allow toggling markdown plugins and added several new plugins (#1347)
* Initial test of enabling plugins

* Added support for toggle-able plugins
- Also adds some new plugins

* Add instructions on adding toggle-plugins

* Fix subtle anchor bug
- webview was moving itself when scrolling to bottom anchors

* Moves the webview hack so that it only applies to anchors

* Add plugin descriptions to the README, also removed mermaid from README

* rename plugin.* to markdown.plugin.* to be more forward compatible
2019-04-02 17:14:48 +01:00
Laurent Cozic
496c9ddb91 Fixed tests to match new behaviour 2019-04-02 00:22:04 +01:00
Laurent Cozic
5ad0b2eed9 Clean up 2019-04-02 00:12:38 +01:00
Laurent Cozic
577d62e783 Updated translations 2019-04-02 00:11:40 +01:00
Laurent Cozic
dcb73c9916 Desktop: Fixed menu logic for non-macOS 2019-04-01 19:51:47 +00:00
Laurent Cozic
6b2910c3c7 Desktop: Added Goto Anything dialog and implemented basic plugin system 2019-04-01 19:43:13 +00:00
Helmut K. C. Tessarek
db04906416 Desktop: macOS: make the menu more like a macOS menu (#1348)
* macOS: make the menu more like a macOS menu

* remove duplcated code even more

* yep, I forgot to localize the new menu item

* more de-duplication, create File menu on macOS
2019-04-01 10:04:34 +01:00
s1nceri7y
54fceeb07d Update README.md (#1375)
added links to browser extensions
2019-03-31 18:27:36 +01:00
RaphaelKimmig
fa32678645 improve search bar text alignment (#1377) 2019-03-31 18:26:47 +01:00
RaphaelKimmig
ee1df1a396 fix sub pixel rendering for desktop (#1378) 2019-03-31 18:25:13 +01:00
Laurent Cozic
729be8767c Clipper release v1.0.13 2019-03-31 12:15:24 +01:00
Helmut K. C. Tessarek
8471f0d86d Merge pull request #1374 from s1nceri7y/patch-1
Update ru_RU.po
2019-03-30 16:34:43 -04:00
s1nceri7y
390b818d71 Update ru_RU.po
translation adjustments
2019-03-30 10:14:44 +00:00
Laurent Cozic
1a1c190ea3 Clipper: Move Confirm button up 2019-03-29 10:11:27 +00:00
Laurent Cozic
40d82b80f1 Clipper release v1.0.12 2019-03-29 09:45:19 +00:00
Laurent Cozic
7647ecbbc7 Clipper: Do not inline scripts to prevent CSP error 2019-03-29 09:44:56 +00:00
Laurent Cozic
b2a5cf9dd0 Clipper release v1.0.10 2019-03-29 09:06:55 +00:00
Laurent Cozic
cbf3ab2ec2 Merge branch 'master' of github.com:laurent22/joplin 2019-03-29 09:04:10 +00:00
Laurent Cozic
c4a37ff0ba Clipper: Better handling of error on tabs where extension is not available 2019-03-29 09:03:21 +00:00
Laurent Cozic
bdc7ea4346 All: Display warning when changing dir for filesystem sync 2019-03-29 08:01:58 +00:00
Tekki
d4c4b9b10a Replace curl with wget in installation script. (#1368) 2019-03-28 21:19:07 +00:00
Caleb John
4b9105edff Set blockScrolling to Infinty (fixes error message) (#1363) 2019-03-28 21:18:53 +00:00
Caleb John
c0980a5a9e prevent appimage integration prompt when joplin.desktop already exists (#1337) 2019-03-28 20:49:44 +00:00
Laurent Cozic
272055fc1d Updated translations 2019-03-28 17:06:06 +00:00
Laurent Cozic
cbb1851b12 Updated translations 2019-03-28 17:05:08 +00:00
Helmut K. C. Tessarek
45d758d52e Merge pull request #1362 from Shaxine/patch-1
Update pt_BR.po
2019-03-24 17:53:02 -04:00
Helmut K. C. Tessarek
49936ef095 update download links, stats, website 2019-03-24 17:50:27 -04:00
António Pereira
986d4be601 Update pt_BR.po
Keep command as intended.
2019-03-24 12:43:47 +00:00
Mats Estensen
b6ad9719ad Translation: complete norwegian, remove fuzzy entries (#1333)
* complete norwegian, remove fuzzy entries

* minor typos
2019-03-17 01:19:31 -04:00
Laurent Cozic
96a1546da1 Desktop: Improved search - when clearing search, stay on current item. When clicking on notebook name, jump to note within notebook. Improved toolbar layout. 2019-03-15 21:57:58 +00:00
Laurent Cozic
6884dd2b9e Cleaned up MdToHtml style 2019-03-13 23:03:55 +00:00
Laurent Cozic
9c027e59c4 Android release v1.0.242 2019-03-13 22:52:24 +00:00
Laurent Cozic
9e16ff3644 Mobile: Moved tags to separate screen to avoid slow down when having many tags 2019-03-13 22:42:16 +00:00
Laurent Cozic
4000cb5d1c All: Fixes #1325: Fixed nested checkbox indentation 2019-03-12 22:24:44 +00:00
Laurent Cozic
1030b412ff All: Fixes #1326: Restored inline code styling 2019-03-12 22:07:02 +00:00
Laurent Cozic
54f0fbcf6b Desktop: Fixes #1329: Could not edit created and updated time anymroe 2019-03-12 21:52:23 +00:00
Laurent Cozic
1602182085 Desktop: Fixes #1334 (maybe): Upgraded chokidar which it seems was randomly making Electron 4 crash (maybe due to fsevent package) 2019-03-12 21:41:13 +00:00
Laurent Cozic
20bb1238c5 CLI v1.0.124 2019-03-11 19:37:52 +00:00
Laurent Cozic
68fbe8125e Desktop: Fixed: The side bar was being refreshed too frequently. Fixed: Order of notebooks with sub-notebooks was sometimes incorrect when sorting by last updated time. 2019-03-10 21:16:05 +00:00
Laurent Cozic
23e6e6e69d Android release v1.0.241 2019-03-10 20:35:01 +00:00
Laurent Cozic
ade5af2559 Electron release v1.0.140 2019-03-10 20:32:43 +00:00
Laurent Cozic
0a993dc012 Update translations 2019-03-10 20:32:28 +00:00
xcffl
4baa46507f update zh-CN translation (#1321) 2019-03-10 20:31:39 +00:00
Laurent Cozic
0d8878abd3 Mobile: For now, make notebooks sorted by title 2019-03-10 20:30:31 +00:00
Helmut K. C. Tessarek
f962084591 Merge pull request #1318 from Ouvill/feature/update_jp_translation
update jp translation
2019-03-10 00:48:35 -05:00
Helmut K. C. Tessarek
921b45286b Merge pull request #1316 from tessus/localization-de_DE
Update de_DE.po
2019-03-10 00:48:13 -05:00
Ouvill
301bfed05e update jp translation 2019-03-09 12:56:55 +09:00
Helmut K. C. Tessarek
62e7d6fa86 Update de_DE.po 2019-03-08 13:51:08 -05:00
Laurent Cozic
7e34cd4452 Android release v1.0.240 2019-03-08 17:43:01 +00:00
203 changed files with 8888 additions and 4611 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 KiB

After

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 KiB

After

Width:  |  Height:  |  Size: 244 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

View File

@@ -1,7 +1,8 @@
[![Travis Build Status](https://travis-ci.org/laurent22/joplin.svg?branch=master)](https://travis-ci.org/laurent22/joplin) [![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/github/laurent22/joplin?branch=master&passingText=master%20-%20OK&svg=true)](https://ci.appveyor.com/project/laurent22/joplin)
# General information
- All the applications share the same library, which, for historical reasons, is in ReactNativeClient/lib. This library is copied to the relevant directories when building each app.
- The translations are built by running CliClient/build-translation.sh. You normally don't need to run this if you haven't updated the translation since the compiled files are on the repository.
## macOS dependencies

View File

@@ -1,7 +1,3 @@
**IMPORTANT:** At the moment pull requests for new features are no longer being accepted. More info there: https://github.com/laurent22/joplin/issues/1112
* * *
# User support
For general discussion about Joplin, user support, software development questions, and to discuss new features, please go to the [Joplin Forum](https://discourse.joplin.cozic.net/). It is possible to login with your GitHub account.
@@ -18,11 +14,9 @@ Again, please check that it has not already been requested. If it has, simply **
# Creating a pull request
- If you want to add a new feature, consider asking about it before implementing it or checking existing discussions to make sure it is within the scope of the project. That scope, due to limited resources, might be narrower than you think. As a rule of thumb **if your change is likely to involve more than 50 lines of code, you should discuss it in the forum**, just so that you don't waste your time implementing something that might not be accepted.
- If you want to add a new feature, consider asking about it before implementing it or checking existing discussions to make sure it is within the scope of the project. As a rule of thumb **if your change is likely to involve more than 50 lines of code, you should discuss it in the forum**, just so that you don't spend too much time implementing something that might not be accepted.
- Bug fixes have a very high chance of being accepted.
- A pull request that is relevant to the current roadmap has a very high chance of being accepted.
- Bug fixes are always welcome.
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/master/BUILD.md) for more details.

View File

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

View File

@@ -132,7 +132,7 @@ class Command extends BaseCommand {
lines.push('# Searching');
lines.push('');
lines.push('Call **GET /search?query=YOUR_QUERY** to search for notes. This end-point supports the `field` parameter which is recommended to use so that you only get the data that you need. The query syntax is as described in the main documentation: https://joplin.cozic.net/#searching');
lines.push('Call **GET /search?query=YOUR_QUERY** to search for notes. This end-point supports the `field` parameter which is recommended to use so that you only get the data that you need. The query syntax is as described in the main documentation: https://joplinapp.org/#searching');
lines.push('');
for (let i = 0; i < models.length; i++) {

View File

@@ -37,7 +37,7 @@ class Command extends BaseCommand {
const stdoutWidth = app().commandStdoutMaxWidth();
if (args.command === 'shortcuts' || args.command === 'keymap') {
this.stdout(_('For information on how to customise the shortcuts please visit %s', 'https://joplin.cozic.net/terminal/#shortcuts'));
this.stdout(_('For information on how to customise the shortcuts please visit %s', 'https://joplinapp.org/terminal/#shortcuts'));
this.stdout('');
if (app().gui().isDummy()) {

File diff suppressed because it is too large Load Diff

View File

@@ -611,9 +611,8 @@ msgstr "S'està important des de «%s» com a format «%s». Espereu..."
msgid "PDF File"
msgstr "Fitxer PDF"
#, fuzzy
msgid "&File"
msgstr "Fitxer"
msgid "Synchronisation status"
msgstr "Estat de la sincronització"
msgid "New note"
msgstr "Nota nova"
@@ -624,6 +623,35 @@ msgstr "Llistat de tasques pendents nou"
msgid "New notebook"
msgstr "Bloc de notes nou"
msgid "Print"
msgstr "Imprimeix"
msgid "General Options"
msgstr "Opcions generals"
msgid "Encryption options"
msgstr "Opcions del xifratge"
msgid "Web clipper options"
msgstr "Opcions del desa-retalls de webs"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Fitxer"
msgid "About Joplin"
msgstr "Quant al Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Comprova les actualitzacions..."
msgid "Import"
msgstr "Importació"
@@ -633,9 +661,6 @@ msgstr "Exportació"
msgid "Synchronise"
msgstr "Sincronitza"
msgid "Print"
msgstr "Imprimeix"
#, javascript-format
msgid "Hide %s"
msgstr "Amaga %s"
@@ -700,18 +725,6 @@ msgstr "Vés al cos"
msgid "&Tools"
msgstr "Eines"
msgid "Synchronisation status"
msgstr "Estat de la sincronització"
msgid "Web clipper options"
msgstr "Opcions del desa-retalls de webs"
msgid "Encryption options"
msgstr "Opcions del xifratge"
msgid "General Options"
msgstr "Opcions generals"
#, fuzzy
msgid "&Help"
msgstr "Ajuda"
@@ -722,16 +735,6 @@ msgstr "Lloc web i documentació"
msgid "Make a donation"
msgstr "Donatius"
msgid "Check for updates..."
msgstr "Comprova les actualitzacions..."
msgid "About Joplin"
msgstr "Quant al Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Obre %s"
@@ -1170,9 +1173,6 @@ msgstr "Recursos: %d."
msgid "Please select where the sync status should be exported to"
msgstr "Seleccioneu on s'hauria d'exportar l'estat de la sincronització"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Afegeix o suprimeix etiquetes"
@@ -1206,6 +1206,14 @@ msgstr "Voleu suprimir les notes?"
msgid "Delete these %d notes?"
msgstr "Voleu suprimir aquestes notes?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Ús: %s"
@@ -1354,6 +1362,13 @@ msgstr "No es pot copiar la nota al bloc de notes «%s»"
msgid "Cannot move note to \"%s\" notebook"
msgstr "No es pot moure la nota al bloc de notes «%s»"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Llengua"
@@ -1403,6 +1418,43 @@ msgstr "Vés al cos"
msgid "When creating a new note:"
msgstr "En crear una nota:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Activa el xifratge"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Mostra la icona a la safata"
@@ -1489,23 +1541,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Directori on es farà la sincronització (camí absolut)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"El camí on sincronitzar en activar la sincronització del sistema. Vegeu "
"«sync.target»."
msgid "Nextcloud WebDAV URL"
msgstr "URL del Nextcloud WebDAV"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Nom d'usuari del Nextcloud"
@@ -1553,6 +1591,9 @@ msgstr ""
msgid "Note"
msgstr "Blocs de notes"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Surt de l'aplicació"
@@ -1889,6 +1930,17 @@ msgstr ""
msgid "Welcome"
msgstr "Benvingut"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Aquesta nota s'ha modificat:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "El camí on sincronitzar en activar la sincronització del sistema. Vegeu "
#~ "«sync.target»."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Lloc web del Joplin"

View File

@@ -593,9 +593,8 @@ msgstr "Importuji z \"%s\" jako formát \"%s\". Chvíli strpení..."
msgid "PDF File"
msgstr "PDF soubor"
#, fuzzy
msgid "&File"
msgstr "Soubor"
msgid "Synchronisation status"
msgstr "Stav synchronizace"
msgid "New note"
msgstr "Nová poznámka"
@@ -606,6 +605,35 @@ msgstr "Nové to-do"
msgid "New notebook"
msgstr "Nový zápisník"
msgid "Print"
msgstr "Tisk"
msgid "General Options"
msgstr "Obecná nastavení"
msgid "Encryption options"
msgstr "Nastavení šifrování"
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Soubor"
msgid "About Joplin"
msgstr "O aplikaci Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Zkontrolovat updaty..."
msgid "Import"
msgstr "Import"
@@ -615,9 +643,6 @@ msgstr "Export"
msgid "Synchronise"
msgstr "Synchronizovat"
msgid "Print"
msgstr "Tisk"
#, javascript-format
msgid "Hide %s"
msgstr "Schovat %s"
@@ -682,18 +707,6 @@ msgstr "Vybrat text poznámky"
msgid "&Tools"
msgstr "Nástroje"
msgid "Synchronisation status"
msgstr "Stav synchronizace"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr "Nastavení šifrování"
msgid "General Options"
msgstr "Obecná nastavení"
#, fuzzy
msgid "&Help"
msgstr "Nápověda"
@@ -704,16 +717,6 @@ msgstr "Web a dokumentace"
msgid "Make a donation"
msgstr "Přispět"
msgid "Check for updates..."
msgstr "Zkontrolovat updaty..."
msgid "About Joplin"
msgstr "O aplikaci Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Otevřít %s"
@@ -1137,9 +1140,6 @@ msgstr "Zdroje: %d."
msgid "Please select where the sync status should be exported to"
msgstr "Prosím vyberte, kam má být stav synchronizace exportován"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Přidat či odebrat tagy"
@@ -1174,6 +1174,14 @@ msgstr "Smazat poznámky?"
msgid "Delete these %d notes?"
msgstr "Smazat tyto poznámky?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Použití: %s"
@@ -1326,6 +1334,13 @@ msgstr "Poznámku \"%s\" nelze zkopírovat do zápisníku"
msgid "Cannot move note to \"%s\" notebook"
msgstr "Poznámku nelze přesunout do zápisníku \"%s\""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Jazyk"
@@ -1376,6 +1391,43 @@ msgstr "Vybrat text poznámky"
msgid "When creating a new note:"
msgstr "Při vytváření nové poznámky:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Zapnout šifrování"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Zobrazovat ikonu v panelu"
@@ -1462,23 +1514,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Složka k synchronizaci (absolutní cesta)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Cesta ke složce, se kterou synchronizovat, pokud je cílem synchronizace "
"místní souborový systém. Viz `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Nextcloud uživatelské jméno"
@@ -1526,6 +1564,9 @@ msgstr ""
msgid "Note"
msgstr "Zápisníky"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Ukončí aplikaci."
@@ -1855,6 +1896,17 @@ msgstr "Nemáte žádný zápisník. Vytvořte jeden kliknutím na tlačítko (+
msgid "Welcome"
msgstr "Vítejte"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Poznámka byla upravena:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Cesta ke složce, se kterou synchronizovat, pokud je cílem synchronizace "
#~ "místní souborový systém. Viz `sync.target`."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Web Joplinu"

View File

@@ -598,9 +598,8 @@ msgstr "Importerer fra \"%s\" som \"%s\"-format. Vent venligst..."
msgid "PDF File"
msgstr "PDF fil"
#, fuzzy
msgid "&File"
msgstr "Fil"
msgid "Synchronisation status"
msgstr "Synkroniserings status"
msgid "New note"
msgstr "Ny note"
@@ -611,6 +610,35 @@ msgstr "Ny opgave"
msgid "New notebook"
msgstr "Ny notesbog"
msgid "Print"
msgstr "Udskriv"
msgid "General Options"
msgstr "Generelle indstillinger"
msgid "Encryption options"
msgstr "Krypterings muligheder"
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Fil"
msgid "About Joplin"
msgstr "Om Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Checker om der er opdateringer.."
msgid "Import"
msgstr "Importer"
@@ -620,9 +648,6 @@ msgstr "Eksporter"
msgid "Synchronise"
msgstr "Synkroniser"
msgid "Print"
msgstr "Udskriv"
#, javascript-format
msgid "Hide %s"
msgstr "Skjul %s"
@@ -687,18 +712,6 @@ msgstr "Fokuser på brødtekst"
msgid "&Tools"
msgstr "Værktøjer"
msgid "Synchronisation status"
msgstr "Synkroniserings status"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr "Krypterings muligheder"
msgid "General Options"
msgstr "Generelle indstillinger"
#, fuzzy
msgid "&Help"
msgstr "Hjælp"
@@ -709,16 +722,6 @@ msgstr "Joplins hjemmeside og dokumentation"
msgid "Make a donation"
msgstr "Giv en donation"
msgid "Check for updates..."
msgstr "Checker om der er opdateringer.."
msgid "About Joplin"
msgstr "Om Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Åben %s"
@@ -1146,9 +1149,6 @@ msgstr "Ressourcer: %d."
msgid "Please select where the sync status should be exported to"
msgstr "Vælg hvor sync status skal eksporteres til"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Tilføj eller slet mærker"
@@ -1183,6 +1183,14 @@ msgstr "Slet noter?"
msgid "Delete these %d notes?"
msgstr "Slet disse noter?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Forbrug: %s"
@@ -1335,6 +1343,13 @@ msgstr "Kan ikke kopiere note til \"%s\" notesbog"
msgid "Cannot move note to \"%s\" notebook"
msgstr "Kan ikke flytte note til \"%s\" notesbog"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Sprog"
@@ -1385,6 +1400,43 @@ msgstr "Fokuser på brødtekst"
msgid "When creating a new note:"
msgstr "Ved oprettelse af ny note:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Start kryptering"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Vis ikon på bundbjælke"
@@ -1471,23 +1523,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Mappe der skal synkroniseres med (absolut sti)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Sti til synkronisering, når filsystem synkronisering er slået til. Se `sync."
"target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Nextcloud brugernavn"
@@ -1535,6 +1573,9 @@ msgstr ""
msgid "Note"
msgstr "Notesbøger"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Forlad/luk program."
@@ -1864,6 +1905,17 @@ msgstr "Du har ingen notesbøger. Opret en ved at klikke på (+) knappen."
msgid "Welcome"
msgstr "Velkommen"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Denne note er ændret:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Sti til synkronisering, når filsystem synkronisering er slået til. Se "
#~ "`sync.target`."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Joplin hjemmeside"

View File

@@ -129,7 +129,6 @@ msgstr "Markiert ein To-Do als erledigt."
msgid "Note is not a to-do: \"%s\""
msgstr "Notiz ist kein To-Do: \"%s\""
#, fuzzy
msgid ""
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, "
"`status`, `decrypt-file` and `target-status`."
@@ -619,8 +618,8 @@ msgstr "Importiere „%s“ ins „%s“ Format. Bitte warten..."
msgid "PDF File"
msgstr "PDF-Datei"
msgid "&File"
msgstr "&Datei"
msgid "Synchronisation status"
msgstr "Status der Synchronisation"
msgid "New note"
msgstr "Neue Notiz"
@@ -631,6 +630,34 @@ msgstr "Neues To-Do"
msgid "New notebook"
msgstr "Neues Notizbuch"
msgid "Print"
msgstr "Drucken"
msgid "General Options"
msgstr "Allgemeine Einstellungen"
msgid "Encryption options"
msgstr "Verschlüsselungsoptionen"
msgid "Web clipper options"
msgstr "Web-Clipper Optionen"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
msgid "&File"
msgstr "&Datei"
msgid "About Joplin"
msgstr "Über Joplin"
msgid "Preferences..."
msgstr "Einstellungen..."
msgid "Check for updates..."
msgstr "Überprüfe auf Aktualisierungen..."
msgid "Import"
msgstr "Importieren"
@@ -640,9 +667,6 @@ msgstr "Exportieren"
msgid "Synchronise"
msgstr "Synchronisieren"
msgid "Print"
msgstr "Drucken"
#, javascript-format
msgid "Hide %s"
msgstr "%s ausblenden"
@@ -701,18 +725,6 @@ msgstr "Fokus"
msgid "&Tools"
msgstr "&Werkzeuge"
msgid "Synchronisation status"
msgstr "Status der Synchronisation"
msgid "Web clipper options"
msgstr "Web-Clipper Optionen"
msgid "Encryption options"
msgstr "Verschlüsselungsoptionen"
msgid "General Options"
msgstr "Allgemeine Einstellungen"
msgid "&Help"
msgstr "&Hilfe"
@@ -722,16 +734,6 @@ msgstr "Webseite und Dokumentation"
msgid "Make a donation"
msgstr "Spenden"
msgid "Check for updates..."
msgstr "Überprüfe auf Aktualisierungen..."
msgid "About Joplin"
msgstr "Über Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Öffne %s"
@@ -1178,9 +1180,6 @@ msgid "Please select where the sync status should be exported to"
msgstr ""
"Bitte wähle aus, wohin der Synchronisations-Status exportiert werden soll"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Schlagwörter hinzufügen oder entfernen"
@@ -1211,6 +1210,16 @@ msgstr "Notiz \"%s\" löschen?"
msgid "Delete these %d notes?"
msgstr "Sollen diese %d Notizen gelöscht werden?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
"Tippe einen Notiz Titel um hinzuspringen. Oder tippe # gefolgt von einem "
"Schlagwort, oder @ gefolgt von einem Notizbuch-Namen."
msgid "Goto Anything..."
msgstr "Gehe zu..."
#, javascript-format
msgid "Usage: %s"
msgstr "Nutzung: %s"
@@ -1360,6 +1369,16 @@ msgstr "Kann Notiz nicht zu Notizbuch \"%s\" kopieren"
msgid "Cannot move note to \"%s\" notebook"
msgstr "Kann Notiz nicht zu Notizbuch \"%s\" verschieben"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Achtung: Stelle sicher, dass Du vor der Synchronisation alle Inhalte an den "
"neuen Ablageort kopiert hast, sonst werden alle Dateien gelöscht! Lies auch "
"die FAQs hierzu: %s"
msgid "Language"
msgstr "Sprache"
@@ -1390,9 +1409,8 @@ msgstr "Sortiere Notizen nach"
msgid "Reverse sort order"
msgstr "Sortierreihenfolge umdrehen"
#, fuzzy
msgid "Sort notebooks by"
msgstr "Sortiere Notizen nach"
msgstr "Sortiere Notizbücher nach"
msgid "Save geo-location with notes"
msgstr "Momentanen Standort zusammen mit Notizen speichern"
@@ -1409,6 +1427,42 @@ msgstr "Fokussiere Inhalt"
msgid "When creating a new note:"
msgstr "Wenn eine neue Notiz erstellt wird:"
msgid "Enable soft breaks"
msgstr "Aktiviere weiche Zeilenumbrüche"
msgid "Enable math expressions"
msgstr "Aktiviere mathematische Ausdrücke"
msgid "Enable ==mark== syntax"
msgstr "Aktiviere ==mark== Syntax"
msgid "Enable footnotes"
msgstr "Aktiviere Fußnoten"
msgid "Enable table of contents extension"
msgstr "Aktiviere Inhaltsverzeichnis Erweiterung"
msgid "Enable ~sub~ syntax"
msgstr "Aktiviere ~sub~ Syntax"
msgid "Enable ^sup^ syntax"
msgstr "Aktiviere ^sup^ Syntax"
msgid "Enable deflist syntax"
msgstr "Aktiviere deflist Syntax"
msgid "Enable abbreviation syntax"
msgstr "Aktiviere abbreviation Syntax"
msgid "Enable markdown emoji"
msgstr "Aktiviere markdown emoji"
msgid "Enable ++insert++ syntax"
msgstr "Aktiviere ++insert++ Syntax"
msgid "Enable multimarkdown table extension"
msgstr "Aktiviere multimarkdown Tabellen Erweiterung"
msgid "Show tray icon"
msgstr "Zeige Tray-Icon"
@@ -1496,26 +1550,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Verzeichnis mit dem synchronisiert werden soll (absoluter Pfad)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Der Pfad, mit dem synchronisiert werden soll, wenn die Dateisystem-"
"Synchronisation aktiviert ist. Siehe `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV-URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Achtung: Stelle sicher, dass Du vor der Synchronisation alle Inhalte an den "
"neuen Ablageort kopiert hast, sonst werden alle Dateien gelöscht! Lies auch "
"die FAQs hierzu: %s"
msgid "Nextcloud username"
msgstr "Nextcloud-Benutzername"
@@ -1565,6 +1602,9 @@ msgstr "Erscheinungsbild"
msgid "Note"
msgstr "Notiz"
msgid "Plugins"
msgstr "Zusatzprogramme"
# 'Applikation' or 'Anwendung' - both translations are correct.
msgid "Application"
msgstr "Applikation"
@@ -1908,6 +1948,20 @@ msgstr ""
msgid "Welcome"
msgstr "Willkommen"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Diese Notiz wurde verändert:"
#~ msgid "Table of contents"
#~ msgstr "Inhaltsverzeichnis"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Der Pfad, mit dem synchronisiert werden soll, wenn die Dateisystem-"
#~ "Synchronisation aktiviert ist. Siehe `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -527,7 +527,7 @@ msgstr ""
msgid "PDF File"
msgstr ""
msgid "&File"
msgid "Synchronisation status"
msgstr ""
msgid "New note"
@@ -539,6 +539,34 @@ msgstr ""
msgid "New notebook"
msgstr ""
msgid "Print"
msgstr ""
msgid "General Options"
msgstr ""
msgid "Encryption options"
msgstr ""
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr ""
msgid "&File"
msgstr ""
msgid "About Joplin"
msgstr ""
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Import"
msgstr ""
@@ -548,9 +576,6 @@ msgstr ""
msgid "Synchronise"
msgstr ""
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
@@ -609,18 +634,6 @@ msgstr ""
msgid "&Tools"
msgstr ""
msgid "Synchronisation status"
msgstr ""
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr ""
msgid "General Options"
msgstr ""
msgid "&Help"
msgstr ""
@@ -630,16 +643,6 @@ msgstr ""
msgid "Make a donation"
msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr ""
@@ -1046,9 +1049,6 @@ msgstr ""
msgid "Please select where the sync status should be exported to"
msgstr ""
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr ""
@@ -1079,6 +1079,14 @@ msgstr ""
msgid "Delete these %d notes?"
msgstr ""
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr ""
@@ -1219,6 +1227,13 @@ msgstr ""
msgid "Cannot move note to \"%s\" notebook"
msgstr ""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr ""
@@ -1267,6 +1282,42 @@ msgstr ""
msgid "When creating a new note:"
msgstr ""
msgid "Enable soft breaks"
msgstr ""
msgid "Enable math expressions"
msgstr ""
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1343,21 +1394,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr ""
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr ""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr ""
@@ -1402,6 +1441,9 @@ msgstr ""
msgid "Note"
msgstr ""
msgid "Plugins"
msgstr ""
msgid "Application"
msgstr ""

1790
CliClient/locales/en_US.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -606,8 +606,8 @@ msgstr "Importando el formato de \"%s\" a \"%s\". Por favor espere..."
msgid "PDF File"
msgstr "Archivo PDF"
msgid "&File"
msgstr "&Archivo"
msgid "Synchronisation status"
msgstr "Estado de la sincronización"
msgid "New note"
msgstr "Nueva nota"
@@ -618,6 +618,34 @@ msgstr "Nueva lista de tareas"
msgid "New notebook"
msgstr "Nueva libreta"
msgid "Print"
msgstr "Imprimir"
msgid "General Options"
msgstr "Opciones generales"
msgid "Encryption options"
msgstr "Opciones de cifrado"
msgid "Web clipper options"
msgstr "Opciones de recorte web"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
msgid "&File"
msgstr "&Archivo"
msgid "About Joplin"
msgstr "Acerca de Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Comprobar actualizaciones..."
msgid "Import"
msgstr "Importar"
@@ -627,9 +655,6 @@ msgstr "Exportar"
msgid "Synchronise"
msgstr "Sincronizar"
msgid "Print"
msgstr "Imprimir"
#, javascript-format
msgid "Hide %s"
msgstr "Oculta %s"
@@ -688,18 +713,6 @@ msgstr "Foco"
msgid "&Tools"
msgstr "&Herramientas"
msgid "Synchronisation status"
msgstr "Estado de la sincronización"
msgid "Web clipper options"
msgstr "Opciones de recorte web"
msgid "Encryption options"
msgstr "Opciones de cifrado"
msgid "General Options"
msgstr "Opciones generales"
msgid "&Help"
msgstr "&Ayuda"
@@ -709,16 +722,6 @@ msgstr "Sitio web y documentación"
msgid "Make a donation"
msgstr "Hacer una donación"
msgid "Check for updates..."
msgstr "Comprobar actualizaciones..."
msgid "About Joplin"
msgstr "Acerca de Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Abrir %s"
@@ -1152,9 +1155,6 @@ msgstr "Obteniendo refuersos: %d"
msgid "Please select where the sync status should be exported to"
msgstr "Seleccione a dónde se debería exportar el estado de sincronización"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Añadir o borrar etiquetas"
@@ -1185,6 +1185,14 @@ msgstr "¿Borrar nota \"%s\"?"
msgid "Delete these %d notes?"
msgstr "Borrar %d notas?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Uso: %s"
@@ -1334,6 +1342,16 @@ msgstr "No se ha podido copiar la nota a la libreta «%s»"
msgid "Cannot move note to \"%s\" notebook"
msgstr "No se ha podido mover la nota a la libreta «%s»"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Atención: Si cambias esta ubicación, asegúrate de copiar todo tu contenido "
"antes de sincronizarlo, de lo contrario todos los archivos serán eliminados. "
"Consulte las preguntas frecuentes para obtener más detalles: %s"
msgid "Language"
msgstr "Idioma"
@@ -1383,6 +1401,43 @@ msgstr "Foco en el cuerpo"
msgid "When creating a new note:"
msgstr "Cuando se crear una nota nueva:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Habilitar cifrado"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Mostrar icono en la bandeja"
@@ -1471,26 +1526,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Directorio con el que sincronizarse (ruta completa)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"La ruta a la que sincronizar cuando se activa la sincronización con sistema "
"de archivos. Vea «sync.target»."
msgid "Nextcloud WebDAV URL"
msgstr "Servidor WebDAV de Nextcloud"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Atención: Si cambias esta ubicación, asegúrate de copiar todo tu contenido "
"antes de sincronizarlo, de lo contrario todos los archivos serán eliminados. "
"Consulte las preguntas frecuentes para obtener más detalles: %s"
msgid "Nextcloud username"
msgstr "Usuario de Nextcloud"
@@ -1540,6 +1578,9 @@ msgstr "Apariencia"
msgid "Note"
msgstr "Nota"
msgid "Plugins"
msgstr ""
msgid "Application"
msgstr "Aplicación"
@@ -1876,6 +1917,17 @@ msgstr ""
msgid "Welcome"
msgstr "Bienvenido"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Esta nota ha sido modificada:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "La ruta a la que sincronizar cuando se activa la sincronización con "
#~ "sistema de archivos. Vea «sync.target»."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -605,9 +605,8 @@ msgstr ""
msgid "PDF File"
msgstr "Fitxategia"
#, fuzzy
msgid "&File"
msgstr "Fitxategia"
msgid "Synchronisation status"
msgstr "Sinkronizazioaren egoera"
msgid "New note"
msgstr "Ohar berria"
@@ -618,6 +617,35 @@ msgstr "Zeregin berria"
msgid "New notebook"
msgstr "Koaderno berria"
msgid "Print"
msgstr ""
msgid "General Options"
msgstr "Ezarpenak"
msgid "Encryption options"
msgstr "Zifratzeko aukerak"
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Fitxategia"
msgid "About Joplin"
msgstr "Joplin-i buruz"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Import"
msgstr "Inportatu"
@@ -628,9 +656,6 @@ msgstr "Inportatu"
msgid "Synchronise"
msgstr "Sinkronizatu"
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
@@ -693,18 +718,6 @@ msgstr ""
msgid "&Tools"
msgstr "Tresnak"
msgid "Synchronisation status"
msgstr "Sinkronizazioaren egoera"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr "Zifratzeko aukerak"
msgid "General Options"
msgstr "Ezarpenak"
#, fuzzy
msgid "&Help"
msgstr "Laguntza"
@@ -716,16 +729,6 @@ msgstr "Web orria eta dokumentazioa (en)"
msgid "Make a donation"
msgstr "Web orria eta dokumentazioa (en)"
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr "Joplin-i buruz"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy, javascript-format
msgid "Open %s"
msgstr "On %s: %s"
@@ -1159,9 +1162,6 @@ msgstr "Baliabideak: %d."
msgid "Please select where the sync status should be exported to"
msgstr "Aukeratu nora esportatu sinkronizazioaren egoera, mesedez"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Gehitu edo ezabatu etiketak"
@@ -1195,6 +1195,14 @@ msgstr "Oharrak ezabatu?"
msgid "Delete these %d notes?"
msgstr "Oharrok ezabatu?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Erabili: %s"
@@ -1349,6 +1357,13 @@ msgstr "Ezin kopia daiteke oharra \"%s\" koadernora"
msgid "Cannot move note to \"%s\" notebook"
msgstr "Ezin eraman daiteke oharra \"%s\" koadernora"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Hizkuntza"
@@ -1403,6 +1418,43 @@ msgstr ""
msgid "When creating a new note:"
msgstr "Ohar berria sortzen du."
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Zifratua gaitu"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1488,22 +1540,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Sinkronizatzeko direktorioa (bide-izena osorik)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Sinkronizazio sistema gaituta dagoenerako bide-izena. Ikus `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Nextcloud erabiltzaile-izena"
@@ -1554,6 +1593,9 @@ msgstr ""
msgid "Note"
msgstr "Koadernoak"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Irten aplikaziotik"
@@ -1884,6 +1926,16 @@ msgstr "Oraindik ez duzu koadernorik. Sortu bat (+) botoian sakatuta."
msgid "Welcome"
msgstr "Ongi etorri!"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Ohar hau mugitua izan da:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Sinkronizazio sistema gaituta dagoenerako bide-izena. Ikus `sync.target`."
#, fuzzy
#~ msgid "State: %s."
#~ msgstr "Egoera: \"%s\"."

View File

@@ -603,8 +603,8 @@ msgstr "Importer depuis \"%s\" au format \"%s\". Veuillez patienter..."
msgid "PDF File"
msgstr "Fichier PDF"
msgid "&File"
msgstr "&Fichier"
msgid "Synchronisation status"
msgstr "État de la synchronisation"
msgid "New note"
msgstr "Nouvelle note"
@@ -615,6 +615,34 @@ msgstr "Nouvelle tâche"
msgid "New notebook"
msgstr "Nouveau carnet"
msgid "Print"
msgstr "Imprimer"
msgid "General Options"
msgstr "Options générales"
msgid "Encryption options"
msgstr "Options de chiffrement"
msgid "Web clipper options"
msgstr "Options du Web Clipper"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
msgid "&File"
msgstr "&Fichier"
msgid "About Joplin"
msgstr "A propos de Joplin"
msgid "Preferences..."
msgstr "Préférences…"
msgid "Check for updates..."
msgstr "Vérifier les mises à jour..."
msgid "Import"
msgstr "Importer"
@@ -624,9 +652,6 @@ msgstr "Exporter"
msgid "Synchronise"
msgstr "Synchroniser"
msgid "Print"
msgstr "Imprimer"
#, javascript-format
msgid "Hide %s"
msgstr "Cacher %s"
@@ -685,18 +710,6 @@ msgstr "Naviguer"
msgid "&Tools"
msgstr "&Outils"
msgid "Synchronisation status"
msgstr "État de la synchronisation"
msgid "Web clipper options"
msgstr "Options du Web Clipper"
msgid "Encryption options"
msgstr "Options de chiffrement"
msgid "General Options"
msgstr "Options générales"
msgid "&Help"
msgstr "&Aide"
@@ -706,16 +719,6 @@ msgstr "Documentation en ligne"
msgid "Make a donation"
msgstr "Faire un don"
msgid "Check for updates..."
msgstr "Vérifier les mises à jour..."
msgid "About Joplin"
msgstr "A propos de Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Ouvrir %s"
@@ -1162,9 +1165,6 @@ msgid "Please select where the sync status should be exported to"
msgstr ""
"Veuillez sélectionner un répertoire ou exporter l'état de la synchronisation"
msgid "Table of contents"
msgstr "Table des matières"
msgid "Add or remove tags"
msgstr "Gérer les étiquettes"
@@ -1195,6 +1195,16 @@ msgstr "Supprimer note \"%s\" ?"
msgid "Delete these %d notes?"
msgstr "Supprimer ces %d notes ?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
"Entrez le titre d’une note, ou entrez # suivit du nom d’une étiquette, ou @ "
"suivit du nom d’un carnet."
msgid "Goto Anything..."
msgstr "Navigation rapide…"
#, javascript-format
msgid "Usage: %s"
msgstr "Utilisation : %s"
@@ -1343,6 +1353,16 @@ msgstr "Impossible de copier la note vers le carnet \"%s\""
msgid "Cannot move note to \"%s\" notebook"
msgstr "Impossible de déplacer la note vers le carnet \"%s\""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Attention : si vous changez cet emplacement, copiez-y tout le contenu avant "
"de synchroniser, sinon tous les fichiers seront supprimés ! Consulter la FAQ "
"pour plus de détails : %s"
msgid "Language"
msgstr "Langue"
@@ -1391,6 +1411,42 @@ msgstr "Curseur sur corps du message"
msgid "When creating a new note:"
msgstr "Lors de la création d'une note :"
msgid "Enable soft breaks"
msgstr "Activer retours à la ligne \"doux\""
msgid "Enable math expressions"
msgstr "Activer les expressions mathématiques"
msgid "Enable ==mark== syntax"
msgstr "Activer la syntaxe pour ==surligner=="
msgid "Enable footnotes"
msgstr "Activer les notes de bas de page"
msgid "Enable table of contents extension"
msgstr "Activer la table des matières"
msgid "Enable ~sub~ syntax"
msgstr "Activer la syntaxe ~indice~"
msgid "Enable ^sup^ syntax"
msgstr "Activer la syntaxe ^exposant^"
msgid "Enable deflist syntax"
msgstr "Activer les listes de définitions"
msgid "Enable abbreviation syntax"
msgstr "Activer la syntaxe pour abréviations"
msgid "Enable markdown emoji"
msgstr "Activer la syntaxe émoji"
msgid "Enable ++insert++ syntax"
msgstr "Activer la syntaxe ++insertion++"
msgid "Enable multimarkdown table extension"
msgstr "Activer les tables multi-markdown"
msgid "Show tray icon"
msgstr "Afficher l'icône dans la zone de notifications"
@@ -1478,26 +1534,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Répertoire avec lequel synchroniser (chemin absolu)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Le chemin du répertoire avec lequel synchroniser lorsque la synchronisation "
"par système de fichier est activée. Voir `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud : URL WebDAV"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Attention : si vous changez cet emplacement, copiez-y tout le contenu avant "
"de synchroniser, sinon tous les fichiers seront supprimés ! Consulter la FAQ "
"pour plus de détails : %s"
msgid "Nextcloud username"
msgstr "Nextcloud : Nom utilisateur"
@@ -1547,6 +1586,9 @@ msgstr "Apparence"
msgid "Note"
msgstr "Note"
msgid "Plugins"
msgstr "Modules"
msgid "Application"
msgstr "Application"
@@ -1885,6 +1927,20 @@ msgstr ""
msgid "Welcome"
msgstr "Bienvenue"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Cette note a été modifiée :"
#~ msgid "Table of contents"
#~ msgstr "Table des matières"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Le chemin du répertoire avec lequel synchroniser lorsque la "
#~ "synchronisation par système de fichier est activée. Voir `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -598,9 +598,8 @@ msgstr "Importando de «%s» como formato «%s». Agarde..."
msgid "PDF File"
msgstr "Ficheiro PDF"
#, fuzzy
msgid "&File"
msgstr "Ficheiro"
msgid "Synchronisation status"
msgstr "Estado da sincronización"
msgid "New note"
msgstr "Nova nota"
@@ -611,6 +610,35 @@ msgstr "Nova tarefa"
msgid "New notebook"
msgstr "Novo caderno"
msgid "Print"
msgstr "Imprimir"
msgid "General Options"
msgstr "Opcións xerais"
msgid "Encryption options"
msgstr "Opcións de cifrado"
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Ficheiro"
msgid "About Joplin"
msgstr "Sobre o Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Buscar actualizacións…"
msgid "Import"
msgstr "Importar"
@@ -620,9 +648,6 @@ msgstr "Exportar"
msgid "Synchronise"
msgstr "Sincronizar"
msgid "Print"
msgstr "Imprimir"
#, javascript-format
msgid "Hide %s"
msgstr "Ocultar %s"
@@ -687,18 +712,6 @@ msgstr "Focar no corpo"
msgid "&Tools"
msgstr "Ferramentas"
msgid "Synchronisation status"
msgstr "Estado da sincronización"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr "Opcións de cifrado"
msgid "General Options"
msgstr "Opcións xerais"
#, fuzzy
msgid "&Help"
msgstr "Axuda"
@@ -709,16 +722,6 @@ msgstr "Sitio web e documentación"
msgid "Make a donation"
msgstr "Doar"
msgid "Check for updates..."
msgstr "Buscar actualizacións…"
msgid "About Joplin"
msgstr "Sobre o Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Abrir %s"
@@ -1146,9 +1149,6 @@ msgstr "Recursos: %d."
msgid "Please select where the sync status should be exported to"
msgstr "Seleccione onde exportar o estado da sincronización"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Engadir ou eliminar etiquetas"
@@ -1183,6 +1183,14 @@ msgstr "Desexa eliminar as notas?"
msgid "Delete these %d notes?"
msgstr "Desexa eliminar estas notas?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Uso: %s"
@@ -1335,6 +1343,13 @@ msgstr "Non é posíbel copiar a nota ao caderno «%s»"
msgid "Cannot move note to \"%s\" notebook"
msgstr "Non é posíbel mover a nota ao caderno «%s»"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Idioma"
@@ -1385,6 +1400,43 @@ msgstr "Focar no corpo"
msgid "When creating a new note:"
msgstr "Cando se crea unha nova nota:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Activar cifrado"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Mostrar a icona na bandexa"
@@ -1471,23 +1523,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Cartafol a sincronizar con (ruta absoluta)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Ruta para sincronizar cando estea activada a sincronización do sistema de "
"ficheiros. Vexa «sync.target»."
msgid "Nextcloud WebDAV URL"
msgstr "URL de Nextcloud WebDAV"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Usuario de Nextcloud"
@@ -1535,6 +1573,9 @@ msgstr ""
msgid "Note"
msgstr "Cadernos"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Sae do aplicativo."
@@ -1864,6 +1905,17 @@ msgstr "Non ten cadernos actualmente. Cree un premendo no botón (+)."
msgid "Welcome"
msgstr "Benvido/a"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Esta nota foi modificada:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Ruta para sincronizar cando estea activada a sincronización do sistema de "
#~ "ficheiros. Vexa «sync.target»."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Sitio web de Joplin"

View File

@@ -601,9 +601,8 @@ msgstr ""
msgid "PDF File"
msgstr "Datoteka"
#, fuzzy
msgid "&File"
msgstr "Datoteka"
msgid "Synchronisation status"
msgstr "Status sinkronizacije"
msgid "New note"
msgstr "Nova bilješka"
@@ -614,6 +613,36 @@ msgstr "Novi zadatak"
msgid "New notebook"
msgstr "Nova bilježnica"
msgid "Print"
msgstr ""
#, fuzzy
msgid "General Options"
msgstr "Opcije"
msgid "Encryption options"
msgstr ""
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Datoteka"
msgid "About Joplin"
msgstr "O Joplinu"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Import"
msgstr "Uvoz"
@@ -624,9 +653,6 @@ msgstr "Uvoz"
msgid "Synchronise"
msgstr "Sinkroniziraj"
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
@@ -690,19 +716,6 @@ msgstr "Naslov bilješke:"
msgid "&Tools"
msgstr "Alati"
msgid "Synchronisation status"
msgstr "Status sinkronizacije"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr ""
#, fuzzy
msgid "General Options"
msgstr "Opcije"
#, fuzzy
msgid "&Help"
msgstr "Pomoć"
@@ -714,16 +727,6 @@ msgstr "Website i dokumentacija"
msgid "Make a donation"
msgstr "Website i dokumentacija"
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr "O Joplinu"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy, javascript-format
msgid "Open %s"
msgstr "On %s: %s"
@@ -1145,9 +1148,6 @@ msgstr "Resursi: %d."
msgid "Please select where the sync status should be exported to"
msgstr "Odaberi lokaciju za izvoz statusa sinkronizacije"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Dodaj ili makni oznake"
@@ -1181,6 +1181,14 @@ msgstr "Obriši bilješke?"
msgid "Delete these %d notes?"
msgstr "Obriši ove bilješke?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Korištenje: %s"
@@ -1332,6 +1340,13 @@ msgstr "Ne mogu kopirati bilješku u bilježnicu %s"
msgid "Cannot move note to \"%s\" notebook"
msgstr "Ne mogu premjestiti bilješku u bilježnicu %s"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Jezik"
@@ -1387,6 +1402,42 @@ msgstr ""
msgid "When creating a new note:"
msgstr "Stvara novu bilješku."
msgid "Enable soft breaks"
msgstr ""
msgid "Enable math expressions"
msgstr ""
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1468,23 +1519,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Direktorij za sinkroniziranje (apsolutna putanja)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Putanja do direktorija za sinkronizaciju u slučaju kad je sinkronizacija sa "
"datotečnim sustavom omogućena. Vidi `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr ""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr ""
@@ -1532,6 +1569,9 @@ msgstr ""
msgid "Note"
msgstr "Bilježnice"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Izađi iz aplikacije."
@@ -1861,6 +1901,17 @@ msgstr "Trenutno nemaš nijednu bilježnicu. Stvori novu klikom na (+) gumb."
msgid "Welcome"
msgstr "Dobro došli"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Bilješka je promijenjena:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Putanja do direktorija za sinkronizaciju u slučaju kad je sinkronizacija "
#~ "sa datotečnim sustavom omogućena. Vidi `sync.target`."
#, fuzzy
#~ msgid "State: %s."
#~ msgstr "Stanje: \"%s\"."

View File

@@ -611,9 +611,8 @@ msgstr "Importazione da \"%s\" come formato \"%s\". Si prega di attendere..."
msgid "PDF File"
msgstr "PDF File"
#, fuzzy
msgid "&File"
msgstr "File"
msgid "Synchronisation status"
msgstr "Stato di sincronizzazione"
msgid "New note"
msgstr "Nuova nota"
@@ -624,6 +623,35 @@ msgstr "Nuovo \"Cose-da-fare\""
msgid "New notebook"
msgstr "Nuovo taccuino"
msgid "Print"
msgstr "Stampa"
msgid "General Options"
msgstr "Opzioni Generali"
msgid "Encryption options"
msgstr "Opzioni Crittografia"
msgid "Web clipper options"
msgstr "Opzioni Web Clipper"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "File"
msgid "About Joplin"
msgstr "Informazione su Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Controlla aggiornamenti ..."
msgid "Import"
msgstr "Importa"
@@ -633,9 +661,6 @@ msgstr "Esporta"
msgid "Synchronise"
msgstr "Sincronizza"
msgid "Print"
msgstr "Stampa"
#, javascript-format
msgid "Hide %s"
msgstr "Nascondi %s"
@@ -698,18 +723,6 @@ msgstr "Focus sul testo"
msgid "&Tools"
msgstr "Strumenti"
msgid "Synchronisation status"
msgstr "Stato di sincronizzazione"
msgid "Web clipper options"
msgstr "Opzioni Web Clipper"
msgid "Encryption options"
msgstr "Opzioni Crittografia"
msgid "General Options"
msgstr "Opzioni Generali"
#, fuzzy
msgid "&Help"
msgstr "Aiuto"
@@ -720,16 +733,6 @@ msgstr "Sito web e documentazione"
msgid "Make a donation"
msgstr "Fai una donazione"
msgid "Check for updates..."
msgstr "Controlla aggiornamenti ..."
msgid "About Joplin"
msgstr "Informazione su Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Aprire %s"
@@ -1168,9 +1171,6 @@ msgstr "Risorse: %d."
msgid "Please select where the sync status should be exported to"
msgstr ""
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Aggiungi o rimuovi etichetta"
@@ -1201,6 +1201,14 @@ msgstr "Eliminare il taccuino \"%s\"?"
msgid "Delete these %d notes?"
msgstr "Cancellare queste note?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Uso: %s"
@@ -1349,6 +1357,13 @@ msgstr "Non posso copiare la nota nel Taccuino \"%s\""
msgid "Cannot move note to \"%s\" notebook"
msgstr "Non posso spostare la nota nel Taccuino \"%s\""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Linguaggio"
@@ -1398,6 +1413,43 @@ msgstr "Focus sul testo"
msgid "When creating a new note:"
msgstr "Quando si crea una nuova nota:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Attiva Crittografia"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Visualizza tray icon"
@@ -1485,23 +1537,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Cartella da sincronizzare con (percorso assoluto)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Il percorso di sincronizzazione quando la sincronizzazione è abilitata. Vedi "
"`sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "URL Nextcloud WebDAV"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Nome Utente Nextcloud"
@@ -1554,6 +1592,9 @@ msgstr ""
msgid "Note"
msgstr "Taccuini"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Esci dall'applicazione."
@@ -1889,6 +1930,17 @@ msgstr ""
msgid "Welcome"
msgstr "Benvenuto"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Questa note è stata modificata:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Il percorso di sincronizzazione quando la sincronizzazione è abilitata. "
#~ "Vedi `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -593,9 +593,8 @@ msgstr ""
msgid "PDF File"
msgstr "PDF ファイル"
#, fuzzy
msgid "&File"
msgstr "ファイル"
msgid "Synchronisation status"
msgstr "同期状況"
msgid "New note"
msgstr "新しいノート"
@@ -606,6 +605,35 @@ msgstr "新しいToDo"
msgid "New notebook"
msgstr "新しいノートブック"
msgid "Print"
msgstr "印刷"
msgid "General Options"
msgstr "全般のオプション"
msgid "Encryption options"
msgstr "暗号化のオプション"
msgid "Web clipper options"
msgstr "Webクリッパーのオプション"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "ファイル"
msgid "About Joplin"
msgstr "Joplinについて"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "アップデートのチェック..."
msgid "Import"
msgstr "インポート"
@@ -615,9 +643,6 @@ msgstr "エクスポート"
msgid "Synchronise"
msgstr "同期"
msgid "Print"
msgstr "印刷"
#, javascript-format
msgid "Hide %s"
msgstr "%s を隠す"
@@ -680,18 +705,6 @@ msgstr "本文にフォーカス"
msgid "&Tools"
msgstr "ツール"
msgid "Synchronisation status"
msgstr "同期状況"
msgid "Web clipper options"
msgstr "Webクリッパーのオプション"
msgid "Encryption options"
msgstr "暗号化のオプション"
msgid "General Options"
msgstr "全般のオプション"
#, fuzzy
msgid "&Help"
msgstr "ヘルプ"
@@ -702,16 +715,6 @@ msgstr "Webサイトとドキュメント"
msgid "Make a donation"
msgstr "寄付する"
msgid "Check for updates..."
msgstr "アップデートのチェック..."
msgid "About Joplin"
msgstr "Joplinについて"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "%s を開く"
@@ -1145,9 +1148,6 @@ msgstr "取得中のリソース: %d"
msgid "Please select where the sync status should be exported to"
msgstr "同期状況の出力先を選択してください"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "タグの追加と削除"
@@ -1178,6 +1178,14 @@ msgstr "ノートを削除しますか?"
msgid "Delete these %d notes?"
msgstr "ノートを削除しますか?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "使用方法: %s"
@@ -1328,6 +1336,16 @@ msgstr "ノートをノートブック \"%s\" にコピーできません"
msgid "Cannot move note to \"%s\" notebook"
msgstr "ノートをノートブック \"%s\" に移動できません"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"注意: この場所を変更する際は、同期する前に新しい場所にすべての内容をコピーし"
"ておきましょう。そうしないとすべてのファイルが削除されていまいます! 詳しくは"
"次のFAQをご覧ください: %s"
msgid "Language"
msgstr "言語"
@@ -1377,6 +1395,43 @@ msgstr "本文にフォーカス"
msgid "When creating a new note:"
msgstr "新しいノートを作成した際:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "暗号化を有効にする"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "トレイアイコンの表示"
@@ -1414,11 +1469,11 @@ msgid "Automatically update the application"
msgstr "アプリケーションを自動的にアップデート"
msgid "Get pre-releases when checking for updates"
msgstr ""
msgstr "更新をチェックする時、開発版を取得する"
#, javascript-format
msgid "See the pre-release page for more details: %s"
msgstr ""
msgstr "詳細についてはプレリリースページを参照してください: %s"
msgid "Synchronisation interval"
msgstr "同期間隔"
@@ -1461,26 +1516,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "同期先のディレクトリ(絶対パス)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"ファイルシステム同期の有効時に同期を行うパスです。`sync.target`も参考にしてく"
"ださい。"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"注意: この場所を変更する際は、同期する前に新しい場所にすべての内容をコピーし"
"ておきましょう。そうしないとすべてのファイルが削除されていまいます! 詳しくは"
"次のFAQをご覧ください: %s"
msgid "Nextcloud username"
msgstr "Nextcloud ユーザー名"
@@ -1532,6 +1570,9 @@ msgstr ""
msgid "Note"
msgstr "ノートブック"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "場所"
@@ -1867,6 +1908,17 @@ msgstr ""
msgid "Welcome"
msgstr "ようこそ"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "ノートは変更されています:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "ファイルシステム同期の有効時に同期を行うパスです。`sync.target`も参考にし"
#~ "てください。"
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "JoplinのWebサイト"

View File

@@ -527,7 +527,7 @@ msgstr ""
msgid "PDF File"
msgstr ""
msgid "&File"
msgid "Synchronisation status"
msgstr ""
msgid "New note"
@@ -539,6 +539,34 @@ msgstr ""
msgid "New notebook"
msgstr ""
msgid "Print"
msgstr ""
msgid "General Options"
msgstr ""
msgid "Encryption options"
msgstr ""
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr ""
msgid "&File"
msgstr ""
msgid "About Joplin"
msgstr ""
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Import"
msgstr ""
@@ -548,9 +576,6 @@ msgstr ""
msgid "Synchronise"
msgstr ""
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
@@ -609,18 +634,6 @@ msgstr ""
msgid "&Tools"
msgstr ""
msgid "Synchronisation status"
msgstr ""
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr ""
msgid "General Options"
msgstr ""
msgid "&Help"
msgstr ""
@@ -630,16 +643,6 @@ msgstr ""
msgid "Make a donation"
msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr ""
@@ -1046,9 +1049,6 @@ msgstr ""
msgid "Please select where the sync status should be exported to"
msgstr ""
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr ""
@@ -1079,6 +1079,14 @@ msgstr ""
msgid "Delete these %d notes?"
msgstr ""
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr ""
@@ -1219,6 +1227,13 @@ msgstr ""
msgid "Cannot move note to \"%s\" notebook"
msgstr ""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr ""
@@ -1267,6 +1282,42 @@ msgstr ""
msgid "When creating a new note:"
msgstr ""
msgid "Enable soft breaks"
msgstr ""
msgid "Enable math expressions"
msgstr ""
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1343,21 +1394,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr ""
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr ""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr ""
@@ -1402,6 +1441,9 @@ msgstr ""
msgid "Note"
msgstr ""
msgid "Plugins"
msgstr ""
msgid "Application"
msgstr ""

View File

@@ -590,9 +590,8 @@ msgstr "\"%s\"에서 \"%s\" 포맷으로 가져오는 중입니다. 잠시만
msgid "PDF File"
msgstr "PDF 파일"
#, fuzzy
msgid "&File"
msgstr "파일"
msgid "Synchronisation status"
msgstr "동기화 상태"
msgid "New note"
msgstr "새 노트"
@@ -603,6 +602,35 @@ msgstr "새 '할 일'"
msgid "New notebook"
msgstr "새 노트북"
msgid "Print"
msgstr "인쇄"
msgid "General Options"
msgstr "일반 옵션"
msgid "Encryption options"
msgstr "암호화 옵션"
msgid "Web clipper options"
msgstr "웹 수집기 옵션"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "파일"
msgid "About Joplin"
msgstr "조플린이란?"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "업데이트 확인..."
msgid "Import"
msgstr "가져오기"
@@ -612,9 +640,6 @@ msgstr "내보내기"
msgid "Synchronise"
msgstr "동기화"
msgid "Print"
msgstr "인쇄"
#, javascript-format
msgid "Hide %s"
msgstr "%s 숨기기"
@@ -677,18 +702,6 @@ msgstr "내용에 포커스"
msgid "&Tools"
msgstr "도구"
msgid "Synchronisation status"
msgstr "동기화 상태"
msgid "Web clipper options"
msgstr "웹 수집기 옵션"
msgid "Encryption options"
msgstr "암호화 옵션"
msgid "General Options"
msgstr "일반 옵션"
#, fuzzy
msgid "&Help"
msgstr "도움말"
@@ -699,16 +712,6 @@ msgstr "웹사이트 및 각종 문서"
msgid "Make a donation"
msgstr "기부하기"
msgid "Check for updates..."
msgstr "업데이트 확인..."
msgid "About Joplin"
msgstr "조플린이란?"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "%s 열기"
@@ -1139,9 +1142,6 @@ msgstr "리소스 가져오는 중: %d."
msgid "Please select where the sync status should be exported to"
msgstr "동기화 상태를 내보낼 대상을 선택하세요"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "태그 추가 및 제거"
@@ -1172,6 +1172,14 @@ msgstr "노트를 삭제할까요?"
msgid "Delete these %d notes?"
msgstr "노트를 삭제할까요?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "사용량: %s"
@@ -1320,6 +1328,15 @@ msgstr "노트를 \"%s\" 노트북으로 복사할 수 없습니다"
msgid "Cannot move note to \"%s\" notebook"
msgstr "노트를 \"%s\" 노트북으로 옮길 수 없습니다"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"주의: 이 위치를 변경하시려면, 동기화 전에 모든 컨텐트를 복사했는지 확인하세"
"요, 그렇지 않으면 모든 파일이 삭제됩니다! 자세한 정보는 FAQ를 참조하세요: %s"
msgid "Language"
msgstr "언어"
@@ -1369,6 +1386,43 @@ msgstr "내용에 포커스"
msgid "When creating a new note:"
msgstr "새 노트를 만들 때:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "암호화 사용"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "트레이 아이콘 표시"
@@ -1454,25 +1508,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "동기화를 할 폴더 (절대적 경로)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"파일 시스템 동기화가 활성화된 경우에 동기화를 할 경로입니다. `sync.target`를 "
"참조하세요."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"주의: 이 위치를 변경하시려면, 동기화 전에 모든 컨텐트를 복사했는지 확인하세"
"요, 그렇지 않으면 모든 파일이 삭제됩니다! 자세한 정보는 FAQ를 참조하세요: %s"
msgid "Nextcloud username"
msgstr "Nextcloud 사용자 이름"
@@ -1524,6 +1562,9 @@ msgstr ""
msgid "Note"
msgstr "노트북"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "위치"
@@ -1856,6 +1897,17 @@ msgstr "노트북이 없습니다. (+) 버튼을 눌러 새로 만드세요."
msgid "Welcome"
msgstr "환영합니다"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "노트가 변경되었습니다:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "파일 시스템 동기화가 활성화된 경우에 동기화를 할 경로입니다. `sync.target`"
#~ "를 참조하세요."
#~ msgid "Joplin v%s"
#~ msgstr "조플린 v%s"

View File

@@ -17,8 +17,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "To delete a tag, untag the associated notes."
msgstr ""
"Hvis du vil slette en merkelapp, fjern merkelappen fra merkede notater."
msgstr "For å slette en merkelapp, fjern merkelappen fra merkede notater."
msgid "Please select the note or notebook to be deleted first."
msgstr "Vennligst velg notatet eller notatboken som skal slettes først."
@@ -124,14 +123,13 @@ msgstr "Markerer et gjøremål som ferdig."
msgid "Note is not a to-do: \"%s\""
msgstr "Notat er ikke et gjøremål: \"%s\""
#, fuzzy
msgid ""
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, "
"`status`, `decrypt-file` and `target-status`."
msgstr ""
"Utfører E2EE-konfiguration. Tilgjengelige kommandoer er: `enable`(aktiver), "
"`disable`(lukk), `decrypt`(dekrypter), `status` og `target-status` (mottager-"
"status)."
"Konfigurerer E2EE-konfigurasjon. Tilgjengelige kommandoer er: "
"`enable`(aktiver), `disable`(lukk), `decrypt`(dekrypter), `status` og "
"`target-status` (mottager-status)."
msgid "Enter master password:"
msgstr "Skriv inn masterpassordet:"
@@ -187,7 +185,7 @@ msgid "Note has been saved."
msgstr "Notat har blitt lagret."
msgid "Exits the application."
msgstr "Forlat programmet."
msgstr "Avslutter programmet."
msgid ""
"Exports Joplin data to the given path. By default, it will export the "
@@ -344,7 +342,7 @@ msgid "Please select a notebook first."
msgstr "Vennligst velg en notatbok først."
msgid "Creates a new notebook."
msgstr "Opprettter en ny notatbok."
msgstr "Oppretter en ny notatbok."
msgid "Creates a new note."
msgstr "Oppretter et nytt notat."
@@ -382,7 +380,7 @@ msgstr "Sletter notatene uten bekreftelse."
#, javascript-format
msgid "%d notes match this pattern. Delete them?"
msgstr "%d notater passer dette mønsteret. Slette dem?"
msgstr "%d notater passer dette mønsteret. Vil du slette de?"
msgid "Delete note?"
msgstr "Slett notat?"
@@ -413,7 +411,7 @@ msgstr "Sync å forsynt mål (uteblivelsene å sync. target config-verdi)"
msgid ""
"Authentication was not completed (did not receive an authentication token)."
msgstr "Godkjenning ble ikke fullført (mottok ikke et godkjennings tegn)."
msgstr "Godkjenning ble ikke fullført (mottok ikke et autoriseringsbevis)."
msgid ""
"To allow Joplin to synchronise with Dropbox, please follow the steps below:"
@@ -578,18 +576,16 @@ msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Eksporterer til \"%s\" i \"%s\" format. Vennligst vent..."
msgid "Sidebar"
msgstr ""
msgstr "Sidepanel"
msgid "Note list"
msgstr ""
msgstr "Notatliste"
#, fuzzy
msgid "Note title"
msgstr "Tittel på notatbok:"
msgstr "Tittel på notat:"
#, fuzzy
msgid "Note body"
msgstr "Notatbøker"
msgstr "Notatbrødtekst"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
@@ -598,9 +594,8 @@ msgstr "Importerer fra \"%s\" i \"%s\"-format. Vennligst vent..."
msgid "PDF File"
msgstr "PDF-fil"
#, fuzzy
msgid "&File"
msgstr "Fil"
msgid "Synchronisation status"
msgstr "Synkroniseringsstatus"
msgid "New note"
msgstr "Nytt notat"
@@ -611,18 +606,43 @@ msgstr "Nytt gjøremål"
msgid "New notebook"
msgstr "Ny notatbok"
msgid "Print"
msgstr "Skriv ut"
msgid "General Options"
msgstr "Generelle innstillinger"
msgid "Encryption options"
msgstr "Krypteringsvalg"
msgid "Web clipper options"
msgstr "Web Clipper-innstillinger"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
msgid "&File"
msgstr "&Fil"
msgid "About Joplin"
msgstr "Om Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Se etter oppdatering..."
msgid "Import"
msgstr "Importer"
msgid "Export"
msgstr "Eksport"
msgstr "Eksporter"
msgid "Synchronise"
msgstr "Synkroniser"
msgid "Print"
msgstr "Skriv ut"
#, javascript-format
msgid "Hide %s"
msgstr "Skjul %s"
@@ -630,9 +650,8 @@ msgstr "Skjul %s"
msgid "Quit"
msgstr "Avslutt"
#, fuzzy
msgid "&Edit"
msgstr "Rediger"
msgstr "&Rediger"
msgid "Copy"
msgstr "Kopier"
@@ -653,7 +672,7 @@ msgid "Italic"
msgstr "Kursiv"
msgid "Link"
msgstr ""
msgstr "Lenke"
msgid "Insert Date Time"
msgstr "Sett inn dato/tid"
@@ -664,43 +683,26 @@ msgstr "Rediger i ekstern editor"
msgid "Search in all the notes"
msgstr "Søk i alle notater"
#, fuzzy
msgid "Search in current note"
msgstr "Søk i nåværende notat"
#, fuzzy
msgid "&View"
msgstr "Vis"
msgstr "&Vis"
msgid "Toggle sidebar"
msgstr "Vis/skjul sidepanel"
msgid "Toggle editor layout"
msgstr "Bytt editorutseende"
msgstr "Bytt editorvisning"
#, fuzzy
msgid "Focus"
msgstr "Fokuser på brødtekst"
msgstr "Fokuser"
#, fuzzy
msgid "&Tools"
msgstr "Verktøy"
msgstr "&Verktøy"
msgid "Synchronisation status"
msgstr "Synkroniseringsstatus"
msgid "Web clipper options"
msgstr "Web Clipper-innstillinger"
msgid "Encryption options"
msgstr "Krypteringsvalg"
msgid "General Options"
msgstr "Generelle innstillinger"
#, fuzzy
msgid "&Help"
msgstr "Hjelp"
msgstr "&Hjelp"
msgid "Website and documentation"
msgstr "Nettsted og dokumentasjon"
@@ -708,16 +710,6 @@ msgstr "Nettsted og dokumentasjon"
msgid "Make a donation"
msgstr "Gi et bidrag"
msgid "Check for updates..."
msgstr "Se etter oppdatering..."
msgid "About Joplin"
msgstr "Om Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Åpne %s"
@@ -819,7 +811,7 @@ msgid ""
"This authorisation token is only needed to allow third-party applications to "
"access Joplin."
msgstr ""
"Denne autoriseringsbeviset er det eneste nødvendig for å gi "
"Denne autoriseringsbeviset er det eneste nødvendige for å gi "
"tredjepartsapplikasjoner tilgang til Joplin."
#, javascript-format
@@ -827,7 +819,7 @@ msgid "Notes and settings are stored in: %s"
msgstr "Notater og innstillinger er lagret i: %s"
msgid "Browse..."
msgstr ""
msgstr "Utforsk..."
msgid "Check synchronisation configuration"
msgstr "Sjekk synkroniseringskonfigurasjon"
@@ -926,9 +918,8 @@ msgstr "Status"
msgid "Encryption is:"
msgstr "Kryptering er:"
#, fuzzy
msgid "Usage"
msgstr "Bruk: %s"
msgstr "Bruk"
msgid "Back"
msgstr "Tilbake"
@@ -950,7 +941,7 @@ msgid "Notebook title:"
msgstr "Tittel på notatbok:"
msgid "Add or remove tags:"
msgstr "Legge til eller fjern merkelapp:"
msgstr "Legge til eller fjern merkelapper:"
msgid "Separate each tag by a comma."
msgstr "Separer hver merkelapp med komma."
@@ -965,7 +956,7 @@ msgid "Set alarm:"
msgstr "Angi alarm:"
msgid "Layout"
msgstr "Utseende"
msgstr "Visning"
msgid "Search..."
msgstr "Søk..."
@@ -1030,7 +1021,7 @@ msgstr ""
"Dette notatet har ikke noe innhold. Klikk på \"%s\" for å redigere notatet."
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
msgstr "Kun ett notat kan bli printet eller eksportert som PDF om gangen."
msgid "strong text"
msgstr "fet tekst"
@@ -1067,7 +1058,7 @@ msgid "Numbered List"
msgstr "Nummerert liste"
msgid "Bulleted List"
msgstr "Kuleliste"
msgstr "Kulepunktliste"
msgid "Checkbox"
msgstr "Avmerkingsboks"
@@ -1092,7 +1083,7 @@ msgstr "notat"
#, javascript-format
msgid "Creating new %s..."
msgstr "Lager ny %s..."
msgstr "Oppretter nytt %s..."
msgid "Refresh"
msgstr "Oppdater"
@@ -1118,18 +1109,20 @@ msgstr "Krypteringsinnstillinger"
msgid "Clipper Options"
msgstr "Clipper-innstillinger"
#, fuzzy, javascript-format
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
"\n"
"All notes and sub-notebooks within this notebook will also be deleted."
msgstr ""
"Slette notatbok? Alle notater og underliggende notatbøker i denne notatboken "
"vil også bli slettet."
"Slette notatbok \"&s\"?\n"
"\n"
"Alle notater og underliggende notatbøker i denne notatboken vil også bli "
"slettet."
#, fuzzy, javascript-format
#, javascript-format
msgid "Remove tag \"%s\" from all notes?"
msgstr "Fjern denne merkelappen fra alle notater?"
msgstr "Fjern denne merkelappen \"%s\" fra alle notater?"
msgid "Remove this search from the sidebar?"
msgstr "Fjerne dette søket fra sidepanelet?"
@@ -1154,9 +1147,6 @@ msgstr "Henter ressurser: %d"
msgid "Please select where the sync status should be exported to"
msgstr "Velg hvor synkroniseringsstatusen skal eksporteres til"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Legg til eller fjern merkelapper"
@@ -1179,13 +1169,21 @@ msgstr "Bytt til gjøremålmodus"
msgid "Copy Markdown link"
msgstr "Kopier Markdown-link"
#, fuzzy, javascript-format
#, javascript-format
msgid "Delete note \"%s\"?"
msgstr "Slette notater?"
msgstr "Slette notat \"%s\"?"
#, fuzzy, javascript-format
#, javascript-format
msgid "Delete these %d notes?"
msgstr "Slett disse notatene?"
msgstr "Slett disse %d notatene?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
@@ -1276,7 +1274,7 @@ msgstr "Slettet eksterne elementer: %d."
#, javascript-format
msgid "Fetched items: %d/%d."
msgstr "Hentede elementer: %d/%d."
msgstr "Hentet elementer: %d/%d."
msgid "Cancelling..."
msgstr "Avbryter…"
@@ -1322,7 +1320,7 @@ msgid "Notebooks cannot be named \"%s\", which is a reserved title."
msgstr "Notatbøker kan ikke hete %s, som er en reservert tittel."
msgid "created date"
msgstr "opprettet"
msgstr "dato opprettet"
msgid "This note does not have geolocation information."
msgstr "Dette notatet har ingen stedsinformasjon."
@@ -1335,6 +1333,16 @@ msgstr "Kan ikke kopiere notat til notatenboken \"%s\""
msgid "Cannot move note to \"%s\" notebook"
msgstr "Kan ikke flytte notatet til notatboken \"%s\""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Viktig: Dersom du endrer denne lokasjonen, sørg for at du kopierer alt "
"innhold dit før du synkroniserer. Hvis ikke blir alle filer fjernet! Se FAQ "
"for flere detaljer: %s"
msgid "Language"
msgstr "Språk"
@@ -1365,7 +1373,6 @@ msgstr "Sorter notater etter"
msgid "Reverse sort order"
msgstr "Reverser sorteringsrekkefølge"
#, fuzzy
msgid "Sort notebooks by"
msgstr "Sorter notater etter"
@@ -1384,6 +1391,46 @@ msgstr "Fokuser på brødtekst"
msgid "When creating a new note:"
msgstr "Når du lager et nytt notat:"
#, fuzzy
msgid "Enable soft breaks"
msgstr "Liste over innhold"
#, fuzzy
msgid "Enable math expressions"
msgstr "Aktiver kryptering"
msgid "Enable ==mark== syntax"
msgstr ""
#, fuzzy
msgid "Enable footnotes"
msgstr "Liste over innhold"
#, fuzzy
msgid "Enable table of contents extension"
msgstr "Liste over innhold"
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Vis systemmenyikon"
@@ -1405,12 +1452,11 @@ msgstr "Start applikasjonen minimert som systemmenyikon"
msgid "Global zoom percentage"
msgstr "Global forstørrelse"
#, fuzzy
msgid "Editor font size"
msgstr "Editor skriftstørrelse"
msgstr "Editorskriftstørrelse"
msgid "Editor font family"
msgstr "Editor skrifttype"
msgstr "Editorskrifttype"
msgid ""
"This must be *monospace* font or it will not work properly. If the font is "
@@ -1469,28 +1515,11 @@ msgstr ""
"som er navngitt som `sync.NUM.NAME` (dokumentert nedenfor)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Mappe å synkronisere med (absolutt sti)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Stien som skal synkroniseres når filsystemsynkronisering er aktivert. Se "
"`sync.target`."
msgstr "Katalog å synkronisere med (absolutt sti)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV-URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Viktig: Dersom du endrer denne lokasjonen, sørg for at du kopierer alt "
"innhold dit før du synkroniserer. Hvis ikke blir alle filer fjernet! Se FAQ "
"for flere detaljer: %s"
msgid "Nextcloud username"
msgstr "Nextcloud-brukernavn"
@@ -1518,7 +1547,7 @@ msgstr ""
"Kommaseparert liste over stier til mapper å laste sertifikater fra, eller "
"sti til individuelle sertifikatfiler. For eksempel: /my/cert_dir, /other/"
"custom.perm. Merk at dersom du gjør endringer til TLS-innstillingene må du "
"lagre endringer før du velger \"Sjekk synkroniseringsstatus\"."
"lagre endringer før du velger \"Sjekk synkroniseringskonfigurasjon\"."
msgid "Ignore TLS certificate errors"
msgstr "Ignorer TLS-sertifikatfeil"
@@ -1527,24 +1556,23 @@ msgstr "Ignorer TLS-sertifikatfeil"
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Ugyldig verdi: \"%s\". Mulige verdier er: %s."
#, fuzzy
msgid "General"
msgstr "Generelle innstillinger"
#, fuzzy
msgid "Synchronisation"
msgstr "Synkroniseringsstatus"
msgstr "Synkronisering"
msgid "Appearance"
msgstr "Utseende"
msgid "Note"
msgstr "Notat"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Note"
msgstr "Notatbøker"
#, fuzzy
msgid "Application"
msgstr "Lokasjon"
msgstr "Applikasjon"
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
@@ -1758,7 +1786,7 @@ msgstr "Joplins nettsted"
msgid "Database v%s"
msgstr "Database v%s"
#, fuzzy, javascript-format
#, javascript-format
msgid "FTS enabled: %d"
msgstr "Fulltekstsøk aktivert: %d"
@@ -1799,7 +1827,7 @@ msgid "Errors only"
msgstr "Kun feilmeldinger"
msgid "This note has been modified:"
msgstr "Dette notatet har blitt modifisert:"
msgstr "Dette notatet har blitt endret:"
msgid "Save changes"
msgstr "Lagre endringer"
@@ -1819,9 +1847,8 @@ msgstr "Joplins mobilapp støtter for tiden ikke denne type linker: %s"
msgid "Unsupported image type: %s"
msgstr "Bildetypen er ikke støttet: %s"
#, fuzzy
msgid "Take photo"
msgstr "Ta et bilde"
msgstr "Ta bilde"
msgid "Attach photo"
msgstr "Legg ved et bilde"
@@ -1845,7 +1872,7 @@ msgid "Show metadata"
msgstr "Vis metadata"
msgid "View on map"
msgstr "Se på kart"
msgstr "Vis på kart"
msgid "Go to source URL"
msgstr "Gå til kilde-URL"
@@ -1867,14 +1894,28 @@ msgid ""
"menu to access your existing notebooks."
msgstr ""
"Klikk på (+)-knappen for å lage et nytt notat eller en ny notatbok. Klikk på "
"sidemenyen for tilgang til dine eksisterende notatbøker."
"sidepanelet for tilgang til dine eksisterende notatbøker."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "Du har enda ingen notatbok. Lag en ved å klikke på (+)-knappen."
msgstr "Du har enda ingen notatbok. Opprett en ved å klikke på (+)-knappen."
msgid "Welcome"
msgstr "Velkommen"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Dette notatet har blitt endret:"
#~ msgid "Table of contents"
#~ msgstr "Liste over innhold"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Stien som skal synkroniseres når filsystemsynkronisering er aktivert. Se "
#~ "`sync.target`."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -607,9 +607,8 @@ msgstr ""
msgid "PDF File"
msgstr "Bestand"
#, fuzzy
msgid "&File"
msgstr "Bestand"
msgid "Synchronisation status"
msgstr "Synchronisatie status"
msgid "New note"
msgstr "Nieuwe notitie"
@@ -620,6 +619,35 @@ msgstr "Nieuwe to-do"
msgid "New notebook"
msgstr "Nieuw notitieboek"
msgid "Print"
msgstr ""
msgid "General Options"
msgstr "Algemene opties"
msgid "Encryption options"
msgstr "Versleutelopties"
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Bestand"
msgid "About Joplin"
msgstr "Over Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Import"
msgstr "Importeer"
@@ -630,9 +658,6 @@ msgstr "Importeer"
msgid "Synchronise"
msgstr "Synchroniseer"
msgid "Print"
msgstr ""
#, javascript-format
msgid "Hide %s"
msgstr ""
@@ -695,18 +720,6 @@ msgstr ""
msgid "&Tools"
msgstr "Tools"
msgid "Synchronisation status"
msgstr "Synchronisatie status"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr "Versleutelopties"
msgid "General Options"
msgstr "Algemene opties"
#, fuzzy
msgid "&Help"
msgstr "Help"
@@ -718,16 +731,6 @@ msgstr "Website en documentatie"
msgid "Make a donation"
msgstr "Website en documentatie"
msgid "Check for updates..."
msgstr ""
msgid "About Joplin"
msgstr "Over Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy, javascript-format
msgid "Open %s"
msgstr "Op %s: %s"
@@ -1163,9 +1166,6 @@ msgstr "Middelen: %d."
msgid "Please select where the sync status should be exported to"
msgstr "Selecteer waar de synchronisatie status naar geëxporteerd moet worden"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Voeg tag toe of verwijder tag"
@@ -1199,6 +1199,14 @@ msgstr "Notities verwijderen?"
msgid "Delete these %d notes?"
msgstr "Deze notities verwijderen?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Gebruik: %s"
@@ -1354,6 +1362,13 @@ msgstr "Kan notitie niet naar notitieboek \"%s\" kopiëren."
msgid "Cannot move note to \"%s\" notebook"
msgstr "Kan notitie niet naar notitieboek \"%s\" verplaatsen."
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Taal"
@@ -1408,6 +1423,43 @@ msgstr ""
msgid "When creating a new note:"
msgstr "Maakt een nieuwe notitie aan."
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Schakel encryptie in"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1490,23 +1542,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Folder om mee te synchroniseren (absolute pad)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Het pad om mee te synchroniseren als bestandssysteem synchronisatie is "
"ingeschakeld. Zie `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr ""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr ""
@@ -1556,6 +1594,9 @@ msgstr ""
msgid "Note"
msgstr "Notitieboeken"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Sluit de applicatie."
@@ -1890,6 +1931,17 @@ msgstr ""
msgid "Welcome"
msgstr "Welkom"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Deze notitie werd aangepast:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Het pad om mee te synchroniseren als bestandssysteem synchronisatie is "
#~ "ingeschakeld. Zie `sync.target`."
#, fuzzy
#~ msgid "State: %s."
#~ msgstr "Status: \"%s\""

View File

@@ -607,9 +607,8 @@ msgstr "Bezig met importeren van \"%s\" in het formaat \"%s\". Even geduld..."
msgid "PDF File"
msgstr "PDF-bestand"
#, fuzzy
msgid "&File"
msgstr "Bestand"
msgid "Synchronisation status"
msgstr "Synchronisatiestatus"
msgid "New note"
msgstr "Nieuwe notitie"
@@ -620,6 +619,35 @@ msgstr "Nieuwe taak"
msgid "New notebook"
msgstr "Nieuw notitieboek"
msgid "Print"
msgstr "Afdrukken"
msgid "General Options"
msgstr "Algemene opties"
msgid "Encryption options"
msgstr "Versleutelingsopties"
msgid "Web clipper options"
msgstr "Webclipper-opties"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Bestand"
msgid "About Joplin"
msgstr "Over Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Controleren op updates..."
msgid "Import"
msgstr "Importeren"
@@ -629,9 +657,6 @@ msgstr "Exporteren"
msgid "Synchronise"
msgstr "Synchroniseren"
msgid "Print"
msgstr "Afdrukken"
#, javascript-format
msgid "Hide %s"
msgstr "%s verbergen"
@@ -696,18 +721,6 @@ msgstr "Inhoud focussen"
msgid "&Tools"
msgstr "Hulpmiddelen"
msgid "Synchronisation status"
msgstr "Synchronisatiestatus"
msgid "Web clipper options"
msgstr "Webclipper-opties"
msgid "Encryption options"
msgstr "Versleutelingsopties"
msgid "General Options"
msgstr "Algemene opties"
#, fuzzy
msgid "&Help"
msgstr "Hulp"
@@ -718,16 +731,6 @@ msgstr "Website en documentatie"
msgid "Make a donation"
msgstr "Doneren"
msgid "Check for updates..."
msgstr "Controleren op updates..."
msgid "About Joplin"
msgstr "Over Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "%s openen"
@@ -1168,9 +1171,6 @@ msgstr "Bronnen: %d."
msgid "Please select where the sync status should be exported to"
msgstr "Kies waar de synchronisatiestatus naar moet worden geëxporteerd"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Labels toevoegen of verwijderen"
@@ -1203,6 +1203,14 @@ msgstr "Notities verwijderen?"
msgid "Delete these %d notes?"
msgstr "Deze notities verwijderen?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Gebruik: %s"
@@ -1351,6 +1359,13 @@ msgstr "Kan notitie niet kopiëren naar notitieboek \"%s\""
msgid "Cannot move note to \"%s\" notebook"
msgstr "Kan notitie niet verplaatsen naar notitieboek \"%s\""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Taal"
@@ -1400,6 +1415,43 @@ msgstr "Inhoud focussen"
msgid "When creating a new note:"
msgstr "Bij het creëren van een nieuwe notitie:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Versleuteling inschakelen"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Systeemvakpictogram tonen"
@@ -1486,23 +1538,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Map waarnaar gesynchroniseerd moet worden (absoluut pad)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Het pad waarnaar gesynchroniseerd moet worden als bestandssysteem-"
"synchronisatie is ingeschakeld. Zie `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV-URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Nextcloud-gebruikersnaam"
@@ -1555,6 +1593,9 @@ msgstr ""
msgid "Note"
msgstr "Notitieboeken"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Sluit de applicatie af."
@@ -1893,6 +1934,17 @@ msgstr ""
msgid "Welcome"
msgstr "Welkom"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Deze notitie is bewerkt:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Het pad waarnaar gesynchroniseerd moet worden als bestandssysteem-"
#~ "synchronisatie is ingeschakeld. Zie `sync.target`."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Joplin-website"

View File

@@ -164,8 +164,8 @@ msgstr "Editar nota."
msgid ""
"No text editor is defined. Please set it using `config editor <editor-path>`"
msgstr ""
"Nenhum editor de texto está definido. Defina-o usando o comando `config edit "
"<caminho-do-editor>`"
"Nenhum editor de texto está definido. Defina-o usando o comando `config "
"editor <caminho-do-editor>`"
msgid "No active notebook."
msgstr "Nenhum caderno ativo."
@@ -604,9 +604,8 @@ msgstr "Importando de \"%s\" com o formato \"%s\". Por favor, aguarde..."
msgid "PDF File"
msgstr "Arquivo PDF"
#, fuzzy
msgid "&File"
msgstr "Arquivo"
msgid "Synchronisation status"
msgstr "Status de sincronização"
msgid "New note"
msgstr "Nova nota"
@@ -617,6 +616,35 @@ msgstr "Nova tarefa"
msgid "New notebook"
msgstr "Novo caderno"
msgid "Print"
msgstr "Imprimir"
msgid "General Options"
msgstr "Opções Gerais"
msgid "Encryption options"
msgstr "Opções de Encriptação"
msgid "Web clipper options"
msgstr "Opções do Web clipper"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Arquivo"
msgid "About Joplin"
msgstr "Sobre o Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Verificar atualizações..."
msgid "Import"
msgstr "Importar"
@@ -626,9 +654,6 @@ msgstr "Exportar"
msgid "Synchronise"
msgstr "Sincronizar"
msgid "Print"
msgstr "Imprimir"
#, javascript-format
msgid "Hide %s"
msgstr "Ocultar %s"
@@ -691,18 +716,6 @@ msgstr "Focar no corpo"
msgid "&Tools"
msgstr "Ferramentas"
msgid "Synchronisation status"
msgstr "Status de sincronização"
msgid "Web clipper options"
msgstr "Opções do Web clipper"
msgid "Encryption options"
msgstr "Opções de Encriptação"
msgid "General Options"
msgstr "Opções Gerais"
#, fuzzy
msgid "&Help"
msgstr "Ajuda"
@@ -713,16 +726,6 @@ msgstr "Website e documentação"
msgid "Make a donation"
msgstr "Fazer uma doação"
msgid "Check for updates..."
msgstr "Verificar atualizações..."
msgid "About Joplin"
msgstr "Sobre o Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Abrir %s"
@@ -1160,9 +1163,6 @@ msgstr ""
"Favor selecionar o local para onde o status de sincronia deveria ser "
"exportado"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Adicionar ou remover tags"
@@ -1193,6 +1193,14 @@ msgstr "Apagar o caderno \"%s\"?"
msgid "Delete these %d notes?"
msgstr "Excluir estas notas?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Uso: %s"
@@ -1342,6 +1350,16 @@ msgstr "Não é possível copiar a nota para o caderno \"%s\""
msgid "Cannot move note to \"%s\" notebook"
msgstr "Não é possível mover a nota para o caderno \"%s\""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Atenção: Se você modificar esse local, tenha certeza de copiar todo o seu "
"conteúdo para lá antes de sincronizar, do contrário todos os seus arquivos "
"serão removidos! Veja o FAQ para mais detalhes: %s"
msgid "Language"
msgstr "Idioma"
@@ -1391,6 +1409,43 @@ msgstr "Focar no corpo"
msgid "When creating a new note:"
msgstr "Quando criar uma nota nova:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Habilitar encriptação"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Exibir tray icon"
@@ -1477,26 +1532,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Diretório para sincronizar (caminho absoluto)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"O caminho para sincronizar, quando a sincronização do sistema de arquivos "
"está habilitada. Veja `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Atenção: Se você modificar esse local, tenha certeza de copiar todo o seu "
"conteúdo para lá antes de sincronizar, do contrário todos os seus arquivos "
"serão removidos! Veja o FAQ para mais detalhes: %s"
msgid "Nextcloud username"
msgstr "Usuário da Nextcloud"
@@ -1549,6 +1587,9 @@ msgstr ""
msgid "Note"
msgstr "Cadernos"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Localização"
@@ -1887,6 +1928,17 @@ msgstr "Você não possui cadernos. Crie um clicando no botão (+)."
msgid "Welcome"
msgstr "Bem-vindo"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Esta nota foi modificada:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "O caminho para sincronizar, quando a sincronização do sistema de arquivos "
#~ "está habilitada. Veja `sync.target`."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Site do Joplin"

View File

@@ -542,9 +542,8 @@ msgstr ""
msgid "PDF File"
msgstr "Fișier PDF"
#, fuzzy
msgid "&File"
msgstr "Fișier"
msgid "Synchronisation status"
msgstr "Statusul sincronizării"
msgid "New note"
msgstr "Adăugați o nouă notiță"
@@ -555,6 +554,35 @@ msgstr "Adăugați o nouă sarcină"
msgid "New notebook"
msgstr "Adăugați un nou caiet de notițe"
msgid "Print"
msgstr "Printați"
msgid "General Options"
msgstr "Opțiuni Generale"
msgid "Encryption options"
msgstr "Opțiuni de criptare"
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Fișier"
msgid "About Joplin"
msgstr "Despre Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Verificați actualizările..."
msgid "Import"
msgstr "Importați"
@@ -564,9 +592,6 @@ msgstr "Exportați"
msgid "Synchronise"
msgstr "Sincronizați"
msgid "Print"
msgstr "Printați"
#, javascript-format
msgid "Hide %s"
msgstr "Ascundeți %s"
@@ -630,18 +655,6 @@ msgstr ""
msgid "&Tools"
msgstr "Unelte"
msgid "Synchronisation status"
msgstr "Statusul sincronizării"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr "Opțiuni de criptare"
msgid "General Options"
msgstr "Opțiuni Generale"
#, fuzzy
msgid "&Help"
msgstr "Ajutor"
@@ -652,16 +665,6 @@ msgstr "Website și documentație"
msgid "Make a donation"
msgstr "Faceți o donație"
msgid "Check for updates..."
msgstr "Verificați actualizările..."
msgid "About Joplin"
msgstr "Despre Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Deschideți %s"
@@ -1070,9 +1073,6 @@ msgstr "Resurse: %d."
msgid "Please select where the sync status should be exported to"
msgstr ""
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Adăugați ori eliminați etichete"
@@ -1106,6 +1106,14 @@ msgstr "Ștergeți notițele?"
msgid "Delete these %d notes?"
msgstr "Ștergeți aceste notițe?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Utilizare: %s"
@@ -1246,6 +1254,13 @@ msgstr "Nu se poate copia notița în caietul de notițe \"%s\""
msgid "Cannot move note to \"%s\" notebook"
msgstr "Nu se poate muta notița în caietul de notițe \"%s\""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Limbă"
@@ -1295,6 +1310,43 @@ msgstr ""
msgid "When creating a new note:"
msgstr "Când este creată o nouă notiță:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Activați criptarea"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Afișați iconița coșul de gunoi"
@@ -1372,21 +1424,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr ""
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr "URL NextCloud WebDAV"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Nume utilizator Nextcloud"
@@ -1434,6 +1474,9 @@ msgstr ""
msgid "Note"
msgstr "Caiete de notițe"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Duplicați"
@@ -1754,6 +1797,10 @@ msgstr ""
msgid "Welcome"
msgstr "Bine ați venit"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Această notiță a fost modificată:"
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Website Joplin"

View File

@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.1\n"
"X-Generator: Poedit 2.0.6\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -133,7 +133,7 @@ msgid ""
"`status`, `decrypt-file` and `target-status`."
msgstr ""
"Управляет конфигурацией E2EE. Команды: `enable`, `disable`, `decrypt`, "
"`status` и `target-status`."
"`status`,'decrypt-file' и `target-status`."
msgid "Enter master password:"
msgstr "Введите мастер-пароль:"
@@ -190,7 +190,7 @@ msgid "Note has been saved."
msgstr "Заметка сохранена."
msgid "Exits the application."
msgstr "Выход из приложения."
msgstr "Выйти из приложения."
msgid ""
"Exports Joplin data to the given path. By default, it will export the "
@@ -579,10 +579,10 @@ msgid ""
"supplied the password, the encrypted items are being decrypted in the "
"background and will be available soon."
msgstr ""
"Один или несколько элементов сейчас зашифрованы и может потребоваться, чтобы "
"вы предоставили мастер-пароль. Для этого введите, пожалуйста, `e2ee "
"decrypt`. Если пароль уже был вами предоставлен, зашифрованные элементы "
"расшифруются в фоновом режиме и вскоре станут доступны."
"Один или несколько элементов зашифрованы, и для их расшифровки может "
"потребоваться пароль. Для этого введите `e2ee decrypt`. Если пароль уже был "
"вами предоставлен, зашифрованные элементы расшифруются в фоновом режиме и "
"вскоре станут доступны."
#, javascript-format
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
@@ -607,9 +607,8 @@ msgstr "Импорт из \"%s\" в формате \"%s\". Пожалуйста,
msgid "PDF File"
msgstr "Файл PDF"
#, fuzzy
msgid "&File"
msgstr "Файл"
msgid "Synchronisation status"
msgstr "Статус синхронизации"
msgid "New note"
msgstr "Новая заметка"
@@ -620,6 +619,34 @@ msgstr "Новая задача"
msgid "New notebook"
msgstr "Новый блокнот"
msgid "Print"
msgstr "Печать"
msgid "General Options"
msgstr "Основные настройки"
msgid "Encryption options"
msgstr "Настройки шифрования"
msgid "Web clipper options"
msgstr "Настройки веб-клиппера"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
msgid "&File"
msgstr "&Файл"
msgid "About Joplin"
msgstr "О Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Проверить обновления..."
msgid "Import"
msgstr "Импорт"
@@ -629,9 +656,6 @@ msgstr "Экспорт"
msgid "Synchronise"
msgstr "Синхронизировать"
msgid "Print"
msgstr "Печать"
#, javascript-format
msgid "Hide %s"
msgstr "Скрыть %s"
@@ -639,9 +663,8 @@ msgstr "Скрыть %s"
msgid "Quit"
msgstr "Выход"
#, fuzzy
msgid "&Edit"
msgstr "Правка"
msgstr "&Правка"
msgid "Copy"
msgstr "Копировать"
@@ -676,9 +699,8 @@ msgstr "Поиск во всех заметках"
msgid "Search in current note"
msgstr "Поиск в текущей заметке"
#, fuzzy
msgid "&View"
msgstr "Вид"
msgstr "&Вид"
msgid "Toggle sidebar"
msgstr "Переключить боковую панель"
@@ -689,25 +711,11 @@ msgstr "Переключить вид редактора"
msgid "Focus"
msgstr "Фокус"
#, fuzzy
msgid "&Tools"
msgstr "Сервис"
msgstr "&Сервис"
msgid "Synchronisation status"
msgstr "Статус синхронизации"
msgid "Web clipper options"
msgstr "Настройки веб-клиппера"
msgid "Encryption options"
msgstr "Настройки шифрования"
msgid "General Options"
msgstr "Основные настройки"
#, fuzzy
msgid "&Help"
msgstr "Помощь"
msgstr "&Помощь"
msgid "Website and documentation"
msgstr "Сайт и документация"
@@ -715,16 +723,6 @@ msgstr "Сайт и документация"
msgid "Make a donation"
msgstr "Сделать пожертвование"
msgid "Check for updates..."
msgstr "Проверить обновления..."
msgid "About Joplin"
msgstr "О Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Открыть %s"
@@ -1162,9 +1160,6 @@ msgid "Please select where the sync status should be exported to"
msgstr ""
"Пожалуйста, выберите, куда должен быть экспортирован статус синхронизации"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Добавить или удалить метки"
@@ -1195,6 +1190,14 @@ msgstr "Удалить заметку \"%s\"?"
msgid "Delete these %d notes?"
msgstr "Удалить эти %d заметки?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Использовано: %s"
@@ -1344,6 +1347,16 @@ msgstr "Не удалось скопировать заметку в блокн
msgid "Cannot move note to \"%s\" notebook"
msgstr "Не удалось переместить заметку в блокнот \"%s\""
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Внимание: если вы измените это местоположение, обязательно скопируйте все "
"содержимое перед синхронизацией, в противном случае все файлы будут удалены! "
"Смотрите FAQ для получения подробной информации: %s"
msgid "Language"
msgstr "Язык"
@@ -1374,9 +1387,8 @@ msgstr "Сортировать заметки по"
msgid "Reverse sort order"
msgstr "Обратный порядок сортировки"
#, fuzzy
msgid "Sort notebooks by"
msgstr "Сортировать заметки по"
msgstr "Сортировать блокноты по"
msgid "Save geo-location with notes"
msgstr "Сохранять информацию о геолокации в заметках"
@@ -1393,6 +1405,43 @@ msgstr "Фокус на содержимом"
msgid "When creating a new note:"
msgstr "При создании новой заметки:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Включить шифрование"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Показывать иконку в трее"
@@ -1481,26 +1530,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Каталог синхронизации (абсолютный путь)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Путь для синхронизации, когда включена синхронизация файловой системы. См. "
"`sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Внимание: если вы измените это местоположение, обязательно скопируйте все "
"содержимое перед синхронизацией, в противном случае все файлы будут удалены! "
"Смотрите FAQ для получения подробной информации: %s"
msgid "Nextcloud username"
msgstr "Имя пользователя Nextcloud"
@@ -1550,6 +1582,9 @@ msgstr "Внешний вид"
msgid "Note"
msgstr "Заметки"
msgid "Plugins"
msgstr ""
msgid "Application"
msgstr "Приложение"
@@ -1886,5 +1921,16 @@ msgstr "У вас сейчас нет блокнота. Создайте его
msgid "Welcome"
msgstr "Добро пожаловать"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Эта заметка была изменена:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Путь для синхронизации, когда включена синхронизация файловой системы. "
#~ "См. `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -604,9 +604,8 @@ msgstr "Uvažam v \"%s\" kot \"%s\" format. Prosim počakajte..."
msgid "PDF File"
msgstr "PDF datoteka"
#, fuzzy
msgid "&File"
msgstr "Datoteka"
msgid "Synchronisation status"
msgstr "Status sinhronizacije"
msgid "New note"
msgstr "Nova zabeležka"
@@ -617,6 +616,35 @@ msgstr "Novi seznam opravil"
msgid "New notebook"
msgstr "Nova beležnica"
msgid "Print"
msgstr "Natisni"
msgid "General Options"
msgstr "Splošne možnosti"
msgid "Encryption options"
msgstr "Možnosti enkripcije"
msgid "Web clipper options"
msgstr ""
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Datoteka"
msgid "About Joplin"
msgstr "O Joplinu"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Preverjanje za posodobitvami..."
msgid "Import"
msgstr "Uvozi"
@@ -626,9 +654,6 @@ msgstr "Izvozi"
msgid "Synchronise"
msgstr "Sinhroniziraj"
msgid "Print"
msgstr "Natisni"
#, javascript-format
msgid "Hide %s"
msgstr "Skrij %s"
@@ -693,18 +718,6 @@ msgstr "Fokusiraj vsebino"
msgid "&Tools"
msgstr "Orodja"
msgid "Synchronisation status"
msgstr "Status sinhronizacije"
msgid "Web clipper options"
msgstr ""
msgid "Encryption options"
msgstr "Možnosti enkripcije"
msgid "General Options"
msgstr "Splošne možnosti"
#, fuzzy
msgid "&Help"
msgstr "Pomoč"
@@ -715,16 +728,6 @@ msgstr "Spletna stran in dokumentacija"
msgid "Make a donation"
msgstr "Doniraj"
msgid "Check for updates..."
msgstr "Preverjanje za posodobitvami..."
msgid "About Joplin"
msgstr "O Joplinu"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Odpri %s"
@@ -1161,9 +1164,6 @@ msgstr "Viri: %d."
msgid "Please select where the sync status should be exported to"
msgstr "Prosim izberite, kam želite izvoziti sinhronizacijski status"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Dodaj ali odstrani oznake"
@@ -1198,6 +1198,14 @@ msgstr "Izbriši zabeležke?"
msgid "Delete these %d notes?"
msgstr "Izbriši te zabeležke?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Uporaba: %s"
@@ -1350,6 +1358,13 @@ msgstr "Ni moč kopirati zabeležke v \"%s\" beležnico"
msgid "Cannot move note to \"%s\" notebook"
msgstr "Ni moč premakniti zabeležke v \"%s\" beležnico"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "Jezik"
@@ -1400,6 +1415,43 @@ msgstr "Fokusiraj vsebino"
msgid "When creating a new note:"
msgstr "Ob ustvarjanju nove zabeležke:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Omogoči enkripcijo"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Pokaži ikono v območju za obvestila(opravilna vrstica)"
@@ -1486,23 +1538,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Mesto ciljne sinhronizacije (absolutna pot)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Pot za sinhronizacijo, ki bo uporabljena ob omogočeni sinhronizaciji. Poglej "
"`sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Nextcloud uporabniško ime"
@@ -1550,6 +1588,9 @@ msgstr ""
msgid "Note"
msgstr "Beležnice"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "Izhod iz aplikacije."
@@ -1879,6 +1920,17 @@ msgstr "Trenutno nimate nobene beležnice. Ustvarite jo s klikom na (+) gumb."
msgid "Welcome"
msgstr "Dobrodošli"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Ta zabeležka je bila spremenjena:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Pot za sinhronizacijo, ki bo uporabljena ob omogočeni sinhronizaciji. "
#~ "Poglej `sync.target`."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Joplin spletna stran"

View File

@@ -608,9 +608,8 @@ msgstr "Importerar från \"%s\" som \"%s\" format. Vänta..."
msgid "PDF File"
msgstr "PDF-fil"
#, fuzzy
msgid "&File"
msgstr "Fil"
msgid "Synchronisation status"
msgstr "Synkroniseringstillstånd"
msgid "New note"
msgstr "Ny anteckning"
@@ -621,6 +620,35 @@ msgstr "Ny att-göra"
msgid "New notebook"
msgstr "Ny anteckningsbok"
msgid "Print"
msgstr "Skriv ut"
msgid "General Options"
msgstr "Allmänna inställningar"
msgid "Encryption options"
msgstr "Krypteringsinställningar"
msgid "Web clipper options"
msgstr "Web clipper-inställningar"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Fil"
msgid "About Joplin"
msgstr "Om Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Sök efter uppdateringar..."
msgid "Import"
msgstr "Importera"
@@ -630,9 +658,6 @@ msgstr "Exportera"
msgid "Synchronise"
msgstr "Synkronisera"
msgid "Print"
msgstr "Skriv ut"
#, javascript-format
msgid "Hide %s"
msgstr "Dölj %s"
@@ -694,18 +719,6 @@ msgstr "Fokus"
msgid "&Tools"
msgstr "Verktyg"
msgid "Synchronisation status"
msgstr "Synkroniseringstillstånd"
msgid "Web clipper options"
msgstr "Web clipper-inställningar"
msgid "Encryption options"
msgstr "Krypteringsinställningar"
msgid "General Options"
msgstr "Allmänna inställningar"
#, fuzzy
msgid "&Help"
msgstr "Hjälp"
@@ -716,16 +729,6 @@ msgstr "Webbplats och dokumentation"
msgid "Make a donation"
msgstr "Gör en donation"
msgid "Check for updates..."
msgstr "Sök efter uppdateringar..."
msgid "About Joplin"
msgstr "Om Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Öppna %s"
@@ -1164,9 +1167,6 @@ msgstr "Hämtar resurser: %d"
msgid "Please select where the sync status should be exported to"
msgstr "Välj vart synkroniseringstillståndet ska exporteras till"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "Lägg till eller ta bort taggar"
@@ -1199,6 +1199,14 @@ msgstr "Ta bort anteckningar?"
msgid "Delete these %d notes?"
msgstr "Ta bort dessa anteckningar?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Användning: %s"
@@ -1348,6 +1356,16 @@ msgstr "Kan inte kopiera anteckning till \"%s\" anteckningsbok"
msgid "Cannot move note to \"%s\" notebook"
msgstr "Kan inte flytta anteckning till \"%s\" anteckningsbok"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"OBS! Om du ändrar denna plats så se till att du har en kopia på allt "
"innehåll innan du synkroniserar. Annars kommer samtliga filer att raderas. "
"Läs FAQ för mer information: %s"
msgid "Language"
msgstr "Språk"
@@ -1397,6 +1415,43 @@ msgstr "Fokus på huvuddel"
msgid "When creating a new note:"
msgstr "När du skapar en ny anteckning:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Aktivera kryptering"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Visa fältikon"
@@ -1484,26 +1539,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Katalog för att synkronisera med (absolut sökväg)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Sökvägen att synkronisera med när synkronisering av filsystem är aktiverat. "
"Se `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud-WebDAV-webbadress"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"OBS! Om du ändrar denna plats så se till att du har en kopia på allt "
"innehåll innan du synkroniserar. Annars kommer samtliga filer att raderas. "
"Läs FAQ för mer information: %s"
msgid "Nextcloud username"
msgstr "Nextcloud-användarnamn"
@@ -1554,6 +1592,9 @@ msgstr "Utseende"
msgid "Note"
msgstr "Anteckning"
msgid "Plugins"
msgstr ""
msgid "Application"
msgstr "Avslutar programmet"
@@ -1895,6 +1936,17 @@ msgstr ""
msgid "Welcome"
msgstr "Välkommen"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Denna anteckning har ändrats:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Sökvägen att synkronisera med när synkronisering av filsystem är "
#~ "aktiverat. Se `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -575,9 +575,8 @@ msgstr "\"%s\" den \"%s\" biçiminde içe aktarılıyor. Lütfen bekleyin..."
msgid "PDF File"
msgstr "PDF Dosyası"
#, fuzzy
msgid "&File"
msgstr "Dosya"
msgid "Synchronisation status"
msgstr "Senkronizasyon durumu"
msgid "New note"
msgstr "Yeni not"
@@ -588,6 +587,35 @@ msgstr "Yeni yapılacak"
msgid "New notebook"
msgstr "Yeni not defteri"
msgid "Print"
msgstr "Yazdır"
msgid "General Options"
msgstr "Genel seçenekler"
msgid "Encryption options"
msgstr "Şifreleme seçenekleri"
msgid "Web clipper options"
msgstr "Web alıntılama ayarları"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Dosya"
msgid "About Joplin"
msgstr "Joplin hakkında"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "Güncellemeleri kontrol et..."
msgid "Import"
msgstr "İçe aktar"
@@ -597,9 +625,6 @@ msgstr "Dışa aktar"
msgid "Synchronise"
msgstr "Senkronize"
msgid "Print"
msgstr "Yazdır"
#, javascript-format
msgid "Hide %s"
msgstr "Gizle %s"
@@ -661,18 +686,6 @@ msgstr "Odaklan"
msgid "&Tools"
msgstr "Araçlar"
msgid "Synchronisation status"
msgstr "Senkronizasyon durumu"
msgid "Web clipper options"
msgstr "Web alıntılama ayarları"
msgid "Encryption options"
msgstr "Şifreleme seçenekleri"
msgid "General Options"
msgstr "Genel seçenekler"
#, fuzzy
msgid "&Help"
msgstr "Yardım"
@@ -683,16 +696,6 @@ msgstr "Web sitesi ve dökümanlar"
msgid "Make a donation"
msgstr "Bağış yapın"
msgid "Check for updates..."
msgstr "Güncellemeleri kontrol et..."
msgid "About Joplin"
msgstr "Joplin hakkında"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "Aç %s"
@@ -1133,9 +1136,6 @@ msgstr "Kaynaklar alınıyor: %d"
msgid "Please select where the sync status should be exported to"
msgstr "Lütfen senkronizasyon durumunun nereye aktarılacağını seçin"
msgid "Table of contents"
msgstr ""
#, fuzzy
msgid "Add or remove tags"
msgstr "Etiket ekle veya kaldır"
@@ -1168,6 +1168,14 @@ msgstr "\"%s\" Notunu sil?"
msgid "Delete these %d notes?"
msgstr "Bu notlar ( %d ) silinsin mi?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "Kullanım: %s"
@@ -1316,6 +1324,16 @@ msgstr "Not \"%s\" not defterine kopyalanamıyor."
msgid "Cannot move note to \"%s\" notebook"
msgstr "Not \"%s\" not defterine taşınamıyor."
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Dikkat: Bu konumu değiştirirseniz, senkronize etmeden önce tüm içeriğinizi "
"kopyaladığınızdan emin olun, aksi takdirde tüm dosyalar kaldırılır! Daha "
"fazla bilgi için SSS bölümüne bakın: %s"
msgid "Language"
msgstr "Dil"
@@ -1365,6 +1383,43 @@ msgstr "Gövde kısmına odaklan"
msgid "When creating a new note:"
msgstr "Yeni bir not oluştururken:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "Şifrelemeyi etkinleştir"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "Tepsi simgesini göster"
@@ -1451,26 +1506,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Eşitlenecek dizin (kesin yol)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr ""
"Dosya sistemi senkronizasyonu etkinleştirildiğinde senkronize edilecek yol. "
"Bakınız `sync.target`."
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"Dikkat: Bu konumu değiştirirseniz, senkronize etmeden önce tüm içeriğinizi "
"kopyaladığınızdan emin olun, aksi takdirde tüm dosyalar kaldırılır! Daha "
"fazla bilgi için SSS bölümüne bakın: %s"
msgid "Nextcloud username"
msgstr "Nextcloud kullanıcı adı"
@@ -1520,6 +1558,9 @@ msgstr "Görünüm"
msgid "Note"
msgstr "Not"
msgid "Plugins"
msgstr ""
msgid "Application"
msgstr "Uygulama"
@@ -1854,5 +1895,16 @@ msgstr ""
msgid "Welcome"
msgstr "Hoşgeldiniz"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Bu not değiştirildi:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr ""
#~ "Dosya sistemi senkronizasyonu etkinleştirildiğinde senkronize edilecek "
#~ "yol. Bakınız `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -121,13 +121,12 @@ msgstr "标记待办事项为完成。"
msgid "Note is not a to-do: \"%s\""
msgstr "笔记非待办事项:\"%s\""
#, fuzzy
msgid ""
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, "
"`status`, `decrypt-file` and `target-status`."
msgstr ""
"管理E2EE配置。命令为:`enable`, `disable`, `decrypt`, `status` 和 `target-"
"status`。"
"管理 E2EE 配置。命令为:`enable``disable``decrypt``status、`decrypt-"
"file` 和 `target-status`。"
msgid "Enter master password:"
msgstr "输入主密码:"
@@ -139,7 +138,7 @@ msgid ""
"Starting decryption... Please wait as it may take several minutes depending "
"on how much there is to decrypt."
msgstr ""
"开始解密... 请稍后。因解密环节取决于需解密的文件数量,可能需要等待几分钟。"
"开始解密,请稍候... 取决于需解密的文件数量,解密环节可能需要等待几分钟。"
msgid "Completed decryption."
msgstr "已完成解密。"
@@ -152,7 +151,7 @@ msgstr "已禁用"
#, javascript-format
msgid "Encryption is: %s"
msgstr "加密:%s"
msgstr "加密状态:%s"
msgid "Edit note."
msgstr "编辑笔记。"
@@ -202,7 +201,7 @@ msgid "Displays a geolocation URL for the note."
msgstr "显示该笔记的地理定位 URL 地址。"
msgid "Displays usage information."
msgstr "显示用量信息。"
msgstr "显示用法提示。"
#, javascript-format
msgid "For information on how to customise the shortcuts please visit %s"
@@ -216,7 +215,7 @@ msgid ""
"all` for the complete usage information."
msgstr ""
"输入 `help [command]` 来获取有关该命令的更多信息;或输入 `help all` 获取完整"
"的使用说明。"
"的用法提示。"
msgid "The possible commands are:"
msgstr "可用的命令有:"
@@ -241,7 +240,7 @@ msgid "To maximise/minimise the console, press \"tc\"."
msgstr "按 \"TC\" 最大化/最小化控制台。"
msgid "To enter command line mode, press \":\""
msgstr "按 \":\" 键进入命令行模式"
msgstr "按“:”键进入命令行模式"
msgid "To exit command line mode, press ESCAPE"
msgstr "按 ESC 键退出命令行模式"
@@ -364,7 +363,7 @@ msgstr "删除笔记(不要求确认)。"
#, javascript-format
msgid "%d notes match this pattern. Delete them?"
msgstr "有%d条笔记符合此模式。是否删除?"
msgstr "有 %d 条笔记匹配。是否删除?"
msgid "Delete note?"
msgstr "是否删除笔记?"
@@ -398,7 +397,7 @@ msgstr "认证未完成(未收到认证令牌)。"
msgid ""
"To allow Joplin to synchronise with Dropbox, please follow the steps below:"
msgstr "为了让 Joplin 与 Dropbox 同步,请遵循以下步骤:"
msgstr "让 Joplin 与 Dropbox 同步,请按下列步骤操作:"
msgid "Step 1: Open this URL in your browser to authorise the application:"
msgstr "步骤一:在浏览器中打开此 URL 来授权应用程序:"
@@ -408,10 +407,10 @@ msgstr "步骤二:输入 Dropbox 提供的代码:"
#, javascript-format
msgid "Not authentified with %s. Please provide any missing credentials."
msgstr "%s 并未被验证。请提供缺少的凭。"
msgstr "未授予 %s 的权限。请提供缺少的凭。"
msgid "Synchronisation is already in progress."
msgstr "同步已在进行中。"
msgstr "已经在同步。"
#, javascript-format
msgid ""
@@ -436,7 +435,7 @@ msgid "Downloading resources..."
msgstr "下载资源中..."
msgid "Cancelling... Please wait."
msgstr "正在取消... 请稍。"
msgstr "正在取消... 请稍。"
msgid ""
"<tag-command> can be \"add\", \"remove\" or \"list\" to assign or remove "
@@ -502,10 +501,10 @@ msgstr "严重错误:"
msgid ""
"The application has been authorised - you may now close this browser tab."
msgstr "该程序已被授权 - 您可以关闭此浏览页面了。"
msgstr "授权成功 - 您可以关闭此页面了。"
msgid "The application has been successfully authorised."
msgstr "该程序已被成功授权。"
msgstr "已成功授予本应用程序权限。"
msgid ""
"Please open the following URL in your browser to authenticate the "
@@ -567,9 +566,8 @@ msgstr "从 \"%s\" 导入,导入格式为 \"%s\" 。请稍等…"
msgid "PDF File"
msgstr "PDF 文件"
#, fuzzy
msgid "&File"
msgstr "文件"
msgid "Synchronisation status"
msgstr "同步状态"
msgid "New note"
msgstr "新建笔记"
@@ -580,6 +578,34 @@ msgstr "新建待办事项"
msgid "New notebook"
msgstr "新建笔记本"
msgid "Print"
msgstr "打印"
msgid "General Options"
msgstr "通用选项"
msgid "Encryption options"
msgstr "加密选项"
msgid "Web clipper options"
msgstr "网页剪辑选项"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
msgid "&File"
msgstr "文件 (&F)"
msgid "About Joplin"
msgstr "关于 Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "检查更新..."
msgid "Import"
msgstr "导入"
@@ -589,9 +615,6 @@ msgstr "导出"
msgid "Synchronise"
msgstr "同步"
msgid "Print"
msgstr "打印"
#, javascript-format
msgid "Hide %s"
msgstr "隐藏 %s"
@@ -599,9 +622,8 @@ msgstr "隐藏 %s"
msgid "Quit"
msgstr "退出"
#, fuzzy
msgid "&Edit"
msgstr "编辑"
msgstr "编辑 (&E)"
msgid "Copy"
msgstr "复制"
@@ -616,13 +638,13 @@ msgid "Select all"
msgstr "全选"
msgid "Bold"
msgstr "粗"
msgstr "粗"
msgid "Italic"
msgstr "斜体"
msgid "Link"
msgstr ""
msgstr "链接"
msgid "Insert Date Time"
msgstr "插入时间"
@@ -636,9 +658,8 @@ msgstr "在所有笔记内搜索"
msgid "Search in current note"
msgstr "在当前笔记内搜索"
#, fuzzy
msgid "&View"
msgstr "视图"
msgstr "界面 (&V)"
msgid "Toggle sidebar"
msgstr "切换边栏"
@@ -649,25 +670,11 @@ msgstr "切换编辑器布局"
msgid "Focus"
msgstr "聚焦于"
#, fuzzy
msgid "&Tools"
msgstr "工具"
msgstr "工具 (&T)"
msgid "Synchronisation status"
msgstr "同步状态"
msgid "Web clipper options"
msgstr "网页剪辑选项"
msgid "Encryption options"
msgstr "加密选项"
msgid "General Options"
msgstr "通用选项"
#, fuzzy
msgid "&Help"
msgstr "帮助"
msgstr "帮助 (&H)"
msgid "Website and documentation"
msgstr "网站与文档"
@@ -675,16 +682,6 @@ msgstr "网站与文档"
msgid "Make a donation"
msgstr "捐赠"
msgid "Check for updates..."
msgstr "检查更新..."
msgid "About Joplin"
msgstr "关于 Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "打开 %s"
@@ -723,10 +720,10 @@ msgid "No"
msgstr "否"
msgid "Token has been copied to the clipboard!"
msgstr "Token 令牌已复制到剪贴板!"
msgstr "Token 令牌已复制到剪贴板!"
msgid "The web clipper service is enabled and set to auto-start."
msgstr "网页剪辑服务已启用并设置为自动启动。"
msgstr "网页剪辑服务已启用且将自动启动。"
#, javascript-format
msgid "Status: Started on port %d"
@@ -831,7 +828,7 @@ msgid "Master Keys"
msgstr "主密码"
msgid "Active"
msgstr "活动状态"
msgstr "正在使用"
msgid "ID"
msgstr "ID"
@@ -856,11 +853,11 @@ msgid ""
"as \"active\"). Any of the keys might be used for decryption, depending on "
"how the notes or notebooks were originally encrypted."
msgstr ""
"注意:仅有一个主密码用于加密(被标记为 \"active\" 的主密码)。但列出的任何"
"码都可用于解密,这取决于笔记或笔记本最初是如何加密的。"
"注意:仅有一个主密码用于加密(被标记为“正在使用”的主密码)。但列出的所有密"
"码都可用于解密,这取决于笔记或笔记本最初是如何加密的。"
msgid "Missing Master Keys"
msgstr "缺主密码"
msgstr "缺主密码"
msgid ""
"The master keys with these IDs are used to encrypt some of your items, "
@@ -879,10 +876,10 @@ msgid "Status"
msgstr "状态"
msgid "Encryption is:"
msgstr "加密:"
msgstr "加密状态:"
msgid "Usage"
msgstr "使用量"
msgstr "用法提示"
msgid "Back"
msgstr "返回"
@@ -890,7 +887,7 @@ msgstr "返回"
#, javascript-format
msgid ""
"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."
msgstr "请先创建笔记本。"
@@ -905,7 +902,7 @@ msgid "Add or remove tags:"
msgstr "添加或删除标签:"
msgid "Separate each tag by a comma."
msgstr "用半角逗号 \",\" 分开每个标签。"
msgstr "用半角逗号“,”分开每个标签。"
msgid "Rename notebook:"
msgstr "重命名笔记本:"
@@ -967,7 +964,7 @@ msgid "Copy Link Address"
msgstr "复制链接地址"
msgid "This attachment is not downloaded or not decrypted yet."
msgstr "该附件没有下载或者没有解密"
msgstr "该附件没有下载或者尚未解密"
#, javascript-format
msgid "Unsupported link or message: %s"
@@ -1068,19 +1065,22 @@ msgstr "加密选项"
msgid "Clipper Options"
msgstr "网页剪辑选项"
#, fuzzy, javascript-format
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
"\n"
"All notes and sub-notebooks within this notebook will also be deleted."
msgstr "是否删除笔记本?所有在该笔记本内的笔记也将同时被删除。"
msgstr ""
"是否删除笔记本“%s”?\n"
"\n"
"所有在该笔记本内的笔记和下级笔记本也将同时被删除。"
#, fuzzy, javascript-format
#, javascript-format
msgid "Remove tag \"%s\" from all notes?"
msgstr "从所有笔记中删除标签?"
msgstr "从所有笔记中删除标签“%s”?"
msgid "Remove this search from the sidebar?"
msgstr "从栏中删除该项搜索?"
msgstr "从栏中删除该项搜索?"
msgid "Delete"
msgstr "删除"
@@ -1093,23 +1093,20 @@ msgstr "笔记本"
#, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "解密项目:%d/%d"
msgstr "正在解密项目:%d/%d"
#, javascript-format
msgid "Fetching resources: %d"
msgstr "获取资源:%d"
msgstr "正在获取资源:%d"
msgid "Please select where the sync status should be exported to"
msgstr "请选择同步状态的导出位置"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "添加或删除标签"
msgid "Duplicate"
msgstr "重复的"
msgstr "创建副本"
#, javascript-format
msgid "%s - Copy"
@@ -1127,13 +1124,21 @@ msgstr "切换到待办事项"
msgid "Copy Markdown link"
msgstr "复制 Markdown 链接"
#, fuzzy, javascript-format
#, javascript-format
msgid "Delete note \"%s\"?"
msgstr "是否删除笔记?"
msgstr "是否删除笔记“%s”?"
#, fuzzy, javascript-format
#, javascript-format
msgid "Delete these %d notes?"
msgstr "是否删除这笔记?"
msgstr "是否删除这 %d 条笔记?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
@@ -1172,7 +1177,7 @@ msgstr "未知级别的 ID:%s"
msgid ""
"Cannot refresh token: authentication data is missing. Starting the "
"synchronisation again may fix the problem."
msgstr "无法刷新 Token 令牌:缺认证数据。重新开始同步可能会修此错误。"
msgstr "无法刷新 Token 令牌:缺认证数据。重新同步可能会修此错误。"
msgid "Untitled"
msgstr "无标题"
@@ -1235,20 +1240,20 @@ msgid "Last error: %s"
msgstr "最后错误:%s"
msgid "Idle"
msgstr "闲"
msgstr "闲"
msgid "In progress"
msgstr "正在进行"
#, javascript-format
msgid "Synchronisation is already in progress. State: %s"
msgstr "同步正在进行中。状态:%s"
msgstr "已经在同步。状态:%s"
msgid "Encrypted"
msgstr "已加密"
msgid "Encrypted items cannot be modified"
msgstr "无法修改已加密项目"
msgstr "无法修改已加密项目"
msgid "title"
msgstr "标题"
@@ -1264,7 +1269,7 @@ msgstr "无法移动笔记本到该位置"
#, javascript-format
msgid "Notebooks cannot be named \"%s\", which is a reserved title."
msgstr "笔记本无法被命名为 \"%s\",该标题为保留标题。"
msgstr "笔记本无法被命名为 \"%s\",这个标题被留作他用。"
msgid "created date"
msgstr "创建日期"
@@ -1274,11 +1279,20 @@ msgstr "该笔记不包含地理定位信息。"
#, javascript-format
msgid "Cannot copy note to \"%s\" notebook"
msgstr "无法复制笔记到 \"%s\" 笔记本"
msgstr "无法复制笔记到笔记本“%s”"
#, javascript-format
msgid "Cannot move note to \"%s\" notebook"
msgstr "无法移动笔记到 \"%s\" 笔记本"
msgstr "无法移动笔记到笔记本“%s”"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"注意:如果您更改该位置,请确保在同步之前将所有内容复制到该位置,否则将删除所"
"有文件! 更多详细信息请参阅常见问题解答(FAQ):%s"
msgid "Language"
msgstr "语言"
@@ -1293,10 +1307,10 @@ msgid "Theme"
msgstr "主题"
msgid "Light"
msgstr "浅色"
msgstr "明亮"
msgid "Dark"
msgstr "深"
msgstr "深"
msgid "Uncompleted to-dos on top"
msgstr "将未完成的待办事项置顶"
@@ -1308,11 +1322,10 @@ msgid "Sort notes by"
msgstr "排序笔记"
msgid "Reverse sort order"
msgstr "反转排序顺序"
msgstr "序"
#, fuzzy
msgid "Sort notebooks by"
msgstr "排序笔记"
msgstr "笔记本排序依据"
msgid "Save geo-location with notes"
msgstr "保存地理定位信息到笔记中"
@@ -1329,19 +1342,59 @@ msgstr "聚焦正文"
msgid "When creating a new note:"
msgstr "当新建笔记时:"
#, fuzzy
msgid "Enable soft breaks"
msgstr "目录"
#, fuzzy
msgid "Enable math expressions"
msgstr "启用加密"
msgid "Enable ==mark== syntax"
msgstr ""
#, fuzzy
msgid "Enable footnotes"
msgstr "目录"
#, fuzzy
msgid "Enable table of contents extension"
msgstr "目录"
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "显示托盘图标"
msgid "Note: Does not work in all desktop environments."
msgstr "注意:在所有桌面环境下无法正常工作。"
msgstr "注意:某些桌面环境下无。"
msgid ""
"This will allow Joplin to run in the background. It is recommended to enable "
"this setting so that your notes are constantly being synchronised, thus "
"reducing the number of conflicts."
msgstr ""
"该选项允许 Joplin 在后台运行,如果你的笔记时常发生变化,推荐启用该设置来减少"
"可能的冲突"
"该选项允许 Joplin 在后台运行,如果你经常修改和同步笔记,推荐启用该设置来减少"
"可能的冲突"
msgid "Start application minimised in the tray icon"
msgstr "应用程序启动时最小化到托盘"
@@ -1366,7 +1419,7 @@ msgid "Automatically update the application"
msgstr "自动更新程序"
msgid "Get pre-releases when checking for updates"
msgstr "检查更新时获取预发布版本"
msgstr "检查更新时获取预发布版本"
#, javascript-format
msgid "See the pre-release page for more details: %s"
@@ -1412,23 +1465,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "待同步的目录(绝对路径)。"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr "启用文件系统同步时要同步的路径。见 `sync.target`。"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
"注意:如果您更改该位置,请确保在同步之前将所有内容复制到该位置,否则将删除所"
"有文件! 更多详细信息请参阅常见问题解答(FAQ):%s"
msgid "Nextcloud username"
msgstr "Nextcloud 用户名"
@@ -1476,6 +1515,9 @@ msgstr "外观"
msgid "Note"
msgstr "笔记"
msgid "Plugins"
msgstr ""
msgid "Application"
msgstr "应用程序"
@@ -1536,34 +1578,34 @@ msgid ""
"target. In order to find these items, either search for the title or the ID "
"(which is displayed in brackets above)."
msgstr ""
"这些项目将保留于设备中,但不会上传到同步目标。若需查找这些项目,请搜索标题"
"ID(显示在上方括号中)。"
"这些项目将只保存在本设备上,不会上传到同步目标。若需查找这些项目,请搜索标题"
"ID(显示在上方括号中)。"
msgid "Sync status (synced items / total items)"
msgstr "同步状态(已同步项目/项目总数)"
#, javascript-format
msgid "%s: %d/%d"
msgstr "%s:%d/%d条"
msgstr "%s:%d/%d 条"
#, javascript-format
msgid "Total: %d/%d"
msgstr "总数:%d/%d条"
msgstr "总数:%d/%d 条"
#, javascript-format
msgid "Conflicted: %d"
msgstr "有冲突:%d条"
msgstr "有冲突:%d 条"
#, javascript-format
msgid "To delete: %d"
msgstr "将删除:%d条"
msgstr "将删除:%d 条"
msgid "Folders"
msgstr "文件夹"
#, javascript-format
msgid "%s: %d notes"
msgstr "%s: %d条笔记"
msgstr "%s%d 条笔记"
msgid "Coming alarms"
msgstr "临近提醒"
@@ -1576,7 +1618,7 @@ msgid "Permission to use camera"
msgstr "使用摄像头的权限"
msgid "Your permission to use your camera is required."
msgstr "使用摄像头的权限是必须的"
msgstr "您须要授予相机权限。"
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "当前没有任何笔记。点击 (+) 按钮创建。"
@@ -1601,10 +1643,10 @@ msgstr "移动到笔记本..."
#, javascript-format
msgid "Move %d notes to notebook \"%s\"?"
msgstr "是否移动%d条笔记到 \"%s\" 笔记本?"
msgstr "是否移动 %d 条笔记到笔记本“%s”?"
msgid "Press to set the decryption password."
msgstr "按键将设置解密密码。"
msgstr "按设置解密密码。"
msgid "Clear alarm"
msgstr "清除提醒"
@@ -1622,10 +1664,10 @@ msgid "Cancel synchronisation"
msgstr "取消同步"
msgid "Checking... Please wait."
msgstr "正在检查... 请稍。"
msgstr "正在检查... 请稍。"
msgid "Success! Synchronisation configuration appears to be correct."
msgstr "成功!同步配置似乎是正确的。"
msgstr "成功!同步配置看起来没问题。"
msgid ""
"Error. Please check that URL, username, password, etc. are correct and that "
@@ -1635,7 +1677,7 @@ msgstr ""
"如下:"
msgid "The application has been authorised!"
msgstr "此程序已被成功授权。"
msgstr "已成功授予本应用程序权限!"
#, javascript-format
msgid ""
@@ -1645,11 +1687,11 @@ msgid ""
"\n"
"Please try again."
msgstr ""
"无法授权应用:\n"
"无法授权本程序:\n"
"\n"
"%s\n"
"\n"
"请重新尝试"
"请重试"
#, javascript-format
msgid "Decrypted items: %s / %s"
@@ -1665,8 +1707,8 @@ msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
msgstr ""
"为了正常的使用,应用需要以下权限。请在你的手机设置(应用 > Joplin > 权限)"
"启用它们"
"本应用程序需要下列权限才能正常运作。请在你的手机设置(应用 > Joplin > 权限)"
"启用它们"
msgid ""
"- Storage: to allow attaching files to notes and to enable filesystem "
@@ -1674,7 +1716,7 @@ msgid ""
msgstr "- 存储:允许将文件附加到笔记中并启用文件系统同步。"
msgid "- Camera: to allow taking a picture and attaching it to a note."
msgstr "- 相机:允许拍照并将添加到一条笔记中。"
msgstr "- 相机:允许拍照并将照片添加到一条笔记中。"
msgid "- Location: to allow attaching geo-location information to a note."
msgstr "- 定位:允许将地理位置信息附加到一条笔记中。"
@@ -1800,6 +1842,18 @@ msgstr "您目前未有笔记本。点击 (+) 按钮创建。"
msgid "Welcome"
msgstr "欢迎"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "该笔记已被修改:"
#~ msgid "Table of contents"
#~ msgstr "目录"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr "启用文件系统同步时要同步的路径。见 `sync.target`。"
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -570,9 +570,8 @@ msgstr "從 \"%s\" 匯入為 \"%s\" 格式。請稍候..."
msgid "PDF File"
msgstr "PDF 檔案"
#, fuzzy
msgid "&File"
msgstr "檔案"
msgid "Synchronisation status"
msgstr "顯示同步狀態"
msgid "New note"
msgstr "新增記事"
@@ -583,6 +582,35 @@ msgstr "新增待辦事項"
msgid "New notebook"
msgstr "新增記事本"
msgid "Print"
msgstr "列印"
msgid "General Options"
msgstr "一般選項"
msgid "Encryption options"
msgstr "加密選項"
msgid "Web clipper options"
msgstr "Web clipper 選項"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "檔案"
msgid "About Joplin"
msgstr "關於 Joplin"
msgid "Preferences..."
msgstr ""
msgid "Check for updates..."
msgstr "檢查更新..."
msgid "Import"
msgstr "匯入"
@@ -592,9 +620,6 @@ msgstr "匯出"
msgid "Synchronise"
msgstr "進行同步"
msgid "Print"
msgstr "列印"
#, javascript-format
msgid "Hide %s"
msgstr "隱藏 %s"
@@ -659,18 +684,6 @@ msgstr "游標置於內文"
msgid "&Tools"
msgstr "工具"
msgid "Synchronisation status"
msgstr "顯示同步狀態"
msgid "Web clipper options"
msgstr "Web clipper 選項"
msgid "Encryption options"
msgstr "加密選項"
msgid "General Options"
msgstr "一般選項"
#, fuzzy
msgid "&Help"
msgstr "說明"
@@ -681,16 +694,6 @@ msgstr "官方網站及線上說明"
msgid "Make a donation"
msgstr "捐助"
msgid "Check for updates..."
msgstr "檢查更新..."
msgid "About Joplin"
msgstr "關於 Joplin"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, javascript-format
msgid "Open %s"
msgstr "開啟 %s"
@@ -1110,9 +1113,6 @@ msgstr "資源: %d。"
msgid "Please select where the sync status should be exported to"
msgstr "請選擇將同步狀態導出到的位置"
msgid "Table of contents"
msgstr ""
msgid "Add or remove tags"
msgstr "新增或移除標籤"
@@ -1145,6 +1145,14 @@ msgstr "刪除此記事?"
msgid "Delete these %d notes?"
msgstr "刪除這些記事?"
msgid ""
"Type a note title to jump to it. Or type # followed by a tag name, or @ "
"followed by a notebook name."
msgstr ""
msgid "Goto Anything..."
msgstr ""
#, javascript-format
msgid "Usage: %s"
msgstr "使用資訊: %s"
@@ -1290,6 +1298,13 @@ msgstr "無法複製此記事到 \"%s\" 記事本"
msgid "Cannot move note to \"%s\" notebook"
msgstr "無法移動此記事到 \"%s\" 記事本"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Language"
msgstr "語言"
@@ -1339,6 +1354,43 @@ msgstr "游標置於內文"
msgid "When creating a new note:"
msgstr "當新增記事時:"
msgid "Enable soft breaks"
msgstr ""
#, fuzzy
msgid "Enable math expressions"
msgstr "啟用加密"
msgid "Enable ==mark== syntax"
msgstr ""
msgid "Enable footnotes"
msgstr ""
msgid "Enable table of contents extension"
msgstr ""
msgid "Enable ~sub~ syntax"
msgstr ""
msgid "Enable ^sup^ syntax"
msgstr ""
msgid "Enable deflist syntax"
msgstr ""
msgid "Enable abbreviation syntax"
msgstr ""
msgid "Enable markdown emoji"
msgstr ""
msgid "Enable ++insert++ syntax"
msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Show tray icon"
msgstr "顯示系統匣圖示"
@@ -1422,21 +1474,9 @@ msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "要同步的目錄 (絕對路徑)"
msgid ""
"The path to synchronise with when file system synchronisation is enabled. "
"See `sync.target`."
msgstr "啟用檔案系統同步時要同步的路徑。請參閱 `sync.target`。"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV 網址"
#, javascript-format
msgid ""
"Attention: If you change this location, make sure you copy all your content "
"to it before syncing, otherwise all files will be removed! See the FAQ for "
"more details: %s"
msgstr ""
msgid "Nextcloud username"
msgstr "Nextcloud 用戶名稱"
@@ -1487,6 +1527,9 @@ msgstr ""
msgid "Note"
msgstr "記事本"
msgid "Plugins"
msgstr ""
#, fuzzy
msgid "Application"
msgstr "離開本程式。"
@@ -1811,6 +1854,15 @@ msgstr "您當前沒有任何筆記本。通過按一下 (+) 鍵去建立一本
msgid "Welcome"
msgstr "歡迎"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "此記事已被修改:"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
#~ "See `sync.target`."
#~ msgstr "啟用檔案系統同步時要同步的路徑。請參閱 `sync.target`。"
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Joplin 官方網站"

View File

@@ -1,6 +1,6 @@
{
"name": "joplin",
"version": "1.0.123",
"version": "1.0.125",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -210,7 +210,7 @@
},
"readable-stream": {
"version": "2.3.6",
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"requires": {
"core-util-is": "~1.0.0",
@@ -346,9 +346,9 @@
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
},
"color": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz",
"integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==",
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/color/-/color-3.1.1.tgz",
"integrity": "sha512-PvUltIXRjehRKPSy89VnDWFKY58xyhTLyxIg21vwQBI6qLwZNPmC8k3C1uytIgFKEpOIzN4y32iPm8231zFHIg==",
"requires": {
"color-convert": "^1.9.1",
"color-string": "^1.5.2"
@@ -697,9 +697,9 @@
"dev": true
},
"expand-template": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz",
"integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg=="
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
},
"extend": {
"version": "3.0.1",
@@ -1853,9 +1853,14 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"nan": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz",
"integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw=="
"version": "2.13.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
"integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw=="
},
"napi-build-utils": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.1.tgz",
"integrity": "sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA=="
},
"ndarray": {
"version": "1.0.18",
@@ -1899,9 +1904,9 @@
}
},
"node-abi": {
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.4.tgz",
"integrity": "sha512-DQ9Mo2mf/XectC+s6+grPPRQ1Z9gI3ZbrGv6nyXRkjwT3HrE0xvtvrfnH7YHYBLgC/KLadg+h3XHnhZw1sv88A==",
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.8.0.tgz",
"integrity": "sha512-1/aa2clS0pue0HjckL62CsbhWWU35HARvBDXcJtYKbYR7LnIutmpxmXbuDMV9kEviD2lP/wACOgWmmwljghHyQ==",
"requires": {
"semver": "^5.4.1"
}
@@ -2187,21 +2192,22 @@
"integrity": "sha1-EdHhK5y2TWPjDBQ6Mw9MH1Z9qF8="
},
"prebuild-install": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-4.0.0.tgz",
"integrity": "sha512-7tayxeYboJX0RbVzdnKyGl2vhQRWr6qfClEXDhOkXjuaOKCw2q8aiuFhONRYVsG/czia7KhpykIlI2S2VaPunA==",
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.0.tgz",
"integrity": "sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg==",
"requires": {
"detect-libc": "^1.0.3",
"expand-template": "^1.0.2",
"expand-template": "^2.0.3",
"github-from-package": "0.0.0",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
"node-abi": "^2.2.0",
"napi-build-utils": "^1.0.1",
"node-abi": "^2.7.0",
"noop-logger": "^0.1.1",
"npmlog": "^4.0.1",
"os-homedir": "^1.0.1",
"pump": "^2.0.1",
"rc": "^1.1.6",
"rc": "^1.2.7",
"simple-get": "^2.7.0",
"tar-fs": "^1.13.0",
"tunnel-agent": "^0.6.0",
@@ -2210,8 +2216,18 @@
"dependencies": {
"minimist": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
"simple-get": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz",
"integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==",
"requires": {
"decompress-response": "^3.3.0",
"once": "^1.3.1",
"simple-concat": "^1.0.0"
}
}
}
},
@@ -2443,50 +2459,63 @@
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
"sharp": {
"version": "0.20.8",
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.20.8.tgz",
"integrity": "sha512-A8NaPGWRDKpmHTi8sl2xzozYXhTQWBb/GaJ8ZPU7L/vKW8wVvd4Yq+isJ0c7p9sX5gnjPQcM3eOfHuvvnZ2fOQ==",
"version": "0.22.1",
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.22.1.tgz",
"integrity": "sha512-lXzSk/FL5b/MpWrT1pQZneKe25stVjEbl6uhhJcTULm7PhmJgKKRbTDM/vtjyUuC/RLqL2PRyC4rpKwbv3soEw==",
"requires": {
"color": "^3.0.0",
"color": "^3.1.1",
"detect-libc": "^1.0.3",
"fs-copy-file-sync": "^1.1.1",
"nan": "^2.11.0",
"nan": "^2.13.2",
"npmlog": "^4.1.2",
"prebuild-install": "^4.0.0",
"semver": "^5.5.1",
"simple-get": "^2.8.1",
"tar": "^4.4.6",
"prebuild-install": "^5.3.0",
"semver": "^6.0.0",
"simple-get": "^3.0.3",
"tar": "^4.4.8",
"tunnel-agent": "^0.6.0"
},
"dependencies": {
"chownr": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
"integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g=="
},
"minipass": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.4.tgz",
"integrity": "sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==",
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
"integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
}
},
"minizlib": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz",
"integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
"requires": {
"minipass": "^2.2.1"
}
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"semver": {
"version": "5.5.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz",
"integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw=="
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz",
"integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ=="
},
"tar": {
"version": "4.4.6",
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.6.tgz",
"integrity": "sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==",
"version": "4.4.8",
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
"integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
"requires": {
"chownr": "^1.0.1",
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
"minipass": "^2.3.3",
"minizlib": "^1.1.0",
"minipass": "^2.3.4",
"minizlib": "^1.1.1",
"mkdirp": "^0.5.0",
"safe-buffer": "^5.1.2",
"yallist": "^3.0.2"
@@ -2505,9 +2534,9 @@
"integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY="
},
"simple-get": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz",
"integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==",
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.0.3.tgz",
"integrity": "sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==",
"requires": {
"decompress-response": "^3.3.0",
"once": "^1.3.1",

View File

@@ -20,7 +20,7 @@
],
"owner": "Laurent Cozic"
},
"version": "1.0.123",
"version": "1.0.125",
"bin": {
"joplin": "./main.js"
},
@@ -60,7 +60,7 @@
"redux": "^3.7.2",
"sax": "^1.2.2",
"server-destroy": "^1.0.1",
"sharp": "^0.20.8",
"sharp": "^0.22.1",
"sprintf-js": "^1.1.1",
"sqlite3": "^4.0.1",
"string-padding": "^1.0.2",

View File

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

View File

@@ -0,0 +1,16 @@
<ul>
<li lang="en-US">
<div>Protocols</div>
</li>
<ul type="circle">
<li lang="en-US">
<div>two common network protocols used to send data packets over a network</div>
</li>
<li lang="en-US">
<div>TCP Transmission control protocol</div>
</li>
</ul>
<li lang="en-US">
<div>Network port - a network port is a process-specific or an application-specific software construct serving as a communication endpoint, which is used by the Transport Layer protocols of Internet Protocol suite, such as UDP and TCP</div>
</li>
</ul>

View File

@@ -0,0 +1,7 @@
- Protocols
- two common network protocols used to send data packets over a network
- TCP Transmission control protocol
- Network port - a network port is a process-specific or an application-specific software construct serving as a communication endpoint, which is used by the Transport Layer protocols of Internet Protocol suite, such as UDP and TCP

View File

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

View File

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

View File

@@ -99,6 +99,30 @@ describe('models_Folder', function() {
expect(folders[0].id).toBe(f1.id);
expect(folders[1].id).toBe(f3.id);
expect(folders[2].id).toBe(f2.id);
let n2 = await Note.save({ title: 'note2', parent_id: f2.id });
folders = await Folder.orderByLastModified(await Folder.all(), 'desc');
expect(folders[0].id).toBe(f2.id);
expect(folders[1].id).toBe(f1.id);
expect(folders[2].id).toBe(f3.id);
await Note.save({ id: n1.id, title: 'note1 MOD' });
folders = await Folder.orderByLastModified(await Folder.all(), 'desc');
expect(folders[0].id).toBe(f1.id);
expect(folders[1].id).toBe(f3.id);
expect(folders[2].id).toBe(f2.id);
let f4 = await Folder.save({ title: "folder4", parent_id: f1.id }); await sleep(0.1);
let n3 = await Note.save({ title: 'note3', parent_id: f4.id });
folders = await Folder.orderByLastModified(await Folder.all(), 'desc');
expect(folders.length).toBe(4);
expect(folders[0].id).toBe(f1.id);
expect(folders[1].id).toBe(f4.id);
expect(folders[2].id).toBe(f3.id);
expect(folders[3].id).toBe(f2.id);
}));
});

View File

@@ -1,7 +1,7 @@
require('app-module-path').addPath(__dirname);
const { time } = require('lib/time-utils.js');
const { asyncTest, fileContentEqual, setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync } = require('test-utils.js');
const { asyncTest, resourceService, decryptionWorker, encryptionService, loadEncryptionMasterKey, allSyncTargetItemsEncrypted, fileContentEqual, setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync } = require('test-utils.js');
const InteropService = require('lib/services/InteropService.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
@@ -15,6 +15,7 @@ const fs = require('fs-extra');
const ArrayUtils = require('lib/ArrayUtils');
const ObjectUtils = require('lib/ObjectUtils');
const { shim } = require('lib/shim.js');
const SearchEngine = require('lib/services/SearchEngine');
process.on('unhandledRejection', (reason, p) => {
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
@@ -37,6 +38,7 @@ describe('services_ResourceService', function() {
beforeEach(async (done) => {
await setupDatabaseAndSynchronizer(1);
await setupDatabaseAndSynchronizer(2);
await switchClient(1);
done();
});
@@ -146,4 +148,69 @@ describe('services_ResourceService', function() {
expect(before.last_seen_time).toBe(after.last_seen_time);
}));
it('should not delete resources that are associated with an encrypted note', asyncTest(async () => {
// https://github.com/laurent22/joplin/issues/1433
//
// Client 1 and client 2 have E2EE setup.
//
// - Client 1 creates note N1 and add resource R1 to it
// - Client 1 syncs
// - Client 2 syncs and get N1
// - Client 2 add resource R2 to N1
// - Client 2 syncs
// - Client 1 syncs
// - Client 1 runs resource indexer - but because N1 hasn't been decrypted yet, it found that R1 is no longer associated with any note
// - Client 1 decrypts notes, but too late
//
// Eventually R1 is deleted because service thinks that it was at some point associated with a note, but no longer.
const masterKey = await loadEncryptionMasterKey();
await encryptionService().enableEncryption(masterKey, '123456');
await encryptionService().loadMasterKeysFromSettings();
let folder1 = await Folder.save({ title: "folder1" });
let note1 = await Note.save({ title: 'ma note', parent_id: folder1.id });
await shim.attachFileToNote(note1, __dirname + '/../tests/support/photo.jpg'); // R1
await resourceService().indexNoteResources();
await synchronizer().start();
expect(await allSyncTargetItemsEncrypted()).toBe(true);
await switchClient(2);
await synchronizer().start();
await encryptionService().enableEncryption(masterKey, '123456');
await encryptionService().loadMasterKeysFromSettings();
await decryptionWorker().start();
{
const n1 = await Note.load(note1.id);
await shim.attachFileToNote(n1, __dirname + '/../tests/support/photo.jpg'); // R2
}
await synchronizer().start();
await switchClient(1);
await synchronizer().start();
await resourceService().indexNoteResources();
await resourceService().deleteOrphanResources(0); // Previously, R1 would be deleted here because it's not indexed
expect((await Resource.all()).length).toBe(2);
}));
it('should double-check if the resource is still linked before deleting it', asyncTest(async () => {
SearchEngine.instance().setDb(db()); // /!\ Note that we use the global search engine here, which we shouldn't but will work for now
let folder1 = await Folder.save({ title: "folder1" });
let note1 = await Note.save({ title: 'ma note', parent_id: folder1.id });
note1 = await shim.attachFileToNote(note1, __dirname + '/../tests/support/photo.jpg');
await resourceService().indexNoteResources();
const bodyWithResource = note1.body;
await Note.save({ id: note1.id, body: '' });
await resourceService().indexNoteResources();
await Note.save({ id: note1.id, body: bodyWithResource });
await SearchEngine.instance().syncTables();
await resourceService().deleteOrphanResources(0);
expect((await Resource.all()).length).toBe(1); // It should not have deleted the resource
const nr = (await NoteResource.all())[0];
expect(!!nr.is_associated).toBe(true); // And it should have fixed the situation by re-indexing the note content
}));
});

View File

@@ -256,6 +256,23 @@ describe('services_SearchEngine', function() {
expect((await engine.search('말')).length).toBe(1);
}));
it('should support field restricted queries with Chinese characters', asyncTest(async () => {
let rows;
const n1 = await Note.save({ title: "你好", body: "我是法国人" });
await engine.syncTables();
expect((await engine.search('title:你好*')).length).toBe(1);
expect((await engine.search('body:你好')).length).toBe(0);
expect((await engine.search('title:你好 body:法国人')).length).toBe(1);
expect((await engine.search('title:你好 body:bla')).length).toBe(0);
expect((await engine.search('title:你好 我是')).length).toBe(1);
expect((await engine.search('title:bla 我是')).length).toBe(0);
// For non-alpha char, only the first field is looked at, the following ones are ignored
expect((await engine.search('title:你好 title:hello')).length).toBe(1);
}));
it('should parse normal query strings', asyncTest(async () => {
let rows;
@@ -265,6 +282,7 @@ describe('services_SearchEngine', function() {
['title:abcd efgh', { _: ['efgh'], title: ['abcd'] }],
['title:abcd', { title: ['abcd'] }],
['"abcd efgh"', { _: ['abcd efgh'] }],
['title:abcd title:efgh', { title: ['abcd', 'efgh'] }],
];
for (let i = 0; i < testCases.length; i++) {
@@ -283,33 +301,6 @@ describe('services_SearchEngine', function() {
}
}));
// it('should parse query strings with wildcards', asyncTest(async () => {
// let rows;
// const testCases = [
// ['do*', ['do', 'dog', 'domino'], [] ],
// // "*" is a wildcard only when used at the end (to search for documents with the specified prefix)
// // If it's at the beginning, it's ignored, if it's in the middle, it's treated as a litteral "*".
// ['*an*', ['an', 'anneau'], ['piano', 'plan'] ],
// ['no*no', ['no*no'], ['nonono'] ],
// ];
// for (let i = 0; i < testCases.length; i++) {
// const t = testCases[i];
// const input = t[0];
// const shouldMatch = t[1];
// const shouldNotMatch = t[2];
// const regex = new RegExp(engine.parseQuery(input).terms._[0].value, 'gmi');
// for (let j = 0; j < shouldMatch.length; j++) {
// const r = shouldMatch[j].match(regex);
// expect(!!r).toBe(true, '"' + input + '" should match "' + shouldMatch[j] + '"');
// }
// }
// expect(engine.parseQuery('*').termCount).toBe(0);
// }));
it('should handle queries with special characters', asyncTest(async () => {
let rows;

View File

@@ -1,7 +1,7 @@
require('app-module-path').addPath(__dirname);
const { time } = require('lib/time-utils.js');
const { setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, encryptionService, loadEncryptionMasterKey, fileContentEqual, decryptionWorker, checkThrowAsync, asyncTest } = require('test-utils.js');
const { setupDatabase, allSyncTargetItemsEncrypted, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, encryptionService, loadEncryptionMasterKey, fileContentEqual, decryptionWorker, checkThrowAsync, asyncTest } = require('test-utils.js');
const { shim } = require('lib/shim.js');
const fs = require('fs-extra');
const Folder = require('lib/models/Folder.js');
@@ -29,38 +29,6 @@ async function allItems() {
return folders.concat(notes);
}
async function allSyncTargetItemsEncrypted() {
const list = await fileApi().list();
const files = list.items;
//console.info(Setting.value('resourceDir'));
let totalCount = 0;
let encryptedCount = 0;
for (let i = 0; i < files.length; i++) {
const file = files[i];
const remoteContentString = await fileApi().get(file.path);
const remoteContent = await BaseItem.unserialize(remoteContentString);
const ItemClass = BaseItem.itemClass(remoteContent);
if (!ItemClass.encryptionSupported()) continue;
totalCount++;
if (remoteContent.type_ === BaseModel.TYPE_RESOURCE) {
const content = await fileApi().get('.resource/' + remoteContent.id);
totalCount++;
if (content.substr(0, 5) === 'JED01') output = encryptedCount++;
}
if (!!remoteContent.encryption_applied) encryptedCount++;
}
if (!totalCount) throw new Error('No encryptable item on sync target');
return totalCount === encryptedCount;
}
async function localItemsSameAsRemote(locals, expect) {
let error = null;
try {

View File

@@ -30,6 +30,7 @@ const SyncTargetNextcloud = require('lib/SyncTargetNextcloud.js');
const SyncTargetDropbox = require('lib/SyncTargetDropbox.js');
const EncryptionService = require('lib/services/EncryptionService.js');
const DecryptionWorker = require('lib/services/DecryptionWorker.js');
const ResourceService = require('lib/services/ResourceService.js');
const WebDavApi = require('lib/WebDavApi');
const DropboxApi = require('lib/DropboxApi');
@@ -37,6 +38,7 @@ let databases_ = [];
let synchronizers_ = [];
let encryptionServices_ = [];
let decryptionWorkers_ = [];
let resourceServices_ = [];
let fileApi_ = null;
let currentClient_ = 1;
@@ -102,6 +104,8 @@ function sleep(n) {
}
async function switchClient(id) {
if (!databases_[id]) throw new Error('Call setupDatabaseAndSynchronizer(' + id + ') first!!');
await time.msleep(sleepTime); // Always leave a little time so that updated_time properties don't overlap
await Setting.saveAll();
@@ -198,6 +202,7 @@ async function setupDatabaseAndSynchronizer(id = null) {
encryptionServices_[id] = new EncryptionService();
decryptionWorkers_[id] = new DecryptionWorker();
decryptionWorkers_[id].setEncryptionService(encryptionServices_[id]);
resourceServices_[id] = new ResourceService();
await fileApi().clearRoot();
}
@@ -222,6 +227,11 @@ function decryptionWorker(id = null) {
return decryptionWorkers_[id];
}
function resourceService(id = null) {
if (id === null) id = currentClient_;
return resourceServices_[id];
}
async function loadEncryptionMasterKey(id = null, useExisting = false) {
const service = encryptionService(id);
@@ -314,4 +324,34 @@ function asyncTest(callback) {
}
}
module.exports = { setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync, encryptionService, loadEncryptionMasterKey, fileContentEqual, decryptionWorker, asyncTest };
async function allSyncTargetItemsEncrypted() {
const list = await fileApi().list();
const files = list.items;
let totalCount = 0;
let encryptedCount = 0;
for (let i = 0; i < files.length; i++) {
const file = files[i];
const remoteContentString = await fileApi().get(file.path);
const remoteContent = await BaseItem.unserialize(remoteContentString);
const ItemClass = BaseItem.itemClass(remoteContent);
if (!ItemClass.encryptionSupported()) continue;
totalCount++;
if (remoteContent.type_ === BaseModel.TYPE_RESOURCE) {
const content = await fileApi().get('.resource/' + remoteContent.id);
totalCount++;
if (content.substr(0, 5) === 'JED01') output = encryptedCount++;
}
if (!!remoteContent.encryption_applied) encryptedCount++;
}
if (!totalCount) throw new Error('No encryptable item on sync target');
return totalCount === encryptedCount;
}
module.exports = { resourceService, allSyncTargetItemsEncrypted, setupDatabase, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync, encryptionService, loadEncryptionMasterKey, fileContentEqual, decryptionWorker, asyncTest };

View File

@@ -1,9 +1,10 @@
{
"manifest_version": 2,
"name": "Joplin Web Clipper [DEV]",
"version": "1.0.8",
"version": "1.0.13",
"description": "Capture and save web pages and screenshots from your browser to Joplin.",
"homepage_url": "https://joplin.cozic.net",
"homepage_url": "https://joplinapp.org",
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
"icons": {
"32": "icons/32.png",
"48": "icons/48.png",

View File

@@ -0,0 +1 @@
INLINE_RUNTIME_CHUNK=false

View File

@@ -15,6 +15,7 @@ class AppComponent extends Component {
this.state = ({
contentScriptLoaded: false,
selectedTags: [],
contentScriptError: '',
});
this.confirm_click = () => {
@@ -73,7 +74,7 @@ class AppComponent extends Component {
}
this.clipperServerHelpLink_click = () => {
bridge().tabsCreate({ url: 'https://joplin.cozic.net/clipper' });
bridge().tabsCreate({ url: 'https://joplinapp.org/clipper/' });
}
this.folderSelect_change = (event) => {
@@ -126,7 +127,14 @@ class AppComponent extends Component {
}
async componentDidMount() {
await this.loadContentScripts();
try {
await this.loadContentScripts();
} catch (error) {
console.error('Could not load content scripts', error);
this.setState({ contentScriptError: error.message });
return;
}
this.setState({
contentScriptLoaded: true,
});
@@ -166,7 +174,11 @@ class AppComponent extends Component {
}
render() {
if (!this.state.contentScriptLoaded) return 'Loading...';
if (!this.state.contentScriptLoaded) {
let msg = 'Loading...';
if (this.state.contentScriptError) msg = 'The Joplin extension is not available on this tab due to: ' + this.state.contentScriptError;
return <div style={{padding: 10, fontSize: 12, maxWidth: 200}}>{msg}</div>;
}
const warningComponent = !this.props.warning ? null : <div className="Warning">{ this.props.warning }</div>
@@ -198,12 +210,12 @@ class AppComponent extends Component {
} else if (hasContent) {
previewComponent = (
<div className="Preview">
<a className={"Confirm Button"} onClick={this.confirm_click}>Confirm</a>
<h2>Preview:</h2>
<input className={"Title"} value={content.title} onChange={this.contentTitle_change}/>
<div className={"BodyWrapper"}>
<div className={"Body"} dangerouslySetInnerHTML={{__html: content.body_html}}></div>
</div>
<a className={"Confirm Button"} onClick={this.confirm_click}>Confirm</a>
</div>
);
}

View File

@@ -3,4 +3,5 @@ app/packageInfo.js
dist/
app/lib/
app/gui/*.min.js
app/plugins/*.min.js
.DS_Store

View File

@@ -54,6 +54,7 @@ class ElectronAppWrapper {
y: windowState.y,
width: windowState.width,
height: windowState.height,
backgroundColor: '#fff', // required to enable sub pixel rendering, can't be in css
webPreferences: {
nodeIntegration: true,
},

View File

@@ -28,6 +28,11 @@ const ExternalEditWatcher = require('lib/services/ExternalEditWatcher');
const { bridge } = require('electron').remote.require('./bridge');
const Menu = bridge().Menu;
const MenuItem = bridge().MenuItem;
const PluginManager = require('lib/services/PluginManager');
const pluginClasses = [
require('./plugins/GotoAnything.min'),
];
const appDefaultState = Object.assign({}, defaultState, {
route: {
@@ -308,6 +313,8 @@ class Application extends BaseApplication {
const importItems = [];
const exportItems = [];
const preferencesItems = [];
const toolsItemsFirst = [];
const ioService = new InteropService();
const ioModules = ioService.modules();
for (let i = 0; i < ioModules.length; i++) {
@@ -355,6 +362,9 @@ class Application extends BaseApplication {
importOptions.path = path;
importOptions.format = module.format;
importOptions.destinationFolderId = !module.isNoteArchive && moduleSource === 'file' ? selectedFolderId : null;
importOptions.onError = (error) => {
console.warn(error);
}
const service = new InteropService();
try {
@@ -385,42 +395,203 @@ class Application extends BaseApplication {
}
});
const template = [
{
label: _('&File'),
/* `&` before one of the char in the label name mean, that
* <Alt + F> will open this menu. It's needed becase electron
* opens the first menu on Alt press if no hotkey assigned.
* Issue: https://github.com/laurent22/joplin/issues/934 */
submenu: [{
label: _('New note'),
accelerator: 'CommandOrControl+N',
screens: ['Main'],
click: () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'newNote',
});
}
}, {
label: _('New to-do'),
accelerator: 'CommandOrControl+T',
screens: ['Main'],
click: () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'newTodo',
});
}
}, {
label: _('New notebook'),
screens: ['Main'],
click: () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'newNotebook',
});
}
/* We need a dummy entry, otherwise the ternary operator to show a
* menu item only on a specific OS does not work. */
const noItem = {
type: 'separator',
visible: false
}
const syncStatusItem = {
label: _('Synchronisation status'),
click: () => {
this.dispatch({
type: 'NAV_GO',
routeName: 'Status',
});
}
}
const newNoteItem = {
label: _('New note'),
accelerator: 'CommandOrControl+N',
screens: ['Main'],
click: () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'newNote',
});
}
}
const newTodoItem = {
label: _('New to-do'),
accelerator: 'CommandOrControl+T',
screens: ['Main'],
click: () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'newTodo',
});
}
}
const newNotebookItem = {
label: _('New notebook'),
screens: ['Main'],
click: () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'newNotebook',
});
}
}
const printItem = {
label: _('Print'),
accelerator: 'CommandOrControl+P',
screens: ['Main'],
click: () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'print',
});
}
}
preferencesItems.push({
label: _('General Options'),
accelerator: 'CommandOrControl+,',
click: () => {
this.dispatch({
type: 'NAV_GO',
routeName: 'Config',
});
}
}, {
label: _('Encryption options'),
click: () => {
this.dispatch({
type: 'NAV_GO',
routeName: 'EncryptionConfig',
});
}
}, {
label: _('Web clipper options'),
click: () => {
this.dispatch({
type: 'NAV_GO',
routeName: 'ClipperConfig',
});
}
});
toolsItemsFirst.push(syncStatusItem, {
type: 'separator',
screens: ['Main'],
});
const toolsItems = toolsItemsFirst.concat(preferencesItems);
function _checkForUpdates(ctx) {
bridge().checkForUpdates(false, bridge().window(), ctx.checkForUpdateLoggerPath(), { includePreReleases: Setting.value('autoUpdate.includePreReleases') });
}
function _showAbout() {
const p = packageInfo;
let message = [
p.description,
'',
'Copyright © 2016-2019 Laurent Cozic',
_('%s %s (%s, %s)', p.name, p.version, Setting.value('env'), process.platform),
];
bridge().showInfoMessageBox(message.join('\n'), {
icon: bridge().electronApp().buildDir() + '/icons/32x32.png',
});
}
const rootMenuFile = {
/* Using a dummy entry for macOS here, because first menu
* becomes 'Joplin' and we need a nenu called 'File' later. */
label: shim.isMac() ? '&JoplinMainMenu' : _('&File'),
/* `&` before one of the char in the label name mean, that
* <Alt + F> will open this menu. It's needed becase electron
* opens the first menu on Alt press if no hotkey assigned.
* Issue: https://github.com/laurent22/joplin/issues/934 */
submenu: [{
label: _('About Joplin'),
visible: shim.isMac() ? true : false,
click: () => _showAbout()
}, {
type: 'separator',
visible: shim.isMac() ? true : false
}, {
label: _('Preferences...'),
visible: shim.isMac() ? true : false,
submenu: preferencesItems
}, {
label: _('Check for updates...'),
visible: shim.isMac() ? true : false,
click: () => _checkForUpdates(this)
}, {
type: 'separator',
visible: shim.isMac() ? true : false
},
shim.isMac() ? noItem : newNoteItem,
shim.isMac() ? noItem : newTodoItem,
shim.isMac() ? noItem : newNotebookItem, {
type: 'separator',
visible: shim.isMac() ? false : true
}, {
label: _('Import'),
visible: shim.isMac() ? false : true,
submenu: importItems,
}, {
label: _('Export'),
visible: shim.isMac() ? false : true,
submenu: exportItems,
}, {
type: 'separator',
}, {
label: _('Synchronise'),
accelerator: 'CommandOrControl+S',
screens: ['Main'],
click: async () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'synchronize',
});
}
}, shim.isMac() ? syncStatusItem : noItem, {
type: 'separator',
}, shim.isMac() ? noItem : printItem, {
type: 'separator',
platforms: ['darwin'],
}, {
label: _('Hide %s', 'Joplin'),
platforms: ['darwin'],
accelerator: 'CommandOrControl+H',
click: () => { bridge().electronApp().hide() }
}, {
type: 'separator',
}, {
label: _('Quit'),
accelerator: 'CommandOrControl+Q',
click: () => { bridge().electronApp().quit() }
}]
};
const rootMenuFileMacOs = {
label: _('&File'),
visible: shim.isMac() ? true : false,
submenu: [
newNoteItem,
newTodoItem,
newNotebookItem, {
label: _('Close Window'),
platforms: ['darwin'],
accelerator: 'Command+W',
selector: 'performClose:',
}, {
type: 'separator',
}, {
@@ -431,44 +602,13 @@ class Application extends BaseApplication {
submenu: exportItems,
}, {
type: 'separator',
}, {
label: _('Synchronise'),
accelerator: 'CommandOrControl+S',
screens: ['Main'],
click: async () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'synchronize',
});
}
}, {
type: 'separator',
}, {
label: _('Print'),
accelerator: 'CommandOrControl+P',
screens: ['Main'],
click: () => {
this.dispatch({
type: 'WINDOW_COMMAND',
name: 'print',
});
}
}, {
type: 'separator',
platforms: ['darwin'],
}, {
label: _('Hide %s', 'Joplin'),
platforms: ['darwin'],
accelerator: 'CommandOrControl+H',
click: () => { bridge().electronApp().hide() }
}, {
type: 'separator',
}, {
label: _('Quit'),
accelerator: 'CommandOrControl+Q',
click: () => { bridge().electronApp().quit() }
}]
}, {
},
printItem
]
};
const rootMenus = {
edit: {
label: _('&Edit'),
submenu: [{
label: _('Copy'),
@@ -569,7 +709,8 @@ class Application extends BaseApplication {
});
},
}],
}, {
},
view: {
label: _('&View'),
submenu: [{
label: _('Toggle sidebar'),
@@ -626,80 +767,59 @@ class Application extends BaseApplication {
screens: ['Main'],
submenu: focusItems,
}],
}, {
},
tools: {
label: _('&Tools'),
submenu: [{
label: _('Synchronisation status'),
click: () => {
this.dispatch({
type: 'NAV_GO',
routeName: 'Status',
});
}
}, {
type: 'separator',
screens: ['Main'],
},{
label: _('Web clipper options'),
click: () => {
this.dispatch({
type: 'NAV_GO',
routeName: 'ClipperConfig',
});
}
},{
label: _('Encryption options'),
click: () => {
this.dispatch({
type: 'NAV_GO',
routeName: 'EncryptionConfig',
});
}
},{
label: _('General Options'),
accelerator: 'CommandOrControl+,',
click: () => {
this.dispatch({
type: 'NAV_GO',
routeName: 'Config',
});
}
}],
}, {
submenu: shim.isMac() ? [] : toolsItems,
},
help: {
label: _('&Help'),
submenu: [{
label: _('Website and documentation'),
accelerator: 'F1',
click () { bridge().openExternal('https://joplin.cozic.net') }
click () { bridge().openExternal('https://joplinapp.org') }
}, {
label: _('Make a donation'),
click () { bridge().openExternal('https://joplin.cozic.net/donate') }
click () { bridge().openExternal('https://joplinapp.org/donate/') }
}, {
label: _('Check for updates...'),
click: () => {
bridge().checkForUpdates(false, bridge().window(), this.checkForUpdateLoggerPath(), { includePreReleases: Setting.value('autoUpdate.includePreReleases') });
}
visible: shim.isMac() ? false : true,
click: () => _checkForUpdates(this)
}, {
type: 'separator',
visible: shim.isMac() ? false : true,
screens: ['Main'],
}, {
label: _('About Joplin'),
click: () => {
const p = packageInfo;
let message = [
p.description,
'',
'Copyright © 2016-2019 Laurent Cozic',
_('%s %s (%s, %s)', p.name, p.version, Setting.value('env'), process.platform),
];
bridge().showInfoMessageBox(message.join('\n'), {
icon: bridge().electronApp().buildDir() + '/icons/32x32.png',
});
}
visible: shim.isMac() ? false : true,
click: () => _showAbout()
}]
},
},
};
if (shim.isMac()) {
rootMenus.macOsApp = rootMenuFile;
rootMenus.file = rootMenuFileMacOs;
} else {
rootMenus.file = rootMenuFile;
}
const pluginMenuItems = PluginManager.instance().menuItems();
for (const item of pluginMenuItems) {
let itemParent = rootMenus[item.parent] ? rootMenus[item.parent] : 'tools';
itemParent.submenu.push(item);
}
const template = [
rootMenus.file,
rootMenus.edit,
rootMenus.view,
rootMenus.tools,
rootMenus.help,
];
if (shim.isMac()) template.splice(0, 0, rootMenus.macOsApp);
function isEmptyMenu(template) {
for (let i = 0; i < template.length; i++) {
const t = template[i];
@@ -813,6 +933,10 @@ class Application extends BaseApplication {
bridge().window().webContents.openDevTools();
}
PluginManager.instance().dispatch_ = this.dispatch.bind(this);
PluginManager.instance().setLogger(reg.logger());
PluginManager.instance().register(pluginClasses);
this.updateMenu('Main');
this.initRedux();

View File

@@ -3,7 +3,6 @@ const spawnSync = require('child_process').spawnSync;
const babelPath = __dirname + '/node_modules/.bin/babel' + (process.platform === 'win32' ? '.cmd' : '');
const basePath = __dirname + '/../..';
const guiPath = __dirname + '/gui';
function fileIsNewerThan(path1, path2) {
if (!fs.existsSync(path2)) return true;
@@ -14,31 +13,36 @@ function fileIsNewerThan(path1, path2) {
return stat1.mtime > stat2.mtime;
}
fs.readdirSync(guiPath).forEach((filename) => {
const jsxPath = guiPath + '/' + filename;
const p = jsxPath.split('.');
if (p.length <= 1) return;
const ext = p[p.length - 1];
if (ext !== 'jsx') return;
p.pop();
function convertJsx(path) {
fs.readdirSync(path).forEach((filename) => {
const jsxPath = path + '/' + filename;
const p = jsxPath.split('.');
if (p.length <= 1) return;
const ext = p[p.length - 1];
if (ext !== 'jsx') return;
p.pop();
const basePath = p.join('.');
const basePath = p.join('.');
const jsPath = basePath + '.min.js';
const jsPath = basePath + '.min.js';
if (fileIsNewerThan(jsxPath, jsPath)) {
console.info('Compiling ' + jsxPath + '...');
const result = spawnSync(babelPath, ['--presets', 'react', '--out-file', jsPath, jsxPath]);
if (result.status !== 0) {
const msg = [];
if (result.stdout) msg.push(result.stdout.toString());
if (result.stderr) msg.push(result.stderr.toString());
console.error(msg.join('\n'));
if (result.error) console.error(result.error);
process.exit(result.status);
if (fileIsNewerThan(jsxPath, jsPath)) {
console.info('Compiling ' + jsxPath + '...');
const result = spawnSync(babelPath, ['--presets', 'react', '--out-file', jsPath, jsxPath]);
if (result.status !== 0) {
const msg = [];
if (result.stdout) msg.push(result.stdout.toString());
if (result.stderr) msg.push(result.stderr.toString());
console.error(msg.join('\n'));
if (result.error) console.error(result.error);
process.exit(result.status);
}
}
}
});
});
}
convertJsx(__dirname + '/gui');
convertJsx(__dirname + '/plugins');
const libContent = [
fs.readFileSync(basePath + '/ReactNativeClient/lib/string-utils-common.js', 'utf8'),

View File

@@ -189,7 +189,7 @@ class EncryptionConfigScreenComponent extends React.Component {
<div style={containerStyle}>
{<div style={{backgroundColor: theme.warningBackgroundColor, paddingLeft: 10, paddingRight: 10, paddingTop: 2, paddingBottom: 2 }}>
<p style={theme.textStyle}>
<span>{_('For more information about End-To-End Encryption (E2EE) and advices on how to enable it please check the documentation:')}</span> <a onClick={() => {bridge().openExternal('https://joplin.cozic.net/e2ee')}} href="#">https://joplin.cozic.net/e2ee</a>
<span>{_('For more information about End-To-End Encryption (E2EE) and advices on how to enable it please check the documentation:')}</span> <a onClick={() => {bridge().openExternal('https://joplinapp.org/e2ee/')}} href="#">https://joplinapp.org/e2ee/</a>
</p>
</div>}
<h1 style={theme.h1Style}>{_('Status')}</h1>

View File

@@ -58,7 +58,7 @@ class HeaderComponent extends React.Component {
}
this.searchUsageLink_click = event => {
bridge().openExternal('https://joplin.cozic.net/#searching');
bridge().openExternal('https://joplinapp.org/#searching');
}
}
@@ -102,11 +102,14 @@ class HeaderComponent extends React.Component {
let icon = null;
if (options.iconName) {
const iconStyle = {
fontSize: Math.round(style.fontSize * 1.4),
fontSize: Math.round(style.fontSize * 1.1),
color: style.color,
};
if (options.title) iconStyle.marginRight = 5;
if (options.iconRotation) iconStyle.transform = 'rotate(' + options.iconRotation + 'deg)';
if("undefined" != typeof(options.iconRotation)) {
iconStyle.transition = "transform 0.15s ease-in-out";
iconStyle.transform = 'rotate(' + options.iconRotation + 'deg)';
}
icon = <i style={iconStyle} className={"fa " + options.iconName}></i>
}
@@ -135,8 +138,11 @@ class HeaderComponent extends React.Component {
const inputStyle = {
display: 'flex',
flex: 1,
paddingLeft: 4,
paddingRight: 4,
paddingLeft: 6,
paddingRight: 6,
paddingTop: 1, // vertical alignment with buttons
paddingBottom: 0, // vertical alignment with buttons
height: style.fontSize * 2,
color: style.color,
fontSize: style.fontSize,
fontFamily: style.fontFamily,

View File

@@ -18,6 +18,7 @@ const layoutUtils = require('lib/layout-utils.js');
const { bridge } = require('electron').remote.require('./bridge');
const eventManager = require('../eventManager');
const VerticalResizer = require('./VerticalResizer.min');
const PluginManager = require('lib/services/PluginManager');
class MainScreenComponent extends React.Component {
@@ -210,6 +211,15 @@ class MainScreenComponent extends React.Component {
type: 'SEARCH_SELECT',
id: this.searchId_,
});
} else {
const note = await Note.load(this.props.selectedNoteId);
if (note) {
this.props.dispatch({
type: "FOLDER_AND_NOTE_SELECT",
folderId: note.parent_id,
noteId: note.id,
});
}
}
} else if (command.name === 'commandNoteProperties') {
@@ -449,6 +459,9 @@ class MainScreenComponent extends React.Component {
);
}
const dialogInfo = PluginManager.instance().pluginDialogToShow(this.props.plugins);
const pluginDialog = !dialogInfo ? null : <dialogInfo.Dialog {...dialogInfo.props}/>;
const modalLayerStyle = Object.assign({}, styles.modalLayer, { display: this.state.modalLayer.visible ? 'block' : 'none' });
const notePropertiesDialogOptions = this.state.notePropertiesDialogOptions;
@@ -457,12 +470,11 @@ class MainScreenComponent extends React.Component {
<div style={style}>
<div style={modalLayerStyle}>{this.state.modalLayer.message}</div>
<NotePropertiesDialog
{ notePropertiesDialogOptions.visible && <NotePropertiesDialog
theme={this.props.theme}
noteId={notePropertiesDialogOptions.noteId}
visible={!!notePropertiesDialogOptions.visible}
onClose={this.notePropertiesDialog_close}
/>
/> }
<PromptDialog
autocomplete={promptOptions && ('autocomplete' in promptOptions) ? promptOptions.autocomplete : null}
@@ -483,6 +495,8 @@ class MainScreenComponent extends React.Component {
<NoteList style={styles.noteList} />
<VerticalResizer style={styles.verticalResizer} onDrag={this.noteList_onDrag}/>
<NoteText style={styles.noteText} visiblePanes={this.props.noteVisiblePanes} />
{pluginDialog}
</div>
);
}
@@ -503,6 +517,8 @@ const mapStateToProps = (state) => {
sidebarVisibility: state.sidebarVisibility,
sidebarWidth: state.settings['style.sidebar.width'],
noteListWidth: state.settings['style.noteList.width'],
selectedNoteId: state.selectedNoteIds.length === 1 ? state.selectedNoteIds[0] : null,
plugins: state.plugins,
};
};

View File

@@ -23,7 +23,6 @@ class NotePropertiesDialog extends React.Component {
formNote: null,
editedKey: null,
editedValue: null,
visible: false,
};
this.keyToLabel_ = {
@@ -35,14 +34,8 @@ class NotePropertiesDialog extends React.Component {
};
}
componentWillReceiveProps(newProps) {
if ('visible' in newProps && newProps.visible !== this.state.visible) {
this.setState({ visible: newProps.visible });
}
if ('noteId' in newProps) {
this.loadNote(newProps.noteId);
}
componentDidMount() {
this.loadNote(this.props.noteId);
}
componentDidUpdate() {
@@ -109,25 +102,25 @@ class NotePropertiesDialog extends React.Component {
this.styles_ = {};
this.styleKey_ = styleKey;
this.styles_.modalLayer = {
zIndex: 9999,
display: 'flex',
position: 'absolute',
top: 0,
left: 0,
width: '100%',
height: '100%',
backgroundColor: 'rgba(0,0,0,0.6)',
alignItems: 'flex-start',
justifyContent: 'center',
};
// this.styles_.modalLayer = {
// zIndex: 9999,
// display: 'flex',
// position: 'absolute',
// top: 0,
// left: 0,
// width: '100%',
// height: '100%',
// backgroundColor: 'rgba(0,0,0,0.6)',
// alignItems: 'flex-start',
// justifyContent: 'center',
// };
this.styles_.dialogBox = {
backgroundColor: theme.backgroundColor,
padding: 16,
boxShadow: '6px 6px 20px rgba(0,0,0,0.5)',
marginTop: 20,
}
// this.styles_.dialogBox = {
// backgroundColor: theme.backgroundColor,
// padding: 16,
// boxShadow: '6px 6px 20px rgba(0,0,0,0.5)',
// marginTop: 20,
// }
this.styles_.controlBox = {
marginBottom: '1em',
@@ -160,7 +153,7 @@ class NotePropertiesDialog extends React.Component {
borderColor: theme.dividerColor,
};
this.styles_.dialogTitle = Object.assign({}, theme.h1Style, { marginBottom: '1.2em' });
// this.styles_.dialogTitle = Object.assign({}, theme.h1Style, { marginBottom: '1.2em' });
return this.styles_;
}
@@ -175,10 +168,6 @@ class NotePropertiesDialog extends React.Component {
await this.cancelProperty();
}
this.setState({
visible: false,
});
if (this.props.onClose) {
this.props.onClose();
}
@@ -379,9 +368,6 @@ class NotePropertiesDialog extends React.Component {
const noteComps = [];
const modalLayerStyle = Object.assign({}, styles.modalLayer);
if (!this.state.visible) modalLayerStyle.display = 'none';
if (formNote) {
for (let key in formNote) {
if (!formNote.hasOwnProperty(key)) continue;
@@ -391,9 +377,9 @@ class NotePropertiesDialog extends React.Component {
}
return (
<div style={modalLayerStyle}>
<div style={styles.dialogBox}>
<div style={styles.dialogTitle}>{_('Note properties')}</div>
<div style={theme.dialogModalLayer}>
<div style={theme.dialogBox}>
<div style={theme.dialogTitle}>{_('Note properties')}</div>
<div>{noteComps}</div>
<div style={{ textAlign: 'right', marginTop: 10 }}>
{buttonComps}

View File

@@ -6,7 +6,7 @@ const Search = require('lib/models/Search.js');
const { time } = require('lib/time-utils.js');
const Setting = require('lib/models/Setting.js');
const { IconButton } = require('./IconButton.min.js');
const { urlDecode, escapeHtml, pregQuote, scriptType } = require('lib/string-utils');
const { urlDecode, escapeHtml, pregQuote, scriptType, substrWithEllipsis } = require('lib/string-utils');
const Toolbar = require('./Toolbar.min.js');
const TagList = require('./TagList.min.js');
const { connect } = require('react-redux');
@@ -800,7 +800,7 @@ class NoteTextComponent extends React.Component {
});
if (Setting.value('env') === 'dev') {
this.webviewRef_.current.wrappedInstance.openDevTools();
// this.webviewRef_.current.wrappedInstance.openDevTools();
}
}
@@ -820,7 +820,7 @@ class NoteTextComponent extends React.Component {
this.editor_.editor.renderer.on('afterRender', this.onAfterEditorRender_);
const cancelledKeys = [];
const letters = ['F', 'T', 'P', 'Q', 'L', ','];
const letters = ['F', 'T', 'P', 'Q', 'L', ',', 'G'];
for (let i = 0; i < letters.length; i++) {
const l = letters[i];
cancelledKeys.push('Ctrl+' + l);
@@ -1372,9 +1372,16 @@ class NoteTextComponent extends React.Component {
const toolbarItems = [];
if (note && this.state.folder && ['Search', 'Tag'].includes(this.props.notesParentType)) {
toolbarItems.push({
title: _('In: %s', this.state.folder.title),
title: _('In: %s', substrWithEllipsis(this.state.folder.title, 0, 16)),
iconName: 'fa-book',
enabled: false,
onClick: () => {
this.props.dispatch({
type: "FOLDER_AND_NOTE_SELECT",
folderId: this.state.folder.id,
noteId: note.id,
});
},
// enabled: false,
});
}
@@ -1413,25 +1420,6 @@ class NoteTextComponent extends React.Component {
type: 'separator',
});
toolbarItems.push({
tooltip: _('Note properties'),
iconName: 'fa-info-circle',
onClick: () => {
const n = this.state.note;
if (!n || !n.id) return;
this.props.dispatch({
type: 'WINDOW_COMMAND',
name: 'commandNoteProperties',
noteId: n.id,
});
},
});
toolbarItems.push({
type: 'separator',
});
toolbarItems.push({
tooltip: _('Hyperlink'),
iconName: 'fa-link',
@@ -1529,6 +1517,22 @@ class NoteTextComponent extends React.Component {
toolbarItems.push(item);
}
toolbarItems.push({
tooltip: _('Note properties'),
iconName: 'fa-info-circle',
onClick: () => {
const n = this.state.note;
if (!n || !n.id) return;
this.props.dispatch({
type: 'WINDOW_COMMAND',
name: 'commandNoteProperties',
noteId: n.id,
});
},
});
return toolbarItems;
}
@@ -1805,7 +1809,7 @@ class NoteTextComponent extends React.Component {
// Disable warning: "Automatically scrolling cursor into view after
// selection change this will be disabled in the next version set
// editor.$blockScrolling = Infinity to disable this message"
editorProps={{$blockScrolling: true}}
editorProps={{$blockScrolling: Infinity}}
// This is buggy (gets outside the container)
highlightActiveLine={false}

View File

@@ -152,7 +152,7 @@ class SideBarComponent extends React.Component {
header: {
height: itemHeight * 1.8,
fontFamily: theme.fontFamily,
fontSize: theme.fontSize * 1.3,
fontSize: theme.fontSize * 1.16,
textDecoration: "none",
boxSizing: "border-box",
color: theme.color2,
@@ -509,7 +509,7 @@ class SideBarComponent extends React.Component {
makeHeader(key, label, iconName, extraProps = {}) {
const style = this.style().header;
const icon = <i style={{ fontSize: style.fontSize * 1.2, marginRight: 5 }} className={"fa " + iconName} />;
const icon = <i style={{ fontSize: style.fontSize, marginRight: 5 }} className={"fa " + iconName} />;
if (extraProps.toggleblock || extraProps.onClick) {
style.cursor = "pointer";
@@ -642,9 +642,15 @@ class SideBarComponent extends React.Component {
synchronizeButton(type) {
const style = Object.assign({}, this.style().button, { marginBottom: 5 });
const iconName = type === "sync" ? "fa-refresh" : "fa-times";
const iconName = "fa-refresh";
const label = type === "sync" ? _("Synchronise") : _("Cancel");
const icon = <i style={{ fontSize: style.fontSize, marginRight: 5 }} className={"fa " + iconName} />;
let iconStyle = { fontSize: style.fontSize, marginRight: 5 };
if(type !== 'sync'){
iconStyle.animation = 'icon-infinite-rotation 1s linear infinite';
}
const icon = <i style={iconStyle} className={"fa " + iconName} />;
return (
<a
className="synchronize-button"
@@ -738,8 +744,8 @@ class SideBarComponent extends React.Component {
{items}
</div>
<div style={{flex:0}}>
{syncReportComp}
{syncButton}
{syncReportComp}
</div>
</div>
);

View File

@@ -106,7 +106,6 @@
let previousContentHeight = contentElement.scrollHeight;
let startTime = Date.now();
ignoreNextScrollEvent = true;
restorePercentScroll();
if (!checkScrollIID_) {
@@ -114,7 +113,6 @@
const h = contentElement.scrollHeight;
if (h !== previousContentHeight) {
previousContentHeight = h;
ignoreNextScrollEvent = true;
restorePercentScroll();
}
if (Date.now() - startTime >= 1000) {

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

@@ -5,6 +5,7 @@ locales['ca'] = require('./ca.json');
locales['cs_CZ'] = require('./cs_CZ.json');
locales['da_DK'] = require('./da_DK.json');
locales['de_DE'] = require('./de_DE.json');
locales['en_US'] = require('./en_US.json');
locales['es_ES'] = require('./es_ES.json');
locales['eu'] = require('./eu.json');
locales['fr_FR'] = require('./fr_FR.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 it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "Joplin",
"version": "1.0.139",
"version": "1.0.145",
"description": "Joplin for Desktop",
"main": "main.js",
"scripts": {
@@ -72,7 +72,7 @@
"app-builder-bin": "^1.9.11",
"babel-cli": "^6.26.0",
"babel-preset-react": "^6.24.1",
"electron": "4.0.5",
"electron": "^4.1.4",
"electron-builder": "20.38.5",
"electron-rebuild": "^1.8.4"
},
@@ -85,7 +85,7 @@
"app-module-path": "^2.2.0",
"async-mutex": "^0.1.3",
"base-64": "^0.1.0",
"chokidar": "^2.0.3",
"chokidar": "^3.0.0",
"compare-versions": "^3.2.1",
"diacritics": "^1.3.0",
"electron-context-menu": "^0.9.1",
@@ -107,7 +107,18 @@
"lodash": "^4.17.10",
"mark.js": "^8.11.1",
"markdown-it": "^8.4.1",
"markdown-it-abbr": "^1.0.4",
"markdown-it-anchor": "^5.0.2",
"markdown-it-deflist": "^2.0.3",
"markdown-it-emoji": "^1.4.0",
"markdown-it-footnote": "^3.0.1",
"markdown-it-ins": "^2.0.0",
"markdown-it-katex": "^2.0.3",
"markdown-it-mark": "^2.0.0",
"markdown-it-multimd-table": "^3.1.3",
"markdown-it-sub": "^1.0.0",
"markdown-it-sup": "^1.0.0",
"markdown-it-toc-done-right": "^3.0.1",
"md5": "^2.2.1",
"mime": "^2.3.1",
"moment": "^2.22.2",

View File

@@ -0,0 +1,358 @@
const React = require('react');
const { connect } = require('react-redux');
const { _ } = require('lib/locale.js');
const { themeStyle } = require('../theme.js');
const SearchEngine = require('lib/services/SearchEngine');
const BaseModel = require('lib/BaseModel');
const Tag = require('lib/models/Tag');
const { ItemList } = require('../gui/ItemList.min');
const { substrWithEllipsis, surroundKeywords } = require('lib/string-utils.js');
const PLUGIN_NAME = 'gotoAnything';
const itemHeight = 60;
class GotoAnything {
onTrigger(event) {
this.dispatch({
type: 'PLUGIN_DIALOG_SET',
open: true,
pluginName: PLUGIN_NAME,
});
}
}
class Dialog extends React.PureComponent {
constructor() {
super();
this.state = {
query: '',
results: [],
selectedItemId: null,
keywords: [],
listType: BaseModel.TYPE_NOTE,
showHelp: false,
};
this.styles_ = {};
this.inputRef = React.createRef();
this.itemListRef = React.createRef();
this.onKeyDown = this.onKeyDown.bind(this);
this.input_onChange = this.input_onChange.bind(this);
this.input_onKeyDown = this.input_onKeyDown.bind(this);
this.listItemRenderer = this.listItemRenderer.bind(this);
this.listItem_onClick = this.listItem_onClick.bind(this);
this.helpButton_onClick = this.helpButton_onClick.bind(this);
}
style() {
if (this.styles_[this.props.theme]) return this.styles_[this.props.theme];
const theme = themeStyle(this.props.theme);
this.styles_[this.props.theme] = {
dialogBox: Object.assign({}, theme.dialogBox, { minWidth: '50%', maxWidth: '50%' }),
input: Object.assign({}, theme.inputStyle, { flex: 1 }),
row: {overflow: 'hidden', height:itemHeight, display: 'flex', justifyContent: 'center', flexDirection: 'column', paddingLeft: 10, paddingRight: 10},
help: Object.assign({}, theme.textStyle, { marginBottom: 10 }),
inputHelpWrapper: {display: 'flex', flexDirection: 'row', alignItems: 'center'},
helpIcon: {flex:0, width: 16, height: 16, marginLeft: 10},
helpButton: {color: theme.color, textDecoration: 'none'},
};
const rowTextStyle = {
fontSize: theme.fontSize,
color: theme.color,
fontFamily: theme.fontFamily,
whiteSpace: 'nowrap',
opacity: 0.7,
userSelect: 'none',
};
const rowTitleStyle = Object.assign({}, rowTextStyle, {
fontSize: rowTextStyle.fontSize * 1.4,
marginBottom: 5,
color: theme.colorFaded,
});
this.styles_[this.props.theme].rowSelected = Object.assign({}, this.styles_[this.props.theme].row, { backgroundColor: theme.selectedColor });
this.styles_[this.props.theme].rowPath = rowTextStyle;
this.styles_[this.props.theme].rowTitle = rowTitleStyle;
return this.styles_[this.props.theme];
}
componentDidMount() {
document.addEventListener('keydown', this.onKeyDown);
}
componentWillUnmount() {
if (this.listUpdateIID_) clearTimeout(this.listUpdateIID_);
document.removeEventListener('keydown', this.onKeyDown);
}
onKeyDown(event) {
if (event.keyCode === 27) { // ESCAPE
this.props.dispatch({
pluginName: PLUGIN_NAME,
type: 'PLUGIN_DIALOG_SET',
open: false,
});
}
}
helpButton_onClick(event) {
this.setState({ showHelp: !this.state.showHelp });
}
input_onChange(event) {
this.setState({ query: event.target.value });
this.scheduleListUpdate();
}
scheduleListUpdate() {
if (this.listUpdateIID_) return;
this.listUpdateIID_ = setTimeout(async () => {
await this.updateList();
this.listUpdateIID_ = null;
}, 10);
}
makeSearchQuery(query) {
const splitted = query.split(' ');
const output = [];
for (let i = 0; i < splitted.length; i++) {
const s = splitted[i].trim();
if (!s) continue;
output.push('title:' + s + '*');
}
return output.join(' ');
}
keywords(searchQuery) {
const parsedQuery = SearchEngine.instance().parseQuery(searchQuery);
return SearchEngine.instance().allParsedQueryTerms(parsedQuery);
}
async updateList() {
if (!this.state.query) {
this.setState({ results: [], keywords: [] });
} else {
let results = [];
let listType = null;
let searchQuery = '';
if (this.state.query.indexOf('#') === 0) { // TAGS
listType = BaseModel.TYPE_TAG;
searchQuery = '*' + this.state.query.split(' ')[0].substr(1).trim() + '*';
results = await Tag.searchAllWithNotes({ titlePattern: searchQuery });
} else if (this.state.query.indexOf('@') === 0) { // FOLDERS
listType = BaseModel.TYPE_FOLDER;
searchQuery = '*' + this.state.query.split(' ')[0].substr(1).trim() + '*';
results = await Folder.search({ titlePattern: searchQuery });
for (let i = 0; i < results.length; i++) {
const row = results[i];
const path = Folder.folderPathString(this.props.folders, row.parent_id);
results[i] = Object.assign({}, row, { path: path ? path : '/' });
}
} else { // NOTES
listType = BaseModel.TYPE_NOTE;
searchQuery = this.makeSearchQuery(this.state.query);
results = await SearchEngine.instance().search(searchQuery);
for (let i = 0; i < results.length; i++) {
const row = results[i];
const path = Folder.folderPathString(this.props.folders, row.parent_id);
results[i] = Object.assign({}, row, { path: path });
}
}
let selectedItemId = null;
const itemIndex = this.selectedItemIndex(results, this.state.selectedItemId);
if (itemIndex > 0) {
selectedItemId = this.state.selectedItemId;
} else if (results.length > 0) {
selectedItemId = results[0].id;
}
this.setState({
listType: listType,
results: results,
keywords: this.keywords(searchQuery),
selectedItemId: selectedItemId,
});
}
}
gotoItem(item) {
this.props.dispatch({
pluginName: PLUGIN_NAME,
type: 'PLUGIN_DIALOG_SET',
open: false,
});
if (this.state.listType === BaseModel.TYPE_NOTE) {
this.props.dispatch({
type: "FOLDER_AND_NOTE_SELECT",
folderId: item.parent_id,
noteId: item.id,
});
} else if (this.state.listType === BaseModel.TYPE_TAG) {
this.props.dispatch({
type: "TAG_SELECT",
id: item.id,
});
} else if (this.state.listType === BaseModel.TYPE_FOLDER) {
this.props.dispatch({
type: "FOLDER_SELECT",
id: item.id,
});
}
}
listItem_onClick(event) {
const itemId = event.currentTarget.getAttribute('data-id');
const parentId = event.currentTarget.getAttribute('data-parent-id');
this.gotoItem({
id: itemId,
parent_id: parentId,
});
}
listItemRenderer(item) {
const theme = themeStyle(this.props.theme);
const style = this.style();
const rowStyle = item.id === this.state.selectedItemId ? style.rowSelected : style.row;
const titleHtml = surroundKeywords(this.state.keywords, item.title, '<span style="font-weight: bold; color: ' + theme.colorBright + ';">', '</span>');
const pathComp = !item.path ? null : <div style={style.rowPath}>{item.path}</div>
return (
<div key={item.id} style={rowStyle} onClick={this.listItem_onClick} data-id={item.id} data-parent-id={item.parent_id}>
<div style={style.rowTitle} dangerouslySetInnerHTML={{__html: titleHtml}}></div>
{pathComp}
</div>
);
}
selectedItemIndex(results, itemId) {
if (typeof results === 'undefined') results = this.state.results;
if (typeof itemId === 'undefined') itemId = this.state.selectedItemId;
for (let i = 0; i < results.length; i++) {
const r = results[i];
if (r.id === itemId) return i;
}
return -1;
}
selectedItem() {
const index = this.selectedItemIndex();
if (index < 0) return null;
return this.state.results[index];
}
input_onKeyDown(event) {
const keyCode = event.keyCode;
if (this.state.results.length > 0 && (keyCode === 40 || keyCode === 38)) { // DOWN / UP
event.preventDefault();
const inc = keyCode === 38 ? -1 : +1;
let index = this.selectedItemIndex();
if (index < 0) return; // Not possible, but who knows
index += inc;
if (index < 0) index = 0;
if (index >= this.state.results.length) index = this.state.results.length - 1;
const newId = this.state.results[index].id;
this.itemListRef.current.makeItemIndexVisible(index);
this.setState({ selectedItemId: newId });
}
if (keyCode === 13) { // ENTER
event.preventDefault();
const item = this.selectedItem();
if (!item) return;
this.gotoItem(item);
}
}
renderList() {
const style = {
marginTop: 5,
height: Math.min(itemHeight * this.state.results.length, 7 * itemHeight),
};
return (
<ItemList
ref={this.itemListRef}
itemHeight={itemHeight}
items={this.state.results}
style={style}
itemRenderer={this.listItemRenderer}
/>
);
}
render() {
const theme = themeStyle(this.props.theme);
const style = this.style();
const helpComp = !this.state.showHelp ? null : <div style={style.help}>{_('Type a note title to jump to it. Or type # followed by a tag name, or @ followed by a notebook name.')}</div>
return (
<div style={theme.dialogModalLayer}>
<div style={style.dialogBox}>
{helpComp}
<div style={style.inputHelpWrapper}>
<input autoFocus type="text" style={style.input} ref={this.inputRef} value={this.state.query} onChange={this.input_onChange} onKeyDown={this.input_onKeyDown}/>
<a href="#" style={style.helpButton} onClick={this.helpButton_onClick}><i style={style.helpIcon} className={"fa fa-question-circle"}></i></a>
</div>
{this.renderList()}
</div>
</div>
);
}
}
const mapStateToProps = (state) => {
return {
folders: state.folders,
theme: state.settings.theme,
};
};
GotoAnything.Dialog = connect(mapStateToProps)(Dialog);
GotoAnything.manifest = {
name: PLUGIN_NAME,
menuItems: [
{
name: 'main',
parent: 'tools',
label: _('Goto Anything...'),
accelerator: 'CommandOrControl+G',
screens: ['Main'],
},
],
};
module.exports = GotoAnything;

View File

@@ -100,6 +100,12 @@ table td, table th {
border-radius: 5px;
}
@keyframes icon-infinite-rotation{
to {
transform: rotate(360deg);
}
}
.smalltalk {
font-family: sans-serif;
}

View File

@@ -42,6 +42,10 @@ globalStyle.headerStyle = {
globalStyle.inputStyle = {
border: '1px solid',
height: 24,
paddingLeft: 5,
paddingRight: 5,
boxSizing: 'border-box',
};
globalStyle.containerStyle = {
@@ -67,12 +71,13 @@ const lightStyle = {
colorError: "red",
colorWarn: "#9A5B00",
colorFaded: "#777777", // For less important text
colorBright: "#000000", // For important text
dividerColor: "#dddddd",
selectedColor: '#e5e5e5',
urlColor: '#155BDA',
backgroundColor2: "#162B3D",
color2: "#ffffff",
color2: "#f5f5f5",
selectedColor2: "#0269C2",
colorError2: "#ff6c6c",
@@ -103,6 +108,7 @@ const darkStyle = {
colorError: "red",
colorWarn: "#9A5B00",
colorFaded: "#777777", // For less important text
colorBright: "#ffffff", // For important text
dividerColor: '#555555',
selectedColor: '#333333',
urlColor: '#4E87EE',
@@ -147,7 +153,7 @@ function addExtraStyles(style) {
style.toolbarStyle = {
height: style.toolbarHeight,
minWidth: style.toolbarHeight,
// minWidth: style.toolbarHeight,
display: 'flex',
alignItems: 'center',
paddingLeft: style.headerButtonHPadding,
@@ -159,6 +165,7 @@ function addExtraStyles(style) {
cursor: 'default',
justifyContent: 'center',
color: style.color,
whiteSpace: 'nowrap',
};
style.textStyle = {
@@ -197,6 +204,28 @@ function addExtraStyles(style) {
}
);
style.dialogModalLayer = {
zIndex: 9999,
display: 'flex',
position: 'absolute',
top: 0,
left: 0,
width: '100%',
height: '100%',
backgroundColor: 'rgba(0,0,0,0.6)',
alignItems: 'flex-start',
justifyContent: 'center',
};
style.dialogBox = {
backgroundColor: style.backgroundColor,
padding: 16,
boxShadow: '6px 6px 20px rgba(0,0,0,0.5)',
marginTop: 20,
}
style.dialogTitle = Object.assign({}, style.h1Style, { marginBottom: '1.2em' });
return style;
}

View File

@@ -3,6 +3,8 @@ ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$ROOT_DIR"
./build.sh || exit 1
cd "$ROOT_DIR/app"
./node_modules/.bin/electron . --env dev --log-level debug --open-dev-tools "$@"
#./node_modules/.bin/electron . --profile c:\\Users\\Laurent\\.config\\joplin-desktop --log-level debug --open-dev-tools "$@"
# ./node_modules/.bin/electron . --profile ~/Temp/TestJoplin1 --env dev --log-level debug --open-dev-tools "$@"
# ./node_modules/.bin/electron . --profile ~/Temp/TestJoplin2 --env dev --log-level debug --open-dev-tools "$@"

View File

@@ -30,14 +30,14 @@ fi
#-----------------------------------------------------
# Get the latest version to download
version=$(curl --silent "https://api.github.com/repos/laurent22/joplin/releases/latest" | grep -Po '"tag_name": "v\K.*?(?=")')
version=$(wget -qO - "https://api.github.com/repos/laurent22/joplin/releases/latest" | grep -Po '"tag_name": "v\K.*?(?=")')
# Check if it's in the latest version
if [[ ! -e ~/.joplin/VERSION ]] || [[ $(< ~/.joplin/VERSION) != "$version" ]]; then
echo 'Downloading Joplin...'
# Delete previous version
rm -f ~/.joplin/*.AppImage ~/.local/share/applications/joplin.desktop ~/.joplin/VERSION
# Delete previous version (in future versions joplin.desktop shouldn't exist)
rm -f ~/.joplin/*.AppImage ~/.local/share/applications/joplin.desktop ~/.local/share/applications/appimagekit-joplin.desktop ~/.joplin/VERSION
# Creates the folder where the binary will be stored
mkdir -p ~/.joplin/
@@ -56,7 +56,7 @@ if [[ ! -e ~/.joplin/VERSION ]] || [[ $(< ~/.joplin/VERSION) != "$version" ]]; t
# Download icon
echo 'Downloading icon...'
wget -nv -O ~/.joplin/Icon512.png https://joplin.cozic.net/images/Icon512.png
wget -nv -O ~/.joplin/Icon512.png https://joplinapp.org/images/Icon512.png
echo "${COLOR_GREEN}OK${COLOR_RESET}"
# Detect desktop environment
@@ -70,9 +70,17 @@ if [[ ! -e ~/.joplin/VERSION ]] || [[ $(< ~/.joplin/VERSION) != "$version" ]]; t
# Create icon for Gnome
echo 'Create Desktop icon.'
if [[ $desktop =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.* ]]
if [[ $desktop =~ .*gnome.*|.*kde.*|.*xfce.*|.*mate.*|.*lxqt.* ]]
then
echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Joplin\nExec=/home/$USER/.joplin/Joplin.AppImage\nIcon=/home/$USER/.joplin/Icon512.png\nType=Application\nCategories=Application;" >> ~/.local/share/applications/joplin.desktop
: "${TMPDIR:=/tmp}"
# This command extracts to squashfs-root by default and can't be changed...
# So we run in in the tmp directory and clean up after ourselves
(cd $TMPDIR && ~/.joplin/Joplin.AppImage --appimage-extract joplin.desktop &> /dev/null)
APPIMAGE_VERSION=$(grep "^X-AppImage-BuildId=" $TMPDIR/squashfs-root/joplin.desktop | head -n 1 | cut -d " " -f 1)
rm -rf $TMPDIR/squashfs-root
mkdir -p ~/.local/share/applications
echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Joplin\nComment=Joplin for Desktop\nExec=/home/$USER/.joplin/Joplin.AppImage\nIcon=/home/$USER/.joplin/Icon512.png\nStartupWMClass=Joplin\nType=Application\nCategories=Application;\n$APPIMAGE_VERSION" >> ~/.local/share/applications/appimagekit-joplin.desktop
echo "${COLOR_GREEN}OK${COLOR_RESET}"
else
echo "${COLOR_RED}NOT DONE${COLOR_RESET}"

123
README.md
View File

@@ -1,6 +1,6 @@
# Joplin
[![Donate](https://joplin.cozic.net/images/badges/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=E8JMYD2LQ8MMA&lc=GB&item_name=Joplin+Development&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) [![Become a patron](https://joplin.cozic.net/images/badges/Patreon-Badge.svg)](https://www.patreon.com/joplin) [![Travis Build Status](https://travis-ci.org/laurent22/joplin.svg?branch=master)](https://travis-ci.org/laurent22/joplin) [![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/github/laurent22/joplin?branch=master&passingText=master%20-%20OK&svg=true)](https://ci.appveyor.com/project/laurent22/joplin)
[![Donate](https://joplinapp.org/images/badges/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=E8JMYD2LQ8MMA&lc=GB&item_name=Joplin+Development&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) [![Become a patron](https://joplinapp.org/images/badges/Patreon-Badge.svg)](https://www.patreon.com/joplin)
Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are in [Markdown format](#markdown).
@@ -8,9 +8,9 @@ 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 application is available for Windows, Linux, macOS, Android and iOS. 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 and Chrome.
The application is available for Windows, Linux, macOS, Android and iOS. 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://joplin.cozic.net/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>
# Installation
@@ -20,24 +20,16 @@ Three types of applications are available: for the **desktop** (Windows, macOS a
Operating System | Download | Alternative
-----------------|--------|-------------------
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.135/Joplin-Setup-1.0.135.exe'><img alt='Get it on Windows' height="40px" src='https://joplin.cozic.net/images/BadgeWindows.png'/></a> | or Get the <a href='https://github.com/laurent22/joplin/releases/download/v1.0.135/JoplinPortable.exe'>Portable version</a><br>(to run from a USB key, etc.)
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.135/Joplin-1.0.135.dmg'><img alt='Get it on macOS' height="40px" src='https://joplin.cozic.net/images/BadgeMacOS.png'/></a> |
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.135/Joplin-1.0.135-x86_64.AppImage'><img alt='Get it on Linux' height="40px" src='https://joplin.cozic.net/images/BadgeLinux.png'/></a> | An Arch Linux package<br>[is also available](#terminal-application).
The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
On Linux, if it works with your distribution (it has been tested on Ubuntu, Fedora, Gnome and Mint), the recommended way is to use this script as it will handle the desktop icon too:
``` sh
wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash
```
Windows (32 and 64-bit) | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.143/Joplin-Setup-1.0.143.exe'><img alt='Get it on Windows' width="134px" src='https://joplinapp.org/images/BadgeWindows.png'/></a> | Or get the <a href='https://github.com/laurent22/joplin/releases/download/v1.0.143/JoplinPortable.exe'>Portable version</a><br><br>The [portable application](https://en.wikipedia.org/wiki/Portable_application) allows installing the software on a portable device such as a USB key. Simply copy the file JoplinPortable.exe in any directory on that USB key ; the application will then create a directory called "JoplinProfile" next to the executable file.
macOS | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.143/Joplin-1.0.143.dmg'><img alt='Get it on macOS' width="134px" src='https://joplinapp.org/images/BadgeMacOS.png'/></a> | You can also use Homebrew: `brew cask install joplin`
Linux | <a href='https://github.com/laurent22/joplin/releases/download/v1.0.143/Joplin-1.0.143-x86_64.AppImage'><img alt='Get it on Linux' width="134px" src='https://joplinapp.org/images/BadgeLinux.png'/></a> | An Arch Linux package [is also available](#terminal-application).<br><br>If it works with your distribution (it has been tested on Ubuntu, Fedora, Gnome and Mint), the recommended way is to use this script as it will handle the desktop icon too:<br><br> `wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash`
## Mobile applications
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://joplin.cozic.net/images/BadgeAndroid.png'/></a> | or [Download APK File](https://github.com/laurent22/joplin-android/releases/download/android-v1.0.239/joplin-v1.0.239.apk)
iOS | <a href='https://itunes.apple.com/us/app/joplin/id1315599797'><img alt='Get it on the App Store' height="40px" src='https://joplin.cozic.net/images/BadgeIOS.png'/></a> | -
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.244/joplin-v1.0.244.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> | -
## Terminal application
@@ -49,7 +41,7 @@ Arch Linux | An Arch Linux package is available [here](https://aur.archlinux.org
To start it, type `joplin`.
For usage information, please refer to the full [Joplin Terminal Application Documentation](https://joplin.cozic.net/terminal).
For usage information, please refer to the full [Joplin Terminal Application Documentation](https://joplinapp.org/terminal/).
## Web Clipper
@@ -114,7 +106,7 @@ To import Evernote data, first export your Evernote notebooks to ENEX files as d
On the **desktop application**, open File > Import > ENEX and select your file. The notes will be imported into a new separate notebook. If needed they can then be moved to a different notebook, or the notebook can be renamed, etc.
On the **terminal application**, in [command-line mode](https://joplin.cozic.net/terminal#command-line-mode), type `import /path/to/file.enex`. This will import the notes into a new notebook named after the filename.
On the **terminal application**, in [command-line mode](https://joplinapp.org/terminal/#command-line-mode), type `import /path/to/file.enex`. This will import the notes into a new notebook named after the filename.
## Importing from Markdown files
@@ -122,7 +114,7 @@ Joplin can import notes from plain Markdown file. You can either import a comple
On the **desktop application**, open File > Import > MD and select your Markdown file or directory.
On the **terminal application**, in [command-line mode](https://joplin.cozic.net/terminal#command-line-mode), type `import --format md /path/to/file.md` or `import --format md /path/to/directory/`.
On the **terminal application**, in [command-line mode](https://joplinapp.org/terminal/#command-line-mode), type `import --format md /path/to/file.md` or `import --format md /path/to/directory/`.
## Importing from other applications
@@ -145,7 +137,7 @@ Currently, synchronisation is possible with Nextcloud, Dropbox (by default), One
## Nextcloud synchronisation
<img src="https://joplin.cozic.net/images/nextcloud-logo-background.png" width="100" align="left"> <a href="https://nextcloud.com/">Nextcloud</a> is a self-hosted, private cloud solution. It can store documents, images and videos but also calendars, passwords and countless other things and can sync them to your laptop or phone. As you can host your own Nextcloud server, you own both the data on your device and infrastructure used for synchronisation. As such it is a good fit for Joplin. The platform is also well supported and with a strong community, so it is likely to be around for a while - since it's open source anyway, it is not a service that can be closed, it can exist on a server for as long as one chooses.
<img src="https://joplinapp.org/images/nextcloud-logo-background.png" width="100" align="left"> <a href="https://nextcloud.com/">Nextcloud</a> is a self-hosted, private cloud solution. It can store documents, images and videos but also calendars, passwords and countless other things and can sync them to your laptop or phone. As you can host your own Nextcloud server, you own both the data on your device and infrastructure used for synchronisation. As such it is a good fit for Joplin. The platform is also well supported and with a strong community, so it is likely to be around for a while - since it's open source anyway, it is not a service that can be closed, it can exist on a server for as long as one chooses.
On the **desktop application** or **mobile application**, go to the config screen and select Nextcloud as the synchronisation target. Then input the WebDAV URL (to get it, click on Settings in the bottom left corner of the page, in Nextcloud), this is normally `https://example.com/nextcloud/remote.php/webdav/Joplin` (**make sure to create the "Joplin" directory in Nextcloud**), and set the username and password. If it does not work, please [see this explanation](https://github.com/laurent22/joplin/issues/61#issuecomment-373282608) for more details.
@@ -197,9 +189,9 @@ On the **terminal application**, to initiate the synchronisation process, type `
# Encryption
Joplin supports end-to-end encryption (E2EE) on all the applications. E2EE is a system where only the owner of the notes, notebooks, tags or resources can read them. It prevents potential eavesdroppers - including telecom providers, internet providers, and even the developers of Joplin from being able to access the data. Please see the [End-To-End Encryption Tutorial](https://joplin.cozic.net/e2ee) for more information about this feature and how to enable it.
Joplin supports end-to-end encryption (E2EE) on all the applications. E2EE is a system where only the owner of the notes, notebooks, tags or resources can read them. It prevents potential eavesdroppers - including telecom providers, internet providers, and even the developers of Joplin from being able to access the data. Please see the [End-To-End Encryption Tutorial](https://joplinapp.org/e2ee/) for more information about this feature and how to enable it.
For a more technical description, mostly relevant for development or to review the method being used, please see the [Encryption specification](https://joplin.cozic.net/spec).
For a more technical description, mostly relevant for development or to review the method being used, please see the [Encryption specification](https://joplinapp.org/spec/).
# External text editor
@@ -233,7 +225,7 @@ If for any reason the notifications do not work, please [open an issue](https://
Sub-notebooks allow organising multiple notebooks into a tree of notebooks. For example it can be used to regroup all the notebooks related to work, to family or to a particular project under a parent notebook.
![](https://joplin.cozic.net/images/SubNotebooks.png)
![](https://joplinapp.org/images/SubNotebooks.png)
- On the **desktop application**, to create a subnotebook, drag and drop it onto another notebook. To move it back to the root, drag and drop it on the "Notebooks" header. Currently only the desktop app can be used to organise the notebooks.
- The **mobile application** supports displaying and collapsing/expanding the tree of notebooks, however it does not currently support moving the subnotebooks to different notebooks.
@@ -251,23 +243,23 @@ You can create a link to a note by specifying its ID in the URL. For example:
Since getting the ID of a note is not straightforward, each app provides a way to create such link. In the **desktop app**, right click on a note an select "Copy Markdown link". In the **mobile app**, open a note and, in the top right menu, select "Copy Markdown link". You can then paste this link anywhere in another note.
## Charts
## Plugins
You can create charts in Joplin using the [Mermaid syntax](https://mermaidjs.github.io/). To add such a graph, wrap the Mermaid script inside a "\`\`\`mermaid" code block like this:
Joplin supports a number of plugins that can be toggled on top the standard markdown features you would expect. These toggle-able plugins are listed below. Note: not all of the plugins are enabled by default, if the enable field is 'no' below, then enter Tools->General Options to enable the plugin. Plugins can be disabled in the same manner.
```mermaid
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
```
This is how it would look with the Markdown on the left, and rendered graph on the right:
<img src="https://joplin.cozic.net/images/Mermaid.png" height="232px">
Note that Mermaid graphs are always rendered on a white background regardless of the current theme. This is because they can contain various colours that may not be compatible with the current theme.
| Plugin | Syntax | Description | Enabled |
|--------|--------|-------------|---------|
| [Katex](https://katex.org) | `$$math expr$$` or `$math$` | [See Below](https://github.com/laurent22/joplin#math-notation) | yes |
| [Mark](https://github.com/markdown-it/markdown-it-mark) | `==marked==` | Transforms into `<mark>marked</mark>` (highlighted) | yes |
| [Footnote](https://github.com/markdown-it/markdown-it-footnote) | `Simples inline footnote ^[I'm inline!]` | See [plugin page](https://github.com/markdown-it/markdown-it-footnote) for full description | yes |
| [TOC](https://github.com/nagaozen/markdown-it-toc-done-right) | Any of `${toc}, [[toc]], [toc], [[_toc_]]` | Adds a table of contents to the location of the toc page. Based on headings and sub-headings | no |
| [Sub](https://github.com/markdown-it/markdown-it-sub) | `X~1~` | Transforms into X<sub>1</sub> | no |
| [Sup](https://github.com/markdown-it/markdown-it-sup) | `X^2^` | Transforms into X<sup>2</sup> | no |
| [Deflist](https://github.com/markdown-it/markdown-it-deflist) | See [pandoc](http://johnmacfarlane.net/pandoc/README.html#definition-lists) page for syntax | Adds the html `<dl>` tag accessible through markdown | no |
| [Abbr](https://github.com/markdown-it/markdown-it-abbr) | *[HTML]: Hyper Text Markup Language | Allows definition of abbreviations that can be hovered over later for a full expansion | no |
| [Emoji](https://github.com/markdown-it/markdown-it-emoji) | `:smile:` :smile: | See [this list](https://gist.github.com/rxaviers/7360908) for more emoji | no |
| [Insert](https://github.com/markdown-it/markdown-it-ins) | `++inserted++` | Transforms into `<ins>inserted</ins>` (<ins>inserted</ins>) | no |
| [Multitable](https://github.com/RedBug312/markdown-it-multimd-table) | See [MultiMarkdown](https://fletcher.github.io/MultiMarkdown-6/syntax/tables.html) page | Adds more power and customization to markdown tables | no |
## Math notation
@@ -287,7 +279,7 @@ For example:
Here is an example with the Markdown and rendered result side by side:
<img src="https://joplin.cozic.net/images/Katex.png" height="400px">
<img src="https://joplinapp.org/images/Katex.png" height="400px">
## Checkboxes
@@ -327,7 +319,7 @@ Notes are sorted by "relevance". Currently it means the notes that contain the r
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.
Please see the [donation page](https://joplin.cozic.net/donate/) for information on how to support the development of Joplin.
Please see the [donation page](https://joplinapp.org/donate/) for information on how to support the development of Joplin.
# Community
@@ -358,31 +350,32 @@ Current translations:
<!-- LOCALE-TABLE-AUTO-GENERATED -->
&nbsp; | Language | Po File | Last translator | Percent done
---|---|---|---|---
![](https://joplin.cozic.net/images/flags/country-4x3/.png) | Arabic | [ar](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ar.po) | عبد الناصر سعيد (as@althobaity.com) | 73%
![](https://joplin.cozic.net/images/flags/es/basque_country.png) | Basque | [eu](https://github.com/laurent22/joplin/blob/master/CliClient/locales/eu.po) | juan.abasolo@ehu.eus | 56%
![](https://joplin.cozic.net/images/flags/es/catalonia.png) | Catalan | [ca](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ca.po) | jmontane, 2018 | 80%
![](https://joplin.cozic.net/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) | 45%
![](https://joplin.cozic.net/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) | 71%
![](https://joplin.cozic.net/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. | 72%
![](https://joplin.cozic.net/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://joplin.cozic.net/images/flags/country-4x3/gb.png) | English | [en_GB](https://github.com/laurent22/joplin/blob/master/CliClient/locales/en_GB.po) | | 100%
![](https://joplin.cozic.net/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) | 99%
![](https://joplin.cozic.net/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://joplin.cozic.net/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) | 71%
![](https://joplin.cozic.net/images/flags/country-4x3/it.png) | Italiano | [it_IT](https://github.com/laurent22/joplin/blob/master/CliClient/locales/it_IT.po) | | 88%
![](https://joplin.cozic.net/images/flags/country-4x3/be.png) | Nederlands | [nl_BE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_BE.po) | | 56%
![](https://joplin.cozic.net/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) | 86%
![](https://joplin.cozic.net/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) | 93%
![](https://joplin.cozic.net/images/flags/country-4x3/br.png) | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/pt_BR.po) | Renato Nunes Bastos (rnbastos@gmail.com) | 93%
![](https://joplin.cozic.net/images/flags/country-4x3/ro.png) | Română | [ro](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ro.po) | | 56%
![](https://joplin.cozic.net/images/flags/country-4x3/si.png) | Slovenian | [sl_SI](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sl_SI.po) | | 70%
![](https://joplin.cozic.net/images/flags/country-4x3/se.png) | Svenska | [sv](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sv.po) | Jonatan Nyberg (jonatan@autistici.org) | 96%
![](https://joplin.cozic.net/images/flags/country-4x3/tr.png) | Türkçe | [tr_TR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/tr_TR.po) | Zorbey Doğangüneş (zorbeyd@gmail.com) | 93%
![](https://joplin.cozic.net/images/flags/country-4x3/ru.png) | Русский | [ru_RU](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ru_RU.po) | Artyom Karlov (artyom.karlov@gmail.com) | 97%
![](https://joplin.cozic.net/images/flags/country-4x3/cn.png) | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_CN.po) | | 97%
![](https://joplin.cozic.net/images/flags/country-4x3/tw.png) | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_TW.po) | penguinsam (samliu@gmail.com) | 86%
![](https://joplin.cozic.net/images/flags/country-4x3/jp.png) | 日本語 | [ja_JP](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ja_JP.po) | AWASHIRO Ikuya (ikunya@gmail.com) | 93%
![](https://joplin.cozic.net/images/flags/country-4x3/kr.png) | 한국말 | [ko](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ko.po) | | 94%
![](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) | 95%
![](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 | 54%
![](https://joplinapp.org/images/flags/es/catalonia.png) | Catalan | [ca](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ca.po) | jmontane, 2018 | 78%
![](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) | 44%
![](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) | 69%
![](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. | 70%
![](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) | 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/es.png) | Español | [es_ES](https://github.com/laurent22/joplin/blob/master/CliClient/locales/es_ES.po) | Andros Fenollosa (andros@fenollosa.email) | 96%
![](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) | 69%
![](https://joplinapp.org/images/flags/country-4x3/it.png) | Italiano | [it_IT](https://github.com/laurent22/joplin/blob/master/CliClient/locales/it_IT.po) | | 86%
![](https://joplinapp.org/images/flags/country-4x3/be.png) | Nederlands | [nl_BE](https://github.com/laurent22/joplin/blob/master/CliClient/locales/nl_BE.po) | | 55%
![](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) | 83%
![](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) | 96%
![](https://joplinapp.org/images/flags/country-4x3/br.png) | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/pt_BR.po) | Renato Nunes Bastos (rnbastos@gmail.com) | 90%
![](https://joplinapp.org/images/flags/country-4x3/ro.png) | Română | [ro](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ro.po) | | 54%
![](https://joplinapp.org/images/flags/country-4x3/si.png) | Slovenian | [sl_SI](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sl_SI.po) | | 68%
![](https://joplinapp.org/images/flags/country-4x3/se.png) | Svenska | [sv](https://github.com/laurent22/joplin/blob/master/CliClient/locales/sv.po) | Jonatan Nyberg (jonatan@autistici.org) | 93%
![](https://joplinapp.org/images/flags/country-4x3/tr.png) | Türkçe | [tr_TR](https://github.com/laurent22/joplin/blob/master/CliClient/locales/tr_TR.po) | Zorbey Doğangüneş (zorbeyd@gmail.com) | 90%
![](https://joplinapp.org/images/flags/country-4x3/ru.png) | Русский | [ru_RU](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ru_RU.po) | Artyom Karlov (artyom.karlov@gmail.com) | 96%
![](https://joplinapp.org/images/flags/country-4x3/cn.png) | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_CN.po) | | 96%
![](https://joplinapp.org/images/flags/country-4x3/tw.png) | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/master/CliClient/locales/zh_TW.po) | penguinsam (samliu@gmail.com) | 83%
![](https://joplinapp.org/images/flags/country-4x3/jp.png) | 日本語 | [ja_JP](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ja_JP.po) | AWASHIRO Ikuya (ikunya@gmail.com) | 90%
![](https://joplinapp.org/images/flags/country-4x3/kr.png) | 한국말 | [ko](https://github.com/laurent22/joplin/blob/master/CliClient/locales/ko.po) | | 92%
<!-- LOCALE-TABLE-AUTO-GENERATED -->
# Known bugs

View File

@@ -90,8 +90,8 @@ android {
applicationId "net.cozic.joplin"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 2097475
versionName "1.0.239"
versionCode 2097480
versionName "1.0.244"
ndk {
abiFilters "armeabi-v7a", "x86"
}

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