1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-08-27 20:29:45 +02:00

Compare commits

...

573 Commits

Author SHA1 Message Date
Laurent Cozic
a5f17fad58 Android release v1.0.308 2019-10-13 23:19:15 +02:00
Laurent Cozic
22c3646fc6 Electron release v1.0.170 2019-10-13 23:13:19 +02:00
Laurent Cozic
a3e7f0b5ef Tools: Fixed building Android app on Windows 2019-10-13 01:21:56 +02:00
Laurent Cozic
9f5da92ab4 Desktop, Mobile: Added support for chemical equations using mhchem for Katex 2019-10-13 00:22:24 +02:00
Laurent Cozic
fdafe3b947 Desktop: Fixes #1854: Prevent note content from being deleted when using certain external editors (in particular Typora) 2019-10-12 22:51:38 +02:00
Laurent Cozic
6dec711a0a Desktop: Fixes #1854: Prevent external editor from clearing the note in some hard to replicate cases 2019-10-12 21:30:38 +02:00
Laurent Cozic
ec67bc7f1a Mobile: Fixes #1910: Make sure side bar text is white when dark theme is used 2019-10-12 20:55:59 +02:00
Laurent Cozic
47aaf639b3 Merge branch 'master' of github.com:laurent22/joplin 2019-10-12 20:49:42 +02:00
Laurent Cozic
51233c2745 Mobile: Fixes #1975: Images were not being displayed just after having been taken or attached 2019-10-12 20:49:10 +02:00
Laurent Cozic
90bc84c010 Clipper: Fixed: Some tables were imported with a duplicate header 2019-10-12 19:36:06 +02:00
Laurent Cozic
7f1e684dab Updated package to fix tests 2019-10-12 10:47:16 +02:00
Helmut K. C. Tessarek
5f28d0ec24 Desktop: Add option to set page dimensions when printing (#1976)
* add setting: export.pdfPageSize

* create 2 settings: size and orientation

* export.pdfPageOrientation: use string instead of boolean

* add other page formats supported by Electron
2019-10-12 01:21:19 +02:00
Matthew Crumley
348c4ad3a3 Desktop: Resolves #1222: Truncate update changelog when it's too long (#1967)
The changelong text is truncated if it's longer than 1000 characters,
but avoids cutting off a partial line, unless that would lead to cutting
off too much of the text. An ellipsis is added to mark the truncation.

Additionally, when the changelong is truncated, it adds a "Full Release Notes"
button that opens the GitHub release page in a browser window.
2019-10-12 00:44:58 +02:00
J0J0 T
f90cc8d67d Desktop, Cli: enex_to_md: Support italic in span tags (#1966)
* Desktop, Cli: enex_to_md: support italic in span tags

* Desktop, Cli: enex_to_md: readd debug message to resolve CI conflict

* Desktop, Cli: enex_to_md: fix CI errors

add spaces to commented out debug messages

* Desktop, Cli: enex_to_md: remove redundant commented out debug message

* Desktop, Cli: enex_to_md: readd redundant commented out debug message

CI wants it in there - maybe remove in another PR
2019-10-12 00:39:13 +02:00
Alan Martins Silva
d3e9ffcaea Mobile: Added duplicate option when selecting notes. (#1969)
* Adding duplicate button on screen-header.js when selecting notes; Adding 'duplicateMultipleNotes' function on Note.js;

* Using for-loop like the rest of the code does

* changing from 'uniqueTitle' to 'ensureUniqueTitle'
2019-10-12 00:37:16 +02:00
Laurent Cozic
b0a4a10dcc Clipper: Fixes #1876: Handle more styles of named anchors, including spans 2019-10-12 00:18:40 +02:00
Laurent Cozic
8ef5c96cb6 Desktop: Fixes #1970: Display error message when notes cannot be exported 2019-10-11 20:20:12 +02:00
Laurent Cozic
6be36ffe17 Desktop: Fixes #1819: Note view was not reloaded after viewing revisions 2019-10-11 20:10:25 +02:00
Laurent Cozic
7d7975daf4 Cli: Allow setting user timestamps with "set" command 2019-10-11 19:49:47 +02:00
Laurent Cozic
c98644b72f All: Allow a sync client to lock a sync target, so that migration operations can be performed on it 2019-10-11 01:03:23 +02:00
Laurent Cozic
8a097fb79c All: Added concept of sync version and client ID to allow upgrading sync targets 2019-10-10 23:23:11 +02:00
Laurent Cozic
f71e7f4fd3 Update ISSUE_TEMPLATE.md 2019-10-09 22:13:14 +02:00
Laurent Cozic
9c8add97e7 Tests: Add EnexToHtml to the list 2019-10-09 22:10:18 +02:00
Laurent Cozic
b099c811cc Merge branch 'master' of github.com:laurent22/joplin 2019-10-09 21:35:33 +02:00
Laurent Cozic
a8ae0f8078 Apply linter config 2019-10-09 21:35:13 +02:00
Laurent Cozic
d355169b60 Tools: Added rules to linter 2019-10-09 21:33:21 +02:00
Helmut K. C. Tessarek
08295525de Desktop: Add checkmark to menu item, if Dev Tools are on (#1949)
* add checkmark to menu item, if Dev Tools are on

If one closed the dev tools window, one could think that the Dev Tools are closed.
This is not the case. After the next action, the window opens again. This can be
confusing, therefore I added a checkmark to the menu item so that it is very clear.

* fix no-case-declarations

* fix reducer issue
2019-10-09 19:55:35 +02:00
Nathan Leiby
fdcf27fc65 Mobile: confirm encryption password (#1939)
* mobile: confirm encryption password

* pr feedback: translatable strings + style refactor

also added placeholder text

* s/did/do
2019-10-08 18:04:25 -04:00
Caleb John
f2c82b05d9 Desktop: Improved resource hover title (#1965)
* Improved resource hover title

* Add mimetype to resource links

* Escape mime type for resource links
2019-10-08 21:39:38 +02:00
Laurent Cozic
add9dda759 Desktop, Cli: Give correct mime type to more file types 2019-10-08 21:36:33 +02:00
Rafael Cavalcanti
fbba4a1ec4 Fix category on Linux installation script (#1964) 2019-10-08 19:45:08 +02:00
Laurent Cozic
154d303463 Merge branch 'master' of github.com:laurent22/joplin 2019-10-07 23:15:14 +02:00
Laurent Cozic
fdef2db232 Desktop, Cli: Fixes #1960: Apply default style to notes in HTML format 2019-10-07 23:14:49 +02:00
Rafael Cavalcanti
d49fa8e42b Minor fix on install script (#1954) 2019-10-07 22:32:17 +02:00
Irvin Dominin
871d3cb87d Fixed italian locale (#1955)
* Fixed italian locale

* Fixed italian locale

* Revert "Fixed italian locale"

This reverts commit b48695593f.
2019-10-07 16:20:31 -04:00
Laurent Cozic
f1d751b356 Tools: Handle Api commit messages 2019-10-07 10:12:10 +02:00
Laurent Cozic
60c1939d26 Api: Resolves #1956: Allow getting the resources of a note 2019-10-07 09:57:24 +02:00
Devon Zuegel
d2aaac22e5 Desktop: Add loading animation to import/export (#1888)
* Add loading animation to import/export

* Removed unecessary CSS prefixes
2019-10-05 22:46:39 +01:00
Andros Fenollosa
c6842a8591 Update Joplin_install_and_update.sh (#1952)
- Add argument: Mutes messages by console.
- Remove unset.
- Variables in capital letters.
2019-10-05 18:14:45 +01:00
Laurent Cozic
60e9abdd61 GitHub: Remove option to create feature requests 2019-10-04 13:54:07 +01:00
Laurent Cozic
9796630aa2 Update markdown.md 2019-10-04 09:14:18 +01:00
Laurent Cozic
7230cdea33 Doc: Added table example to Markdown cheatsheet 2019-10-04 09:13:24 +01:00
Andros Fenollosa
6460907976 Updating translation es_ES.po (#1947)
* Update language es_ES

* Add Last-Translator

* Translation fix
2019-10-03 17:42:07 -04:00
Helmut K. C. Tessarek
d7a50a1b48 Desktop: Resolves #1662: Set cancel as the default in dangerous operations (#1934)
* set cancel as the  default in dangerous operations, rename buttons (delete, remove) and context menu (for tags)

fixes #1662 (partially, because I can't fix the upstream issue, unless we update Electron)

* add default value for buttonLabel
2019-10-03 22:33:49 +01:00
oskar
4a88343372 Mobile: Added Front Camera toggle when taking a picture (#1913)
* added front camera support

* added front camera button and logic
2019-10-03 22:23:43 +01:00
Helmut K. C. Tessarek
74c2bbc2f0 change tense when passwords do not match 2019-10-02 19:32:32 -04:00
Nathan Leiby
5ed5d16716 Desktop: Resolves #1896: Hide some toolbar buttons when editor hidden (#1940)
addresses issue: https://github.com/laurent22/joplin/issues/1896
2019-10-03 00:07:58 +01:00
Subodh Dahal
43083b0b7a Desktop: Resolves #917: Larger search bar (#1933)
* Increased the width of search bar

* Added some margin to the left ofsearch bar

* Reduced left margin for the search bar
2019-10-02 22:55:29 +01:00
fabianskibr
a4e5054008 Doc: Add AUR repository (#1941) 2019-10-02 22:52:22 +01:00
Laurent Cozic
02eb2f2e45 Desktop, Cli: Resolves #1932: Use profile temp dir when exporting files 2019-10-02 19:22:32 +01:00
Laurent Cozic
5d015bf746 All: Fixes #1906: Fixed translation of "Synchronisation Status" 2019-10-02 19:07:51 +01:00
Laurent Cozic
ce5db5a5c1 Add more logging info to ExternalEditWatcher so that I do not need to ask to enable debug mode 2019-10-02 19:04:50 +01:00
Laurent Cozic
cdcc3902c5 Merge branch 'master' of github.com:laurent22/joplin 2019-10-02 19:03:59 +01:00
Laurent Cozic
309835f2fe Clipper: Fixes #1881: Some pages could not be clipped in Firefox due to an issue with dynamic images 2019-10-02 19:03:36 +01:00
Laurent Cozic
eca0ab0ef6 Desktop: Fixes #1829: Fixed alarms that would trigger immediately when they were set too far in future 2019-10-02 18:21:42 +00:00
Laurent Cozic
4ce35ee1ed Desktop: Fixes #1703: Text input context menu was not working in Windows 2019-10-02 18:05:30 +00:00
Laurent Cozic
8856456afd Doc: Update Markdown page 2019-10-02 08:12:03 +01:00
Helmut K. C. Tessarek
4259d900f4 Mobile: Don't display Dracula theme on mobile (#1935) 2019-10-02 07:49:38 +01:00
Nathan Leiby
438c448ef7 CLI: confirm encryption password (#1937)
Successful flow:
https://gyazo.com/354ca9ea412ffe3756ee77938d544341

Flow with error (non-matching passwords):
https://gyazo.com/9adda69278e3631da33d9fb366815d04
2019-10-02 07:48:58 +01:00
Laurent Cozic
0fb5b35212 All: Fixes #1938: App would crash if trying to index a note that has not been decrypted yet 2019-10-02 07:38:16 +01:00
Laurent Cozic
b69efb4970 Added Markdown Guide to website menu 2019-10-01 22:50:30 +01:00
Laurent Cozic
44ea237538 Merge branch 'master' of github.com:laurent22/joplin 2019-10-01 22:36:11 +01:00
Laurent Cozic
a58316b24c Doc: Fixed Markdown cheat sheet so that it looks better on GitHub 2019-10-01 22:33:19 +01:00
Mats Estensen
df95d01f6e update nb_NO translation to be 100 percent complete (#1930) 2019-10-01 17:32:38 -04:00
Laurent Cozic
d6924893e5 Merge branch 'master' of github.com:laurent22/joplin 2019-10-01 22:28:40 +01:00
Laurent Cozic
0f04ea4f70 Doc: Various changes and added Markdown cheat sheet 2019-10-01 22:27:57 +01:00
Laurent Cozic
4b8026cf83 Update PULL_REQUEST_TEMPLATE 2019-10-01 21:37:55 +01:00
JRaiden
a98a586295 Update es_ES.po (#1929)
I added some translations and change a couple more in order to improve there meaning in Spanish.
I am a native spanish speaker so I could help with some more translate if you want.
2019-10-01 16:32:11 -04:00
Laurent Cozic
29ec7ba03a Apply linter 2019-10-01 19:33:46 +01:00
Helmut K. C. Tessarek
a35cc23d28 Update localization de_DE.po (#1928) 2019-10-01 14:08:33 -04:00
Alexey Pyltsyn
20a8ddd841 Improve Russian translation (#1926) 2019-10-01 14:07:58 -04:00
Davide Cazzin
774fc9ce53 Update Italian translation (#1925) 2019-10-01 14:07:36 -04:00
Dom Goodwin
84ab395fae Desktop: Resolves (#1863): Added Dracula theme (#1924)
* Added dracula theme

* Removed package-lock
2019-10-01 12:23:32 +01:00
Reinhart Previano K
edc4dc5801 Doc: Update React Native build documentation (#1922) 2019-10-01 09:03:31 +01:00
Helmut K. C. Tessarek
6e128a7285 update question template
Somebody deleted the label `question`, so I changed the template to use `invalid`, since a question is technically invalid on the issue tracker.
2019-09-30 19:50:46 -04:00
Helmut K. C. Tessarek
ff977cebaf update issue templates 2019-09-30 19:45:44 -04:00
Caleb John
5bcd5f050a Desktop: Code button now detects multiline (#1915)
* Code button now detects multiline

* Fix text selection for code insertion
2019-09-30 23:24:07 +01:00
Laurent Cozic
fe57f163f3 Merge branch 'master' of github.com:laurent22/joplin 2019-09-30 23:19:31 +01:00
Laurent Cozic
cb24db4e39 Renamed "feature request" to "enhancement" (which is already for feature requests) 2019-09-30 14:57:45 +01:00
Laurent Cozic
e93d96193c eslint 2019-09-29 22:11:36 +00:00
Laurent Cozic
637a4dc1f9 Improve eslint rules and run them from CI 2019-09-29 22:01:10 +00:00
Laurent Cozic
2c522637ef Update website 2019-09-29 15:32:11 +01:00
Laurent Cozic
8fbb1fd246 A bit shorter 2019-09-29 15:32:00 +01:00
Laurent Cozic
75b7e7d999 Update website 2019-09-29 15:30:19 +01:00
Laurent Cozic
7e2e901035 Added note about Hacktoberfest 2019-09-29 15:30:01 +01:00
Laurent Cozic
a73a1f896c Merge branch 'master' of github.com:laurent22/joplin 2019-09-29 14:46:18 +01:00
Laurent Cozic
ae7f0e8ffb Tools: Disable build for macOS on pull requests due to electron-builder bug 2019-09-29 14:46:05 +01:00
abonte
08343e6be9 update translation (#1911) 2019-09-29 14:31:17 +01:00
Laurent Cozic
9cb3496159 Updated Russian translation (Thanks Kirill Keller) 2019-09-29 14:26:51 +01:00
Helmut K. C. Tessarek
37b035d0d0 update issue templates
Some people still ignore the templates. This update makes the important statements more prominent.
2019-09-28 20:48:01 -04:00
genneko
f37ac8b5de Update ja_JP.po Japanese translation. (#1902)
* Translate new strings.
* Check and update 'fuzzy' strings.
2019-09-27 21:31:55 -04:00
Robert
343d04b05d Update nl_NL.po (#1901)
Updated for missing translations in  1.0.168
2019-09-27 21:30:48 -04:00
Laurent Cozic
e92741edd6 CLI v1.0.149 2019-09-27 22:19:13 +01:00
Laurent Cozic
8565cd7d40 Cli: Resolves #1905: Add support to Termux by returning a default when platform name cannot be determined 2019-09-27 22:18:22 +01:00
Laurent Cozic
58e299383d CLI v1.0.148 2019-09-27 19:43:22 +01:00
Laurent Cozic
bcb44aa532 Android release v1.0.307 2019-09-27 19:09:14 +01:00
Laurent Cozic
0c552feb57 Electron release v1.0.169 2019-09-27 19:02:09 +01:00
Laurent Cozic
cd1aa57243 Merge branch 'master' of github.com:laurent22/joplin 2019-09-27 19:01:51 +01:00
Laurent Cozic
c9098b0489 All: Improves deletion fail-safe so it is based on percentage of notes deleted. And display warning on sidebar. 2019-09-27 18:12:28 +00:00
Valentin Deville
117ce52597 Desktop: Add support for Deepin desktop environment in install script (#1884)
* Add support for Deepin desktop environment

* Update Joplin_install_and_update.sh
2019-09-26 21:53:11 +01:00
Laurent Cozic
1836b9a0b0 Merge branch 'master' of github.com:laurent22/joplin 2019-09-26 21:00:28 +01:00
FoxMaSk
563a4b7bd8 Repo: Drop emoji in tag name (#1899) 2019-09-26 20:46:42 +01:00
Laurent Cozic
2a5648d1a7 Tools: Fix build for Android 9 debugging 2019-09-26 19:26:18 +00:00
Laurent Cozic
5b425f9178 Android: Fixes "Row too big to fit into CursorWindow" error by allowing notes up to 50MB in size 2019-09-26 19:11:55 +00:00
Laurent Cozic
820e32ddca Doc: Removed default title in new issue templates
Because otherwise people leave them in, but they are redundant with
the automatically attached tag.
2019-09-26 15:21:00 +01:00
Laurent Cozic
b873e706ca Removed invalid files 2019-09-26 00:54:36 +01:00
Laurent Cozic
f0f6e7c856 Update website 2019-09-26 00:53:57 +01:00
Laurent Cozic
1ff3c7d074 Merge branch 'master' of github.com:laurent22/joplin 2019-09-26 00:53:34 +01:00
Laurent Cozic
393bb8993e Update readme 2019-09-25 22:42:59 +01:00
Helmut K. C. Tessarek
00ddb1eb64 update stale.yml 2019-09-25 17:41:39 -04:00
Laurent Cozic
cd518776a9 Update website 2019-09-25 22:28:48 +01:00
Laurent Cozic
391f7d22a3 CLI v1.0.147 2019-09-25 22:27:58 +01:00
Laurent Cozic
effbf10571 All: Log last requests in case of a sync error 2019-09-25 18:58:15 +00:00
Laurent Cozic
4405e94e0c Android release v1.0.306 2019-09-25 19:52:01 +01:00
Laurent Cozic
69f1b72127 Electron release v1.0.168 2019-09-25 18:54:50 +01:00
Laurent Cozic
383fa2e278 Update translations 2019-09-25 18:54:25 +01:00
Laurent Cozic
573100c203 Merge branch 'master' of github.com:laurent22/joplin 2019-09-25 18:46:52 +01:00
Laurent Cozic
348efdd7b6 All: Added fail-safe to prevent data from being wiped out when the sync target is empty 2019-09-25 18:40:04 +00:00
Laurent Cozic
cb9cc95e6a Doc: Fix email address 2019-09-25 16:29:21 +01:00
Laurent Cozic
1994b334fa Create SECURITY.md 2019-09-25 16:28:34 +01:00
Laurent Cozic
3e5a9cdb97 Tests: Make all tests use asyncTest for better error handling 2019-09-23 23:23:10 +01:00
Laurent Cozic
ae863c95c7 Tests: Make tests and CLI app less dependent on building the translations 2019-09-23 23:01:05 +01:00
Laurent Cozic
e89e5efb62 CI: Fix npm install 2019-09-23 22:45:07 +01:00
Laurent Cozic
9f2ce06829 CI: Build pull requests too 2019-09-23 22:41:22 +01:00
Laurent Cozic
ec89ebc6b0 Make build fail if tests don't pass 2019-09-23 22:37:14 +01:00
Laurent Cozic
f3e9668eb7 Tests: Fail test units when an uncaught exception is thrown inside asyncTest 2019-09-23 22:30:25 +01:00
Laurent Cozic
cc7e2fc456 Merge branch 'master' of github.com:laurent22/joplin 2019-09-23 22:27:16 +01:00
Devon Zuegel
172d925f0f Desktop: Fix import interop service (#1887)
* Revert "Revert "Desktop: Add ENEX to HTML export (#1795)""

This reverts commit 50b66cceca.

* Revert "Revert "Desktop, Cli: Fixed interop service so that it still allow auto-detecting importer based on format (required for Cli and for test units)""

This reverts commit c7c57ab2a5.

* Fix the .md importer

* Add comment re future refactor

* Rm importerClass for .md importer

* Fix EnexToMd module name
2019-09-23 22:18:30 +01:00
Laurent Cozic
8a8ecaade3 Update BUILD.md 2019-09-22 10:54:14 +01:00
Helmut K. C. Tessarek
d21a3f0bca update stale.yml 2019-09-21 14:55:26 -04:00
Helmut K. C. Tessarek
9322212601 update issue templates 2019-09-21 14:50:20 -04:00
Laurent Cozic
691eefec2f Desktop, CLI: Also allow importing TXT files with markdown 2019-09-20 23:00:59 +01:00
Laurent Cozic
50b66cceca Revert "Desktop: Add ENEX to HTML export (#1795)"
This reverts commit 2f14832c34.

Reverting PR #1795 due to broken MD import and other issues
2019-09-20 22:18:09 +01:00
Laurent Cozic
c7c57ab2a5 Revert "Desktop, Cli: Fixed interop service so that it still allow auto-detecting importer based on format (required for Cli and for test units)"
Reverting PR #1795 due to broken MD import and other issues

This reverts commit 558b6443bc.
2019-09-20 22:13:34 +01:00
Laurent Cozic
558b6443bc Desktop, Cli: Fixed interop service so that it still allow auto-detecting importer based on format (required for Cli and for test units) 2019-09-19 23:26:33 +01:00
Laurent Cozic
335b43ead4 Chore: Fixed a few formatting issues 2019-09-19 23:02:29 +01:00
Laurent Cozic
e648392330 Chore: Apply eslint rules 2019-09-19 22:51:18 +01:00
Laurent Cozic
ab29d7e872 Chore: Add line break style, and use of template to eslint rules 2019-09-19 22:49:17 +01:00
Woosuk Park
d7fae6b5b8 Update ko.po - korean language support (#1875) 2019-09-17 20:43:38 -04:00
Devon Zuegel
4ba4910a9c Mobile: Custom mobile editor font (#1797)
* Make editor font "Menlo"

* Add .vscode/* to .gitignore

* Add "editor font" config UI

* Render "editor font" chosen in config

* Add shim.mobilePlatform()

* Use style.editor.fontFamily rather than editorFont

* Add default font option

* Fixed for Android
2019-09-17 21:32:00 +01:00
Laurent Cozic
fe9a037cf9 Chore: Fixed package.json files and updated BUILD instructions 2019-09-17 21:29:37 +01:00
Devon Zuegel
2f14832c34 Desktop: Add ENEX to HTML export (#1795)
* Add `escape` to go back from Dropbox Login screen

* Add .vscode/ to .gitignore

* Remove call to enexXmlToMd

* The 2 enex importers have distinct functionality!

* Add tmp #deleteAllNotebooks

* checkbox state still not persisting

* images now fixed, but checkboxes still broken

* Figured out that #ipcProxySendToHost is important for handling checkbox

* cleanup closing br and en-todo tags + add notes

* Handle en-media, add NOTEs & TODOs, & format html

* Clean up some of the logging

* cleanHtml is a nice beautifier, but callback hell ensues...

* Rm #htmlFormat

* Recreating the xml actually seems to work

* Add test (not functional rn)

* Add test for checkboxes

* Add test for image en-media

* Separate tests into 2 function calls

* Clean up test

* Add `en-media-audio` test

* Add bad resource test

* Misc cleanup

* Rm SlateEditor files

* Misc cleanup

* Remove #deleteAllNotebooks button

* Add names to tests

* Extract resourceUtils

* Rm DropboxLoginScreen esc behavior, part of another PR

* Misc cleanup

* Improve audioElement, add attachment import support

* Misc cleanup

* Add svg test for enex_to_html

* Clean up test

* Set markup_language to MARKUP_LANGUAGE_HTML to tell renderer that the content is only HTML

* Rename to newModuleByFormat_ for clarity

* Add comment to clarify newModuleFromPath_
2019-09-17 21:19:32 +01:00
Laurent Cozic
52ace55db0 Mobile: Remove empty sections from config screen 2019-09-16 22:59:45 +01:00
Laurent Cozic
224a4d786b Desktop: Fixed broken menu bar 2019-09-16 22:54:40 +01:00
腹肌抽筋了
3ea97ad9ff Update zh_CN.po Chinese translation (#1871) 2019-09-15 00:02:53 -04:00
Laurent Cozic
e7a56bb2b1 ios-v10.0.37 2019-09-13 22:08:13 +01:00
Laurent Cozic
e4aed469d7 Chore: Add reslect to package 2019-09-13 22:05:02 +01:00
Laurent Cozic
15a42a3729 Chore: Apply eslint no-unused-vars eslint config and add TypeScript config 2019-09-12 22:16:42 +00:00
Laurent Cozic
0b9e007b46 Merge branch 'master' of github.com:laurent22/joplin 2019-09-12 22:48:49 +01:00
Laurent Cozic
88561a6c3c Desktop, CLI: Fixed import of notes that contain links with hashes 2019-09-12 22:48:10 +01:00
genneko
e6b77c3381 Update ja_JP.po Japanese translation (#1868)
* Update Japanese translation (Fix typos).

* Update Japanese translation (Improve the wording).

* Update Japanese translation (Add new items).
2019-09-12 17:38:48 -04:00
abonte
f7e1589476 Update it_IT.po (#1866) 2019-09-12 17:37:34 -04:00
Laurent Cozic
0379523eaf Desktop, Mobile: Fixes #1870: Support non-alphabetical characters in note link anchors 2019-09-12 21:57:23 +01:00
Laurent Cozic
5db7502fe4 Merge branch 'tidy_config' 2019-09-11 23:00:03 +01:00
Laurent Cozic
1578188fde Update website 2019-09-11 11:18:44 +01:00
Laurent Cozic
e8e1a0fe4d Desktop: Cleaned up and improved config screen design, move all screens under same one, and added section buttons 2019-09-10 23:53:01 +00:00
Laurent Cozic
8059009ff3 Android release v1.0.305 2019-09-10 09:31:48 +01:00
Laurent Cozic
32865f065c Electron release v1.0.167 2019-09-10 09:26:26 +01:00
Laurent Cozic
e03ef78049 All: Fixed link issue following last update 2019-09-10 09:25:58 +01:00
Laurent Cozic
45a820bb35 Update website 2019-09-09 19:03:22 +01:00
Laurent Cozic
3c26159b79 Doc: Add link to 32-bit Android APK to readme and website 2019-09-09 18:58:35 +01:00
Laurent Cozic
cf67e0d4af Tools: Allow specifying "to" commit option in git-changelog 2019-09-09 18:50:04 +01:00
Laurent Cozic
1b2767167d Cli: Upgrade joplin-turndown-plugin-gfm to fix import of certain Enex tables 2019-09-09 18:35:22 +01:00
Laurent Cozic
f07bb5c275 Android release v1.0.304 2019-09-09 18:26:55 +01:00
Laurent Cozic
0e2cc418e2 Electron release v1.0.166 2019-09-09 18:22:42 +01:00
Laurent Cozic
0340456d55 Update translations 2019-09-09 18:22:20 +01:00
Laurent Cozic
7aea2cec69 Desktop: Resolves #1490: Add support for anchor hashes in note links 2019-09-09 18:16:00 +01:00
Laurent Cozic
fa83107840 Doc: Update CLI installation info 2019-09-08 20:21:14 +01:00
Laurent Cozic
bb0bf46f81 CLI v1.0.146 2019-09-08 20:12:49 +01:00
Laurent Cozic
694c3fed2d Cli: Fixed regression that was making installation fail 2019-09-08 20:12:25 +01:00
Laurent Cozic
772e39b710 Tools: Improved git-changelog so that it is less error prone 2019-09-08 17:54:41 +01:00
Laurent Cozic
05e0a2c29d CLI v1.0.145 2019-09-08 17:24:00 +01:00
Laurent Cozic
78e0efb95f Trying CLI release 2019-09-08 17:19:22 +01:00
Laurent Cozic
a5f749cfd2 Tools: Added moment package 2019-09-08 17:18:44 +01:00
Laurent Cozic
3d6c932e1b Cli: Added headless server command (Beta) (#1860)
* Trying to implement headless server

* Cli: Cleaned up and completed server command so that it is usable. Added warnings as it is advanced usage only at this point.

* Restored welcome assets
2019-09-08 17:16:45 +01:00
archont00
4488a1b95f Doc: Update explanation of enabling E2EE (#1859)
As per https://discourse.joplinapp.org/t/totally-confused-re-e2ee/3295, I tried to improve the explanation of the process to avoid multiple encryption keys.
2019-09-08 16:35:10 +01:00
archont00
e2808a90c6 Doc: Update re. impossibility to delete unused Master Keys (#1858)
As per discussion at https://discourse.joplinapp.org/t/totally-confused-re-e2ee/3295/2, I propose to add info about Master Keys persistence.
2019-09-08 16:34:37 +01:00
Laurent Cozic
755a972e02 Update website 2019-09-08 11:09:02 +01:00
Laurent Cozic
8b1de22049 Merge branch 'master' of github.com:laurent22/joplin 2019-09-08 11:07:54 +01:00
Laurent Cozic
a9735123b7 Doc: Added warning to generated HTML files 2019-09-08 11:06:53 +01:00
Laurent Cozic
5ccafa2838 Doc: Added warning to generated HTML files 2019-09-08 10:46:35 +01:00
archont00
e2926a4f82 Doc: Update explanation of enabling E2EE (#1856)
As per https://discourse.joplinapp.org/t/totally-confused-re-e2ee/3295, I tried to improve the explanation of the process to avoid multiple encryption keys.
2019-09-08 10:35:15 +01:00
Laurent Cozic
09df315639 Desktop: Fixes #1833: Do not scroll text when search is open and user type in note 2019-09-07 11:57:31 +01:00
Laurent Cozic
5a9b3b6c7c Desktop, Mobile: Resolves #1832: Only support checkboxes that start with a dash 2019-09-07 11:18:07 +01:00
Laurent Cozic
6da6f35ddd Merge branch 'master' of github.com:laurent22/joplin 2019-09-07 10:47:51 +01:00
Laurent Cozic
dcb5590842 Clipper: Fixes #1851: Fixed error when trying to import certain pages using "Clip simplified page" feature 2019-09-07 10:47:31 +01:00
Laurent Cozic
5135c8a782 Clipper: Fixes #1783: Fixed importing tables that contain pipes 2019-09-07 10:32:52 +01:00
Laurent Cozic
1b2f4fb036 Update bug_report.md 2019-09-07 10:09:05 +01:00
Laurent Cozic
76a4a445f0 Doc: Added info about SKIP_PREFLIGHT_CHECK 2019-09-07 09:56:06 +01:00
Helmut K. C. Tessarek
20abb125a5 infrastructure: skip preflight check for building clipper 2019-09-06 13:53:35 -04:00
Laurent Cozic
be9e50b4a1 Update FUNDING.yml 2019-09-06 18:48:05 +01:00
Helmut K. C. Tessarek
02bfcf577d Clipper release v1.0.18 2019-09-06 13:37:55 -04:00
Laurent Cozic
038efa10f2 Update website 2019-09-06 18:34:47 +01:00
Laurent Cozic
dfa692569b Update translations 2019-09-06 18:33:30 +01:00
Laurent Cozic
9abc6a2e44 CLI: Fixes #1779: Make sure setting side-effects are applied even when running in command line mode 2019-09-06 18:29:40 +01:00
Laurent Cozic
11f23f4e00 Android release v1.0.303 2019-09-06 17:51:38 +01:00
Laurent Cozic
6a7d40d171 Merge branch 'master' of github.com:laurent22/joplin 2019-09-06 17:50:39 +01:00
Laurent Cozic
bf5601429e Mobile: Fixes #1767: Fixed broken search when certain notes are too large 2019-09-06 17:39:36 +01:00
abonte
73ae8aaf2f Update it_IT.po (#1853) 2019-09-05 22:45:36 -04:00
axq
7eb7bd98f3 Doc: Minor English improvements in README.md (#1852) 2019-09-05 17:11:45 +01:00
Laurent Cozic
10e22654ea Desktop: Fixes #1815: Fixed cropped content issue when printing or exporting to PDF 2019-09-04 20:11:35 +01:00
Joan Montané
ccfc80ad04 Update ca.po (#1836) 2019-08-29 17:39:35 +01:00
stellarpower
5e95278084 Fix Cinnamon Detection (#1828)
$desktop was converted to lowercase, but matched against 'X-Cinnamon'
2019-08-29 17:39:10 +01:00
Helmut K. C. Tessarek
d69ba6bc75 All: fix typo on encryption options screen (#1823)
fixes #1798
2019-08-29 17:38:54 +01:00
Caleb John
d28fbe2d3b Desktop: Apply current locale to date and time (#1822) 2019-08-29 17:38:24 +01:00
Caleb John
415e7b84da Desktop: Change localeCompare functiion for tags (#1811)
* change localeCompare functin for tags

* Fix spacing
2019-08-29 17:36:53 +01:00
Caleb John
ac4986b620 Desktop: Fixes #1803: Use correct date format for templates (#1810) 2019-08-29 17:35:43 +01:00
Caleb John
9a4f4cbb65 Desktop: Change template prompt to sans and sort templates (#1806)
* Change template prompt to sans and sort templates

* Sort templates by filename to ensure order
2019-08-29 17:34:54 +01:00
Helmut K. C. Tessarek
8e32957111 Infrastructure: build-translation.js - add support for macOS (#1804)
* remove unnecessary comment

It's totally fine to add the double quotes after -i.
Using gsed would mean that people had to install GNU sed. For what, if the same is possible with the system's sed with a slight modification.
Checking for gsed and using it is more trouble than it's worth.

* build-translation.js: add support for macOS

* implement requested changes
2019-08-29 17:34:05 +01:00
Helmut K. C. Tessarek
91aa3703d4 CLI: Fixes fatal error with cli 1.0.141 on start (#1791)
- updated terminal-kit to 1.30.0
- do not call method, if object does not exist

fixes #1778
2019-08-29 17:05:20 +01:00
FoxMaSk
a889762056 Update README.md
Double line fixed
2019-08-21 10:14:15 +02:00
Robert
6478d6c9c9 Update nl_NL.po (#1821) 2019-08-19 17:59:43 -04:00
FoxMaSk
7a681d0a4a README: add Discord Community Server (#1800)
* Discord Community Server

* Discord Server Link fixed

* improvment
2019-08-19 13:34:43 -04:00
Rafael Teixeira
83b6eba8bd Updated Last Translator pt_BR (#1813) 2019-08-17 02:36:25 -04:00
Helmut K. C. Tessarek
2766ded5f6 Update website 2019-08-16 19:55:27 -04:00
Rafael Teixeira
ca0d966ed9 Translation: Translation Update pt_BR (#1809)
* Updated translation pt-BR

* New updates translation pt_BR
2019-08-16 03:58:07 -04:00
Woosuk Park
386c583b0e Translation : Korean Translation #2 (#1802)
* Korean Language Support

Korean Language 100% Translated, but something is roughted. soon fix it ;)

* some improved

Some Improved

* Improve v2

some polished

* Ok, now Completed

For Now, Completed Polish(Change Respect of Users, and several fixing & polishing) + 100% Translated. Ready to Shipping

* Korean Language Update #2

1. 조플린 -> Joplin (Sorry i forgot)
2. Fuzzy correction.

Korean Language Update #2

1. 조플린 -> Joplin (Sorry i forgot)
2. Fuzzy correction.
2019-08-15 13:15:32 -04:00
Laurent Cozic
b3d34ad7e9 Android release v1.0.299 2019-08-14 23:47:38 +02:00
Laurent Cozic
ba5c636dda Android: Fixed AndroidX transition issue 2019-08-14 23:44:57 +02:00
Laurent Cozic
ea16f6e0b1 Revert "Trying to fix Android buikld"
This reverts commit 0dd0dc5489.
2019-08-14 23:23:27 +02:00
Laurent Cozic
0dd0dc5489 Trying to fix Android buikld 2019-08-14 23:22:52 +02:00
Laurent Cozic
f3ab21ff43 Electron release v1.0.165 2019-08-14 23:17:25 +02:00
Laurent Cozic
5ac6b46efd Desktop: Fixed theme options for Solarized theme 2019-08-14 23:17:02 +02:00
Laurent Cozic
6548f30a4b Electron release v1.0.164 2019-08-14 22:49:45 +02:00
Laurent Cozic
849d7983f6 Desktop: Added support for Fountain screenwriting language 2019-08-14 12:40:06 +02:00
Helmut K. C. Tessarek
e32e4423db change feature request template 2019-08-14 02:08:35 -04:00
Laurent Cozic
7f5bf131a8 Add back files that might have been modified by linter 2019-07-30 11:40:33 +02:00
Laurent Cozic
87a639df2b Mobile: Disabled solarized themes on mobile 2019-07-30 11:37:52 +02:00
Laurent Cozic
bdd8eab87e Mobile: Make it clearer when there are no notebooks and added a button create one 2019-07-30 11:36:56 +02:00
Laurent Cozic
b9e5c8a387 Electron release v1.0.163 2019-07-30 09:52:26 +02:00
Laurent Cozic
d646a2dd01 Fix Linux and macOS build to go around this bug: https://github.com/electron-userland/electron-builder/issues/3179 2019-07-30 09:52:16 +02:00
Laurent Cozic
71a3a0176e Android release v1.0.294 2019-07-30 09:42:09 +02:00
Laurent Cozic
a363d119cf Electron release v1.0.162 2019-07-30 09:37:23 +02:00
Laurent Cozic
ff08bdbc0b Merge branch 'master' of github.com:laurent22/joplin 2019-07-30 09:35:49 +02:00
Laurent Cozic
71efff6827 Linter update (#1777)
* Update eslint config

* Applied linter to lib

* Applied eslint config to CliClient/app

* Removed prettier due to https://github.com/prettier/prettier/pull/4765

* First pass on test units

* Applied linter config to test units

* Applied eslint config to clipper

* Applied to plugin dir

* Applied to root of ElectronClient

* Applied on RN root

* Applied on CLI root

* Applied on Clipper root

* Applied config to tools

* test hook

* test hook

* test hook

* Added pre-commit hook

* Applied rule no-trailing-spaces

* Make sure root packages are installed when installing sub-dir

* Added doc
2019-07-30 09:35:42 +02:00
Laurent Cozic
7595fe4a8c Merge branch 'master' of github.com:laurent22/joplin 2019-07-30 09:32:34 +02:00
Laurent Cozic
7697e75466 Update eslint config 2019-07-29 21:23:14 +02:00
Helmut K. C. Tessarek
b8fbaa2029 Update en_US.po 2019-07-29 11:34:52 -04:00
Helmut K. C. Tessarek
38bc750ecf Update de_DE.po 2019-07-29 11:34:02 -04:00
Laurent Cozic
6cfacb1a48 Second pass at linting lib dir 2019-07-29 15:58:33 +02:00
Laurent Cozic
0b9078d034 config 2019-07-29 15:58:17 +02:00
Laurent Cozic
86dc72b204 First pass at linting lib dir 2019-07-29 15:43:53 +02:00
Laurent Cozic
64b7bc3d62 More config 2019-07-29 15:43:39 +02:00
Laurent Cozic
086f9e1123 Started applying config to Electron app 2019-07-29 14:13:23 +02:00
Laurent Cozic
4fe70fe8ee Ignore some files 2019-07-29 14:13:09 +02:00
Laurent Cozic
95a1f40404 Tweaked linter config 2019-07-29 14:10:07 +02:00
Laurent Cozic
88f04509ee Also added prettier config 2019-07-29 13:48:43 +02:00
Laurent Cozic
7eebd544d6 Fixed eslint 2019-07-29 12:55:50 +02:00
Laurent Cozic
e369a8decf Added eslint config 2019-07-29 12:55:39 +02:00
Helmut K. C. Tessarek
ad8054ba4b Desktop: Better handling of adding the title to print and export to PDF (#1744)
fixes #1743
2019-07-29 12:33:40 +02:00
J0J0 T
b47cb4e29a Desktop, Cli: Improved bold formatting support in Enex import (#1708)
* Dekstop,CLI: enex_to_md: add html/md test file pairs

* one pair for basic text formatting tags: strong, b, i, em
* and one using span tags with inline styles for bold formatting

Note: The html files include the Evernote-typical "linebreak tags inside of separate <div> tags"
to represent empty lines!

* Desktop,Cli: enex_to_md: support bold in span tags using inline styles

* function isSpanWithStyle() checks if further processing of a span tag
  makes sense
* function isSpanStyleBold() checks if bold formatting via styles is
  used - a similar function could be written for each span-inline-style-format
  that should be supported

* Desktop,Cli: enex_to_md: fix saving span attrs in state object

pushing attributes of span tag to state object now
happens outside of isSpanWithStyle()
2019-07-29 12:25:25 +02:00
Laurent Cozic
8c42ddf6c3 Merge branch 'master' of github.com:laurent22/joplin 2019-07-29 12:17:33 +02:00
tfinnberg
f7fcabbf41 Desktop: Create fileURLs via drag and drop (#1653)
* enable drag and drop fileURLs

* fix windows fileURL syntax

* introduce encodeURI function

* fixed encoding issue

* use path-utils.js to deal with fileURL path conversion

* add changes as requested

* Minor rewording 'On the' -> 'In the', additional info about attaching files

* change call of toFileProtocolPath

* enable test script to check syntax for all OS-platforms
2019-07-29 12:16:47 +02:00
Shane Kilkelly
38a51070fc Desktop: add depthColor for solarized light and dark themes (#1765) 2019-07-29 12:08:49 +02:00
Laurent Cozic
44fa099a77 Desktop: No longer crash if certain theme properties are not set 2019-07-29 12:05:58 +02:00
sumomo-99
af6f3999df Update ja_JP.po (#1776) 2019-07-29 11:55:02 +02:00
Laurent Cozic
6fbeb35951 Update translations 2019-07-29 11:52:19 +02:00
Laurent Cozic
b2eadffde0 Using British English by default for consistency 2019-07-29 11:51:09 +02:00
Laurent Cozic
200ba2775f All: Resolves #1459: Make translation files smaller by not including untranslated strings. Also add percentage translated to config screen. 2019-07-29 11:47:50 +02:00
Laurent Cozic
39ba021a79 Merge branch 'master' of github.com:laurent22/joplin 2019-07-29 10:12:45 +02:00
Laurent Cozic
2c6b291b9b Desktop: Only repeat failed requests up to 3 times during sync 2019-07-29 10:12:23 +02:00
Devon Zuegel
770846be2e Doc: Add docs to clarify how to test (#1775) 2019-07-29 09:42:10 +02:00
Laurent Cozic
af4aa01b75 Mobile: Upgraded packages to fix security issues 2019-07-28 23:03:54 +02:00
Laurent Cozic
1bf2bec805 CLI v1.0.141 2019-07-28 22:54:45 +02:00
Laurent Cozic
3a41ac9be0 CLI: Upgraded packages to fix security issues 2019-07-28 22:54:29 +02:00
Laurent Cozic
f2c9cdd7f1 Desktop: Upgraded packages to fix security issue 2019-07-28 22:48:30 +02:00
Laurent Cozic
058f418cc7 Tools: Do not display full release info when releasing Android app 2019-07-28 22:43:33 +02:00
Laurent Cozic
5fa84b0dfb Android release v1.0.293 2019-07-28 18:36:36 +02:00
Laurent Cozic
ec8ec3e38d Android release v1.0.292 2019-07-28 18:34:44 +02:00
Laurent Cozic
0e6190b42b Tools: Allow creating multiple Android releases 2019-07-28 18:33:48 +02:00
Laurent Cozic
fcfee36c8c Android release v1.0.291 2019-07-28 18:32:33 +02:00
Laurent Cozic
1d3d3b99bb Tools: Allow creating multiple Android releases 2019-07-28 18:31:31 +02:00
Laurent Cozic
2f80bf9647 Android release v1.0.290 2019-07-28 18:29:07 +02:00
Laurent Cozic
675a4c795f Android release v1.0.289 2019-07-28 18:22:33 +02:00
Laurent Cozic
ed3361df57 Merge branch 'master' of github.com:laurent22/joplin 2019-07-28 18:22:33 +02:00
Laurent Cozic
87396572e4 Tools: Allow creating multiple Android releases 2019-07-28 18:19:41 +02:00
Woosuk Park
143b610291 Korean Language Support (#1769)
* Korean Language Support

Korean Language 100% Translated, but something is roughted. soon fix it ;)

* some improved

Some Improved

* Improve v2

some polished

* Ok, now Completed

For Now, Completed Polish(Change Respect of Users, and several fixing & polishing) + 100% Translated. Ready to Shipping
2019-07-26 23:18:47 -04:00
Laurent Cozic
c952c4591f Android release v1.0.284 2019-07-26 23:11:08 +02:00
Laurent Cozic
e418701e68 Mobile: Fixes #1764 (maybe): Upgrading React-Native to 0.59.10 to try to fix crash in certain Samsung phone due to 64-bit version
See also:

https://github.com/facebook/react-native/issues/24261#issuecomment-514332549
2019-07-26 23:08:11 +02:00
Laurent Cozic
6fc0ee3062 Android release v1.0.283 2019-07-26 21:26:24 +02:00
Laurent Cozic
7b42d7d2c8 Mobile: Fixed freeze when last notebook was the conflict one and there are no longer any conflicted notes 2019-07-26 21:23:18 +02:00
Mr. Traduttore
eb083ae925 [Mobile/Desktop] Changed cancel, directory and delete translations (ITALIAN) (#1759)
* Changed cancel and delete translation (ITALIAN)

Changed cancel from "cancellare" to "annullare" (whic is used more to express the cancelling operations) and delete from "cancellare" to "eliminare". I think that doing this will help people understanding what is the main task of these option since they use the same verbs in the current translation.

* Update it_IT.po
2019-07-22 14:15:11 +01:00
Helmut K. C. Tessarek
905e65365f Update en_US.po 2019-07-22 06:28:04 -04:00
Helmut K. C. Tessarek
a0c04c0e6a Update de_DE.po 2019-07-22 06:27:55 -04:00
Laurent Cozic
635baa5b6f Updated translations 2019-07-22 00:02:25 +00:00
Laurent Cozic
7591b614c5 typos 2019-07-21 22:27:13 +00:00
Helmut K. C. Tessarek
5b5ec682c0 Update en_US.po 2019-07-21 22:18:35 -04:00
Helmut K. C. Tessarek
b0a80ddf65 Update de_DE.po 2019-07-21 22:17:25 -04:00
Laurent Cozic
893531f8c7 Desktop: Make depthColor theme property optional 2019-07-21 17:30:36 +01:00
Shane Kilkelly
3d498e7a75 Desktop: Add solarized themes to desktop client (#1733) 2019-07-21 17:27:42 +01:00
Laurent Cozic
45ad201132 Mobile: Fixed colour of placeholder text in dark theme 2019-07-21 17:16:15 +01:00
Laurent Cozic
6e64b950ca Merge branch 'master' of github.com:laurent22/joplin 2019-07-21 17:05:09 +01:00
Laurent Cozic
6d4e67769c Desktop: Fixed Back button icon on Config screen 2019-07-21 16:49:53 +01:00
Laurent Cozic
3aa0394062 Mobile: Fixes #1684: Trying to fix problem when attaching file that contains spaces in name 2019-07-21 14:39:52 +01:00
Laurent Cozic
b65767a43c Mobile: Fixes #1746: Populate note side menu when swiping right 2019-07-21 14:11:30 +01:00
Laurent Cozic
3a9817d11e Android release v1.0.282 2019-07-21 14:04:18 +01:00
Laurent Cozic
6a42ef50ec All: Fixes #1732: Fixed note order when dragging a note outside a notebook 2019-07-21 13:55:25 +01:00
Laurent Cozic
35b6b3fc46 Merge branch 'clipper_html_mode' 2019-07-21 13:46:54 +01:00
Laurent Cozic
f5515e3496 Doc: Fixed template doc 2019-07-21 09:07:33 +01:00
Laurent Cozic
fd509bb4af Doc: Fixed template table 2019-07-21 08:57:50 +01:00
Laurent Cozic
b21c0f5d69 Doc: Fixed website templating 2019-07-21 08:55:44 +01:00
Laurent Cozic
1033b3626f Update translations 2019-07-21 08:49:49 +01:00
Laurent Cozic
f407c8d756 Added Serbian translation - thanks Željko! 2019-07-21 08:19:32 +01:00
Laurent Cozic
6436dff94b Api: Fixed handling of markup language 2019-07-21 00:31:29 +01:00
Laurent Cozic
3f7b4e10b6 Merge branch 'master' into clipper_html_mode 2019-07-21 00:24:25 +01:00
Laurent Cozic
36168a9a5d Use regex instead of jsdom for compability with mobile app 2019-07-21 00:18:51 +01:00
Helmut K. C. Tessarek
118540c733 add config for stale bot 2019-07-20 17:41:49 -04:00
Caleb John
cd5d412c69 Desktop: Added support for templates (#1647)
* First pass of adding support for templates

* remove default value from template prompt

* Add template placeholder text

* Add mustache templates with datetime support for new notes

* Moved template code to utils, added separate prompt for templates

* Add templates to menu and allow for keyboad only use

* update template prompt for dark theme

* update with laurents suggestions, add refresh button

* revert template command, remove new note prompt
2019-07-20 22:13:10 +01:00
Helmut K. C. Tessarek
e29fb3eb66 new issue templates 2019-07-19 15:01:32 -04:00
Laurent Cozic
8ff1668c8f Minor changes 2019-07-19 18:18:05 +01:00
Laurent Cozic
14fc73b388 Use markupToHtml everywhere 2019-07-19 17:48:38 +01:00
Laurent Cozic
f34330f101 Doc: Contributor list on rows of 5 2019-07-18 20:46:01 +01:00
Laurent Cozic
2ba50321d4 Doc: Added contributors 2019-07-18 18:36:29 +01:00
Laurent Cozic
38177c7e54 All: Optimised loading of multiple items 2019-07-17 22:50:12 +01:00
Laurent Cozic
687e308a73 Desktop: Added markup language to property dialog 2019-07-17 22:49:40 +01:00
Laurent Cozic
490db0db62 Desktop: Disable Markdown actions for HTML notes 2019-07-17 22:49:12 +01:00
Laurent Cozic
feb5f17479 Clipper: Generate better HTML so that it loads faster in text editor 2019-07-17 22:48:13 +01:00
Laurent Cozic
fbb3543818 Desktop: Fixed race condition when loading a note while another one is still loading. Improved performance when loading large note. 2019-07-17 22:42:53 +01:00
Laurent Cozic
30d0dfb424 Clipper: Fixed sizing issue when importing HTML pages 2019-07-16 22:58:44 +01:00
Laurent Cozic
7239a2013c Clipper: Improved clipping of images in HTML mode 2019-07-16 22:23:04 +01:00
Laurent Cozic
2361c5a5e7 Clipper: Better handling of images when multiple images have the same source but with different dimensions 2019-07-16 21:47:44 +01:00
Laurent Cozic
38e8a881d5 More refactoring to easily handle multiple renderers 2019-07-16 19:05:47 +01:00
Helmut K. C. Tessarek
d45d1b4225 Mobile: Show correct time/date (as specified in settings) for note properties (#1749) 2019-07-16 15:11:58 +01:00
Helmut K. C. Tessarek
e9c88dfdc4 Update de_DE.po 2019-07-15 23:21:46 -04:00
Laurent Cozic
fbb0ac5892 Clipper: Refactored image rules to re-use more code 2019-07-15 20:43:28 +00:00
Helmut K. C. Tessarek
7a902bbd25 Desktop, Mobile: Update Markdown plugins: footnote, toc-done-right, anchor (#1741) 2019-07-15 01:29:44 +01:00
Laurent Cozic
c75618eb8f Clipper: Minor fixes 2019-07-15 01:17:17 +01:00
Laurent Cozic
74ee629266 Clipper: Fixed issue with relative links when importing HTML 2019-07-15 00:44:45 +01:00
Caleb John
8ecc58e1bf Desktop: Add support for cinnamon to install script (#1738) 2019-07-15 00:29:09 +01:00
Laurent Cozic
71078637db Android release v1.0.281 2019-07-14 19:56:46 +01:00
Laurent Cozic
5460a977b1 Clipper: Fixed issues related to viewing images and to HTML comments that were incorrectly being displayed 2019-07-14 19:52:57 +01:00
Laurent Cozic
a0dd0702fb Clipper: Adding support for clipping page as HTML 2019-07-14 16:00:02 +01:00
Laurent Cozic
3e48992eb4 Clipper: Disabled preview for now as too many problems with it and not so useful 2019-07-14 09:46:06 +01:00
Laurent Cozic
bdb31f2890 Mobile: Fixed issue that could slow down app when displaying large list of notes 2019-07-13 23:55:28 +01:00
Laurent Cozic
0255546ae1 Mobile: Auto-save after toggling to-do state 2019-07-13 23:49:35 +01:00
Laurent Cozic
d066350eea Electron release v1.0.161 2019-07-13 19:18:34 +01:00
Laurent Cozic
a1e3260309 Clipper: Resolves #1160: Allow importing MathJax formulas, in particular from StackExchange 2019-07-13 19:17:28 +01:00
Laurent Cozic
be1f57a8a6 Desktop: Fixes #1727: Keep back button when opening a note link from the search results 2019-07-13 17:58:59 +01:00
Laurent Cozic
ca4dfe0f0f Desktop: Fixes #1724: Improved note selection and scrolling when moving a note to a different notebook 2019-07-13 17:40:09 +01:00
Laurent Cozic
fa69957d3f Desktop, CLI: Fixes #1723: Import Evernote audio files correctly 2019-07-13 17:26:47 +01:00
Laurent Cozic
f7203ed7e2 Desktop: Fixes #1720: Fixed issue with certain commands being repeated in some cases 2019-07-13 16:57:33 +01:00
Laurent Cozic
331858bd4f Desktop: Fixes #1704: Set note title to correct size when zoom is enabled 2019-07-13 16:46:52 +01:00
Laurent Cozic
4d2c9523a3 Desktop: Fixes #1699: Hide toolbar button text when it is below a certain size 2019-07-13 16:42:57 +01:00
Laurent Cozic
4d9d84a8f3 Merge branch 'master' of github.com:laurent22/joplin 2019-07-13 15:58:06 +01:00
Laurent Cozic
ec1089870f All: Fixes #1694: When deleting resource from sync target also delete associated data blob 2019-07-13 15:57:53 +01:00
Helmut K. C. Tessarek
dbedefc021 Desktop: Fixes #1342: Add override for ACE editor shortcut Ctrl+K (#1705) 2019-07-13 14:52:32 +01:00
Kirill Goncharov
f6b0da3f5e Android: Check filesystem permission if filesystem sync target is selected (#1665)
* Android: Check filesystem permission if filesystem sync target is selected

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

* Added ampersands to main menu items 

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

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

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

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

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

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

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

This reverts commit 6ce091f4d8.
2019-06-19 21:50:26 +01:00
Laurent Cozic
de1bfa5c34 Android release v1.0.276 2019-06-19 15:08:44 +01:00
Laurent Cozic
478b8f00d8 Fix release script 2019-06-19 15:04:46 +01:00
Laurent Cozic
860d2fd7f5 Merge branch 'master' of github.com:laurent22/joplin 2019-06-19 15:04:16 +01:00
Laurent Cozic
6ce091f4d8 Mobile: Added button to clear local sync state 2019-06-19 14:57:59 +01:00
Laurent Cozic
ce595ac5e4 Mentioned that it works on FreeBSD 2019-06-19 12:29:15 +01:00
Laurent Cozic
267436a00d Merge pull request #1660 from delta-emil/bulgarian-translation
Localization: add bulgarian
2019-06-18 22:54:52 +01:00
Helmut K. C. Tessarek
97e0f4258a Update localization en_US.po 2019-06-18 12:32:56 -04:00
delta-emil
faa6ccc150 add bulgarian translation 2019-06-16 23:39:20 +03:00
Laurent Cozic
349cade946 All: Optimised resource download queue by exiting early if resources are already downloaded 2019-06-15 21:48:37 +01:00
Laurent Cozic
0200aa92de Doc: Added doc for resource download mode 2019-06-15 21:28:31 +01:00
Laurent Cozic
60ed2cbee5 Mobile: Fixed bug where photo was not displayed just after having taken it 2019-06-15 21:23:30 +01:00
Laurent Cozic
0e7b2f36c8 Fixing release process for Android 2019-06-15 18:58:09 +01:00
Laurent Cozic
4083221b21 Android: Added support for 64-bit hardware 2019-06-15 18:48:07 +01:00
Laurent Cozic
d55c511b4a iOS v10.0.35 2019-06-15 18:18:17 +01:00
Laurent Cozic
7863e1dffe Update website 2019-06-15 10:27:44 +01:00
Laurent Cozic
7cfdf778de Android release v1.0.271 2019-06-15 09:44:34 +01:00
Laurent Cozic
075e55c077 Android release v1.0.269 2019-06-15 01:23:12 +01:00
Laurent Cozic
dc818e8a0c Electron release v1.0.160 2019-06-15 00:57:36 +01:00
Laurent Cozic
caa58dd913 name 2019-06-15 00:57:13 +01:00
Laurent Cozic
c84c3cd026 Merge pull request #1655 from laurent22/react-native-5-9
React Native 5 9
2019-06-14 23:32:12 +01:00
Laurent Cozic
bda5ac9fb5 Upgraded RNdocument-picker 2019-06-14 23:23:01 +01:00
Laurent Cozic
f928f645e5 Upgraded RNSqlite to remove warnings 2019-06-14 23:16:37 +01:00
Laurent Cozic
53d7e906d4 Removed unneeded class that was causing a require cycle 2019-06-14 23:04:05 +01:00
Laurent Cozic
e670b5d03f Upgraded RNDialogbox to remove warnings 2019-06-14 23:02:35 +01:00
Laurent Cozic
2a7d555859 Replaced deprecated Slider component 2019-06-14 22:59:27 +01:00
Laurent Cozic
e6675f500c Removed no longer used WebView module 2019-06-14 22:46:08 +01:00
Laurent Cozic
c3f20d3ebc Getting latest RNCamera to work with Android 2019-06-14 22:45:35 +01:00
Laurent Cozic
ff257060d1 Trying get RNCamera to work in iOS 2019-06-14 22:31:01 +01:00
Laurent Cozic
68cde202a4 Added JSC to improve performances of Android app 2019-06-14 18:37:46 +01:00
Laurent Cozic
1a7a87e170 Remove this for now as are not on AndroidX yet 2019-06-14 18:30:16 +01:00
Laurent Cozic
2990642923 Trying to fix rn-camera but cannot be full fixed yet due to https://github.com/react-native-community/react-native-camera/pull/2306 2019-06-14 09:15:38 +01:00
Laurent Cozic
0818de036e Fixing issue with webview so that WebKit rendering can be used 2019-06-14 09:14:01 +01:00
Laurent Cozic
122bc29035 Mobile: Upgraded WebView 2019-06-14 08:11:15 +01:00
Laurent Cozic
861cf8a1b2 Merge branch 'master' into react-native-5-9 2019-06-14 07:22:57 +01:00
Laurent Cozic
7d6959e9e4 Merge branch 'master' of github.com:laurent22/joplin 2019-06-14 07:22:38 +01:00
Laurent Cozic
85091052e7 iOS: Fixed missing Confirm and Cancel buttons on Alarm dialog 2019-06-14 07:22:25 +01:00
Laurent Cozic
f46ad5bfda Upgrading to React Native 5.9 2019-06-14 07:12:24 +01:00
Laurent Cozic
29f7937fc2 Merge branch 'master' of github.com:laurent22/joplin 2019-06-13 08:48:30 +01:00
Laurent Cozic
7fae9fda10 Desktop: Fixes #1443: Allow opening external editor on new notes 2019-06-13 08:48:19 +01:00
Laurent Cozic
a37961dccc Desktop: Removed placeholder in tag list because it repeats the label 2019-06-13 08:47:47 +01:00
Helmut K. C. Tessarek
55155646aa Clipper release v1.0.15 2019-06-12 19:38:32 -04:00
Laurent Cozic
7bffe86439 Merge branch 'master' of github.com:laurent22/joplin 2019-06-13 00:26:55 +01:00
Laurent Cozic
86136e0c6c Clipper: Fixes #1622: Import named anchors from clipped pages 2019-06-13 00:26:19 +01:00
Helmut K. C. Tessarek
21ae447d9c Clipper: Create a zip file of the source (for validation by Firefox reviewers) (#1648)
The file `joplin-webclipper-source.zip` will be in the `dist` directory of the webclipper.
2019-06-12 23:11:24 +01:00
Laurent Cozic
ad211b4b4e Clipper: Fixes #1600: Handle SVG images and fix issue with invalid file extensions 2019-06-12 09:45:31 +01:00
Laurent Cozic
d6218f35fe Clipper: Fixes #1526: Local files can be clipped again 2019-06-11 01:09:48 +01:00
Laurent Cozic
7af0dcd19a Merge branch 'master' of github.com:laurent22/joplin 2019-06-11 00:11:57 +01:00
Laurent Cozic
e1a52c5606 CLI: Remove Welcome notes because they are mostly relevent to desktop and mobile, and there is already intro text on CLI 2019-06-11 00:11:49 +01:00
Helmut K. C. Tessarek
468c345527 Desktop: Improved: Added shortuct for tags (Cmd+Opt+T / Ctrl+Alt+T) (#1638)
fixes #1626
2019-06-10 23:45:49 +01:00
Caleb John
041bdc08a2 Desktop: New: Highlight notebooks based on depth (#1634)
* Highlight notebooks based on depth

* Adjusted notebook depth targets, and dark theme select color
2019-06-10 23:44:51 +01:00
Laurent Cozic
7535f1a8c6 Update website 2019-06-10 23:41:32 +01:00
Laurent Cozic
0b24433db3 CLI v1.0.140 2019-06-10 08:56:11 +01:00
Laurent Cozic
f7de0c5ffd Merge branch 'master' of github.com:laurent22/joplin 2019-06-10 08:55:46 +01:00
Laurent Cozic
62c48b9a46 CLI: Fixed regression which was preventing decryption on newly created profiles 2019-06-10 08:55:36 +01:00
Helmut K. C. Tessarek
3fafda9684 Desktop: Added menu item to format inline code (#1641)
* Revert "Fix for #1426, aded backticks to auto-wrapping quotes."

This reverts commit 7dee93076a.

* changes to backtick behavior

- add shortcut ``` cmd+` ``` / ``` ctrl+` ```
- add menu item for `Inline code`

* rename menu item Inline Code -> Code
2019-06-10 08:05:20 +01:00
Helmut K. C. Tessarek
2cf1cda128 Update de_DE.po (#1640) 2019-06-10 01:18:07 -04:00
Laurent Cozic
fedee9499b Funding: Remove name for now because it causes an error 2019-06-08 10:38:42 +01:00
Laurent Cozic
7c6c7f34ba Android release v1.0.261 2019-06-08 00:49:41 +01:00
Laurent Cozic
0d65edd0e8 Electron release v1.0.159 2019-06-08 00:47:09 +01:00
Laurent Cozic
d57520c66a Merge branch 'master' of github.com:laurent22/joplin 2019-06-08 00:23:35 +01:00
Laurent Cozic
fa28ae1433 Mobile: Improved and cleaned up config screen 2019-06-08 00:23:17 +01:00
Laurent Cozic
0acf9823e5 Added missing test 2019-06-07 23:39:34 +01:00
Caleb John
799ad5f1da Desktop: Improved tag dialog to make it easier to add and remove tags (#1589) 2019-06-07 23:33:06 +01:00
Laurent Cozic
9f6b3ccf40 All: Improved: Allow using multiple connections to download items while synchronising (#1633)
* Task queue

* All: Improved sync speed by downloading items in parallel

* Improved download queue
2019-06-07 23:20:08 +01:00
Laurent Cozic
df714c357d All: Improved: Better handling of items that cannot be decrypted, including those that cause crashes 2019-06-07 23:11:08 +01:00
Laurent Cozic
de5fdc84f8 Added simple Key-Value store to support temporary data 2019-06-07 08:05:15 +00:00
Laurent Cozic
b5b228af15 Merge branch 'master' of github.com:laurent22/joplin 2019-06-06 16:05:26 +01:00
Laurent Cozic
7a85628f46 Doc: added Twitter feed and Product Hunt page 2019-06-06 16:05:14 +01:00
MichipX
075e76fc4b [Update] Language file: pl_PL.po (#1625)
Addition of strings and correction of mistakes.
2019-06-06 13:40:51 +01:00
Gustavo Reis
172a98fed4 Desktop: Fix icon path and directory in Linux install script (#1612) 2019-06-05 23:14:19 +01:00
Caleb John
409bdd7b78 Desktop, mobile: Upgrade TOC plugin version to 4.0.0 to fix various issues (#1603) 2019-06-05 23:13:00 +01:00
Caleb John
d012c689e1 Desktop: Improve how font size is applied (#1601) 2019-06-05 23:11:18 +01:00
Caleb John
89ec0629e6 Bump version of multimd-tables for mobile (#1597) 2019-06-05 23:02:10 +01:00
Laurent Cozic
b3475ae195 Android release v1.0.260 2019-06-05 18:31:59 +01:00
Laurent Cozic
a72ab67473 CLI v1.0.139 2019-06-05 18:09:10 +01:00
Laurent Cozic
90fbfec914 Update translations 2019-06-05 18:07:11 +01:00
Germán Martín
49ef023a90 Complete Spanish translation (#1613)
* Complete Spanish translation

Add missing translations

* Fix translation

* Review translation with Poedit
2019-06-05 18:02:36 +01:00
abonte
64bfd74f18 Translation: update it_IT.po (#1616)
* update Italian translation

* small fix
2019-06-05 18:02:20 +01:00
Laurent Cozic
655e35056e Merge branch 'master' of github.com:laurent22/joplin 2019-06-05 17:41:40 +01:00
Laurent Cozic
a13ba63ab8 Desktop: New: Added option to open development tools, to make it easier to create custom CSS 2019-06-05 17:41:30 +01:00
Laurent Cozic
e2e00d4c87 Doc: Added info to submit a web clipper bug 2019-06-05 15:09:22 +01:00
Helmut K. C. Tessarek
159dc44f6c Update website 2019-05-28 22:43:54 -04:00
Laurent Cozic
8fe2091926 Desktop, CLI: Fixes #1583: Handle multiple lines in attributes when importing Enex files 2019-05-28 22:52:09 +01:00
Laurent Cozic
c362c38dc0 Merge branch 'master' of github.com:laurent22/joplin 2019-05-28 22:05:25 +01:00
Laurent Cozic
316a52bbc2 All: Improved workflow of downloading and decrypting data during sync 2019-05-28 22:05:11 +01:00
Helmut K. C. Tessarek
0de9f6f944 Merge pull request #1596 from mmahmoudian/Update-Persian-localization
Improved and fixed Persian (fa) translation
2019-05-28 13:48:03 -04:00
Laurent Cozic
3ba021fdd9 Fixed test for Welcome notebook 2019-05-28 18:17:59 +01:00
Laurent Cozic
04c6579f2c All: Fix: Fix issue with revisions being needlessly created when decrypting notes 2019-05-28 18:10:21 +01:00
Mehrad Mahmoudian
bc7bd456a7 [update] Persian (fa) Language 2019-05-28 19:02:02 +03:00
Laurent Cozic
6d7511efbb Electron release v1.0.158 2019-05-27 19:54:04 +01:00
Caleb John
a0fb99d78f Desktop, Mobile: Improved: Enable more options on multimd-table plugin (#1586)
* Update multimd-table and enable options

* Add `options` option to markdown plugins
2019-05-27 19:53:02 +01:00
Laurent Cozic
685a52c2c5 Desktop, Mobile: Fixes #1587: Fix internal note links 2019-05-27 19:49:18 +01:00
Laurent Cozic
fc77419ca1 Desktop: Fixed empty separators in menu 2019-05-27 19:48:09 +01:00
Laurent Cozic
bab3a12e92 Doc: Updated build instructions for Windows 2019-05-27 18:04:24 +01:00
Laurent Cozic
21f0b90f48 Android release v1.0.255 2019-05-26 19:41:20 +01:00
Laurent Cozic
83682ab513 Desktop, Mobile: Improved config screen with dark theme 2019-05-26 19:39:07 +01:00
Laurent Cozic
7b987b5a8f Desktop: Resolves #1575: Make bold text more visible 2019-05-24 23:51:56 +01:00
Laurent Cozic
cb5aa425c8 Updated translations 2019-05-24 23:09:31 +01:00
Laurent Cozic
dd222381dd Translatiobs 2019-05-24 23:08:31 +01:00
Laurent Cozic
d7210811f6 Android release v1.0.254 2019-05-24 17:38:10 +01:00
Laurent Cozic
3a43cfeebf Electron release v1.0.157 2019-05-24 17:35:53 +01:00
Laurent Cozic
31e33c6628 Updated translations 2019-05-24 17:35:44 +01:00
Laurent Cozic
875f8d6997 Electron release v1.0.156 2019-05-24 17:35:04 +01:00
Laurent Cozic
aaaf27af6e Android: Fixed resource loading issue, and improved logging on desktop 2019-05-24 17:34:18 +01:00
Laurent Cozic
43624ffa75 Desktop: Improved: Add number of characters removed and added in revision list 2019-05-24 17:31:18 +01:00
Laurent Cozic
996b6623f1 Android release v1.0.253 2019-05-24 14:50:18 +01:00
Laurent Cozic
613041b806 Electron release v1.0.155 2019-05-24 14:47:35 +01:00
Laurent Cozic
ff1d01a864 Merge branch 'master' of github.com:laurent22/joplin 2019-05-24 14:47:30 +01:00
Laurent Cozic
bcbbe10bf8 Electron release v1.0.154 2019-05-24 14:47:12 +01:00
Laurent Cozic
3de0abfc84 Update FUNDING.yml 2019-05-24 09:57:53 +01:00
Laurent Cozic
133fd03469 Update FUNDING.yml 2019-05-24 09:55:29 +01:00
Laurent Cozic
4f97c5c017 Update FUNDING.yml 2019-05-24 09:55:07 +01:00
Laurent Cozic
2d8fbac58c Create FUNDING.yml 2019-05-24 09:53:31 +01:00
Laurent Cozic
95f7ac4a4a Merge branch 'master' of github.com:laurent22/joplin 2019-05-24 09:07:11 +01:00
Laurent Cozic
6a56a6ccf0 Doc: Added more technical info for revision history 2019-05-24 09:05:16 +01:00
Luis Orozco
1eb8df9fa6 Desktop: Fixes #1186, #1354: Clears search when clicking on a notebook. (#1504)
* Fixes #1186, #1354. Clears search when clicking on a notebook.

* use new resetSearch method where possible, replaced tabs with spaces

* replaced a couple more spaces with tabs
2019-05-24 08:13:01 +01:00
Helmut K. C. Tessarek
485b4baebb Update de_DE.po 2019-05-23 23:40:42 -04:00
Laurent Cozic
5590d887c9 Doc: Added note history info 2019-05-24 00:21:15 +01:00
Laurent Cozic
d00bfa997e Doc: Fixed more links 2019-05-22 16:57:45 +01:00
Laurent Cozic
1a8590e9b9 Update website 2019-05-22 16:49:57 +01:00
Laurent Cozic
5a978977df Fix Iran flag 2019-05-22 16:49:32 +01:00
Laurent Cozic
5d763c7e6c All: Remove tags from Welcome item due to issue with cleaning them up afterwards 2019-05-22 16:38:53 +01:00
Laurent Cozic
050b089e72 Update translations 2019-05-22 16:34:59 +01:00
Helmut K. C. Tessarek
733ea4027c Doc: use new forum link (#1545) 2019-05-22 16:20:10 +01:00
Helmut K. C. Tessarek
10500c78b1 All: Fix: Default sort order for notebooks should be title and ascending (#1541) 2019-05-22 16:18:16 +01:00
Caleb John
0040cc02a2 Only delete the .desktop file if it will be replaced by the script (#1537) 2019-05-22 16:16:41 +01:00
Luis Orozco
74afd20f0c Desktop: Fixes #1426: added backticks to auto-wrapping quotes. (#1534) 2019-05-22 16:16:03 +01:00
Luis Orozco
dc9bde2184 Github: updated Contributing.md (#1533)
* updated Contributing.md

- Added several guidelines
- Moved some rules to bulleted lists (for quicker reading).

* Replace links to old forum domain to new domain. Removed a word.
2019-05-22 16:14:59 +01:00
Mehrad Mahmoudian
5243ea7eb2 All: New: Added Persian translation (#1539)
* [init] the first version of the fa.po file

Providing translation for Persian language

* [fix] moved the fa.po file into correct path
2019-05-22 16:05:25 +01:00
水货
7d93492658 Update zh_CN.po (#1524) 2019-05-22 15:57:20 +01:00
Helmut K. C. Tessarek
c6b56345f5 add /%d to Fetching resources: %d (#1532) 2019-05-22 15:56:25 +01:00
Laurent Cozic
8a6fe20a69 All: Resolves #1481: New: Allow downloading attachments on demand or automatically (#1527)
* Allow downloading resources automatically, on demand, or when loading note

* Make needToBeFetched calls to return the right number of resources

* All: Improved handling of resource downloading and decryption

* Desktop: Click on resource to download it (and, optionally, to decrypt it)

* Desktop: Better handling of resource state (not downloaded, downloading, encrypted) in front end

* Renamed setting to sync.resourceDownloadMode

* Download resources when changing setting

* tweaks

* removed duplicate cs

* Better report resource download progress

* Make sure resource cache is properly cleared when needed

* Also handle manual download for non-image resources

* More improvements to logic when downloading and decrypting resources
2019-05-22 15:56:07 +01:00
Laurent Cozic
6bcbedd6a4 CLI v1.0.137 2019-05-19 12:05:02 +01:00
Laurent Cozic
4c935b78f9 Removed log statement 2019-05-19 12:04:09 +01:00
Laurent Cozic
94cddda6d0 Removed temp files 2019-05-19 11:22:00 +01:00
Laurent Cozic
1924ea062c CLI v1.0.136 2019-05-19 11:20:17 +01:00
Laurent Cozic
07e88b2eeb All: Handle missing resource blob when setting resource size 2019-05-19 11:18:44 +01:00
Laurent Cozic
e4a08c29d7 Desktop, Mobile: Improved: Gray out checkboxes that have been ticked inside notes 2019-05-17 22:41:30 +01:00
Laurent Cozic
d60afcaabe Fixed merge 2019-05-16 17:36:02 +00:00
Laurent Cozic
1a091460ca All: Fixed: Prevent app from trying to upload resource it has not downloaded yet 2019-05-16 17:34:16 +00:00
Laurent Cozic
8ebaa7f6eb All: Put back "Fetched items" message during sync 2019-05-15 08:14:36 +01:00
Laurent Cozic
e2a64e21a2 Electron release v1.0.153 2019-05-14 22:23:47 +01:00
Laurent Cozic
78ddd22f09 Log more revision information to allow debugging issues 2019-05-14 22:23:34 +01:00
Laurent Cozic
c546b7076a Fixed doc 2019-05-14 22:02:47 +01:00
Laurent Cozic
0e2bb5d784 Desktop: Improved: When opening a note using Goto Anything, open all its parent notebooks too 2019-05-14 00:11:27 +01:00
Laurent Cozic
5c069c38f5 CLI v1.0.135 2019-05-13 23:59:27 +01:00
Laurent Cozic
451b9c0ae9 CLI v1.0.133 2019-05-13 23:55:53 +01:00
Laurent Cozic
047897621a Fix CLI build script 2019-05-13 23:52:12 +01:00
Laurent Cozic
52e5cec585 Update website 2019-05-13 23:41:31 +01:00
Laurent Cozic
bc98b65efa Update website 2019-05-13 23:23:57 +01:00
Laurent Cozic
9250e77862 Added link to CLI changelog 2019-05-13 23:23:42 +01:00
Laurent Cozic
cd69e71945 Forgot to publish in publish script 2019-05-13 23:20:25 +01:00
Laurent Cozic
e705e6e990 CLI v1.0.129 2019-05-13 23:18:57 +01:00
Laurent Cozic
4638f11c5e Created CLI release script with changelog auto-generation 2019-05-13 23:18:44 +01:00
Laurent Cozic
9de7c15e93 CLI v1.0.128 2019-05-13 22:53:08 +01:00
Laurent Cozic
61736546b4 Updated translations 2019-05-13 22:52:42 +01:00
Laurent Cozic
82b6dd23a7 CLI v1.0.127 2019-05-13 10:11:10 +01:00
Laurent Cozic
64427f0160 iOS 10.0.34 2019-05-13 10:10:37 +01:00
571 changed files with 54396 additions and 22396 deletions

48
.eslintignore Normal file
View File

@@ -0,0 +1,48 @@
*.min.js
.git/
.github/
_mydocs/
_releases/
Assets/
CliClient/build
CliClient/locales
CliClient/node_modules
CliClient/tests-build
CliClient/tests/enex_to_md
CliClient/tests/html_to_md
CliClient/tests/logs
CliClient/tests/support
CliClient/tests/sync
CliClient/tests/tmp
Clipper/joplin-webclipper/content_scripts/JSDOMParser.js
Clipper/joplin-webclipper/content_scripts/Readability-readerable.js
Clipper/joplin-webclipper/content_scripts/Readability.js
Clipper/joplin-webclipper/dist
Clipper/joplin-webclipper/icons
Clipper/joplin-webclipper/popup/build
Clipper/joplin-webclipper/popup/node_modules
docs/
ElectronClient/app/dist
ElectronClient/app/lib
ElectronClient/app/lib/vendor/sjcl-rn.js
ElectronClient/app/lib/vendor/sjcl.js
ElectronClient/app/locales
ElectronClient/app/node_modules
highlight.pack.js
node_modules/
ReactNativeClient/android
ReactNativeClient/ios
ReactNativeClient/lib/vendor/
ReactNativeClient/lib/welcomeAssets.js
ReactNativeClient/locales
ReactNativeClient/node_modules
readme/
Tools/node_modules
Tools/PortableAppsLauncher
Server/.git/
Server/.github/
Server/docs/
Server/dist/
Server/bin/
Server/node_modules/
ElectronClient/app/packageInfo.js

85
.eslintrc.js Normal file
View File

@@ -0,0 +1,85 @@
module.exports = {
'env': {
'browser': true,
'es6': true,
'node': true,
},
"parser": "@typescript-eslint/parser",
'extends': ['eslint:recommended'],
'globals': {
'Atomics': 'readonly',
'SharedArrayBuffer': 'readonly',
// Jasmine variables
'expect': 'readonly',
'describe': 'readonly',
'it': 'readonly',
'beforeEach': 'readonly',
'jasmine': 'readonly',
// React Native variables
'__DEV__': 'readonly',
// Clipper variables
'browserSupportsPromises_': true,
'chrome': 'readonly',
'browser': 'readonly',
},
'parserOptions': {
'ecmaVersion': 2018,
"ecmaFeatures": {
"jsx": true,
},
"sourceType": "module",
},
'rules': {
// -------------------------------
// Code correctness
// -------------------------------
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error",
"no-unused-vars": "error",
"no-constant-condition": 0,
"no-prototype-builtins": 0,
// This error is always a false positive so far since it detects
// possible race conditions in contexts where we know it cannot happen.
"require-atomic-updates": 0,
// "no-lonely-if": "error",
// -------------------------------
// Formatting
// -------------------------------
"space-in-parens": ["error", "never"],
"semi": ["error", "always"],
"eol-last": ["error", "always"],
"quotes": ["error", "single"],
"indent": ["error", "tab"],
"comma-dangle": ["error", "always-multiline"],
"no-trailing-spaces": "error",
"linebreak-style": ["error", "unix"],
"prefer-template": ["error"],
"template-curly-spacing": ["error", "never"],
"key-spacing": ["error", {
"beforeColon": false,
"afterColon": true,
"mode": "strict"
}],
"block-spacing": ["error"],
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
"no-spaced-func": ["error"],
"func-call-spacing": ["error"],
"space-before-function-paren": ["error", {
"anonymous": "never",
"named": "never",
"asyncArrow": "always"
}],
"multiline-comment-style": ["error", "separate-lines"],
"space-before-blocks": "error",
"spaced-comment": ["error", "always"],
"keyword-spacing": ["error", { "before": true, "after": true }]
},
"plugins": [
"react",
"@typescript-eslint",
],
};

5
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
# These are supported funding model platforms
patreon: joplin
github: laurent22
custom: https://joplinapp.org/donate/

9
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,9 @@
👉 Please follow one of these issue templates:
- https://github.com/laurent22/joplin/issues/new/choose
⚠️
The GitHub issue tracker is for **bugs** and **security issues** ONLY. For feature requests and support, please use the forum:
https://discourse.joplinapp.org/
⚠️
Note: to keep the backlog clean and actionable, issues may be immediately closed if they do not follow one of the above issue templates.

48
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,48 @@
---
name: "🐛 Bug Report"
about: Report a reproducible bug or regression in Joplin.
title: ''
labels: 'bug'
---
<!--
Please provide a clear and concise description of what the bug is. (In the section Steps To Reproduce.)
Include screenshots if needed.
Please test using the latest Joplin release to make sure your issue has not already been fixed.
-->
<!--
IMPORTANT: If you are reporting a clipper bug, please include an example URL that shows the issue.
Without the URL the issue is likely to be closed.
-->
## Environment
Joplin version:
Platform:
OS specifcs:
<!--
Platform can be one of: macOS, Linux, Windows, Android, iOS, terminal (or a combination)
OS specifcs: e.g. OS version, Linux distribution, Android/iOS version, ...
-->
## Steps To Reproduce
1.
2.
<!--
Issues without reproduction steps are likely to stall.
-->
Describe what you expected to happen:
## Logfile
<!--
Please attach a debug log. Issues without a debug log are likely to stall.
For information on how to collect a log file: https://joplinapp.org/debugging/
-->

29
.github/ISSUE_TEMPLATE/question.md vendored Normal file
View File

@@ -0,0 +1,29 @@
---
name: "🤔 Questions and Help"
about: The issue tracker is not for questions. Please ask questions on https://discourse.joplinapp.org/.
title: ''
labels: 'invalid'
---
⚠🚨⛔ The issue tracker is not for questions. ⛔🚨⚠
As it happens, support requests that are created as issues are likely to be closed. We want to make sure you are able to find the help you seek.
## Questions and Help
Please read the [documentation](https://joplinapp.org/) and [FAQ](https://joplinapp.org/faq/) first.
### https://discourse.joplinapp.org/
If you have still questions related to Joplin, please open a topic in the [forum](https://discourse.joplinapp.org/).
You can use your GitHub credentials to login to the forum.
## Links
- Documentation: https://joplinapp.org
- FAQ: https://joplinapp.org/faq/
- Forum: https://discourse.joplinapp.org
- How to enable end-to-end encryption: https://joplinapp.org/e2ee/
- API documentation: https://joplinapp.org/api/
- How to enable debug mode: https://joplinapp.org/debugging/

View File

@@ -6,6 +6,8 @@ Please prefix the title with the platform you are targetting:
- "Mobile" for the mobile app (or "Android" / "iOS" if the pull request only applies to one of the mobile platforms)
- "CLI" for the CLI app
If it's not related to any platform (such as a translation, change to the documentation, etc.), simply don't add a platform.
For example: "Desktop: Added new setting to change font", or "Mobile: Fixed config screen error"
PLEASE READ THE GUIDE FIRST: https://github.com/laurent22/joplin/blob/master/CONTRIBUTING.md

25
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 90
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- "good first issue"
- "essential"
- "essential-reviewed"
- "help wanted"
- "nice to have"
- "upstream"
- "backlog"
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs.
You may also label this issue as "backlog" and I will leave it open.
Thank you for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to create a new issue with up-to-date information.
only: issues

3
.gitignore vendored
View File

@@ -42,4 +42,5 @@ ReactNativeClient/lib/csstojs/
ReactNativeClient/lib/rnInjectedJs/
ElectronClient/app/gui/note-viewer/fonts/
ElectronClient/app/gui/note-viewer/lib.js
Tools/commit_hook.txt
Tools/commit_hook.txt
.vscode/*

View File

@@ -1,5 +1,5 @@
# Only build tags (Doesn't work - doesn't build anything)
if: tag IS present
if: tag IS present OR type = pull_request
rvm: 2.3.3
@@ -54,8 +54,43 @@ before_install:
script:
- |
# Install tools
npm install
cd Tools
npm install
cd ../ElectronClient/app
cd ..
# Run test units
cd CliClient
npm install
./run_test.sh
testResult=$?
if [ $testResult -ne 0 ]; then
exit $testResult
fi
cd ..
# Run linter for pull requests only - this is so that
# bypassing eslint is allowed for urgent fixes.
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
npm run linter-ci ./
testResult=$?
if [ $testResult -ne 0 ]; then
exit $testResult
fi
fi
# Find out if we should run the build or not. Electron-builder gets stuck when
# builing PRs so we disable it in this case. The Linux build should provide
# enough info if the app builds or not.
# https://github.com/electron-userland/electron-builder/issues/4263
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
exit 0
fi
fi
# Prepare the Electron app and build it
cd ElectronClient/app
rsync -aP --delete ../../ReactNativeClient/lib/ lib/
npm install && yarn dist
npm install && USE_HARD_LINKS=false yarn dist

Binary file not shown.

Before

Width:  |  Height:  |  Size: 986 B

BIN
Assets/AdresseSupport.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@@ -3,6 +3,7 @@
# 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.
- In general, most of the backend (anything to do with the database, synchronisation, data import or export, etc.) is shared across all the apps, so when making a change please consider how it will affect all the apps.
## macOS dependencies
@@ -18,11 +19,10 @@
# Building the tools
Before building any of the applications, you need to build the tools:
Before building any of the applications, you need to build the tools and pre-commit hooks:
```
cd Tools
npm install
npm install && cd Tools && npm install
```
# Building the Electron application
@@ -59,11 +59,13 @@ If node-gyp does not works (MSBUILD: error MSB3428: Could not load the Visual C+
If `yarn dist` fails, it may need administrative rights.
If you get an `error MSB8020: The build tools for v140 cannot be found.` try to run with a different toolset version, eg `npm install --toolset=v141` (See [here](https://github.com/mapbox/node-sqlite3/issues/1124) for more info).
The [building\_win32\_tips on this page](./readme/building_win32_tips.md) might be helpful.
# Building the Mobile application
First you need to setup React Native to build projects with native code. For this, follow the instructions on the [Get Started](https://facebook.github.io/react-native/docs/getting-started.html) tutorial, in the "Building Projects with Native Code" tab.
First you need to setup React Native to build projects with native code. For this, follow the instructions on the [Get Started](https://facebook.github.io/react-native/docs/getting-started.html) tutorial, in the "React Native CLI Quickstart" tab.
Then, from `/ReactNativeClient`, run `npm install`, then `react-native run-ios` or `react-native run-android`.
@@ -76,4 +78,4 @@ npm install
rsync --delete -aP ../ReactNativeClient/locales/ build/locales/
```
Run `run.sh` to start the application for testing.
Run `run.sh` to start the application for testing.

View File

@@ -1,28 +1,73 @@
# 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.
The [Joplin Forum](https://discourse.joplinapp.org/) is the community driven place for user support, general discussion about Joplin, problems with installation, new features and software development questions. It is possible to login with your GitHub account. Don't use the issue tracker for support questions.
# Reporting a bug
Please check first that it [has not already been reported](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue). Also consider [enabling debug mode](https://github.com/laurent22/joplin/blob/master/readme/debugging.md) before reporting the issue so that you can provide as much details as possible to help fix it.
File bugs in the [Github Issue Tracker](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue). Please follow these guidelines:
If possible, **please provide a screenshot**. A screenshot showing the problem is often more useful than a paragraph describing it as it can make it immediately clear what the issue is.
- Search existing issues first, make sure yours hasn't already been reported.
- Consider [enabling debug mode](https://joplinapp.org/debugging/) so that you can provide as much details as possible when reporting the issue.
- Stay on topic, but describe the issue in detail so that others can reproduce it.
- **Provide a screenshot** if possible. A screenshot showing the problem is often more useful than a paragraph describing it.
- For web clipper bugs, **please provide the URL causing the issue**. Sometimes the clipper works in one page but not in another so it is important to know what URL has a problem.
# Feature requests
Again, please check that it has not already been requested. If it has, simply **up-vote the issue** - the ones with the most up-votes are likely to be implemented. "+1" comments are not tracked.
Please check that your request has not already been posted in the [Github Issue Tracker](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue). If it has, **up-voting the issue** increases the chances it'll be noticed and implemented in the future. "+1" comments are not tracked.
# Creating a pull request
As a general rule, suggestions to *improve Joplin* should be posted first in the [Joplin Forum](https://discourse.joplinapp.org/) for discussion.
- 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.
Avoid listing multiple requests in one report in the [Github Issue Tracker](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue). One issue per request makes it easier to track and discuss it.
- Bug fixes are always welcome.
Finally, when submitting a pull request, don't forget to [test your code](#unit-tests).
# Contribute to the project
## Contributing to Joplin's translation
Joplin is available in multiple languages thanks to the help of its users. You can help translate Joplin to your language or keep it up to date. Please read the documentation about [Localisation](https://joplinapp.org/#localisation).
## Contributing to Joplin's code
If you want to start contributing to the project's code, please follow these guidelines before creating a pull request:
- Bug fixes are always welcome. Start by reviewing the list of [essential issues](https://github.com/laurent22/joplin/issues?q=is%3Aissue+is%3Aopen+label%3Aessential)
- Before adding a new feature, ask about it in the [Github Issue Tracker](https://github.com/laurent22/joplin/issues?utf8=%E2%9C%93&q=is%3Aissue) or the [Joplin Forum](https://discourse.joplinapp.org/), or check if existing discussions exist to make sure the new functionality is desired.
- **Changes that will consist in more than 50 lines of code should be discussed the [Joplin Forum](https://discourse.joplinapp.org/)**, so that you don't spend too much time implementing something that might not be accepted.
Building the apps is relatively easy - please [see the build instructions](https://github.com/laurent22/joplin/blob/master/BUILD.md) for more details.
# Coding style
## Coding style
There are only two rules, but not following them means the pull request will not be accepted (it can be accepted once the issues are fixed):
Coding style is enforced by a pre-commit hook that runs eslint. This hook is installed whenever running `npm install` on any of the application directory. If for some reason the pre-commit hook didn't get installed, you can manually install it by running `npm install` at the root of the repository.
- **Please use tabs, NOT spaces.**
- **Please do not add or remove optional characters, such as spaces or colons.** Please setup your editor so that it only changes what you are working on and is not making automated changes elsewhere. The reason for this is that small white space changes make diff hard to read and can cause needless conflicts.
## Unit tests
When submitting a pull request for a new feature or bug fix, please add unit tests for your code. Unit testing GUI changes is not always possible so it is not required, but any change in a file under /lib for example should be unit tested.
The tests are under CliClient/tests. To get them running, you first need to build the CLI app:
cd CliClient
npm i
To run the test units, you must have an instance of the cli app running. In a first window navigate into `CliClient` and run:
```sh
./run.sh
```
> If you get an error like `Error: Cannot find module '../locales/index.js'`, this means you must (a) rebuild translations or (b) take > them from one of the other apps. To do option b, you can run the following command to copy them from the `ReactNativeClient` directory:>
>
> ```sh
> cd .. # Return to the root of the project
> rsync -aP ./ReactNativeClient/locales/ ./CliClient/build/locales/
> ```
Then run the tests in a second window. To run all the test units:
./run_test.sh
To run just one particular file:
./run_test.sh markdownUtils # Don't add the .js extension

13
CliClient/.eslintrc.js Normal file
View File

@@ -0,0 +1,13 @@
module.exports = {
"overrides": [
{
"files": ["tests/**/*.js"],
'rules': {
// Ignore all unused function arguments, because in some
// case they are kept to indicate the function signature.
"no-unused-vars": ["error", { "argsIgnorePattern": ".*" }],
"@typescript-eslint/no-unused-vars": 0,
}
},
],
};

View File

@@ -1,14 +1,11 @@
const { _ } = require('lib/locale.js');
const { Logger } = require('lib/logger.js');
const Resource = require('lib/models/Resource.js');
const { netUtils } = require('lib/net-utils.js');
const http = require("http");
const urlParser = require("url");
const http = require('http');
const urlParser = require('url');
const enableServerDestroy = require('server-destroy');
class ResourceServer {
constructor() {
this.server_ = null;
this.logger_ = new Logger();
@@ -31,7 +28,7 @@ class ResourceServer {
baseUrl() {
if (!this.port_) return '';
return 'http://127.0.0.1:' + this.port_;
return `http://127.0.0.1:${this.port_}`;
}
setLinkHandler(handler) {
@@ -40,7 +37,7 @@ class ResourceServer {
async start() {
this.port_ = await netUtils.findAvailablePort([9167, 9267, 8167, 8267]);
if (!this.port_) {
if (!this.port_) {
this.logger().error('Could not find available port to start resource server. Please report the error at https://github.com/laurent22/joplin');
return;
}
@@ -48,16 +45,15 @@ class ResourceServer {
this.server_ = http.createServer();
this.server_.on('request', async (request, response) => {
const writeResponse = (message) => {
const writeResponse = message => {
response.write(message);
response.end();
}
};
const url = urlParser.parse(request.url, true);
let resourceId = url.pathname.split('/');
if (resourceId.length < 2) {
writeResponse('Error: could not get resource ID from path name: ' + url.pathname);
writeResponse(`Error: could not get resource ID from path name: ${url.pathname}`);
return;
}
resourceId = resourceId[1];
@@ -66,9 +62,10 @@ class ResourceServer {
try {
const done = await this.linkHandler_(resourceId, response);
if (!done) throw new Error('Unhandled resource: ' + resourceId);
if (!done) throw new Error(`Unhandled resource: ${resourceId}`);
} catch (error) {
response.setHeader('Content-Type', 'text/plain');
// eslint-disable-next-line require-atomic-updates
response.statusCode = 400;
response.write(error.message);
}
@@ -76,7 +73,7 @@ class ResourceServer {
response.end();
});
this.server_.on('error', (error) => {
this.server_.on('error', error => {
this.logger().error('Resource server:', error);
});
@@ -91,7 +88,6 @@ class ResourceServer {
if (this.server_) this.server_.destroy();
this.server_ = null;
}
}
module.exports = ResourceServer;
module.exports = ResourceServer;

View File

@@ -5,13 +5,12 @@ const Tag = require('lib/models/Tag.js');
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
const Resource = require('lib/models/Resource.js');
const { cliUtils } = require('./cli-utils.js');
const { reducer, defaultState } = require('lib/reducer.js');
const { splitCommandString } = require('lib/string-utils.js');
const { reg } = require('lib/registry.js');
const { _ } = require('lib/locale.js');
const Entities = require('html-entities').AllHtmlEntities;
const htmlentities = (new Entities()).encode;
const htmlentities = new Entities().encode;
const chalk = require('chalk');
const tk = require('terminal-kit');
@@ -20,12 +19,10 @@ const Renderer = require('tkwidgets/framework/Renderer.js');
const DecryptionWorker = require('lib/services/DecryptionWorker');
const BaseWidget = require('tkwidgets/BaseWidget.js');
const ListWidget = require('tkwidgets/ListWidget.js');
const TextWidget = require('tkwidgets/TextWidget.js');
const HLayoutWidget = require('tkwidgets/HLayoutWidget.js');
const VLayoutWidget = require('tkwidgets/VLayoutWidget.js');
const ReduxRootWidget = require('tkwidgets/ReduxRootWidget.js');
const RootWidget = require('tkwidgets/RootWidget.js');
const WindowWidget = require('tkwidgets/WindowWidget.js');
const NoteWidget = require('./gui/NoteWidget.js');
@@ -37,7 +34,6 @@ const StatusBarWidget = require('./gui/StatusBarWidget.js');
const ConsoleWidget = require('./gui/ConsoleWidget.js');
class AppGui {
constructor(app, store, keymap) {
try {
this.app_ = app;
@@ -50,12 +46,12 @@ class AppGui {
// Some keys are directly handled by the tkwidget framework
// so they need to be remapped in a different way.
this.tkWidgetKeys_ = {
'focus_next': 'TAB',
'focus_previous': 'SHIFT_TAB',
'move_up': 'UP',
'move_down': 'DOWN',
'page_down': 'PAGE_DOWN',
'page_up': 'PAGE_UP',
focus_next: 'TAB',
focus_previous: 'SHIFT_TAB',
move_up: 'UP',
move_down: 'DOWN',
page_down: 'PAGE_DOWN',
page_up: 'PAGE_UP',
};
this.renderer_ = null;
@@ -64,7 +60,7 @@ class AppGui {
this.renderer_ = new Renderer(this.term(), this.rootWidget_);
this.app_.on('modelAction', async (event) => {
this.app_.on('modelAction', async event => {
await this.handleModelAction(event.action);
});
@@ -83,7 +79,7 @@ class AppGui {
reg.setupRecurrentSync();
DecryptionWorker.instance().scheduleStart();
} catch (error) {
this.fullScreen(false);
if (this.term_) { this.fullScreen(false); }
console.error(error);
process.exit(1);
}
@@ -134,7 +130,7 @@ class AppGui {
};
folderList.name = 'folderList';
folderList.vStretch = true;
folderList.on('currentItemChange', async (event) => {
folderList.on('currentItemChange', async event => {
const item = folderList.currentItem;
if (item === '-') {
@@ -169,7 +165,7 @@ class AppGui {
});
}
});
this.rootWidget_.connect(folderList, (state) => {
this.rootWidget_.connect(folderList, state => {
return {
selectedFolderId: state.selectedFolderId,
selectedTagId: state.selectedTagId,
@@ -196,7 +192,7 @@ class AppGui {
id: note ? note.id : null,
});
});
this.rootWidget_.connect(noteList, (state) => {
this.rootWidget_.connect(noteList, state => {
return {
selectedNoteId: state.selectedNoteIds.length ? state.selectedNoteIds[0] : null,
items: state.notes,
@@ -210,7 +206,7 @@ class AppGui {
borderBottomWidth: 1,
borderLeftWidth: 1,
};
this.rootWidget_.connect(noteText, (state) => {
this.rootWidget_.connect(noteText, state => {
return {
noteId: state.selectedNoteIds.length ? state.selectedNoteIds[0] : null,
notes: state.notes,
@@ -225,7 +221,7 @@ class AppGui {
borderLeftWidth: 1,
borderRightWidth: 1,
};
this.rootWidget_.connect(noteMetadata, (state) => {
this.rootWidget_.connect(noteMetadata, state => {
return { noteId: state.selectedNoteIds.length ? state.selectedNoteIds[0] : null };
});
noteMetadata.hide();
@@ -292,7 +288,7 @@ class AppGui {
if (!cmd) return;
const isConfigPassword = cmd.indexOf('config ') >= 0 && cmd.indexOf('password') >= 0;
if (isConfigPassword) return;
this.stdout(chalk.cyan.bold('> ' + cmd));
this.stdout(chalk.cyan.bold(`> ${cmd}`));
}
setupKeymap(keymap) {
@@ -301,7 +297,7 @@ class AppGui {
for (let i = 0; i < keymap.length; i++) {
const item = Object.assign({}, keymap[i]);
if (!item.command) throw new Error('Missing command for keymap item: ' + JSON.stringify(item));
if (!item.command) throw new Error(`Missing command for keymap item: ${JSON.stringify(item)}`);
if (!('type' in item)) item.type = 'exec';
@@ -408,7 +404,7 @@ class AppGui {
activeListItem() {
const widget = this.widget('mainWindow').focusedWidget;
if (!widget) return null;
if (widget.name == 'noteList' || widget.name == 'folderList') {
return widget.currentItem;
}
@@ -430,25 +426,21 @@ class AppGui {
}
async processFunctionCommand(cmd) {
if (cmd === 'activate') {
const w = this.widget('mainWindow').focusedWidget;
if (w.name === 'folderList') {
this.widget('noteList').focus();
} else if (w.name === 'noteList' || w.name === 'noteText') {
this.processPromptCommand('edit $n');
}
} else if (cmd === 'delete') {
if (this.widget('folderList').hasFocus) {
const item = this.widget('folderList').selectedJoplinItem;
if (!item) return;
if (item.type_ === BaseModel.TYPE_FOLDER) {
await this.processPromptCommand('rmbook ' + item.id);
await this.processPromptCommand(`rmbook ${item.id}`);
} else if (item.type_ === BaseModel.TYPE_TAG) {
this.stdout(_('To delete a tag, untag the associated notes.'));
} else if (item.type_ === BaseModel.TYPE_SEARCH) {
@@ -462,9 +454,7 @@ class AppGui {
} else {
this.stdout(_('Please select the note or notebook to be deleted first.'));
}
} else if (cmd === 'toggle_console') {
if (!this.consoleIsShown()) {
this.showConsole();
this.minimizeConsole();
@@ -475,22 +465,15 @@ class AppGui {
this.maximizeConsole();
}
}
} else if (cmd === 'toggle_metadata') {
this.toggleNoteMetadata();
} else if (cmd === 'enter_command_line_mode') {
const cmd = await this.widget('statusBar').prompt();
if (!cmd) return;
this.addCommandToConsole(cmd);
await this.processPromptCommand(cmd);
await this.processPromptCommand(cmd);
} else {
throw new Error('Unknown command: ' + cmd);
throw new Error(`Unknown command: ${cmd}`);
}
}
@@ -501,7 +484,7 @@ class AppGui {
// this.logger().debug('Got command: ' + cmd);
try {
try {
let note = this.widget('noteList').currentItem;
let folder = this.widget('folderList').currentItem;
let args = splitCommandString(cmd);
@@ -511,7 +494,7 @@ class AppGui {
args[i] = note ? note.id : '';
} else if (args[i] == '$b') {
args[i] = folder ? folder.id : '';
} else if (args[i] == '$c') {
} else if (args[i] == '$c') {
const item = this.activeListItem();
args[i] = item ? item.id : '';
}
@@ -523,7 +506,7 @@ class AppGui {
}
this.widget('console').scrollBottom();
// Invalidate so that the screen is redrawn in case inputting a command has moved
// the GUI up (in particular due to autocompletion), it's moved back to the right position.
this.widget('root').invalidate();
@@ -603,17 +586,17 @@ class AppGui {
async setupResourceServer() {
const linkStyle = chalk.blue.underline;
const noteTextWidget = this.widget('noteText');
const resourceIdRegex = /^:\/[a-f0-9]+$/i
const resourceIdRegex = /^:\/[a-f0-9]+$/i;
const noteLinks = {};
const hasProtocol = function(s, protocols) {
if (!s) return false;
s = s.trim().toLowerCase();
for (let i = 0; i < protocols.length; i++) {
if (s.indexOf(protocols[i] + '://') === 0) return true;
if (s.indexOf(`${protocols[i]}://`) === 0) return true;
}
return false;
}
};
// By default, before the server is started, only the regular
// URLs appear in blue.
@@ -637,29 +620,31 @@ class AppGui {
const link = noteLinks[path];
if (link.type === 'url') {
response.writeHead(302, { 'Location': link.url });
response.writeHead(302, { Location: link.url });
return true;
}
if (link.type === 'item') {
const itemId = link.id;
let item = await BaseItem.loadItemById(itemId);
if (!item) throw new Error('No item with ID ' + itemId); // Should be nearly impossible
if (!item) throw new Error(`No item with ID ${itemId}`); // Should be nearly impossible
if (item.type_ === BaseModel.TYPE_RESOURCE) {
if (item.mime) response.setHeader('Content-Type', item.mime);
response.write(await Resource.content(item));
} else if (item.type_ === BaseModel.TYPE_NOTE) {
const html = [`
const html = [
`
<!DOCTYPE html>
<html class="client-nojs" lang="en" dir="ltr">
<head><meta charset="UTF-8"/></head><body>
`];
html.push('<pre>' + htmlentities(item.title) + '\n\n' + htmlentities(item.body) + '</pre>');
`,
];
html.push(`<pre>${htmlentities(item.title)}\n\n${htmlentities(item.body)}</pre>`);
html.push('</body></html>');
response.write(html.join(''));
} else {
throw new Error('Unsupported item type: ' + item.type_);
throw new Error(`Unsupported item type: ${item.type_}`);
}
return true;
@@ -679,7 +664,7 @@ class AppGui {
noteLinks[index] = {
type: 'item',
id: url.substr(2),
};
};
} else if (hasProtocol(url, ['http', 'https', 'file', 'ftp'])) {
noteLinks[index] = {
type: 'url',
@@ -691,7 +676,7 @@ class AppGui {
return url;
}
return linkStyle(this.resourceServer_.baseUrl() + '/' + index);
return linkStyle(`${this.resourceServer_.baseUrl()}/${index}`);
},
};
}
@@ -710,8 +695,7 @@ class AppGui {
term.grabInput();
term.on('key', async (name, matches, data) => {
term.on('key', async (name) => {
// -------------------------------------------------------------------------
// Handle special shortcuts
// -------------------------------------------------------------------------
@@ -729,13 +713,13 @@ class AppGui {
return;
}
if (name === 'CTRL_C' ) {
if (name === 'CTRL_C') {
const cmd = this.app().currentCommand();
if (!cmd || !cmd.cancellable() || this.commandCancelCalled_) {
this.stdout(_('Press Ctrl+D or type "exit" to exit the application'));
} else {
this.commandCancelCalled_ = true;
await cmd.cancel()
await cmd.cancel();
this.commandCancelCalled_ = false;
}
return;
@@ -744,8 +728,8 @@ class AppGui {
// -------------------------------------------------------------------------
// Build up current shortcut
// -------------------------------------------------------------------------
const now = (new Date()).getTime();
const now = new Date().getTime();
if (now - this.lastShortcutKeyTime_ > 800 || this.isSpecialKey(name)) {
this.currentShortcutKeys_ = [name];
@@ -793,7 +777,7 @@ class AppGui {
} else if (keymapItem.type === 'tkwidgets') {
this.widget('root').handleKey(this.tkWidgetKeys_[keymapItem.command]);
} else {
throw new Error('Unknown command type: ' + JSON.stringify(keymapItem));
throw new Error(`Unknown command type: ${JSON.stringify(keymapItem)}`);
}
}
@@ -813,7 +797,6 @@ class AppGui {
process.exit(1);
});
}
}
AppGui.INPUT_MODE_NORMAL = 1;

View File

@@ -1,10 +1,5 @@
const { BaseApplication } = require('lib/BaseApplication');
const { createStore, applyMiddleware } = require('redux');
const { reducer, defaultState } = require('lib/reducer.js');
const { JoplinDatabase } = require('lib/joplin-database.js');
const { Database } = require('lib/database.js');
const { FoldersScreenUtils } = require('lib/folders-screen-utils.js');
const { DatabaseDriverNode } = require('lib/database-driver-node.js');
const ResourceService = require('lib/services/ResourceService');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
@@ -12,21 +7,15 @@ const BaseItem = require('lib/models/BaseItem.js');
const Note = require('lib/models/Note.js');
const Tag = require('lib/models/Tag.js');
const Setting = require('lib/models/Setting.js');
const { Logger } = require('lib/logger.js');
const { sprintf } = require('sprintf-js');
const { reg } = require('lib/registry.js');
const { fileExtension } = require('lib/path-utils.js');
const { shim } = require('lib/shim.js');
const { _, setLocale, defaultLocale, closestSupportedLocale } = require('lib/locale.js');
const os = require('os');
const { _ } = require('lib/locale.js');
const fs = require('fs-extra');
const { cliUtils } = require('./cli-utils.js');
const Cache = require('lib/Cache');
const WelcomeUtils = require('lib/WelcomeUtils');
const RevisionService = require('lib/services/RevisionService');
class Application extends BaseApplication {
constructor() {
super();
@@ -75,7 +64,7 @@ class Application extends BaseApplication {
// const response = await cliUtils.promptMcq(msg, answers);
// if (!response) return null;
return output[response - 1];
// return output[response - 1];
} else {
return output.length ? output[0] : null;
}
@@ -97,10 +86,12 @@ class Application extends BaseApplication {
const parent = options.parent ? options.parent : app().currentFolder();
const ItemClass = BaseItem.itemClass(type);
if (type == BaseModel.TYPE_NOTE && pattern.indexOf('*') >= 0) { // Handle it as pattern
if (type == BaseModel.TYPE_NOTE && pattern.indexOf('*') >= 0) {
// Handle it as pattern
if (!parent) throw new Error(_('No notebook selected.'));
return await Note.previews(parent.id, { titlePattern: pattern });
} else { // Single item
} else {
// Single item
let item = null;
if (type == BaseModel.TYPE_NOTE) {
if (!parent) throw new Error(_('No notebook has been specified.'));
@@ -126,15 +117,15 @@ class Application extends BaseApplication {
}
setupCommand(cmd) {
cmd.setStdout((text) => {
cmd.setStdout(text => {
return this.stdout(text);
});
cmd.setDispatcher((action) => {
cmd.setDispatcher(action => {
if (this.store()) {
return this.store().dispatch(action);
} else {
return (action) => {};
return () => {};
}
});
@@ -145,10 +136,10 @@ class Application extends BaseApplication {
if (!options.answers) options.answers = options.booleanAnswerDefault === 'y' ? [_('Y'), _('n')] : [_('N'), _('y')];
if (options.type == 'boolean') {
message += ' (' + options.answers.join('/') + ')';
message += ` (${options.answers.join('/')})`;
}
let answer = await this.gui().prompt('', message + ' ', options);
let answer = await this.gui().prompt('', `${message} `, options);
if (options.type === 'boolean') {
if (answer === null) return false; // Pressed ESCAPE
@@ -185,12 +176,12 @@ class Application extends BaseApplication {
commands(uiType = null) {
if (!this.allCommandsLoaded_) {
fs.readdirSync(__dirname).forEach((path) => {
fs.readdirSync(__dirname).forEach(path => {
if (path.indexOf('command-') !== 0) return;
const ext = fileExtension(path)
const ext = fileExtension(path);
if (ext != 'js') return;
let CommandClass = require('./' + path);
let CommandClass = require(`./${path}`);
let cmd = new CommandClass();
if (!cmd.enabled()) return;
cmd = this.setupCommand(cmd);
@@ -257,7 +248,7 @@ class Application extends BaseApplication {
let CommandClass = null;
try {
CommandClass = require(__dirname + '/command-' + name + '.js');
CommandClass = require(`${__dirname}/command-${name}.js`);
} catch (error) {
if (error.message && error.message.indexOf('Cannot find module') >= 0) {
let e = new Error(_('No such command: %s', name));
@@ -276,19 +267,27 @@ class Application extends BaseApplication {
dummyGui() {
return {
isDummy: () => { return true; },
prompt: (initialText = '', promptString = '', options = null) => { return cliUtils.prompt(initialText, promptString, options); },
isDummy: () => {
return true;
},
prompt: (initialText = '', promptString = '', options = null) => {
return cliUtils.prompt(initialText, promptString, options);
},
showConsole: () => {},
maximizeConsole: () => {},
stdout: (text) => { console.info(text); },
fullScreen: (b=true) => {},
stdout: text => {
console.info(text);
},
fullScreen: () => {},
exit: () => {},
showModalOverlay: (text) => {},
showModalOverlay: () => {},
hideModalOverlay: () => {},
stdoutMaxWidth: () => { return 100; },
stdoutMaxWidth: () => {
return 100;
},
forceRender: () => {},
termSaveState: () => {},
termRestoreState: (state) => {},
termRestoreState: () => {},
};
}
@@ -300,7 +299,7 @@ class Application extends BaseApplication {
let outException = null;
try {
if (this.gui().isDummy() && !this.activeCommand_.supportsUi('cli')) throw new Error(_('The command "%s" is only available in GUI mode', this.activeCommand_.name()));
if (this.gui().isDummy() && !this.activeCommand_.supportsUi('cli')) throw new Error(_('The command "%s" is only available in GUI mode', this.activeCommand_.name()));
const cmdArgs = cliUtils.makeCommandArgs(this.activeCommand_, argv);
await this.activeCommand_.action(cmdArgs);
} catch (error) {
@@ -316,24 +315,24 @@ class Application extends BaseApplication {
async loadKeymaps() {
const defaultKeyMap = [
{ "keys": [":"], "type": "function", "command": "enter_command_line_mode" },
{ "keys": ["TAB"], "type": "function", "command": "focus_next" },
{ "keys": ["SHIFT_TAB"], "type": "function", "command": "focus_previous" },
{ "keys": ["UP"], "type": "function", "command": "move_up" },
{ "keys": ["DOWN"], "type": "function", "command": "move_down" },
{ "keys": ["PAGE_UP"], "type": "function", "command": "page_up" },
{ "keys": ["PAGE_DOWN"], "type": "function", "command": "page_down" },
{ "keys": ["ENTER"], "type": "function", "command": "activate" },
{ "keys": ["DELETE", "BACKSPACE"], "type": "function", "command": "delete" },
{ "keys": [" "], "command": "todo toggle $n" },
{ "keys": ["tc"], "type": "function", "command": "toggle_console" },
{ "keys": ["tm"], "type": "function", "command": "toggle_metadata" },
{ "keys": ["/"], "type": "prompt", "command": "search \"\"", "cursorPosition": -2 },
{ "keys": ["mn"], "type": "prompt", "command": "mknote \"\"", "cursorPosition": -2 },
{ "keys": ["mt"], "type": "prompt", "command": "mktodo \"\"", "cursorPosition": -2 },
{ "keys": ["mb"], "type": "prompt", "command": "mkbook \"\"", "cursorPosition": -2 },
{ "keys": ["yn"], "type": "prompt", "command": "cp $n \"\"", "cursorPosition": -2 },
{ "keys": ["dn"], "type": "prompt", "command": "mv $n \"\"", "cursorPosition": -2 }
{ keys: [':'], type: 'function', command: 'enter_command_line_mode' },
{ keys: ['TAB'], type: 'function', command: 'focus_next' },
{ keys: ['SHIFT_TAB'], type: 'function', command: 'focus_previous' },
{ keys: ['UP'], type: 'function', command: 'move_up' },
{ keys: ['DOWN'], type: 'function', command: 'move_down' },
{ keys: ['PAGE_UP'], type: 'function', command: 'page_up' },
{ keys: ['PAGE_DOWN'], type: 'function', command: 'page_down' },
{ keys: ['ENTER'], type: 'function', command: 'activate' },
{ keys: ['DELETE', 'BACKSPACE'], type: 'function', command: 'delete' },
{ keys: [' '], command: 'todo toggle $n' },
{ keys: ['tc'], type: 'function', command: 'toggle_console' },
{ keys: ['tm'], type: 'function', command: 'toggle_metadata' },
{ keys: ['/'], type: 'prompt', command: 'search ""', cursorPosition: -2 },
{ keys: ['mn'], type: 'prompt', command: 'mknote ""', cursorPosition: -2 },
{ keys: ['mt'], type: 'prompt', command: 'mktodo ""', cursorPosition: -2 },
{ keys: ['mb'], type: 'prompt', command: 'mkbook ""', cursorPosition: -2 },
{ keys: ['yn'], type: 'prompt', command: 'cp $n ""', cursorPosition: -2 },
{ keys: ['dn'], type: 'prompt', command: 'mv $n ""', cursorPosition: -2 },
];
// Filter the keymap item by command so that items in keymap.json can override
@@ -341,10 +340,10 @@ class Application extends BaseApplication {
const itemsByCommand = {};
for (let i = 0; i < defaultKeyMap.length; i++) {
itemsByCommand[defaultKeyMap[i].command] = defaultKeyMap[i]
itemsByCommand[defaultKeyMap[i].command] = defaultKeyMap[i];
}
const filePath = Setting.value('profileDir') + '/keymap.json';
const filePath = `${Setting.value('profileDir')}/keymap.json`;
if (await fs.pathExists(filePath)) {
try {
let configString = await fs.readFile(filePath, 'utf-8');
@@ -356,7 +355,7 @@ class Application extends BaseApplication {
}
} catch (error) {
let msg = error.message ? error.message : '';
msg = 'Could not load keymap ' + filePath + '\n' + msg;
msg = `Could not load keymap ${filePath}\n${msg}`;
error.message = msg;
throw error;
}
@@ -374,12 +373,10 @@ class Application extends BaseApplication {
async start(argv) {
argv = await super.start(argv);
cliUtils.setStdout((object) => {
cliUtils.setStdout(object => {
return this.stdout(object);
});
await WelcomeUtils.install(this.dispatch.bind(this));
// If we have some arguments left at this point, it's a command
// so execute it.
if (argv.length) {
@@ -387,6 +384,8 @@ class Application extends BaseApplication {
this.currentFolder_ = await Folder.load(Setting.value('activeFolderId'));
await this.applySettingsSideEffects();
try {
await this.execCommand(argv);
} catch (error) {
@@ -403,7 +402,8 @@ class Application extends BaseApplication {
// Need to call exit() explicitely, otherwise Node wait for any timeout to complete
// https://stackoverflow.com/questions/18050095
process.exit(0);
} else { // Otherwise open the GUI
} else {
// Otherwise open the GUI
this.initRedux();
const keymap = await this.loadKeymaps();
@@ -423,7 +423,7 @@ class Application extends BaseApplication {
const tags = await Tag.allWithNotes();
ResourceService.runInBackground();
RevisionService.instance().runInBackground();
this.dispatch({
@@ -437,7 +437,6 @@ class Application extends BaseApplication {
});
}
}
}
let application_ = null;
@@ -448,4 +447,4 @@ function app() {
return application_;
}
module.exports = { app };
module.exports = { app };

View File

@@ -10,42 +10,42 @@ async function handleAutocompletionPromise(line) {
// Auto-complete the command name
const names = await app().commandNames();
let words = getArguments(line);
//If there is only one word and it is not already a command name then you
//should look for commmands it could be
// If there is only one word and it is not already a command name then you
// should look for commmands it could be
if (words.length == 1) {
if (names.indexOf(words[0]) === -1) {
let x = names.filter((n) => n.indexOf(words[0]) === 0);
let x = names.filter(n => n.indexOf(words[0]) === 0);
if (x.length === 1) {
return x[0] + ' ';
return `${x[0]} `;
}
return x.length > 0 ? x.map((a) => a + ' ') : line;
return x.length > 0 ? x.map(a => `${a} `) : line;
} else {
return line;
}
}
//There is more than one word and it is a command
// There is more than one word and it is a command
const metadata = (await app().commandMetadata())[words[0]];
//If for some reason this command does not have any associated metadata
//just don't autocomplete. However, this should not happen.
// If for some reason this command does not have any associated metadata
// just don't autocomplete. However, this should not happen.
if (metadata === undefined) {
return line;
}
//complete an option
// complete an option
let next = words.length > 1 ? words[words.length - 1] : '';
let l = [];
if (next[0] === '-') {
for (let i = 0; i<metadata.options.length; i++) {
for (let i = 0; i < metadata.options.length; i++) {
const options = metadata.options[i][0].split(' ');
//if there are multiple options then they will be separated by comma and
//space. The comma should be removed
// if there are multiple options then they will be separated by comma and
// space. The comma should be removed
if (options[0][options[0].length - 1] === ',') {
options[0] = options[0].slice(0, -1);
}
if (words.includes(options[0]) || words.includes(options[1])) {
continue;
}
//First two elements are the flag and the third is the description
//Only autocomplete long
// First two elements are the flag and the third is the description
// Only autocomplete long
if (options.length > 1 && options[1].indexOf(next) === 0) {
l.push(options[1]);
} else if (options[0].indexOf(next) === 0) {
@@ -55,44 +55,43 @@ async function handleAutocompletionPromise(line) {
if (l.length === 0) {
return line;
}
let ret = l.map(a=>toCommandLine(a));
ret.prefix = toCommandLine(words.slice(0, -1)) + ' ';
let ret = l.map(a => toCommandLine(a));
ret.prefix = `${toCommandLine(words.slice(0, -1))} `;
return ret;
}
//Complete an argument
//Determine the number of positional arguments by counting the number of
//words that don't start with a - less one for the command name
const positionalArgs = words.filter((a)=>a.indexOf('-') !== 0).length - 1;
// Complete an argument
// Determine the number of positional arguments by counting the number of
// words that don't start with a - less one for the command name
const positionalArgs = words.filter(a => a.indexOf('-') !== 0).length - 1;
let cmdUsage = yargParser(metadata.usage)['_'];
cmdUsage.splice(0, 1);
if (cmdUsage.length >= positionalArgs) {
let argName = cmdUsage[positionalArgs - 1];
argName = cliUtils.parseCommandArg(argName).name;
const currentFolder = app().currentFolder();
if (argName == 'note' || argName == 'note-pattern') {
const notes = currentFolder ? await Note.previews(currentFolder.id, { titlePattern: next + '*' }) : [];
l.push(...notes.map((n) => n.title));
const notes = currentFolder ? await Note.previews(currentFolder.id, { titlePattern: `${next}*` }) : [];
l.push(...notes.map(n => n.title));
}
if (argName == 'notebook') {
const folders = await Folder.search({ titlePattern: next + '*' });
l.push(...folders.map((n) => n.title));
const folders = await Folder.search({ titlePattern: `${next}*` });
l.push(...folders.map(n => n.title));
}
if (argName == 'item') {
const notes = currentFolder ? await Note.previews(currentFolder.id, { titlePattern: next + '*' }) : [];
const folders = await Folder.search({ titlePattern: next + '*' });
l.push(...notes.map((n) => n.title), folders.map((n) => n.title));
const notes = currentFolder ? await Note.previews(currentFolder.id, { titlePattern: `${next}*` }) : [];
const folders = await Folder.search({ titlePattern: `${next}*` });
l.push(...notes.map(n => n.title), folders.map(n => n.title));
}
if (argName == 'tag') {
let tags = await Tag.search({ titlePattern: next + '*' });
l.push(...tags.map((n) => n.title));
let tags = await Tag.search({ titlePattern: `${next}*` });
l.push(...tags.map(n => n.title));
}
if (argName == 'file') {
@@ -113,12 +112,11 @@ async function handleAutocompletionPromise(line) {
if (l.length === 1) {
return toCommandLine([...words.slice(0, -1), l[0]]);
} else if (l.length > 1) {
let ret = l.map(a=>toCommandLine(a));
ret.prefix = toCommandLine(words.slice(0, -1)) + ' ';
let ret = l.map(a => toCommandLine(a));
ret.prefix = `${toCommandLine(words.slice(0, -1))} `;
return ret;
}
return line;
}
function handleAutocompletion(str, callback) {
handleAutocompletionPromise(str).then(function(res) {
@@ -127,22 +125,24 @@ function handleAutocompletion(str, callback) {
}
function toCommandLine(args) {
if (Array.isArray(args)) {
return args.map(function(a) {
if(a.indexOf('"') !== -1 || a.indexOf(' ') !== -1) {
return "'" + a + "'";
} else if (a.indexOf("'") !== -1) {
return '"' + a + '"';
} else {
return a;
}
}).join(' ');
return args
.map(function(a) {
if (a.indexOf('"') !== -1 || a.indexOf(' ') !== -1) {
return `'${a}'`;
} else if (a.indexOf('\'') !== -1) {
return `"${a}"`;
} else {
return a;
}
})
.join(' ');
} else {
if(args.indexOf('"') !== -1 || args.indexOf(' ') !== -1) {
return "'" + args + "' ";
} else if (args.indexOf("'") !== -1) {
return '"' + args + '" ';
if (args.indexOf('"') !== -1 || args.indexOf(' ') !== -1) {
return `'${args}' `;
} else if (args.indexOf('\'') !== -1) {
return `"${args}" `;
} else {
return args + ' ';
return `${args} `;
}
}
}
@@ -151,27 +151,26 @@ function getArguments(line) {
let inDoubleQuotes = false;
let currentWord = '';
let parsed = [];
for(let i = 0; i<line.length; i++) {
if(line[i] === '"') {
if(inDoubleQuotes) {
for (let i = 0; i < line.length; i++) {
if (line[i] === '"') {
if (inDoubleQuotes) {
inDoubleQuotes = false;
//maybe push word to parsed?
//currentWord += '"';
// maybe push word to parsed?
// currentWord += '"';
} else {
inDoubleQuotes = true;
//currentWord += '"';
// currentWord += '"';
}
} else if(line[i] === "'") {
if(inSingleQuotes) {
} else if (line[i] === '\'') {
if (inSingleQuotes) {
inSingleQuotes = false;
//maybe push word to parsed?
//currentWord += "'";
// maybe push word to parsed?
// currentWord += "'";
} else {
inSingleQuotes = true;
//currentWord += "'";
// currentWord += "'";
}
} else if (/\s/.test(line[i]) &&
!(inDoubleQuotes || inSingleQuotes)) {
} else if (/\s/.test(line[i]) && !(inDoubleQuotes || inSingleQuotes)) {
if (currentWord !== '') {
parsed.push(currentWord);
currentWord = '';

View File

@@ -2,7 +2,6 @@ const { _ } = require('lib/locale.js');
const { reg } = require('lib/registry.js');
class BaseCommand {
constructor() {
this.stdout_ = null;
this.prompt_ = null;
@@ -20,7 +19,7 @@ class BaseCommand {
throw new Error('Description not defined');
}
async action(args) {
async action() {
throw new Error('Action not defined');
}
@@ -93,7 +92,6 @@ class BaseCommand {
logger() {
return reg.logger();
}
}
module.exports = { BaseCommand };
module.exports = { BaseCommand };

View File

@@ -1,7 +1,7 @@
const fs = require('fs-extra');
const { fileExtension, basename, dirname } = require('lib/path-utils.js');
const { fileExtension, dirname } = require('lib/path-utils.js');
const wrap_ = require('word-wrap');
const { _, setLocale, languageCode } = require('lib/locale.js');
const { languageCode } = require('lib/locale.js');
const rootDir = dirname(dirname(__dirname));
const MAX_WIDTH = 78;
@@ -22,14 +22,14 @@ function renderOptions(options) {
let option = options[i];
const flag = option[0];
const indent = INDENT + INDENT + ' '.repeat(optionColWidth + 2);
let r = wrap(option[1], indent);
r = r.substr(flag.length + (INDENT + INDENT).length);
r = INDENT + INDENT + flag + r;
output.push(r);
}
return output.join("\n");
return output.join('\n');
}
function renderCommand(cmd) {
@@ -44,17 +44,17 @@ function renderCommand(cmd) {
output.push('');
output.push(optionString);
}
return output.join("\n");
return output.join('\n');
}
function getCommands() {
let output = [];
fs.readdirSync(__dirname).forEach((path) => {
fs.readdirSync(__dirname).forEach(path => {
if (path.indexOf('command-') !== 0) return;
const ext = fileExtension(path)
const ext = fileExtension(path);
if (ext != 'js') return;
let CommandClass = require('./' + path);
let CommandClass = require(`./${path}`);
let cmd = new CommandClass();
if (!cmd.enabled()) return;
if (cmd.hidden()) return;
@@ -87,14 +87,14 @@ function getHeader() {
let description = [];
description.push('Joplin is a note taking and to-do application, which can handle a large number of notes organised into notebooks.');
description.push('The notes are searchable, can be copied, tagged and modified with your own text editor.');
description.push("\n\n");
description.push('\n\n');
description.push('The notes can be synchronised with various target including the file system (for example with a network directory) or with Microsoft OneDrive.');
description.push("\n\n");
description.push('\n\n');
description.push('Notes exported from Evenotes via .enex files can be imported into Joplin, including the formatted content, resources (images, attachments, etc.) and complete metadata (geolocation, updated time, created time, etc.).');
output.push(wrap(description.join(''), INDENT));
return output.join("\n");
return output.join('\n');
}
function getFooter() {
@@ -102,18 +102,18 @@ function getFooter() {
output.push('WEBSITE');
output.push('');
output.push(INDENT + 'https://joplinapp.org');
output.push(`${INDENT}https://joplinapp.org`);
output.push('');
output.push('LICENSE');
output.push('');
let filePath = rootDir + '/LICENSE_' + languageCode();
if (!fs.existsSync(filePath)) filePath = rootDir + '/LICENSE';
let filePath = `${rootDir}/LICENSE_${languageCode()}`;
if (!fs.existsSync(filePath)) filePath = `${rootDir}/LICENSE`;
const licenseText = fs.readFileSync(filePath, 'utf8');
output.push(wrap(licenseText, INDENT));
return output.join("\n");
return output.join('\n');
}
async function main() {
@@ -128,12 +128,12 @@ async function main() {
}
const headerText = getHeader();
const commandsText = commandBlocks.join("\n\n");
const commandsText = commandBlocks.join('\n\n');
const footerText = getFooter();
console.info(headerText + "\n\n" + 'USAGE' + "\n\n" + commandsText + "\n\n" + footerText);
console.info(`${headerText}\n\n` + 'USAGE' + `\n\n${commandsText}\n\n${footerText}`);
}
main().catch((error) => {
main().catch(error => {
console.error(error);
});
});

View File

@@ -1,4 +1,4 @@
"use strict"
'use strict';
const fs = require('fs-extra');
const { Logger } = require('lib/logger.js');
@@ -10,14 +10,14 @@ const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const Setting = require('lib/models/Setting.js');
const { sprintf } = require('sprintf-js');
const exec = require('child_process').exec
const exec = require('child_process').exec;
process.on('unhandledRejection', (reason, p) => {
console.error('Unhandled promise rejection', p, 'reason:', reason);
});
const baseDir = dirname(__dirname) + '/tests/cli-integration';
const joplinAppPath = __dirname + '/main.js';
const baseDir = `${dirname(__dirname)}/tests/cli-integration`;
const joplinAppPath = `${__dirname}/main.js`;
const logger = new Logger();
logger.addTarget('console');
@@ -32,17 +32,17 @@ db.setLogger(dbLogger);
function createClient(id) {
return {
'id': id,
'profileDir': baseDir + '/client' + id,
id: id,
profileDir: `${baseDir}/client${id}`,
};
}
const client = createClient(1);
function execCommand(client, command, options = {}) {
let exePath = 'node ' + joplinAppPath;
let cmd = exePath + ' --update-geolocation-disabled --env dev --profile ' + client.profileDir + ' ' + command;
logger.info(client.id + ': ' + command);
function execCommand(client, command) {
let exePath = `node ${joplinAppPath}`;
let cmd = `${exePath} --update-geolocation-disabled --env dev --profile ${client.profileDir} ${command}`;
logger.info(`${client.id}: ${command}`);
return new Promise((resolve, reject) => {
exec(cmd, (error, stdout, stderr) => {
@@ -72,14 +72,7 @@ function assertEquals(expected, real) {
}
async function clearDatabase() {
await db.transactionExecBatch([
'DELETE FROM folders',
'DELETE FROM notes',
'DELETE FROM tags',
'DELETE FROM note_tags',
'DELETE FROM resources',
'DELETE FROM deleted_items',
]);
await db.transactionExecBatch(['DELETE FROM folders', 'DELETE FROM notes', 'DELETE FROM tags', 'DELETE FROM note_tags', 'DELETE FROM resources', 'DELETE FROM deleted_items']);
}
const testUnits = {};
@@ -101,7 +94,7 @@ testUnits.testFolders = async () => {
folders = await Folder.all();
assertEquals(0, folders.length);
}
};
testUnits.testNotes = async () => {
await execCommand(client, 'mkbook nb1');
@@ -121,16 +114,16 @@ testUnits.testNotes = async () => {
notes = await Note.all();
assertEquals(2, notes.length);
await execCommand(client, "rm -f 'blabla*'");
await execCommand(client, 'rm -f \'blabla*\'');
notes = await Note.all();
assertEquals(2, notes.length);
await execCommand(client, "rm -f 'n*'");
await execCommand(client, 'rm -f \'n*\'');
notes = await Note.all();
assertEquals(0, notes.length);
}
};
testUnits.testCat = async () => {
await execCommand(client, 'mkbook nb1');
@@ -145,7 +138,7 @@ testUnits.testCat = async () => {
r = await execCommand(client, 'cat -v mynote');
assertTrue(r.indexOf(note.id) >= 0);
}
};
testUnits.testConfig = async () => {
await execCommand(client, 'config editor vim');
@@ -159,7 +152,7 @@ testUnits.testConfig = async () => {
let r = await execCommand(client, 'config');
assertTrue(r.indexOf('editor') >= 0);
assertTrue(r.indexOf('subl') >= 0);
}
};
testUnits.testCp = async () => {
await execCommand(client, 'mkbook nb2');
@@ -180,7 +173,7 @@ testUnits.testCp = async () => {
notes = await Note.previews(f2.id);
assertEquals(1, notes.length);
assertEquals(notesF1[0].title, notes[0].title);
}
};
testUnits.testLs = async () => {
await execCommand(client, 'mkbook nb1');
@@ -190,7 +183,7 @@ testUnits.testLs = async () => {
assertTrue(r.indexOf('note1') >= 0);
assertTrue(r.indexOf('note2') >= 0);
}
};
testUnits.testMv = async () => {
await execCommand(client, 'mkbook nb2');
@@ -210,21 +203,21 @@ testUnits.testMv = async () => {
await execCommand(client, 'mknote note2');
await execCommand(client, 'mknote note3');
await execCommand(client, 'mknote blabla');
await execCommand(client, "mv 'note*' nb2");
await execCommand(client, 'mv \'note*\' nb2');
notes1 = await Note.previews(f1.id);
notes2 = await Note.previews(f2.id);
assertEquals(1, notes1.length);
assertEquals(4, notes2.length);
}
};
async function main(argv) {
async function main() {
await fs.remove(baseDir);
logger.info(await execCommand(client, 'version'));
await db.open({ name: client.profileDir + '/database.sqlite' });
await db.open({ name: `${client.profileDir}/database.sqlite` });
BaseModel.db_ = db;
await Setting.load();
@@ -237,13 +230,13 @@ async function main(argv) {
await clearDatabase();
let testName = n.substr(4).toLowerCase();
process.stdout.write(testName + ': ');
process.stdout.write(`${testName}: `);
await testUnits[n]();
console.info('');
}
}
main(process.argv).catch((error) => {
main(process.argv).catch(error => {
console.info('');
logger.error(error);
});
});

View File

@@ -5,7 +5,7 @@ const stringPadding = require('string-padding');
const cliUtils = {};
cliUtils.printArray = function(logFunction, rows, headers = null) {
cliUtils.printArray = function(logFunction, rows) {
if (!rows.length) return '';
const ALIGN_LEFT = 0;
@@ -16,7 +16,7 @@ cliUtils.printArray = function(logFunction, rows, headers = null) {
for (let i = 0; i < rows.length; i++) {
let row = rows[i];
for (let j = 0; j < row.length; j++) {
let item = row[j];
let width = item ? item.toString().length : 0;
@@ -26,7 +26,6 @@ cliUtils.printArray = function(logFunction, rows, headers = null) {
}
}
let lines = [];
for (let row = 0; row < rows.length; row++) {
let line = [];
for (let col = 0; col < colWidths.length; col++) {
@@ -37,7 +36,7 @@ cliUtils.printArray = function(logFunction, rows, headers = null) {
}
logFunction(line.join(' '));
}
}
};
cliUtils.parseFlags = function(flags) {
let output = {};
@@ -56,10 +55,10 @@ cliUtils.parseFlags = function(flags) {
}
}
return output;
}
};
cliUtils.parseCommandArg = function(arg) {
if (arg.length <= 2) throw new Error('Invalid command arg: ' + arg);
if (arg.length <= 2) throw new Error(`Invalid command arg: ${arg}`);
const c1 = arg[0];
const c2 = arg[arg.length - 1];
@@ -70,9 +69,9 @@ cliUtils.parseCommandArg = function(arg) {
} else if (c1 == '[' && c2 == ']') {
return { required: false, name: name };
} else {
throw new Error('Invalid command arg: ' + arg);
throw new Error(`Invalid command arg: ${arg}`);
}
}
};
cliUtils.makeCommandArgs = function(cmd, argv) {
let cmdUsage = cmd.usage();
@@ -83,9 +82,8 @@ cliUtils.makeCommandArgs = function(cmd, argv) {
let booleanFlags = [];
let aliases = {};
for (let i = 0; i < options.length; i++) {
if (options[i].length != 2) throw new Error('Invalid options: ' + options[i]);
if (options[i].length != 2) throw new Error(`Invalid options: ${options[i]}`);
let flags = options[i][0];
let text = options[i][1];
flags = cliUtils.parseFlags(flags);
@@ -125,27 +123,27 @@ cliUtils.makeCommandArgs = function(cmd, argv) {
output.options = argOptions;
return output;
}
};
cliUtils.promptMcq = function(message, answers) {
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
output: process.stdout,
});
message += "\n\n";
message += '\n\n';
for (let n in answers) {
if (!answers.hasOwnProperty(n)) continue;
message += _('%s: %s', n, answers[n]) + "\n";
message += `${_('%s: %s', n, answers[n])}\n`;
}
message += "\n";
message += '\n';
message += _('Your choice: ');
return new Promise((resolve, reject) => {
rl.question(message, (answer) => {
rl.question(message, answer => {
rl.close();
if (!(answer in answers)) {
@@ -156,7 +154,7 @@ cliUtils.promptMcq = function(message, answers) {
resolve(answer);
});
});
}
};
cliUtils.promptConfirm = function(message, answers = null) {
if (!answers) answers = [_('Y'), _('n')];
@@ -164,23 +162,24 @@ cliUtils.promptConfirm = function(message, answers = null) {
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
output: process.stdout,
});
message += ' (' + answers.join('/') + ')';
message += ` (${answers.join('/')})`;
return new Promise((resolve, reject) => {
rl.question(message + ' ', (answer) => {
return new Promise((resolve) => {
rl.question(`${message} `, answer => {
const ok = !answer || answer.toLowerCase() == answers[0].toLowerCase();
rl.close();
resolve(ok);
});
});
}
};
// Note: initialText is there to have the same signature as statusBar.prompt() so that
// it can be a drop-in replacement, however initialText is not used (and cannot be
// with readline.question?).
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
cliUtils.prompt = function(initialText = '', promptString = ':', options = null) {
if (!options) options = {};
@@ -189,10 +188,9 @@ cliUtils.prompt = function(initialText = '', promptString = ':', options = null)
const mutableStdout = new Writable({
write: function(chunk, encoding, callback) {
if (!this.muted)
process.stdout.write(chunk, encoding);
if (!this.muted) process.stdout.write(chunk, encoding);
callback();
}
},
});
const rl = readline.createInterface({
@@ -201,18 +199,18 @@ cliUtils.prompt = function(initialText = '', promptString = ':', options = null)
terminal: true,
});
return new Promise((resolve, reject) => {
return new Promise((resolve) => {
mutableStdout.muted = false;
rl.question(promptString, (answer) => {
rl.question(promptString, answer => {
rl.close();
if (!!options.secure) this.stdout_('');
if (options.secure) this.stdout_('');
resolve(answer);
});
mutableStdout.muted = !!options.secure;
});
}
};
let redrawStarted_ = false;
let redrawLastLog_ = null;
@@ -220,7 +218,7 @@ let redrawLastUpdateTime_ = 0;
cliUtils.setStdout = function(v) {
this.stdout_ = v;
}
};
cliUtils.redraw = function(s) {
const now = time.unixMs();
@@ -233,8 +231,8 @@ cliUtils.redraw = function(s) {
redrawLastLog_ = s;
}
redrawStarted_ = true;
}
redrawStarted_ = true;
};
cliUtils.redrawDone = function() {
if (!redrawStarted_) return;
@@ -245,6 +243,6 @@ cliUtils.redrawDone = function() {
redrawLastLog_ = null;
redrawStarted_ = false;
}
};
module.exports = { cliUtils };
module.exports = { cliUtils };

View File

@@ -1,19 +1,12 @@
const { BaseCommand } = require('./base-command.js');
const { _ } = require('lib/locale.js');
const { cliUtils } = require('./cli-utils.js');
const EncryptionService = require('lib/services/EncryptionService');
const DecryptionWorker = require('lib/services/DecryptionWorker');
const MasterKey = require('lib/models/MasterKey');
const BaseItem = require('lib/models/BaseItem');
const BaseModel = require('lib/BaseModel');
const Setting = require('lib/models/Setting.js');
const { toTitleCase } = require('lib/string-utils.js');
const { reg } = require('lib/registry.js');
const markdownUtils = require('lib/markdownUtils');
const { Database } = require('lib/database.js');
class Command extends BaseCommand {
usage() {
return 'apidoc';
}
@@ -23,18 +16,22 @@ class Command extends BaseCommand {
}
createPropertiesTable(tableFields) {
const headers = [
{ name: 'name', label: 'Name' },
{ name: 'type', label: 'Type', filter: (value) => {
return Database.enumName('fieldType', value);
}},
{ name: 'description', label: 'Description' },
];
return markdownUtils.createMarkdownTable(headers, tableFields);
const headers = [
{ name: 'name', label: 'Name' },
{
name: 'type',
label: 'Type',
filter: value => {
return Database.enumName('fieldType', value);
},
},
{ name: 'description', label: 'Description' },
];
return markdownUtils.createMarkdownTable(headers, tableFields);
}
async action(args) {
async action() {
const models = [
{
type: BaseModel.TYPE_NOTE,
@@ -70,8 +67,8 @@ class Command extends BaseCommand {
lines.push('}');
lines.push('```');
lines.push('');
lines.push('# Authorisation')
lines.push('# Authorisation');
lines.push('');
lines.push('To prevent unauthorised applications from accessing the API, the calls must be authentified. To do so, you must provide a token as a query parameter for each API call. You can get this token from the Joplin desktop application, on the Web Clipper Options screen.');
lines.push('');
@@ -171,7 +168,7 @@ class Command extends BaseCommand {
// });
}
lines.push('# ' + toTitleCase(tableName));
lines.push(`# ${toTitleCase(tableName)}`);
lines.push('');
if (model.type === BaseModel.TYPE_FOLDER) {
@@ -184,9 +181,9 @@ class Command extends BaseCommand {
lines.push(this.createPropertiesTable(tableFields));
lines.push('');
lines.push('## GET /' + tableName);
lines.push(`## GET /${tableName}`);
lines.push('');
lines.push('Gets all ' + tableName);
lines.push(`Gets all ${tableName}`);
lines.push('');
if (model.type === BaseModel.TYPE_FOLDER) {
@@ -194,9 +191,9 @@ class Command extends BaseCommand {
lines.push('');
}
lines.push('## GET /' + tableName + '/:id');
lines.push(`## GET /${tableName}/:id`);
lines.push('');
lines.push('Gets ' + singular + ' with ID :id');
lines.push(`Gets ${singular} with ID :id`);
lines.push('');
if (model.type === BaseModel.TYPE_TAG) {
@@ -227,9 +224,9 @@ class Command extends BaseCommand {
lines.push('');
}
lines.push('## POST /' + tableName);
lines.push(`## POST /${tableName}`);
lines.push('');
lines.push('Creates a new ' + singular);
lines.push(`Creates a new ${singular}`);
lines.push('');
if (model.type === BaseModel.TYPE_RESOURCE) {
@@ -273,14 +270,14 @@ class Command extends BaseCommand {
lines.push('');
}
lines.push('## PUT /' + tableName + '/:id');
lines.push(`## PUT /${tableName}/:id`);
lines.push('');
lines.push('Sets the properties of the ' + singular + ' with ID :id');
lines.push(`Sets the properties of the ${singular} with ID :id`);
lines.push('');
lines.push('## DELETE /' + tableName + '/:id');
lines.push(`## DELETE /${tableName}/:id`);
lines.push('');
lines.push('Deletes the ' + singular + ' with ID :id');
lines.push(`Deletes the ${singular} with ID :id`);
lines.push('');
if (model.type === BaseModel.TYPE_TAG) {
@@ -293,7 +290,6 @@ class Command extends BaseCommand {
this.stdout(lines.join('\n'));
}
}
module.exports = Command;

View File

@@ -3,10 +3,8 @@ const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const { shim } = require('lib/shim.js');
const fs = require('fs-extra');
class Command extends BaseCommand {
usage() {
return 'attach <note> <file>';
}
@@ -26,7 +24,6 @@ class Command extends BaseCommand {
await shim.attachFileToNote(note, localFilePath);
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -2,11 +2,9 @@ const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {
usage() {
return 'cat <note>';
}
@@ -16,9 +14,7 @@ class Command extends BaseCommand {
}
options() {
return [
['-v, --verbose', _('Displays the complete information about note.')],
];
return [['-v, --verbose', _('Displays the complete information about note.')]];
}
async action(args) {
@@ -30,10 +26,13 @@ class Command extends BaseCommand {
const content = args.options.verbose ? await Note.serialize(item) : await Note.serializeForEdit(item);
this.stdout(content);
app().gui().showConsole();
app().gui().maximizeConsole();
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -4,25 +4,22 @@ const { app } = require('./app.js');
const Setting = require('lib/models/Setting.js');
class Command extends BaseCommand {
usage() {
return 'config [name] [value]';
}
description() {
return _("Gets or sets a config value. If [value] is not provided, it will show the value of [name]. If neither [name] nor [value] is provided, it will list the current configuration.");
return _('Gets or sets a config value. If [value] is not provided, it will show the value of [name]. If neither [name] nor [value] is provided, it will list the current configuration.');
}
options() {
return [
['-v, --verbose', _('Also displays unset and hidden config variables.')],
];
return [['-v, --verbose', _('Also displays unset and hidden config variables.')]];
}
async action(args) {
const verbose = args.options.verbose;
const renderKeyValue = (name) => {
const renderKeyValue = name => {
const md = Setting.settingMetadata(name);
let value = Setting.value(name);
if (typeof value === 'object' || Array.isArray(value)) value = JSON.stringify(value);
@@ -33,7 +30,7 @@ class Command extends BaseCommand {
} else {
return _('%s = %s', name, value);
}
}
};
if (!args.name && !args.value) {
let keys = Setting.keys(!verbose, 'cli');
@@ -43,15 +40,23 @@ class Command extends BaseCommand {
if (!verbose && !value) continue;
this.stdout(renderKeyValue(keys[i]));
}
app().gui().showConsole();
app().gui().maximizeConsole();
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
return;
}
if (args.name && !args.value) {
this.stdout(renderKeyValue(args.name));
app().gui().showConsole();
app().gui().maximizeConsole();
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
return;
}
@@ -64,7 +69,6 @@ class Command extends BaseCommand {
await Setting.saveAll();
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -2,11 +2,9 @@ const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {
usage() {
return 'cp <note> [notebook]';
}
@@ -33,7 +31,6 @@ class Command extends BaseCommand {
Note.updateGeolocation(newNote.id);
}
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -2,12 +2,10 @@ const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const { time } = require('lib/time-utils.js');
class Command extends BaseCommand {
usage() {
return 'done <note>';
}
@@ -35,7 +33,6 @@ class Command extends BaseCommand {
async action(args) {
await Command.handleAction(this, args, true);
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,12 +1,9 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const Tag = require('lib/models/Tag.js');
class Command extends BaseCommand {
usage() {
return 'dump';
}
@@ -19,7 +16,7 @@ class Command extends BaseCommand {
return true;
}
async action(args) {
async action() {
let items = [];
let folders = await Folder.all();
for (let i = 0; i < folders.length; i++) {
@@ -35,10 +32,9 @@ class Command extends BaseCommand {
}
items = items.concat(tags);
this.stdout(JSON.stringify(items));
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,9 +1,7 @@
const { BaseCommand } = require('./base-command.js');
const { _ } = require('lib/locale.js');
const { cliUtils } = require('./cli-utils.js');
const EncryptionService = require('lib/services/EncryptionService');
const DecryptionWorker = require('lib/services/DecryptionWorker');
const MasterKey = require('lib/models/MasterKey');
const BaseItem = require('lib/models/BaseItem');
const Setting = require('lib/models/Setting.js');
const { shim } = require('lib/shim');
@@ -12,7 +10,6 @@ const imageType = require('image-type');
const readChunk = require('read-chunk');
class Command extends BaseCommand {
usage() {
return 'e2ee <command> [path]';
}
@@ -35,7 +32,7 @@ class Command extends BaseCommand {
const options = args.options;
const askForMasterKey = async (error) => {
const askForMasterKey = async error => {
const masterKeyId = error.masterKeyId;
const password = await this.prompt(_('Enter master password:'), { type: 'string', secure: true });
if (!password) {
@@ -45,7 +42,7 @@ class Command extends BaseCommand {
Setting.setObjectKey('encryption.passwordCache', masterKeyId, password);
await EncryptionService.instance().loadMasterKeysFromSettings();
return true;
}
};
if (args.command === 'enable') {
const password = options.password ? options.password.toString() : await this.prompt(_('Enter master password:'), { type: 'string', secure: true });
@@ -53,7 +50,15 @@ class Command extends BaseCommand {
this.stdout(_('Operation cancelled'));
return;
}
const password2 = await this.prompt(_('Confirm master password:'), { type: 'string', secure: true });
if (!password2) {
this.stdout(_('Operation cancelled'));
return;
}
if (password !== password2) {
this.stdout(_('Passwords do not match!'));
return;
}
await EncryptionService.instance().generateMasterKeyAndEnableEncryption(password);
return;
}
@@ -100,13 +105,13 @@ class Command extends BaseCommand {
while (true) {
try {
const outputDir = options.output ? options.output : require('os').tmpdir();
let outFile = outputDir + '/' + pathUtils.filename(args.path) + '.' + Date.now() + '.bin';
let outFile = `${outputDir}/${pathUtils.filename(args.path)}.${Date.now()}.bin`;
await EncryptionService.instance().decryptFile(args.path, outFile);
const buffer = await readChunk(outFile, 0, 64);
const detectedType = imageType(buffer);
if (detectedType) {
const newOutFile = outFile + '.' + detectedType.ext;
const newOutFile = `${outFile}.${detectedType.ext}`;
await shim.fsDriver().move(outFile, newOutFile);
outFile = newOutFile;
}
@@ -128,19 +133,17 @@ class Command extends BaseCommand {
if (args.command === 'target-status') {
const fs = require('fs-extra');
const pathUtils = require('lib/path-utils.js');
const fsDriver = new (require('lib/fs-driver-node.js').FsDriverNode)();
const targetPath = args.path;
if (!targetPath) throw new Error('Please specify the sync target path.');
const dirPaths = function(targetPath) {
let paths = [];
fs.readdirSync(targetPath).forEach((path) => {
fs.readdirSync(targetPath).forEach(path => {
paths.push(path);
});
return paths;
}
};
let itemCount = 0;
let resourceCount = 0;
@@ -155,7 +158,7 @@ class Command extends BaseCommand {
for (let i = 0; i < paths.length; i++) {
const path = paths[i];
const fullPath = targetPath + '/' + path;
const fullPath = `${targetPath}/${path}`;
const stat = await fs.stat(fullPath);
// this.stdout(fullPath);
@@ -165,7 +168,7 @@ class Command extends BaseCommand {
for (let j = 0; j < resourcePaths.length; j++) {
const resourcePath = resourcePaths[j];
resourceCount++;
const fullResourcePath = fullPath + '/' + resourcePath;
const fullResourcePath = `${fullPath}/${resourcePath}`;
const isEncrypted = await EncryptionService.instance().fileIsEncrypted(fullResourcePath);
if (isEncrypted) {
encryptedResourceCount++;
@@ -199,9 +202,9 @@ class Command extends BaseCommand {
}
}
this.stdout('Encrypted items: ' + encryptedItemCount + '/' + itemCount);
this.stdout('Encrypted resources: ' + encryptedResourceCount + '/' + resourceCount);
this.stdout('Other items (never encrypted): ' + otherItemCount);
this.stdout(`Encrypted items: ${encryptedItemCount}/${itemCount}`);
this.stdout(`Encrypted resources: ${encryptedResourceCount}/${resourceCount}`);
this.stdout(`Other items (never encrypted): ${otherItemCount}`);
if (options.verbose) {
this.stdout('');
@@ -224,7 +227,6 @@ class Command extends BaseCommand {
return;
}
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -3,15 +3,11 @@ const { BaseCommand } = require('./base-command.js');
const { uuid } = require('lib/uuid.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const Setting = require('lib/models/Setting.js');
const BaseModel = require('lib/BaseModel.js');
const { cliUtils } = require('./cli-utils.js');
const { time } = require('lib/time-utils.js');
class Command extends BaseCommand {
usage() {
return 'edit <note>';
}
@@ -21,20 +17,19 @@ class Command extends BaseCommand {
}
async action(args) {
let watcher = null;
let tempFilePath = null;
const onFinishedEditing = async () => {
if (tempFilePath) fs.removeSync(tempFilePath);
}
};
const textEditorPath = () => {
if (Setting.value('editor')) return Setting.value('editor');
if (process.env.EDITOR) return process.env.EDITOR;
throw new Error(_('No text editor is defined. Please set it using `config editor <editor-path>`'));
}
};
try {
try {
// -------------------------------------------------------------------------
// Load note or create it if it doesn't exist
// -------------------------------------------------------------------------
@@ -65,7 +60,7 @@ class Command extends BaseCommand {
const originalContent = await Note.serializeForEdit(note);
tempFilePath = Setting.value('tempDir') + '/' + uuid.create() + '.md';
tempFilePath = `${Setting.value('tempDir')}/${uuid.create()}.md`;
editorArgs.push(tempFilePath);
await fs.writeFile(tempFilePath, originalContent);
@@ -76,18 +71,30 @@ class Command extends BaseCommand {
this.logger().info('Disabling fullscreen...');
app().gui().showModalOverlay(_('Starting to edit note. Close the editor to get back to the prompt.'));
await app().gui().forceRender();
const termState = app().gui().termSaveState();
app()
.gui()
.showModalOverlay(_('Starting to edit note. Close the editor to get back to the prompt.'));
await app()
.gui()
.forceRender();
const termState = app()
.gui()
.termSaveState();
const spawnSync = require('child_process').spawnSync;
const spawnSync = require('child_process').spawnSync;
const result = spawnSync(editorPath, editorArgs, { stdio: 'inherit' });
if (result.error) this.stdout(_('Error opening note in editor: %s', result.error.message));
app().gui().termRestoreState(termState);
app().gui().hideModalOverlay();
app().gui().forceRender();
app()
.gui()
.termRestoreState(termState);
app()
.gui()
.hideModalOverlay();
app()
.gui()
.forceRender();
// -------------------------------------------------------------------------
// Save the note and clean up
@@ -107,13 +114,11 @@ class Command extends BaseCommand {
});
await onFinishedEditing();
} catch(error) {
} catch (error) {
await onFinishedEditing();
throw error;
}
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -3,7 +3,6 @@ const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
class Command extends BaseCommand {
usage() {
return 'exit';
}
@@ -16,10 +15,9 @@ class Command extends BaseCommand {
return ['gui'];
}
async action(args) {
async action() {
await app().exit();
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,13 +1,10 @@
const { BaseCommand } = require('./base-command.js');
const { Database } = require('lib/database.js');
const { app } = require('./app.js');
const Setting = require('lib/models/Setting.js');
const { _ } = require('lib/locale.js');
const { ReportService } = require('lib/services/report.js');
const fs = require('fs-extra');
class Command extends BaseCommand {
usage() {
return 'export-sync-status';
}
@@ -20,17 +17,20 @@ class Command extends BaseCommand {
return true;
}
async action(args) {
async action() {
const service = new ReportService();
const csv = await service.basicItemList({ format: 'csv' });
const filePath = Setting.value('profileDir') + '/syncReport-' + (new Date()).getTime() + '.csv';
const filePath = `${Setting.value('profileDir')}/syncReport-${new Date().getTime()}.csv`;
await fs.writeFileSync(filePath, csv);
this.stdout('Sync status exported to ' + filePath);
this.stdout(`Sync status exported to ${filePath}`);
app().gui().showConsole();
app().gui().maximizeConsole();
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,14 +1,10 @@
const { BaseCommand } = require('./base-command.js');
const InteropService = require('lib/services/InteropService.js');
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
const { reg } = require('lib/registry.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const fs = require('fs-extra');
class Command extends BaseCommand {
usage() {
return 'export <path>';
}
@@ -19,17 +15,14 @@ class Command extends BaseCommand {
options() {
const service = new InteropService();
const formats = service.modules()
const formats = service
.modules()
.filter(m => m.type === 'exporter')
.map(m => m.format + (m.description ? ' (' + m.description + ')' : ''));
.map(m => m.format + (m.description ? ` (${m.description})` : ''));
return [
['--format <format>', _('Destination format: %s', formats.join(', '))],
['--note <note>', _('Exports only the given note.')],
['--notebook <notebook>', _('Exports only the given notebook.')],
];
return [['--format <format>', _('Destination format: %s', formats.join(', '))], ['--note <note>', _('Exports only the given note.')], ['--notebook <notebook>', _('Exports only the given notebook.')]];
}
async action(args) {
let exportOptions = {};
exportOptions.path = args.path;
@@ -37,25 +30,20 @@ class Command extends BaseCommand {
exportOptions.format = args.options.format ? args.options.format : 'jex';
if (args.options.note) {
const notes = await app().loadItems(BaseModel.TYPE_NOTE, args.options.note, { parent: app().currentFolder() });
if (!notes.length) throw new Error(_('Cannot find "%s".', args.options.note));
exportOptions.sourceNoteIds = notes.map((n) => n.id);
exportOptions.sourceNoteIds = notes.map(n => n.id);
} else if (args.options.notebook) {
const folders = await app().loadItems(BaseModel.TYPE_FOLDER, args.options.notebook);
if (!folders.length) throw new Error(_('Cannot find "%s".', args.options.notebook));
exportOptions.sourceFolderIds = folders.map((n) => n.id);
exportOptions.sourceFolderIds = folders.map(n => n.id);
}
const service = new InteropService();
const result = await service.export(exportOptions);
result.warnings.map((w) => this.stdout(w));
result.warnings.map(w => this.stdout(w));
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -2,11 +2,9 @@ const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {
usage() {
return 'geoloc <note>';
}
@@ -23,9 +21,10 @@ class Command extends BaseCommand {
const url = Note.geolocationUrl(item);
this.stdout(url);
app().gui().showConsole();
app()
.gui()
.showConsole();
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,14 +1,10 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { renderCommandHelp } = require('./help-utils.js');
const { Database } = require('lib/database.js');
const Setting = require('lib/models/Setting.js');
const { wrap } = require('lib/string-utils.js');
const { _ } = require('lib/locale.js');
const { cliUtils } = require('./cli-utils.js');
class Command extends BaseCommand {
usage() {
return 'help [command]';
}
@@ -28,7 +24,7 @@ class Command extends BaseCommand {
output.push(command);
}
output.sort((a, b) => a.name() < b.name() ? -1 : +1);
output.sort((a, b) => (a.name() < b.name() ? -1 : +1));
return output;
}
@@ -40,31 +36,37 @@ class Command extends BaseCommand {
this.stdout(_('For information on how to customise the shortcuts please visit %s', 'https://joplinapp.org/terminal/#shortcuts'));
this.stdout('');
if (app().gui().isDummy()) {
if (
app()
.gui()
.isDummy()
) {
throw new Error(_('Shortcuts are not available in CLI mode.'));
}
const keymap = app().gui().keymap();
const keymap = app()
.gui()
.keymap();
let rows = [];
for (let i = 0; i < keymap.length; i++) {
const item = keymap[i];
const keys = item.keys.map((k) => k === ' ' ? '(SPACE)' : k);
const keys = item.keys.map(k => (k === ' ' ? '(SPACE)' : k));
rows.push([keys.join(', '), item.command]);
}
cliUtils.printArray(this.stdout.bind(this), rows);
} else if (args.command === 'all') {
const commands = this.allCommands();
const output = commands.map((c) => renderCommandHelp(c));
const output = commands.map(c => renderCommandHelp(c));
this.stdout(output.join('\n\n'));
} else if (args.command) {
const command = app().findCommandByName(args['command']);
if (!command) throw new Error(_('Cannot find "%s".', args.command));
this.stdout(renderCommandHelp(command, stdoutWidth));
} else {
const commandNames = this.allCommands().map((a) => a.name());
const commandNames = this.allCommands().map(a => a.name());
this.stdout(_('Type `help [command]` for more information about a command; or type `help all` for the complete usage information.'));
this.stdout('');
@@ -82,10 +84,13 @@ class Command extends BaseCommand {
this.stdout(_('For the list of keyboard shortcuts and config options, type `help keymap`'));
}
app().gui().showConsole();
app().gui().maximizeConsole();
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,17 +1,11 @@
const { BaseCommand } = require('./base-command.js');
const InteropService = require('lib/services/InteropService.js');
const BaseModel = require('lib/BaseModel.js');
const Note = require('lib/models/Note.js');
const { filename, basename, fileExtension } = require('lib/path-utils.js');
const { importEnex } = require('lib/import-enex');
const { cliUtils } = require('./cli-utils.js');
const { reg } = require('lib/registry.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const fs = require('fs-extra');
class Command extends BaseCommand {
usage() {
return 'import <path> [notebook]';
}
@@ -22,14 +16,14 @@ class Command extends BaseCommand {
options() {
const service = new InteropService();
const formats = service.modules().filter(m => m.type === 'importer').map(m => m.format);
const formats = service
.modules()
.filter(m => m.type === 'importer')
.map(m => m.format);
return [
['--format <format>', _('Source format: %s', (['auto'].concat(formats)).join(', '))],
['-f, --force', _('Do not ask for confirmation.')],
];
return [['--format <format>', _('Source format: %s', ['auto'].concat(formats).join(', '))], ['-f, --force', _('Do not ask for confirmation.')]];
}
async action(args) {
let folder = await app().loadItem(BaseModel.TYPE_FOLDER, args.notebook);
@@ -44,7 +38,7 @@ class Command extends BaseCommand {
// onProgress/onError supported by Enex import only
importOptions.onProgress = (progressState) => {
importOptions.onProgress = progressState => {
let line = [];
line.push(_('Found: %d.', progressState.loaded));
line.push(_('Created: %d.', progressState.created));
@@ -56,20 +50,21 @@ class Command extends BaseCommand {
cliUtils.redraw(lastProgress);
};
importOptions.onError = (error) => {
importOptions.onError = error => {
let s = error.trace ? error.trace : error.toString();
this.stdout(s);
};
app().gui().showConsole();
app()
.gui()
.showConsole();
this.stdout(_('Importing notes...'));
const service = new InteropService();
const result = await service.import(importOptions);
result.warnings.map((w) => this.stdout(w));
result.warnings.map(w => this.stdout(w));
cliUtils.redrawDone();
if (lastProgress) this.stdout(_('The notes have been imported: %s', lastProgress));
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -10,7 +10,6 @@ const { time } = require('lib/time-utils.js');
const { cliUtils } = require('./cli-utils.js');
class Command extends BaseCommand {
usage() {
return 'ls [note-pattern]';
}
@@ -24,14 +23,7 @@ class Command extends BaseCommand {
}
options() {
return [
['-n, --limit <num>', _('Displays only the first top <num> notes.')],
['-s, --sort <field>', _('Sorts the item by <field> (eg. title, updated_time, created_time).')],
['-r, --reverse', _('Reverses the sorting order.')],
['-t, --type <type>', _('Displays only the items of the specific type(s). Can be `n` for notes, `t` for to-dos, or `nt` for notes and to-dos (eg. `-tt` would display only the to-dos, while `-ttd` would display notes and to-dos.')],
['-f, --format <format>', _('Either "text" or "json"')],
['-l, --long', _('Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, TODO_CHECKED (for to-dos), TITLE')],
];
return [['-n, --limit <num>', _('Displays only the first top <num> notes.')], ['-s, --sort <field>', _('Sorts the item by <field> (eg. title, updated_time, created_time).')], ['-r, --reverse', _('Reverses the sorting order.')], ['-t, --type <type>', _('Displays only the items of the specific type(s). Can be `n` for notes, `t` for to-dos, or `nt` for notes and to-dos (eg. `-tt` would display only the to-dos, while `-ttd` would display notes and to-dos.')], ['-f, --format <format>', _('Either "text" or "json"')], ['-l, --long', _('Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, TODO_CHECKED (for to-dos), TITLE')]];
}
async action(args) {
@@ -98,14 +90,14 @@ class Command extends BaseCommand {
let title = item.title;
if (!shortIdShown && (seenTitles.indexOf(item.title) >= 0 || !item.title)) {
title += ' (' + BaseModel.shortId(item.id) + ')';
title += ` (${BaseModel.shortId(item.id)})`;
} else {
seenTitles.push(item.title);
}
if (hasTodos) {
if (item.is_todo) {
row.push(sprintf('[%s]', !!item.todo_completed ? 'X' : ' '));
row.push(sprintf('[%s]', item.todo_completed ? 'X' : ' '));
} else {
row.push(' ');
}
@@ -118,9 +110,7 @@ class Command extends BaseCommand {
cliUtils.printArray(this.stdout.bind(this), rows);
}
}
}
module.exports = Command;

View File

@@ -2,10 +2,8 @@ const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const Folder = require('lib/models/Folder.js');
const { reg } = require('lib/registry.js');
class Command extends BaseCommand {
usage() {
return 'mkbook <new-notebook>';
}
@@ -15,10 +13,9 @@ class Command extends BaseCommand {
}
async action(args) {
let folder = await Folder.save({ title: args['new-notebook'] }, { userSideValidation: true });
let folder = await Folder.save({ title: args['new-notebook'] }, { userSideValidation: true });
app().switchCurrentFolder(folder);
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -4,7 +4,6 @@ const { _ } = require('lib/locale.js');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {
usage() {
return 'mknote <new-note>';
}
@@ -26,7 +25,6 @@ class Command extends BaseCommand {
app().switchCurrentFolder(app().currentFolder());
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -4,7 +4,6 @@ const { _ } = require('lib/locale.js');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {
usage() {
return 'mktodo <new-todo>';
}
@@ -27,7 +26,6 @@ class Command extends BaseCommand {
app().switchCurrentFolder(app().currentFolder());
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -6,7 +6,6 @@ const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {
usage() {
return 'mv <note> [notebook]';
}
@@ -18,7 +17,7 @@ class Command extends BaseCommand {
async action(args) {
const pattern = args['note'];
const destination = args['notebook'];
const folder = await Folder.loadByField('title', destination);
if (!folder) throw new Error(_('Cannot find "%s".', destination));
@@ -29,7 +28,6 @@ class Command extends BaseCommand {
await Note.moveToFolder(notes[i].id, folder.id);
}
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -6,7 +6,6 @@ const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
class Command extends BaseCommand {
usage() {
return 'ren <item> <name>';
}
@@ -35,7 +34,6 @@ class Command extends BaseCommand {
await Note.save(newItem);
}
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,14 +1,10 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseItem = require('lib/models/BaseItem.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const BaseModel = require('lib/BaseModel.js');
const { cliUtils } = require('./cli-utils.js');
class Command extends BaseCommand {
usage() {
return 'rmbook <notebook>';
}
@@ -18,9 +14,7 @@ class Command extends BaseCommand {
}
options() {
return [
['-f, --force', _('Deletes the notebook without asking for confirmation.')],
];
return [['-f, --force', _('Deletes the notebook without asking for confirmation.')]];
}
async action(args) {
@@ -34,7 +28,6 @@ class Command extends BaseCommand {
await Folder.delete(folder.id);
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,14 +1,10 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseItem = require('lib/models/BaseItem.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const BaseModel = require('lib/BaseModel.js');
const { cliUtils } = require('./cli-utils.js');
class Command extends BaseCommand {
usage() {
return 'rmnote <note-pattern>';
}
@@ -18,9 +14,7 @@ class Command extends BaseCommand {
}
options() {
return [
['-f, --force', _('Deletes the notes without asking for confirmation.')],
];
return [['-f, --force', _('Deletes the notes without asking for confirmation.')]];
}
async action(args) {
@@ -32,10 +26,9 @@ class Command extends BaseCommand {
const ok = force ? true : await this.prompt(notes.length > 1 ? _('%d notes match this pattern. Delete them?', notes.length) : _('Delete note?'), { booleanAnswerDefault: 'n' });
if (!ok) return;
let ids = notes.map((n) => n.id);
let ids = notes.map(n => n.id);
await Note.batchDelete(ids);
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,15 +1,10 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const { sprintf } = require('sprintf-js');
const { time } = require('lib/time-utils.js');
const { uuid } = require('lib/uuid.js');
class Command extends BaseCommand {
usage() {
return 'search <pattern> [notebook]';
}
@@ -50,7 +45,6 @@ class Command extends BaseCommand {
id: searchId,
});
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -0,0 +1,57 @@
const { BaseCommand } = require('./base-command.js');
const { _ } = require('lib/locale.js');
const Setting = require('lib/models/Setting.js');
const { Logger } = require('lib/logger.js');
const { shim } = require('lib/shim');
class Command extends BaseCommand {
usage() {
return 'server <command>';
}
description() {
return `${_('Start, stop or check the API server. To specify on which port it should run, set the api.port config variable. Commands are (%s).', ['start', 'stop', 'status'].join('|'))} This is an experimental feature - use at your own risks! It is recommended that the server runs off its own separate profile so that no two CLI instances access that profile at the same time. Use --profile to specify the profile path.`;
}
async action(args) {
const command = args.command;
const ClipperServer = require('lib/ClipperServer');
const stdoutFn = (s) => this.stdout(s);
const clipperLogger = new Logger();
clipperLogger.addTarget('file', { path: `${Setting.value('profileDir')}/log-clipper.txt` });
clipperLogger.addTarget('console', { console: {
info: stdoutFn,
warn: stdoutFn,
error: stdoutFn,
}});
ClipperServer.instance().setDispatch(() => {});
ClipperServer.instance().setLogger(clipperLogger);
const pidPath = `${Setting.value('profileDir')}/clipper-pid.txt`;
const runningOnPort = await ClipperServer.instance().isRunning();
if (command === 'start') {
if (runningOnPort) {
this.stdout(_('Server is already running on port %d', runningOnPort));
} else {
await shim.fsDriver().writeFile(pidPath, process.pid.toString(), 'utf-8');
await ClipperServer.instance().start(); // Never exit
}
} else if (command === 'status') {
this.stdout(runningOnPort ? _('Server is running on port %d', runningOnPort) : _('Server is not running.'));
} else if (command === 'stop') {
if (!runningOnPort) {
this.stdout(_('Server is not running.'));
return;
}
const pid = await shim.fsDriver().readFile(pidPath);
if (!pid) return;
process.kill(pid, 'SIGTERM');
}
}
}
module.exports = Command;

View File

@@ -3,12 +3,9 @@ const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const { Database } = require('lib/database.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const BaseItem = require('lib/models/BaseItem.js');
class Command extends BaseCommand {
usage() {
return 'set <note> <name> [value]';
}
@@ -19,7 +16,7 @@ class Command extends BaseCommand {
for (let i = 0; i < fields.length; i++) {
const f = fields[i];
if (f.name === 'id') continue;
s.push(f.name + ' (' + Database.enumName('fieldType', f.type) + ')');
s.push(`${f.name} (${Database.enumName('fieldType', f.type)})`);
}
return _('Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s', s.join(', '));
@@ -42,10 +39,16 @@ class Command extends BaseCommand {
type_: notes[i].type_,
};
newNote[propName] = propValue;
await Note.save(newNote);
const timestamp = Date.now();
await Note.save(newNote, {
autoTimestamp: false, // No auto-timestamp because user may have provided them
updated_time: timestamp,
created_time: timestamp,
});
}
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,12 +1,10 @@
const { BaseCommand } = require('./base-command.js');
const { Database } = require('lib/database.js');
const { app } = require('./app.js');
const Setting = require('lib/models/Setting.js');
const { _ } = require('lib/locale.js');
const { ReportService } = require('lib/services/report.js');
class Command extends BaseCommand {
usage() {
return 'status';
}
@@ -15,7 +13,7 @@ class Command extends BaseCommand {
return _('Displays summary about the notes and notebooks.');
}
async action(args) {
async action() {
let service = new ReportService();
let report = await service.status(Setting.value('sync.target'));
@@ -24,7 +22,7 @@ class Command extends BaseCommand {
if (i > 0) this.stdout('');
this.stdout('# ' + section.title);
this.stdout(`# ${section.title}`);
this.stdout('');
for (let n in section.body) {
@@ -34,10 +32,13 @@ class Command extends BaseCommand {
}
}
app().gui().showConsole();
app().gui().maximizeConsole();
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -3,7 +3,6 @@ const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const { OneDriveApiNodeUtils } = require('./onedrive-api-node-utils.js');
const Setting = require('lib/models/Setting.js');
const BaseItem = require('lib/models/BaseItem.js');
const ResourceFetcher = require('lib/services/ResourceFetcher');
const { Synchronizer } = require('lib/synchronizer.js');
const { reg } = require('lib/registry.js');
@@ -14,7 +13,6 @@ const fs = require('fs-extra');
const SyncTargetRegistry = require('lib/SyncTargetRegistry');
class Command extends BaseCommand {
constructor() {
super();
this.syncTargetId_ = null;
@@ -31,9 +29,7 @@ class Command extends BaseCommand {
}
options() {
return [
['--target <target>', _('Sync to provided target (defaults to sync.target config value)')],
];
return [['--target <target>', _('Sync to provided target (defaults to sync.target config value)')]];
}
static lockFile(filePath) {
@@ -66,21 +62,25 @@ class Command extends BaseCommand {
const syncTarget = reg.syncTarget(this.syncTargetId_);
const syncTargetMd = SyncTargetRegistry.idToMetadata(this.syncTargetId_);
if (this.syncTargetId_ === 3 || this.syncTargetId_ === 4) { // OneDrive
if (this.syncTargetId_ === 3 || this.syncTargetId_ === 4) {
// OneDrive
this.oneDriveApiUtils_ = new OneDriveApiNodeUtils(syncTarget.api());
const auth = await this.oneDriveApiUtils_.oauthDance({
log: (...s) => { return this.stdout(...s); }
log: (...s) => {
return this.stdout(...s);
},
});
this.oneDriveApiUtils_ = null;
Setting.setValue('sync.' + this.syncTargetId_ + '.auth', auth ? JSON.stringify(auth) : null);
Setting.setValue(`sync.${this.syncTargetId_}.auth`, auth ? JSON.stringify(auth) : null);
if (!auth) {
this.stdout(_('Authentication was not completed (did not receive an authentication token).'));
return false;
}
return true;
} else if (syncTargetMd.name === 'dropbox') { // Dropbox
} else if (syncTargetMd.name === 'dropbox') {
// Dropbox
const api = await syncTarget.api();
const loginUrl = api.loginUrl();
this.stdout(_('To allow Joplin to synchronise with Dropbox, please follow the steps below:'));
@@ -93,7 +93,7 @@ class Command extends BaseCommand {
}
const response = await api.execAuthToken(authCode);
Setting.setValue('sync.' + this.syncTargetId_ + '.auth', response.access_token);
Setting.setValue(`sync.${this.syncTargetId_}.auth`, response.access_token);
api.setAuthToken(response.access_token);
return true;
}
@@ -117,8 +117,8 @@ class Command extends BaseCommand {
this.releaseLockFn_ = null;
// Lock is unique per profile/database
const lockFilePath = require('os').tmpdir() + '/synclock_' + md5(escape(Setting.value('profileDir'))); // https://github.com/pvorb/node-md5/issues/41
if (!await fs.pathExists(lockFilePath)) await fs.writeFile(lockFilePath, 'synclock');
const lockFilePath = `${require('os').tmpdir()}/synclock_${md5(escape(Setting.value('profileDir')))}`; // https://github.com/pvorb/node-md5/issues/41
if (!(await fs.pathExists(lockFilePath))) await fs.writeFile(lockFilePath, 'synclock');
try {
if (await Command.isLocked(lockFilePath)) throw new Error(_('Synchronisation is already in progress.'));
@@ -147,22 +147,26 @@ class Command extends BaseCommand {
const syncTarget = reg.syncTarget(this.syncTargetId_);
if (!await syncTarget.isAuthenticated()) {
app().gui().showConsole();
app().gui().maximizeConsole();
if (!(await syncTarget.isAuthenticated())) {
app()
.gui()
.showConsole();
app()
.gui()
.maximizeConsole();
const authDone = await this.doAuth();
if (!authDone) return cleanUp();
}
const sync = await syncTarget.synchronizer();
let options = {
onProgress: (report) => {
onProgress: report => {
let lines = Synchronizer.reportToLines(report);
if (lines.length) cliUtils.redraw(lines.join(' '));
},
onMessage: (msg) => {
onMessage: msg => {
cliUtils.redrawDone();
this.stdout(msg);
},
@@ -174,7 +178,7 @@ class Command extends BaseCommand {
this.stdout(_('Starting synchronisation...'));
const contextKey = 'sync.' + this.syncTargetId_ + '.context';
const contextKey = `sync.${this.syncTargetId_}.context`;
let context = Setting.value(contextKey);
context = context ? JSON.parse(context) : {};
@@ -237,7 +241,6 @@ class Command extends BaseCommand {
cancellable() {
return true;
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -6,7 +6,6 @@ const BaseModel = require('lib/BaseModel.js');
const { time } = require('lib/time-utils.js');
class Command extends BaseCommand {
usage() {
return 'tag <tag-command> [tag] [note]';
}
@@ -16,9 +15,7 @@ class Command extends BaseCommand {
}
options() {
return [
['-l, --long', _('Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, TODO_CHECKED (for to-dos), TITLE')],
];
return [['-l, --long', _('Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, TODO_CHECKED (for to-dos), TITLE')]];
}
async action(args) {
@@ -50,7 +47,7 @@ class Command extends BaseCommand {
} else if (command == 'list') {
if (tag) {
let notes = await Tag.notes(tag.id);
notes.map((note) => {
notes.map(note => {
let line = '';
if (options.long) {
line += BaseModel.shortId(note.id);
@@ -61,7 +58,7 @@ class Command extends BaseCommand {
if (note.is_todo) {
line += '[';
if (note.todo_completed) {
line += 'X';
line += 'X';
} else {
line += ' ';
}
@@ -74,13 +71,14 @@ class Command extends BaseCommand {
});
} else {
let tags = await Tag.all();
tags.map((tag) => { this.stdout(tag.title); });
tags.map(tag => {
this.stdout(tag.title);
});
}
} else {
throw new Error(_('Invalid command: "%s"', command));
}
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -2,12 +2,10 @@ const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const { time } = require('lib/time-utils.js');
class Command extends BaseCommand {
usage() {
return 'todo <todo-command> <note-pattern>';
}
@@ -39,12 +37,11 @@ class Command extends BaseCommand {
}
} else if (action == 'clear') {
toSave.is_todo = 0;
}
}
await Note.save(toSave);
}
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -1,15 +1,9 @@
const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
const Note = require('lib/models/Note.js');
const { time } = require('lib/time-utils.js');
const CommandDone = require('./command-done.js');
class Command extends BaseCommand {
usage() {
return 'undone <note>';
}
@@ -21,7 +15,6 @@ class Command extends BaseCommand {
async action(args) {
await CommandDone.handleAction(this, args, false);
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -2,10 +2,8 @@ const { BaseCommand } = require('./base-command.js');
const { app } = require('./app.js');
const { _ } = require('lib/locale.js');
const BaseModel = require('lib/BaseModel.js');
const Folder = require('lib/models/Folder.js');
class Command extends BaseCommand {
usage() {
return 'use <notebook>';
}
@@ -14,10 +12,6 @@ class Command extends BaseCommand {
return _('Switches to [notebook] - all further operations will happen within this notebook.');
}
autocomplete() {
return { data: autocompleteFolders };
}
compatibleUis() {
return ['cli'];
}
@@ -27,7 +21,6 @@ class Command extends BaseCommand {
if (!folder) throw new Error(_('Cannot find "%s".', args['notebook']));
app().switchCurrentFolder(folder);
}
}
module.exports = Command;
module.exports = Command;

View File

@@ -3,7 +3,6 @@ const Setting = require('lib/models/Setting.js');
const { _ } = require('lib/locale.js');
class Command extends BaseCommand {
usage() {
return 'version';
}
@@ -12,11 +11,10 @@ class Command extends BaseCommand {
return _('Displays version information');
}
async action(args) {
async action() {
const p = require('./package.json');
this.stdout(_('%s %s (%s)', p.name, p.version, Setting.value('env')));
}
}
module.exports = Command;
module.exports = Command;

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,6 @@
const TextWidget = require('tkwidgets/TextWidget.js');
class ConsoleWidget extends TextWidget {
constructor() {
super();
this.lines_ = [];
@@ -16,7 +15,7 @@ class ConsoleWidget extends TextWidget {
}
get lastLine() {
return this.lines_.length ? this.lines_[this.lines_.length-1] : '';
return this.lines_.length ? this.lines_[this.lines_.length - 1] : '';
}
addLine(line) {
@@ -40,13 +39,12 @@ class ConsoleWidget extends TextWidget {
if (this.lines_.length > this.maxLines_) {
this.lines_.splice(0, this.lines_.length - this.maxLines_);
}
this.text = this.lines_.join("\n");
this.text = this.lines_.join('\n');
this.updateText_ = false;
}
super.render();
}
}
module.exports = ConsoleWidget;
module.exports = ConsoleWidget;

View File

@@ -5,7 +5,6 @@ const ListWidget = require('tkwidgets/ListWidget.js');
const _ = require('lib/locale.js')._;
class FolderListWidget extends ListWidget {
constructor() {
super();
@@ -20,19 +19,19 @@ class FolderListWidget extends ListWidget {
this.updateItems_ = false;
this.trimItemTitle = false;
this.itemRenderer = (item) => {
this.itemRenderer = item => {
let output = [];
if (item === '-') {
output.push('-'.repeat(this.innerWidth));
} else if (item.type_ === Folder.modelType()) {
output.push(' '.repeat(this.folderDepth(this.folders, item.id)) + Folder.displayTitle(item));
} else if (item.type_ === Tag.modelType()) {
output.push('[' + Folder.displayTitle(item) + ']');
output.push(`[${Folder.displayTitle(item)}]`);
} else if (item.type_ === BaseModel.TYPE_SEARCH) {
output.push(_('Search:'));
output.push(item.title);
}
return output.join(' ');
};
}
@@ -45,7 +44,6 @@ class FolderListWidget extends ListWidget {
output++;
folderId = folder.parent_id;
}
throw new Error('unreachable');
}
get selectedFolderId() {
@@ -54,7 +52,7 @@ class FolderListWidget extends ListWidget {
set selectedFolderId(v) {
this.selectedFolderId_ = v;
this.updateIndexFromSelectedItemId()
this.updateIndexFromSelectedItemId();
this.invalidate();
}
@@ -64,7 +62,7 @@ class FolderListWidget extends ListWidget {
set selectedSearchId(v) {
this.selectedSearchId_ = v;
this.updateIndexFromSelectedItemId()
this.updateIndexFromSelectedItemId();
this.invalidate();
}
@@ -74,7 +72,7 @@ class FolderListWidget extends ListWidget {
set selectedTagId(v) {
this.selectedTagId_ = v;
this.updateIndexFromSelectedItemId()
this.updateIndexFromSelectedItemId();
this.invalidate();
}
@@ -84,7 +82,7 @@ class FolderListWidget extends ListWidget {
set notesParentType(v) {
this.notesParentType_ = v;
this.updateIndexFromSelectedItemId()
this.updateIndexFromSelectedItemId();
this.invalidate();
}
@@ -95,7 +93,7 @@ class FolderListWidget extends ListWidget {
set searches(v) {
this.searches_ = v;
this.updateItems_ = true;
this.updateIndexFromSelectedItemId()
this.updateIndexFromSelectedItemId();
this.invalidate();
}
@@ -106,7 +104,7 @@ class FolderListWidget extends ListWidget {
set tags(v) {
this.tags_ = v;
this.updateItems_ = true;
this.updateIndexFromSelectedItemId()
this.updateIndexFromSelectedItemId();
this.invalidate();
}
@@ -117,7 +115,7 @@ class FolderListWidget extends ListWidget {
set folders(v) {
this.folders_ = v;
this.updateItems_ = true;
this.updateIndexFromSelectedItemId()
this.updateIndexFromSelectedItemId();
this.invalidate();
}
@@ -128,7 +126,7 @@ class FolderListWidget extends ListWidget {
}
return false;
}
render() {
if (this.updateItems_) {
this.logger().debug('Rebuilding items...', this.notesParentType, this.selectedJoplinItemId, this.selectedSearchId);
@@ -136,7 +134,7 @@ class FolderListWidget extends ListWidget {
const previousParentType = this.notesParentType;
let newItems = [];
const orderFolders = (parentId) => {
const orderFolders = parentId => {
for (let i = 0; i < this.folders.length; i++) {
const f = this.folders[i];
const folderParentId = f.parent_id ? f.parent_id : '';
@@ -145,7 +143,7 @@ class FolderListWidget extends ListWidget {
if (this.folderHasChildren_(this.folders, f.id)) orderFolders(f.id);
}
}
}
};
orderFolders('');
@@ -162,7 +160,7 @@ class FolderListWidget extends ListWidget {
this.items = newItems;
this.notesParentType = previousParentType;
this.updateIndexFromSelectedItemId(wasSelectedItemId)
this.updateIndexFromSelectedItemId(wasSelectedItemId);
this.updateItems_ = false;
}
@@ -174,7 +172,7 @@ class FolderListWidget extends ListWidget {
if (this.notesParentType === 'Folder') return this.selectedFolderId;
if (this.notesParentType === 'Tag') return this.selectedTagId;
if (this.notesParentType === 'Search') return this.selectedSearchId;
throw new Error('Unknown parent type: ' + this.notesParentType);
throw new Error(`Unknown parent type: ${this.notesParentType}`);
}
get selectedJoplinItem() {
@@ -188,7 +186,6 @@ class FolderListWidget extends ListWidget {
const index = this.itemIndexByKey('id', itemId);
this.currentIndex = index >= 0 ? index : 0;
}
}
module.exports = FolderListWidget;
module.exports = FolderListWidget;

View File

@@ -2,17 +2,16 @@ const Note = require('lib/models/Note.js');
const ListWidget = require('tkwidgets/ListWidget.js');
class NoteListWidget extends ListWidget {
constructor() {
super();
this.selectedNoteId_ = 0;
this.updateIndexFromSelectedNoteId_ = false;
this.itemRenderer = (note) => {
this.itemRenderer = note => {
let label = Note.displayTitle(note); // + ' ' + note.id;
if (note.is_todo) {
label = '[' + (note.todo_completed ? 'X' : ' ') + '] ' + label;
label = `[${note.todo_completed ? 'X' : ' '}] ${label}`;
}
return label;
};
@@ -32,7 +31,6 @@ class NoteListWidget extends ListWidget {
super.render();
}
}
module.exports = NoteListWidget;
module.exports = NoteListWidget;

View File

@@ -2,7 +2,6 @@ const Note = require('lib/models/Note.js');
const TextWidget = require('tkwidgets/TextWidget.js');
class NoteMetadataWidget extends TextWidget {
constructor() {
super();
this.noteId_ = 0;
@@ -30,7 +29,6 @@ class NoteMetadataWidget extends TextWidget {
this.text = this.note_ ? await Note.minimalSerializeForDisplay(this.note_) : '';
}
}
}
module.exports = NoteMetadataWidget;
module.exports = NoteMetadataWidget;

View File

@@ -3,7 +3,6 @@ const TextWidget = require('tkwidgets/TextWidget.js');
const { _ } = require('lib/locale.js');
class NoteWidget extends TextWidget {
constructor() {
super();
this.noteId_ = 0;
@@ -44,11 +43,11 @@ class NoteWidget extends TextWidget {
} else if (this.noteId_) {
this.doAsync('loadNote', async () => {
this.note_ = await Note.load(this.noteId_);
if (this.note_ && this.note_.encryption_applied) {
this.text = _('One or more items are currently encrypted and you may need to supply a master password. To do so please type `e2ee decrypt`. If you have already supplied the password, the encrypted items are being decrypted in the background and will be available soon.');
} else {
this.text = this.note_ ? this.note_.title + "\n\n" + this.note_.body : '';
this.text = this.note_ ? `${this.note_.title}\n\n${this.note_.body}` : '';
}
if (this.lastLoadedNoteId_ !== this.noteId_) this.scrollTop = 0;
@@ -59,7 +58,6 @@ class NoteWidget extends TextWidget {
this.scrollTop = 0;
}
}
}
module.exports = NoteWidget;
module.exports = NoteWidget;

View File

@@ -5,7 +5,6 @@ const stripAnsi = require('strip-ansi');
const { handleAutocompletion } = require('../autocompletion.js');
class StatusBarWidget extends BaseWidget {
constructor() {
super();
@@ -75,7 +74,7 @@ class StatusBarWidget extends BaseWidget {
super.render();
const doSaveCursor = !this.promptActive;
if (doSaveCursor) this.term.saveCursor();
this.innerClear();
@@ -85,16 +84,15 @@ class StatusBarWidget extends BaseWidget {
// On Windows, bgBlueBright is fine and looks dark enough (Windows is probably in the wrong though)
// For now, just don't use any colour at all.
//const textStyle = this.promptActive ? (s) => s : chalk.bgBlueBright.white;
//const textStyle = (s) => s;
const textStyle = this.promptActive ? (s) => s : chalk.gray;
// const textStyle = this.promptActive ? (s) => s : chalk.bgBlueBright.white;
// const textStyle = (s) => s;
const textStyle = this.promptActive ? s => s : chalk.gray;
this.term.drawHLine(this.absoluteInnerX, this.absoluteInnerY, this.innerWidth, textStyle(' '));
this.term.moveTo(this.absoluteInnerX, this.absoluteInnerY);
if (this.promptActive) {
this.term.write(textStyle(this.promptState_.promptString));
if (this.inputEventEmitter_) {
@@ -113,8 +111,8 @@ class StatusBarWidget extends BaseWidget {
history: this.history,
default: this.promptState_.initialText,
autoComplete: handleAutocompletion,
autoCompleteHint : true,
autoCompleteMenu : true,
autoCompleteHint: true,
autoCompleteMenu: true,
};
if ('cursorPosition' in this.promptState_) options.cursorPosition = this.promptState_.cursorPosition;
@@ -153,19 +151,15 @@ class StatusBarWidget extends BaseWidget {
// Only callback once everything has been cleaned up and reset
resolveFn(resolveResult);
});
} else {
for (let i = 0; i < this.items_.length; i++) {
const s = this.items_[i].substr(0, this.innerWidth - 1);
this.term.write(textStyle(s));
}
}
if (doSaveCursor) this.term.restoreCursor();
}
}
module.exports = StatusBarWidget;

View File

@@ -1,10 +1,7 @@
const fs = require('fs-extra');
const { wrap } = require('lib/string-utils.js');
const Setting = require('lib/models/Setting.js');
const { fileExtension, basename, dirname } = require('lib/path-utils.js');
const { _, setLocale, languageCode } = require('lib/locale.js');
const { _ } = require('lib/locale.js');
const rootDir = dirname(dirname(__dirname));
const MAX_WIDTH = 78;
const INDENT = ' ';
@@ -16,14 +13,14 @@ function renderTwoColumnData(options, baseIndent, width) {
let option = options[i];
const flag = option[0];
const indent = baseIndent + INDENT + ' '.repeat(optionColWidth + 2);
let r = wrap(option[1], indent, width);
r = r.substr(flag.length + (baseIndent + INDENT).length);
r = baseIndent + INDENT + flag + r;
output.push(r);
}
return output.join("\n");
return output.join('\n');
}
function renderCommandHelp(cmd, width = null) {
@@ -44,7 +41,7 @@ function renderCommandHelp(cmd, width = null) {
}
if (cmd.name() === 'config') {
const renderMetadata = (md) => {
const renderMetadata = md => {
let desc = [];
if (md.label) {
@@ -63,17 +60,17 @@ function renderCommandHelp(cmd, width = null) {
if ('value' in md) {
if (md.type === Setting.TYPE_STRING) {
defaultString = md.value ? '"' + md.value + '"' : null;
defaultString = md.value ? `"${md.value}"` : null;
} else if (md.type === Setting.TYPE_INT) {
defaultString = (md.value ? md.value : 0).toString();
} else if (md.type === Setting.TYPE_BOOL) {
defaultString = (md.value === true ? 'true' : 'false');
defaultString = md.value === true ? 'true' : 'false';
}
}
if (defaultString !== null) desc.push(_('Default: %s', defaultString));
return [md.key, desc.join("\n")];
return [md.key, desc.join('\n')];
};
output.push('');
@@ -83,7 +80,7 @@ function renderCommandHelp(cmd, width = null) {
let keysValues = [];
const keys = Setting.keys(true, 'cli');
for (let i = 0; i < keys.length; i++) {
if (keysValues.length) keysValues.push(['','']);
if (keysValues.length) keysValues.push(['', '']);
const md = Setting.settingMetadata(keys[i]);
if (!md.label) continue;
keysValues.push(renderMetadata(md));
@@ -91,8 +88,8 @@ function renderCommandHelp(cmd, width = null) {
output.push(renderTwoColumnData(keysValues, baseIndent, width));
}
return output.join("\n");
return output.join('\n');
}
function getOptionColWidth(options) {
@@ -104,4 +101,4 @@ function getOptionColWidth(options) {
return output;
}
module.exports = { renderCommandHelp };
module.exports = { renderCommandHelp };

View File

@@ -9,7 +9,7 @@ require('app-module-path').addPath(__dirname);
const compareVersion = require('compare-version');
const nodeVersion = process && process.versions && process.versions.node ? process.versions.node : '0.0.0';
if (compareVersion(nodeVersion, '8.0.0') < 0) {
console.error('Joplin requires Node 8+. Detected version ' + nodeVersion);
console.error(`Joplin requires Node 8+. Detected version ${nodeVersion}`);
process.exit(1);
}
@@ -53,25 +53,25 @@ shimInit();
const application = app();
if (process.platform === "win32") {
var rl = require("readline").createInterface({
if (process.platform === 'win32') {
var rl = require('readline').createInterface({
input: process.stdin,
output: process.stdout
output: process.stdout,
});
rl.on("SIGINT", function () {
process.emit("SIGINT");
rl.on('SIGINT', function() {
process.emit('SIGINT');
});
}
process.stdout.on('error', function( err ) {
process.stdout.on('error', function(err) {
// https://stackoverflow.com/questions/12329816/error-write-epipe-when-piping-node-output-to-head#15884508
if (err.code == "EPIPE") {
if (err.code == 'EPIPE') {
process.exit(0);
}
});
application.start(process.argv).catch((error) => {
application.start(process.argv).catch(error => {
if (error.code == 'flagError') {
console.error(error.message);
console.error(_('Type `joplin help` for usage information.'));
@@ -81,4 +81,4 @@ application.start(process.argv).catch((error) => {
}
process.exit(1);
});
});

View File

@@ -1,13 +1,11 @@
const { _ } = require('lib/locale.js');
const { netUtils } = require('lib/net-utils.js');
const http = require("http");
const urlParser = require("url");
const FormData = require('form-data');
const http = require('http');
const urlParser = require('url');
const enableServerDestroy = require('server-destroy');
class OneDriveApiNodeUtils {
constructor(api) {
this.api_ = api;
this.oauthServer_ = null;
@@ -46,9 +44,9 @@ class OneDriveApiNodeUtils {
const port = await netUtils.findAvailablePort(this.possibleOAuthDancePorts(), 0);
if (!port) throw new Error(_('All potential ports are in use - please report the issue at %s', 'https://github.com/laurent22/joplin'));
let authCodeUrl = this.api().authCodeUrl('http://localhost:' + port);
let authCodeUrl = this.api().authCodeUrl(`http://localhost:${port}`);
return new Promise((resolve, reject) => {
return new Promise((resolve, reject) => {
this.oauthServer_ = http.createServer();
let errorMessage = null;
@@ -56,7 +54,7 @@ class OneDriveApiNodeUtils {
const url = urlParser.parse(request.url, true);
if (url.pathname === '/auth') {
response.writeHead(302, { 'Location': authCodeUrl });
response.writeHead(302, { Location: authCodeUrl });
response.end();
return;
}
@@ -64,10 +62,10 @@ class OneDriveApiNodeUtils {
const query = url.query;
const writeResponse = (code, message) => {
response.writeHead(code, {"Content-Type": "text/html"});
response.writeHead(code, { 'Content-Type': 'text/html' });
response.write(this.makePage(message));
response.end();
}
};
// After the response has been received, don't destroy the server right
// away or the browser might display a connection reset error (even
@@ -77,21 +75,24 @@ class OneDriveApiNodeUtils {
this.oauthServer_.destroy();
this.oauthServer_ = null;
}, 1000);
}
};
if (!query.code) return writeResponse(400, '"code" query parameter is missing');
this.api().execTokenRequest(query.code, 'http://localhost:' + port.toString()).then(() => {
writeResponse(200, _('The application has been authorised - you may now close this browser tab.'));
targetConsole.log('');
targetConsole.log(_('The application has been successfully authorised.'));
waitAndDestroy();
}).catch((error) => {
writeResponse(400, error.message);
targetConsole.log('');
targetConsole.log(error.message);
waitAndDestroy();
});
this.api()
.execTokenRequest(query.code, `http://localhost:${port.toString()}`)
.then(() => {
writeResponse(200, _('The application has been authorised - you may now close this browser tab.'));
targetConsole.log('');
targetConsole.log(_('The application has been successfully authorised.'));
waitAndDestroy();
})
.catch(error => {
writeResponse(400, error.message);
targetConsole.log('');
targetConsole.log(error.message);
waitAndDestroy();
});
});
this.oauthServer_.on('close', () => {
@@ -113,10 +114,9 @@ class OneDriveApiNodeUtils {
targetConsole.log(_('Please open the following URL in your browser to authenticate the application. The application will create a directory in "Apps/Joplin" and will only read and write files in this directory. It will have no access to any files outside this directory nor to any other personal data. No data will be shared with any third party.'));
targetConsole.log('');
targetConsole.log('http://127.0.0.1:' + port + '/auth');
targetConsole.log(`http://127.0.0.1:${port}/auth`);
});
}
}
module.exports = { OneDriveApiNodeUtils };
module.exports = { OneDriveApiNodeUtils };

View File

@@ -5,5 +5,6 @@ BUILD_DIR="$ROOT_DIR/build"
rsync -a --exclude "node_modules/" "$ROOT_DIR/app/" "$BUILD_DIR/"
rsync -a --delete "$ROOT_DIR/../ReactNativeClient/lib/" "$BUILD_DIR/lib/"
rsync -a --delete "$ROOT_DIR/../ReactNativeClient/locales/" "$BUILD_DIR/locales/"
cp "$ROOT_DIR/package.json" "$BUILD_DIR"
chmod 755 "$BUILD_DIR/main.js"

View File

@@ -169,16 +169,6 @@ msgstr "لا يوجد دفتر ملاحظات نشط."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "الملاحظة: \"%s\" غير موجودة. تريد إنشائها؟"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr "بدء تحرير الملاحظة. أغلق المحرر للعودة إلى المحث."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "حدث خطأ أثناء فتح الملاحظة: %s في المحرر"
msgid "Note has been saved."
msgstr "تم حفظ الملاحظة."
msgid "Exits the application."
msgstr "الخروج من التطبيق."
@@ -385,6 +375,23 @@ msgstr "حذف الملاحظة؟"
msgid "Searches for the given <pattern> in all the notes."
msgstr "يبحث عن الـ <pattern> (نمط) المعطى في كل الملاحظات."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -568,53 +575,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "التصدير إلى \"%s\" بتنسيق \"%s\". فضلاً انتظر..."
msgid "Sidebar"
msgstr "الشريط الجانبي"
msgid "Note list"
msgstr "قائمة ملاحظات"
msgid "Note title"
msgstr "عنوان الملاحظة"
msgid "Note body"
msgstr "متن الملاحظة"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "الاستيراد من \"%s\" بتنسيق \"%s\". فضلاً انتظر..."
msgid "PDF File"
msgstr "ملف PDF"
msgid "Synchronisation status"
msgstr "حالة المزامنة"
msgid "New note"
msgstr "ملاحظة جديدة"
msgid "New to-do"
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)"
msgid "&File"
msgstr "&ملف"
@@ -627,6 +587,9 @@ msgstr ""
msgid "Check for updates..."
msgstr "البحث جارٍ عن تحديثات..."
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "استيراد"
@@ -643,6 +606,9 @@ msgstr "أخف %s"
msgid "Quit"
msgstr "إغلاق"
msgid "Close Window"
msgstr ""
msgid "&Edit"
msgstr "ت&حرير"
@@ -667,12 +633,18 @@ msgstr "مائل"
msgid "Link"
msgstr "رابط"
msgid "Code"
msgstr "رمز"
msgid "Insert Date Time"
msgstr "إدراج التاريخ والوقت"
msgid "Edit in external editor"
msgstr "التحرير في محرر خارجي"
msgid "Tags"
msgstr "وسوم"
msgid "Search in all the notes"
msgstr "البحث في كل الملاحظات"
@@ -700,9 +672,16 @@ msgstr "م&ساعدة"
msgid "Website and documentation"
msgstr "موقع الويب و التوثيق"
#, fuzzy
msgid "Joplin Forum"
msgstr "Joplin نسخة %s"
msgid "Make a donation"
msgstr "تبرَّع"
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr "افتح %s"
@@ -805,15 +784,21 @@ msgstr ""
"هذا الرمز المميز للتصريح مطلوب فقط للسماح لتطبيقات طرف ثالث للوصول إلى "
"Joplin."
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "الملاحظات و الإعدادات مخزّنة في: %s"
msgid "Check synchronisation configuration"
msgstr "فحص ضبط المزامنة"
msgid "Browse..."
msgstr "استعراض..."
msgid "Check synchronisation configuration"
msgstr "فحص ضبط المزامنة"
msgid "Back"
msgstr "عودة"
msgid "Apply"
msgstr "تطبيق"
@@ -895,8 +880,8 @@ msgstr ""
"فيما بعد عبر المزامنة."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
"يرجى الرجوع إلى التوثيق للمزيد من المعلومات عن التشفير من الطرف للطرف (E2EE) "
"و طرق تفعيله."
@@ -907,12 +892,18 @@ msgstr "الحالة"
msgid "Encryption is:"
msgstr "التشفير هو:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
msgid "Usage"
msgstr "الاستخدام"
msgid "Back"
msgstr "عودة"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -930,9 +921,6 @@ msgstr "عنوان دفتر الملاحظات:"
msgid "Add or remove tags:"
msgstr "إضافة أو حذف وسوم:"
msgid "Separate each tag by a comma."
msgstr ""
msgid "Rename notebook:"
msgstr "إعادة تسمية دفتر الملاحظات:"
@@ -942,6 +930,18 @@ msgstr "إعادة تسمية الوسم:"
msgid "Set alarm:"
msgstr "ضبط منبّه:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "ملاحظة جديدة"
msgid "New to-do"
msgstr "قائمة جديدة للمهام"
msgid "New notebook"
msgstr "دفتر ملاحظات جديد"
msgid "Layout"
msgstr "تخطيط"
@@ -954,8 +954,9 @@ msgstr "لا يمكن مزامنة بعض العناصر."
msgid "View them now"
msgstr "عرضها الآن"
msgid "Some items cannot be decrypted."
msgstr "لا يمكن فك تشفير بعض العناصر."
#, fuzzy
msgid "One or more master keys need a password."
msgstr "أدخل كلمة المرور الرئيسة:"
msgid "Set the password"
msgstr "ضبط كلمة المرور"
@@ -974,9 +975,36 @@ msgstr "المكان"
msgid "URL"
msgstr "عنوان URL"
#, fuzzy
msgid "Note History"
msgstr "قائمة ملاحظات"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr "خصائص الملاحظة"
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "جرى تعديل هذه الملاحظة:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr "فتح..."
@@ -1010,6 +1038,13 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr "يمكن طباعة ملاحظة واحدة فقط أو تصديرها إلى PDF كل مرة."
msgid "PDF File"
msgstr "ملف PDF"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "حدث خطأ أثناء فتح الملاحظة: %s في المحرر"
msgid "strong text"
msgstr "نص مشدَّد"
@@ -1025,9 +1060,6 @@ msgstr "إدراج ارتباط تشعبي"
msgid "Attach file"
msgstr "إرفاق ملف"
msgid "Tags"
msgstr "وسوم"
msgid "Set alarm"
msgstr "ضبط منبّه"
@@ -1038,9 +1070,6 @@ msgstr "في: %s"
msgid "Hyperlink"
msgstr "ارتباط تشعبي"
msgid "Code"
msgstr "رمز"
msgid "Numbered List"
msgstr "قائمة مرقّمة"
@@ -1090,12 +1119,6 @@ msgstr "خيارات"
msgid "Synchronisation Status"
msgstr "حالة المزامنة"
msgid "Encryption Options"
msgstr "خيارات التشفير"
msgid "Clipper Options"
msgstr "خيارات Clipper"
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1127,12 +1150,15 @@ msgid "Decrypting items: %d/%d"
msgstr "فك تشفير العناصر: %d/%d"
#, javascript-format
msgid "Fetching resources: %d"
msgstr "جلب الموارد: %d"
msgid "Fetching resources: %d/%d"
msgstr "جلب الموارد: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr "فضلاً اختر أين سيتم تصدير حالة المزامنة"
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "إضافة أو حذف وسوم"
@@ -1328,6 +1354,58 @@ msgstr ""
"تنبيه: إذا غيرت هذا المكان ، تأكد من نسخ كافة المحتويات لديك إليه قبل البدء "
"بالمزامنة ، وإلا فسيتم حذف كل الملفات! أنظر الأسئلة المتكررة لتفاصيل أكثر: %s"
msgid "Synchronisation target"
msgstr "وجهة المزامنة"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"الوجهة المستهدفة المزامنة إليها. كل وجهة مزامنة مستهدفة قد يكون لها معلمات "
"إضافية تكون مسماة بـ `sync.NUM.NAME` (جميعها موثقة أدناه)."
msgid "Directory to synchronise with (absolute path)"
msgstr "الدليل الذي تتم المزامنة معه (المسار المطلق)"
msgid "Nextcloud WebDAV URL"
msgstr "عنوان URL لـ Nextcloud WebDAV"
msgid "Nextcloud username"
msgstr "اسم مستخدم Nextcloud"
msgid "Nextcloud password"
msgstr "كلمة مرور Nextcloud"
msgid "WebDAV URL"
msgstr "عنوان URL لـ WebDAV"
msgid "WebDAV username"
msgstr "اسم مستخدم WebDAV"
msgid "WebDAV password"
msgstr "كلمة مرور WebDAV"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "اللغة"
@@ -1346,6 +1424,12 @@ msgstr "فاتحة"
msgid "Dark"
msgstr "غامقة"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr "قوائم المهام غير المكتملة في الأعلى"
@@ -1414,6 +1498,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr "إظهار أيقونة لوحة النظام"
@@ -1437,6 +1524,10 @@ msgstr "نسبة التكبير العمومية"
msgid "Editor font size"
msgstr "حجم خط المحرّر"
#, fuzzy
msgid "Editor font"
msgstr "حجم خط المحرّر"
msgid "Editor font family"
msgstr "نوع خط المحرّر"
@@ -1482,40 +1573,6 @@ msgstr ""
"أمر محرر النصوص (قد يتضمن معامِلات) الذي سيستخدم لفتح ملاحظة. إذا لم يجر "
"التزويد بأي محرر فسيحاول التطبيق اكتشاف المحرِّر التلقائي آلياً."
msgid "Show advanced options"
msgstr "إظهار خيارات متقدمة"
msgid "Synchronisation target"
msgstr "وجهة المزامنة"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"الوجهة المستهدفة المزامنة إليها. كل وجهة مزامنة مستهدفة قد يكون لها معلمات "
"إضافية تكون مسماة بـ `sync.NUM.NAME` (جميعها موثقة أدناه)."
msgid "Directory to synchronise with (absolute path)"
msgstr "الدليل الذي تتم المزامنة معه (المسار المطلق)"
msgid "Nextcloud WebDAV URL"
msgstr "عنوان URL لـ Nextcloud WebDAV"
msgid "Nextcloud username"
msgstr "اسم مستخدم Nextcloud"
msgid "Nextcloud password"
msgstr "كلمة مرور Nextcloud"
msgid "WebDAV URL"
msgstr "عنوان URL لـ WebDAV"
msgid "WebDAV username"
msgstr "اسم مستخدم WebDAV"
msgid "WebDAV password"
msgstr "كلمة مرور WebDAV"
msgid "Custom TLS certificates"
msgstr "شهادات TLS خاصة"
@@ -1533,6 +1590,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "تجاهل أخطاء شهادات TLS"
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "تفعيل التشفير"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "قيمة خيار غير صحيحة: \"%s\". القيم الممكنة هي: %s."
@@ -1555,6 +1636,14 @@ msgstr ""
msgid "Application"
msgstr "التطبيق"
#, fuzzy
msgid "Encryption"
msgstr "التشفير هو:"
#, fuzzy
msgid "Web Clipper"
msgstr "خيارات Web clipper"
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr "الوسم \"%s\" موجود بالفعل. فضلاً إختر اسماً مختلفاً."
@@ -1568,7 +1657,12 @@ msgstr "تنسيق Markdown"
msgid "Joplin Export Directory"
msgstr "دليل تصدير بيانات Joplin"
msgid "Evernote Export File"
#, fuzzy
msgid "Evernote Export File (as Markdown)"
msgstr "ملف Evernote المصدَّر"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "ملف Evernote المصدَّر"
msgid "Json Export Directory"
@@ -1602,13 +1696,12 @@ msgstr "لا يوجد بيانات للتصدير."
msgid "Please specify the notebook where the notes should be imported to."
msgstr "فضلاً حدّد دفتر الملاحظات الذي ترغب استيراد الملاحظات إليه."
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "العناصر التي لا يمكن مزامنتها"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1618,6 +1711,24 @@ msgstr ""
"تجد هذه العناصر ، عليك إما البحث عن العنوان أو المعرِّف (وهو معروض أعلاه بين "
"قوسين)."
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "لم نتمكن من فتح هذا الملف: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "لم نتمكن من فتح هذا الملف: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "العناصر التي لا يمكن مزامنتها"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "حالة المزامنة (العناصر المنجزة / إجمالي العناصر)"
@@ -1657,24 +1768,20 @@ msgstr "الإذن باستخدام الكاميرا"
msgid "Your permission to use your camera is required."
msgstr "إذنك باستخدام كاميرا الجوال مطلوب."
#, fuzzy
msgid "You currently have no notebooks."
msgstr "لا يوجد دفتر ملاحظات نشط."
#, fuzzy
msgid "Create a notebook"
msgstr "ينشئ دفتر ملاحظات جديد."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "لا توجد ملاحظات حالياً. أنشئ واحدة بالضغط على زر (+)."
msgid "Delete these notes?"
msgstr "حذف هذه الملاحظات؟"
msgid "Log"
msgstr "السجل"
msgid "Export Debug Report"
msgstr "تصدير تقرير إصلاح الأخطاء"
msgid "Encryption Config"
msgstr "ضبط التشفير"
msgid "Configuration"
msgstr "الضبط"
msgid "Move to notebook..."
msgstr "النقل إلى دفتر ملاحظات..."
@@ -1697,8 +1804,24 @@ msgstr "إختر التاريخ"
msgid "Confirm"
msgstr "تأكيد"
msgid "Cancel synchronisation"
msgstr "إلغاء المزامنة"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "دفاتر ملاحظات"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "لا يمكن تعديل العناصر المشفَّرة"
#, fuzzy
msgid "New Notebook"
msgstr "دفتر ملاحظات جديد"
msgid "Configuration"
msgstr "الضبط"
#, fuzzy
msgid "All notes"
msgstr "ملاحظة"
msgid "Checking... Please wait."
msgstr "التحقق جارٍ... فضلاً انتظر."
@@ -1738,6 +1861,50 @@ msgstr "وسوم جديدة:"
msgid "Type new tags or select from list"
msgstr "أكتب وسوماً جديدة أو اخترها من القائمة"
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "ضبط التشفير"
#, fuzzy
msgid "Tools"
msgstr "&أدوات"
#, fuzzy
msgid "Sync Status"
msgstr "الحالة"
msgid "Log"
msgstr "السجل"
#, fuzzy
msgid "Creating report..."
msgstr "إنشاء %s جديد ..."
msgid "Export Debug Report"
msgstr "تصدير تقرير إصلاح الأخطاء"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "الضبط"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1798,6 +1965,10 @@ msgstr "لم يتم حفظ دفتر الملاحظات: %s"
msgid "Edit notebook"
msgstr "تحرير دفتر الملاحظات"
#, fuzzy
msgid "Enter notebook title"
msgstr "عنوان دفتر الملاحظات:"
msgid "Show all"
msgstr "إظهار الكل"
@@ -1821,10 +1992,32 @@ msgstr "لا يوجد عنصر بالمعرّف %s"
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "تطبيق Joplin على الهاتف الجوال لا يدعم حالياً هذا النوع من الربط : %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "نوع صورة غير مدعوم: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "تم تحديثها: %d."
msgid "View on map"
msgstr "عرض على الخريطة"
msgid "Go to source URL"
msgstr "الذهاب إلى عنوان URL المصدر"
#, fuzzy
msgid "Attach..."
msgstr "بحث..."
#, fuzzy
msgid "Choose an option"
msgstr "إظهار خيارات متقدمة"
msgid "Take photo"
msgstr "التقاط صورة"
@@ -1843,23 +2036,19 @@ msgstr "تحويل إلى ملاحظة"
msgid "Convert to todo"
msgstr "تحويل إلى قائمة مهام"
msgid "Hide metadata"
msgstr "إخفاء البيانات الوصفية"
#, fuzzy
msgid "Properties"
msgstr "خصائص الملاحظة"
msgid "Show metadata"
msgstr "إظهار البيانات الوصفية"
msgid "View on map"
msgstr "عرض على الخريطة"
msgid "Go to source URL"
msgstr "الذهاب إلى عنوان URL المصدر"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "تحرير"
msgid "Delete notebook"
msgstr "حذف دفتر الملاحظات"
#, fuzzy
msgid "Add title"
msgstr "العنوان"
msgid "Login with OneDrive"
msgstr "تسجيل الدخول عبر OneDrive"
@@ -1867,22 +2056,99 @@ msgstr "تسجيل الدخول عبر OneDrive"
msgid "Search"
msgstr "بحث"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"اضغط على زر (+) لتنشئ ملاحظة أو دفتر ملاحظات جديداً. اضغط على القائمة "
"الجانبية للوصول إلى دفاتر ملاحظاتك القائمة."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr "بدء تحرير الملاحظة. أغلق المحرر للعودة إلى المحث."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "ليس لديك دفاتر ملاحظات حالياً. أنشئ واحدة بالضغط على زر (+)."
#~ msgid "Note has been saved."
#~ msgstr "تم حفظ الملاحظة."
msgid "Welcome"
msgstr "مرحباً"
#~ msgid "Sidebar"
#~ msgstr "الشريط الجانبي"
#~ msgid "Note list"
#~ msgstr "قائمة ملاحظات"
#~ msgid "Note title"
#~ msgstr "عنوان الملاحظة"
#~ msgid "Note body"
#~ msgstr "متن الملاحظة"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "الاستيراد من \"%s\" بتنسيق \"%s\". فضلاً انتظر..."
#~ msgid "Synchronisation status"
#~ msgstr "حالة المزامنة"
#~ msgid "Print"
#~ msgstr "اطبع"
#~ msgid "General Options"
#~ msgstr "الخيارات العامة"
#~ msgid "Encryption options"
#~ msgstr "خيارات التشفير"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "جرى تعديل هذه الملاحظة:"
#~ msgid "Insert template"
#~ msgstr "إدراج التاريخ والوقت"
#, fuzzy
#~ msgid "Open template directory"
#~ msgstr "دليل تصدير بيانات Joplin"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "خيارات التشفير"
#~ msgid "Clipper Options"
#~ msgstr "خيارات Clipper"
#, fuzzy
#~ msgid "Information"
#~ msgstr "الضبط"
#, fuzzy
#~ msgid "Permission to write to external storage"
#~ msgstr "الإذن باستخدام الكاميرا"
#~ msgid "Cancel synchronisation"
#~ msgstr "إلغاء المزامنة"
#~ msgid "Hide metadata"
#~ msgstr "إخفاء البيانات الوصفية"
#~ msgid "Show metadata"
#~ msgstr "إظهار البيانات الوصفية"
#~ msgid "Delete notebook"
#~ msgstr "حذف دفتر الملاحظات"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "اضغط على زر (+) لتنشئ ملاحظة أو دفتر ملاحظات جديداً. اضغط على القائمة "
#~ "الجانبية للوصول إلى دفاتر ملاحظاتك القائمة."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr "ليس لديك دفاتر ملاحظات حالياً. أنشئ واحدة بالضغط على زر (+)."
#~ msgid "Welcome"
#~ msgstr "مرحباً"
#~ msgid "Some items cannot be decrypted."
#~ msgstr "لا يمكن فك تشفير بعض العناصر."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1893,6 +2159,3 @@ msgstr "مرحباً"
#~ msgid "Remove?"
#~ msgstr "إزالة ؟"
#~ msgid "Joplin v%s"
#~ msgstr "Joplin نسخة %s"

2199
CliClient/locales/bg_BG.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -15,8 +15,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
msgid "To delete a tag, untag the associated notes."
msgstr "Pro smazání tagu jej odeberte od přiřazených poznámek."
@@ -176,17 +174,6 @@ msgstr "Není vybrán žádný zápisník."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Poznámka \"%s\" neexistuje. Chcete ji vytvořit?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Začínám s úpravou poznámky. Pro návrat do příkazové řádky ukončete editor."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Chyba při otevírání poznámky v editoru: %s"
msgid "Note has been saved."
msgstr "Poznámka uložena."
msgid "Exits the application."
msgstr "Ukončí aplikaci."
@@ -387,6 +374,23 @@ msgstr "Smazat poznámku?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Hledá <zadání> ve všech poznámkách."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -576,54 +580,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Exportuji do \"%s\" jako formát \"%s\". Chvíli strpení..."
msgid "Sidebar"
msgstr "Postranní lišta"
msgid "Note list"
msgstr "Seznam položek"
msgid "Note title"
msgstr "Název zápisníku"
#, fuzzy
msgid "Note body"
msgstr "Zápisník"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "Importuji z \"%s\" jako formát \"%s\". Chvíli strpení..."
msgid "PDF File"
msgstr "PDF soubor"
msgid "Synchronisation status"
msgstr "Stav synchronizace"
msgid "New note"
msgstr "Nová poznámka"
msgid "New to-do"
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 "Web clipper volby"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
#, fuzzy
msgid "&File"
msgstr "Soubor"
@@ -637,6 +593,9 @@ msgstr "Nastavení..."
msgid "Check for updates..."
msgstr "Zkontrolovat updaty..."
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "Import"
@@ -653,6 +612,9 @@ msgstr "Schovat %s"
msgid "Quit"
msgstr "Ukončit"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Upravit"
@@ -678,12 +640,18 @@ msgstr "Kurzíva"
msgid "Link"
msgstr "Odkaz"
msgid "Code"
msgstr "Kód"
msgid "Insert Date Time"
msgstr "Vložit datum a čas"
msgid "Edit in external editor"
msgstr "Upravit externím editorem"
msgid "Tags"
msgstr "Tagy"
msgid "Search in all the notes"
msgstr "Hledat ve všech poznámkách"
@@ -715,9 +683,16 @@ msgstr "Nápověda"
msgid "Website and documentation"
msgstr "Web a dokumentace"
#, fuzzy
msgid "Joplin Forum"
msgstr "Web Joplinu"
msgid "Make a donation"
msgstr "Přispět"
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr "Otevřít %s"
@@ -823,15 +798,21 @@ msgstr ""
"Tento autorizační token je potřeba pouze pro povolení komunikace Joplin s "
"aplikacemi třetích stran."
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Poznámky a nastavení uloženo v: %s"
msgid "Check synchronisation configuration"
msgstr "Zkontrolujte nastavení synchronizace"
msgid "Browse..."
msgstr "Procházet..."
msgid "Check synchronisation configuration"
msgstr "Zkontrolujte nastavení synchronizace"
msgid "Back"
msgstr "Zpět"
msgid "Apply"
msgstr "Použít"
@@ -912,8 +893,8 @@ msgstr ""
"staženy při synchronizaci."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
"Pro více informací o End-To-End šifrování (E2EE) a návod jak je povolit "
"náhledněte do dokumentace:"
@@ -924,12 +905,18 @@ msgstr "Status"
msgid "Encryption is:"
msgstr "Šifrování je:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
msgid "Usage"
msgstr "Použití: %s"
msgid "Back"
msgstr "Zpět"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -947,9 +934,6 @@ msgstr "Název zápisníku:"
msgid "Add or remove tags:"
msgstr "Přidat či odebrat tagy:"
msgid "Separate each tag by a comma."
msgstr "Tagy oddělujte čárkami."
msgid "Rename notebook:"
msgstr "Přejmenovat zápisník:"
@@ -959,6 +943,18 @@ msgstr "Přejmenovat tag:"
msgid "Set alarm:"
msgstr "Nastavit alarm:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Nová poznámka"
msgid "New to-do"
msgstr "Nové to-do"
msgid "New notebook"
msgstr "Nový zápisník"
msgid "Layout"
msgstr "Layout"
@@ -971,8 +967,9 @@ msgstr "Některé položky nelze synchronizovat."
msgid "View them now"
msgstr "Zobrazit"
msgid "Some items cannot be decrypted."
msgstr "Některé položky nelze rozšifrovat."
#, fuzzy
msgid "One or more master keys need a password."
msgstr "Zadejte master heslo:"
msgid "Set the password"
msgstr "Nastavit heslo"
@@ -990,9 +987,36 @@ msgstr "Lokace"
msgid "URL"
msgstr "URL"
#, fuzzy
msgid "Note History"
msgstr "Seznam položek"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr "Nastavení poznámek"
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Poznámka byla upravena:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr "Otevřít..."
@@ -1026,6 +1050,13 @@ msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
"Pouze jedna poznámka může být zároveň vytištěna nebo exportována do PDF."
msgid "PDF File"
msgstr "PDF soubor"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Chyba při otevírání poznámky v editoru: %s"
msgid "strong text"
msgstr "tučný text"
@@ -1041,9 +1072,6 @@ msgstr "Vložit odkaz"
msgid "Attach file"
msgstr "Přiložit soubor"
msgid "Tags"
msgstr "Tagy"
msgid "Set alarm"
msgstr "Nastavit alarm"
@@ -1054,9 +1082,6 @@ msgstr "%s: %s"
msgid "Hyperlink"
msgstr "Odkaz"
msgid "Code"
msgstr "Kód"
msgid "Numbered List"
msgstr "Číslovanáý seznam"
@@ -1107,13 +1132,6 @@ msgstr "Nastavení"
msgid "Synchronisation Status"
msgstr "Stav synchronizace"
msgid "Encryption Options"
msgstr "Nastavení šifrování"
#, fuzzy
msgid "Clipper Options"
msgstr "Obecná nastavení"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1142,12 +1160,15 @@ msgid "Decrypting items: %d/%d"
msgstr "Rozšifrované položky: %d/%d"
#, javascript-format
msgid "Fetching resources: %d"
msgstr "Stahování zdrojů: %d"
msgid "Fetching resources: %d/%d"
msgstr "Stahování zdrojů: %d/%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 "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "Přidat či odebrat tagy"
@@ -1349,6 +1370,58 @@ msgstr ""
"jste do něj zkopírovali veškerý obsah, jinak budou všechny soubory "
"odstraněny! Další podrobnosti naleznete v FAQ: % s"
msgid "Synchronisation target"
msgstr "Cíl synchronizace"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Cíl synchronizace. Každý cíl může mít další parametry ve formátu `sync.NUM."
"NAME` (dokumentace níže)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Složka k synchronizaci (absolutní cesta)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud uživatelské jméno"
msgid "Nextcloud password"
msgstr "Nextcloud heslo"
msgid "WebDAV URL"
msgstr "WebDAV URL"
msgid "WebDAV username"
msgstr "WebDAV uživatelské jméno"
msgid "WebDAV password"
msgstr "WebDAV heslo"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Jazyk"
@@ -1367,6 +1440,12 @@ msgstr "Světlý"
msgid "Dark"
msgstr "Tmavý"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr "Nedokončené to-do listy nahoře"
@@ -1433,6 +1512,10 @@ msgstr "Povolit ++insert++ syntaxi"
msgid "Enable multimarkdown table extension"
msgstr "Povolit rozšíření multimarkdown tabulky"
#, fuzzy
msgid "Enable Fountain syntax support"
msgstr "Povolit ~sub~ syntaxi"
msgid "Show tray icon"
msgstr "Zobrazovat ikonu v panelu"
@@ -1456,6 +1539,10 @@ msgstr "Globální zoom"
msgid "Editor font size"
msgstr "Rodina písma v editoru"
#, fuzzy
msgid "Editor font"
msgstr "Rodina písma v editoru"
msgid "Editor font family"
msgstr "Rodina písma v editoru"
@@ -1502,40 +1589,6 @@ msgstr ""
"Editor ve kterém budou otvírány poznámky. Pokud není specifikováno, aplikace "
"se pokusí o autodetekci defaultního editoru."
msgid "Show advanced options"
msgstr "Ukázat pokročilé volby"
msgid "Synchronisation target"
msgstr "Cíl synchronizace"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Cíl synchronizace. Každý cíl může mít další parametry ve formátu `sync.NUM."
"NAME` (dokumentace níže)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Složka k synchronizaci (absolutní cesta)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud uživatelské jméno"
msgid "Nextcloud password"
msgstr "Nextcloud heslo"
msgid "WebDAV URL"
msgstr "WebDAV URL"
msgid "WebDAV username"
msgstr "WebDAV uživatelské jméno"
msgid "WebDAV password"
msgstr "WebDAV heslo"
msgid "Custom TLS certificates"
msgstr "Vlastní TLS certifikát"
@@ -1553,6 +1606,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "Ignorovat chyby TLS certifikátu"
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Povolit poznámky pod čarou"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Neplatná hodnota: \"%s\". Přípustné hodnoty jsou: %s."
@@ -1575,6 +1652,14 @@ msgstr "Rozšíření"
msgid "Application"
msgstr "Aplikace"
#, fuzzy
msgid "Encryption"
msgstr "Šifrování je:"
#, fuzzy
msgid "Web Clipper"
msgstr "Web clipper volby"
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr "Tag \"%s\" již existuje. Zvolte jiný název."
@@ -1588,7 +1673,12 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr "Složka pro export"
msgid "Evernote Export File"
#, fuzzy
msgid "Evernote Export File (as Markdown)"
msgstr "Soubor Evernote Exportu"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Soubor Evernote Exportu"
msgid "Json Export Directory"
@@ -1622,13 +1712,12 @@ msgstr "Nic k exportování."
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Prosím specifikujte sešit, do kterého mají být poznámky importovány."
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Položky jež nelze synchronizovat"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1638,6 +1727,24 @@ msgstr ""
"synchronizace. Pro přístup k těmto souborům hledejte jejich název nebo ID (v "
"hranatých závorkách)."
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Soubor se nepodařilo otevřít: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Soubor se nepodařilo otevřít: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Položky jež nelze synchronizovat"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "Stav synchronizace (synchronizováno / celkem)"
@@ -1677,24 +1784,20 @@ msgstr "Oprávnění použít kameru"
msgid "Your permission to use your camera is required."
msgstr "Je vyžadováno oprávnění použít vaši kameru."
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Není vybrán žádný zápisník."
#, fuzzy
msgid "Create a notebook"
msgstr "Vytvoří nový zápisník."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "Nemáte žádné poznámky. Vytvořte jednu kliknutím na tlačítko (+)."
msgid "Delete these notes?"
msgstr "Smazat tyto poznámky?"
msgid "Log"
msgstr "Log"
msgid "Export Debug Report"
msgstr "Exportovat Debug Report"
msgid "Encryption Config"
msgstr "Nastavení šifrování"
msgid "Configuration"
msgstr "Nastavení"
msgid "Move to notebook..."
msgstr "Přesunout do zápisníku..."
@@ -1717,8 +1820,24 @@ msgstr "Vybrat datum"
msgid "Confirm"
msgstr "Potvrdit"
msgid "Cancel synchronisation"
msgstr "Zrušit synchronizaci"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Zápisníky"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Nelze editovat zašifrovanou položku"
#, fuzzy
msgid "New Notebook"
msgstr "Nový zápisník"
msgid "Configuration"
msgstr "Nastavení"
#, fuzzy
msgid "All notes"
msgstr "poznámka"
#, fuzzy
msgid "Checking... Please wait."
@@ -1761,6 +1880,50 @@ msgstr "Nové tagy:"
msgid "Type new tags or select from list"
msgstr "Zadejte nové tagy, nebo vyberte existující ze seznamu"
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "Nastavení šifrování"
#, fuzzy
msgid "Tools"
msgstr "Nástroje"
#, fuzzy
msgid "Sync Status"
msgstr "Status"
msgid "Log"
msgstr "Log"
#, fuzzy
msgid "Creating report..."
msgstr "Vytvářím %s..."
msgid "Export Debug Report"
msgstr "Exportovat Debug Report"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Nastavení"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1823,6 +1986,10 @@ msgstr "Nebylo možné uložit zápisník: %s"
msgid "Edit notebook"
msgstr "Upravit zápisník"
#, fuzzy
msgid "Enter notebook title"
msgstr "Název zápisníku:"
msgid "Show all"
msgstr "Zobrazit vše"
@@ -1846,10 +2013,32 @@ msgstr "Nenalezena položka s ID %s"
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "Mobilní aplikace Joplin aktuálně nepodporuje tento typ odkazu:% s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Nepodporovaný formát obrázku: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Upraveno: %d."
msgid "View on map"
msgstr "Zobrazit na map+"
msgid "Go to source URL"
msgstr "Jít na zdrojovou URL"
#, fuzzy
msgid "Attach..."
msgstr "Hledat..."
#, fuzzy
msgid "Choose an option"
msgstr "Ukázat pokročilé volby"
msgid "Take photo"
msgstr "Přiložit foto"
@@ -1868,23 +2057,19 @@ msgstr "Konvertovat na poznámku"
msgid "Convert to todo"
msgstr "Konvertovat na todo"
msgid "Hide metadata"
msgstr "Schovat metadata"
#, fuzzy
msgid "Properties"
msgstr "Nastavení poznámek"
msgid "Show metadata"
msgstr "Zobrazit metadata"
msgid "View on map"
msgstr "Zobrazit na map+"
msgid "Go to source URL"
msgstr "Jít na zdrojovou URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Upravit"
msgid "Delete notebook"
msgstr "Smazat zápisník"
#, fuzzy
msgid "Add title"
msgstr "bez názvu"
msgid "Login with OneDrive"
msgstr "Přihlásit se pomocí OneDrive"
@@ -1892,22 +2077,105 @@ msgstr "Přihlásit se pomocí OneDrive"
msgid "Search"
msgstr "Hledání"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Vytvořte novou poznámku či zápisník kliknutím na tlačítko (+). Pro přístup k "
"existujícím zápisníkům použijte postranní menu."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr ""
#~ "Začínám s úpravou poznámky. Pro návrat do příkazové řádky ukončete editor."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "Nemáte žádný zápisník. Vytvořte jeden kliknutím na tlačítko (+)."
#~ msgid "Note has been saved."
#~ msgstr "Poznámka uložena."
msgid "Welcome"
msgstr "Vítejte"
#~ msgid "Sidebar"
#~ msgstr "Postranní lišta"
#~ msgid "Note list"
#~ msgstr "Seznam položek"
#~ msgid "Note title"
#~ msgstr "Název zápisníku"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Poznámka byla upravena:"
#~ msgid "Note body"
#~ msgstr "Zápisník"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "Importuji z \"%s\" jako formát \"%s\". Chvíli strpení..."
#~ msgid "Synchronisation status"
#~ msgstr "Stav synchronizace"
#~ msgid "Print"
#~ msgstr "Tisk"
#~ msgid "General Options"
#~ msgstr "Obecná nastavení"
#~ msgid "Encryption options"
#~ msgstr "Nastavení šifrování"
#, fuzzy
#~ msgid "Insert template"
#~ msgstr "Vložit datum a čas"
#, fuzzy
#~ msgid "Open template directory"
#~ msgstr "Složka pro export"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Nastavení šifrování"
#, fuzzy
#~ msgid "Clipper Options"
#~ msgstr "Obecná nastavení"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Nastavení"
#, fuzzy
#~ msgid "Permission to write to external storage"
#~ msgstr "Oprávnění použít kameru"
#~ msgid "Cancel synchronisation"
#~ msgstr "Zrušit synchronizaci"
#~ msgid "Hide metadata"
#~ msgstr "Schovat metadata"
#~ msgid "Show metadata"
#~ msgstr "Zobrazit metadata"
#~ msgid "Delete notebook"
#~ msgstr "Smazat zápisník"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Vytvořte novou poznámku či zápisník kliknutím na tlačítko (+). Pro "
#~ "přístup k existujícím zápisníkům použijte postranní menu."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr "Nemáte žádný zápisník. Vytvořte jeden kliknutím na tlačítko (+)."
#~ msgid "Welcome"
#~ msgstr "Vítejte"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Tagy oddělujte čárkami."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Některé položky nelze rozšifrovat."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1916,10 +2184,6 @@ msgstr "Vítejte"
#~ "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"
#~ msgid "State: %s."
#~ msgstr "Stav: %s."

View File

@@ -174,18 +174,6 @@ msgstr "Ingen aktiv notesbog."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Note eksisterer ikke: \"%s\". Skal den oprettes?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Noteredigering startet. Luk redigering for at komme tilbage til kommando "
"prompten."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Fejl ved åbning af note i editor: %s"
msgid "Note has been saved."
msgstr "Note gemt."
msgid "Exits the application."
msgstr "Forlad/luk program."
@@ -390,6 +378,23 @@ msgstr "Slet note?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Søger efter <pattern> mønster i alle noter."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -577,55 +582,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Eksporterer til \"%s\" som \"%s\"-format. Vent venligst..."
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
#, fuzzy
msgid "Note title"
msgstr "Notesbogs titel:"
#, fuzzy
msgid "Note body"
msgstr "Notesbøger"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "Importerer fra \"%s\" som \"%s\"-format. Vent venligst..."
msgid "PDF File"
msgstr "PDF fil"
msgid "Synchronisation status"
msgstr "Synkroniserings status"
msgid "New note"
msgstr "Ny note"
msgid "New to-do"
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"
@@ -639,6 +595,9 @@ msgstr ""
msgid "Check for updates..."
msgstr "Checker om der er opdateringer.."
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "Importer"
@@ -655,6 +614,9 @@ msgstr "Skjul %s"
msgid "Quit"
msgstr "Afslut"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Ret"
@@ -681,12 +643,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Tags"
msgstr "Mærker"
msgid "Search in all the notes"
msgstr "Søg i alle noter"
@@ -719,9 +687,16 @@ msgstr "Hjælp"
msgid "Website and documentation"
msgstr "Joplins hjemmeside og dokumentation"
#, fuzzy
msgid "Joplin Forum"
msgstr "Joplin hjemmeside"
msgid "Make a donation"
msgstr "Giv en donation"
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr "Åben %s"
@@ -820,15 +795,21 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Noter og indstillinger er gemt i: %s"
msgid "Check synchronisation configuration"
msgstr "Check synkroniserings Indstillinger"
msgid "Browse..."
msgstr ""
msgid "Check synchronisation configuration"
msgstr "Check synkroniserings Indstillinger"
msgid "Back"
msgstr "Tilbage"
msgid "Apply"
msgstr ""
@@ -911,8 +892,8 @@ msgstr ""
"(på et eller andet tidspunkt) via synkroniseringen."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
"Se dokumentationen for nærmere oplysninger om End-To-End-kryptering (E2EE) "
"og vejledning om hvordan det skal opsættes_"
@@ -923,13 +904,19 @@ msgstr "Status"
msgid "Encryption is:"
msgstr "Kryptering er:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
#, fuzzy
msgid "Usage"
msgstr "Forbrug: %s"
msgid "Back"
msgstr "Tilbage"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -947,9 +934,6 @@ msgstr "Notesbogs titel:"
msgid "Add or remove tags:"
msgstr "Tilføj eller slet mærker:"
msgid "Separate each tag by a comma."
msgstr "Adskil hver mærke med komma."
msgid "Rename notebook:"
msgstr "Omdøb notesbog:"
@@ -960,6 +944,18 @@ msgstr "Omdøb"
msgid "Set alarm:"
msgstr "Indstil alarm:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Ny note"
msgid "New to-do"
msgstr "Ny opgave"
msgid "New notebook"
msgstr "Ny notesbog"
msgid "Layout"
msgstr "Layout"
@@ -973,8 +969,9 @@ msgstr "Nogle emner kan ikke synkroniseres."
msgid "View them now"
msgstr "Vis dem nu"
msgid "Some items cannot be decrypted."
msgstr "Nogle emner kan ikke krypteres."
#, fuzzy
msgid "One or more master keys need a password."
msgstr "Indtast Hoved kodeord:"
msgid "Set the password"
msgstr "Indstil kodeord"
@@ -992,9 +989,36 @@ msgstr ""
msgid "URL"
msgstr ""
#, fuzzy
msgid "Note History"
msgstr "Notesbøger"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Denne note er ændret:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr "Åben..."
@@ -1027,6 +1051,13 @@ msgstr "Denne note er tom. Klik på \"%s\" for at starte editor og rette noten."
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
msgid "PDF File"
msgstr "PDF fil"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Fejl ved åbning af note i editor: %s"
msgid "strong text"
msgstr ""
@@ -1042,9 +1073,6 @@ msgstr ""
msgid "Attach file"
msgstr "Vedhæft fil"
msgid "Tags"
msgstr "Mærker"
msgid "Set alarm"
msgstr "Indstil alarm"
@@ -1055,9 +1083,6 @@ msgstr "%s: %s"
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
@@ -1108,13 +1133,6 @@ msgstr "Muligheder"
msgid "Synchronisation Status"
msgstr "Synkroniserings status"
msgid "Encryption Options"
msgstr "Krypterings indstillinger"
#, fuzzy
msgid "Clipper Options"
msgstr "Generelle indstillinger"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1140,15 +1158,18 @@ msgstr "Notesbøger"
#, fuzzy, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Hentede emner: %d/%d."
msgstr "Hentede emner: %d/%d"
#, fuzzy, javascript-format
msgid "Fetching resources: %d"
msgstr "Ressourcer: %d."
msgid "Fetching resources: %d/%d"
msgstr "Ressourcer: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr "Vælg hvor sync status skal eksporteres til"
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "Tilføj eller slet mærker"
@@ -1350,6 +1371,58 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr "Synkroniserings mål"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Synkroniserings mål. Hver synk. mål kan have ekstra parametre som navngives "
"som `sync.NUM.NAME` (se dokumentation herunder)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Mappe der skal synkroniseres med (absolut sti)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud brugernavn"
msgid "Nextcloud password"
msgstr "Nextcloud kodeord"
msgid "WebDAV URL"
msgstr "WebDAV URL"
msgid "WebDAV username"
msgstr "WebDAV brugernavn"
msgid "WebDAV password"
msgstr "WebDAV kodeord"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Sprog"
@@ -1368,6 +1441,12 @@ msgstr "Lyst"
msgid "Dark"
msgstr "Mørkt"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr "Ufærdige opgaver øverst"
@@ -1437,6 +1516,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr "Vis ikon på bundbjælke"
@@ -1459,6 +1541,10 @@ msgstr "Global zoom procent"
msgid "Editor font size"
msgstr "Rediger skrifttype"
#, fuzzy
msgid "Editor font"
msgstr "Rediger skrifttype"
msgid "Editor font family"
msgstr "Rediger skrifttype"
@@ -1507,40 +1593,6 @@ msgstr ""
"Editor der bruges til at åbne note. Hvis ingen valgt/udfyldt, vil auto-"
"funktion søge efter standard editor."
msgid "Show advanced options"
msgstr "Vis avancerede indstillinger"
msgid "Synchronisation target"
msgstr "Synkroniserings mål"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Synkroniserings mål. Hver synk. mål kan have ekstra parametre som navngives "
"som `sync.NUM.NAME` (se dokumentation herunder)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Mappe der skal synkroniseres med (absolut sti)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud brugernavn"
msgid "Nextcloud password"
msgstr "Nextcloud kodeord"
msgid "WebDAV URL"
msgstr "WebDAV URL"
msgid "WebDAV username"
msgstr "WebDAV brugernavn"
msgid "WebDAV password"
msgstr "WebDAV kodeord"
msgid "Custom TLS certificates"
msgstr ""
@@ -1554,6 +1606,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Start kryptering"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Ulovlig værdi: \"%s\". Mulige valg er: %s."
@@ -1580,6 +1656,13 @@ msgstr ""
msgid "Application"
msgstr "Forlad/luk program."
#, fuzzy
msgid "Encryption"
msgstr "Kryptering er:"
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1593,7 +1676,12 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr "Joplin eksport mappe"
msgid "Evernote Export File"
#, fuzzy
msgid "Evernote Export File (as Markdown)"
msgstr "Evernote eksport fil"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Evernote eksport fil"
#, fuzzy
@@ -1628,13 +1716,12 @@ msgstr "Der er ingen data at eksportere."
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Angiv hvilken notesbog, noter skal importeres til."
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Emner kan ikke synkroniseres"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1644,6 +1731,24 @@ msgstr ""
"For at finde disse emner; enten søg efter titel eller ID (som er vist i "
"klammer herover)"
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Notesbogen kan ikke gemmes: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Notesbogen kan ikke gemmes: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Emner kan ikke synkroniseres"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "Synk status (synk' emner / emner i alt)"
@@ -1683,24 +1788,20 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Ingen aktiv notesbog."
#, fuzzy
msgid "Create a notebook"
msgstr "Opretter en ny notesbog."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "Der er ingen noter. Opret note ved at klikke på (+) knappen."
msgid "Delete these notes?"
msgstr "Slet disse noter?"
msgid "Log"
msgstr "Log"
msgid "Export Debug Report"
msgstr "Eksporter undersøgelses rapport"
msgid "Encryption Config"
msgstr "Krypterings indstillinger"
msgid "Configuration"
msgstr "Indstillinger"
msgid "Move to notebook..."
msgstr "Flyt til notesbog..."
@@ -1725,8 +1826,24 @@ msgstr "Vælg dato"
msgid "Confirm"
msgstr "Bekræft"
msgid "Cancel synchronisation"
msgstr "Afbryd synkronisering"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Notesbøger"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Krypteret emner kan ikke rettes"
#, fuzzy
msgid "New Notebook"
msgstr "Ny notesbog"
msgid "Configuration"
msgstr "Indstillinger"
#, fuzzy
msgid "All notes"
msgstr "note"
#, fuzzy
msgid "Checking... Please wait."
@@ -1764,6 +1881,50 @@ msgstr "Nye tags:"
msgid "Type new tags or select from list"
msgstr "Indtast nye tags eller vælg fra listen"
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "Krypterings indstillinger"
#, fuzzy
msgid "Tools"
msgstr "Værktøjer"
#, fuzzy
msgid "Sync Status"
msgstr "Status"
msgid "Log"
msgstr "Log"
#, fuzzy
msgid "Creating report..."
msgstr "Opretter ny %s..."
msgid "Export Debug Report"
msgstr "Eksporter undersøgelses rapport"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Indstillinger"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1822,6 +1983,10 @@ msgstr "Notesbogen kan ikke gemmes: %s"
msgid "Edit notebook"
msgstr "Rediger notesbog"
#, fuzzy
msgid "Enter notebook title"
msgstr "Notesbogs titel:"
msgid "Show all"
msgstr "Vis alt"
@@ -1845,10 +2010,32 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Ulovlig billedtype: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Opdateret %d."
msgid "View on map"
msgstr "Vis på kort"
msgid "Go to source URL"
msgstr ""
#, fuzzy
msgid "Attach..."
msgstr "Søg"
#, fuzzy
msgid "Choose an option"
msgstr "Vis avancerede indstillinger"
#, fuzzy
msgid "Take photo"
msgstr "Vedhæft foto"
@@ -1868,23 +2055,18 @@ msgstr "Konverter til note"
msgid "Convert to todo"
msgstr "Konverter til opgave"
msgid "Hide metadata"
msgstr "Skjul metadata"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr "Vis metadata"
msgid "View on map"
msgstr "Vis på kort"
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Ret"
msgid "Delete notebook"
msgstr "Slet notesbog"
#, fuzzy
msgid "Add title"
msgstr "Samlet"
msgid "Login with OneDrive"
msgstr "Log på med OneDrive"
@@ -1892,22 +2074,93 @@ msgstr "Log på med OneDrive"
msgid "Search"
msgstr "Søg"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Klik på (+) knappen for at oprette ny note eller notesbog. Klik på side menu "
"for at åbne eksisterende notesbøger."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr ""
#~ "Noteredigering startet. Luk redigering for at komme tilbage til kommando "
#~ "prompten."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "Du har ingen notesbøger. Opret en ved at klikke på (+) knappen."
msgid "Welcome"
msgstr "Velkommen"
#~ msgid "Note has been saved."
#~ msgstr "Note gemt."
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Denne note er ændret:"
#~ msgid "Note title"
#~ msgstr "Notesbogs titel:"
#, fuzzy
#~ msgid "Note body"
#~ msgstr "Notesbøger"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "Importerer fra \"%s\" som \"%s\"-format. Vent venligst..."
#~ msgid "Synchronisation status"
#~ msgstr "Synkroniserings status"
#~ msgid "Print"
#~ msgstr "Udskriv"
#~ msgid "General Options"
#~ msgstr "Generelle indstillinger"
#~ msgid "Encryption options"
#~ msgstr "Krypterings muligheder"
#, fuzzy
#~ msgid "Open template directory"
#~ msgstr "Joplin eksport mappe"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Krypterings indstillinger"
#, fuzzy
#~ msgid "Clipper Options"
#~ msgstr "Generelle indstillinger"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Indstillinger"
#~ msgid "Cancel synchronisation"
#~ msgstr "Afbryd synkronisering"
#~ msgid "Hide metadata"
#~ msgstr "Skjul metadata"
#~ msgid "Show metadata"
#~ msgstr "Vis metadata"
#~ msgid "Delete notebook"
#~ msgstr "Slet notesbog"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Klik på (+) knappen for at oprette ny note eller notesbog. Klik på side "
#~ "menu for at åbne eksisterende notesbøger."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr "Du har ingen notesbøger. Opret en ved at klikke på (+) knappen."
#~ msgid "Welcome"
#~ msgstr "Velkommen"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Adskil hver mærke med komma."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Nogle emner kan ikke krypteres."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1916,10 +2169,6 @@ msgstr "Velkommen"
#~ "Sti til synkronisering, når filsystem synkronisering er slået til. Se "
#~ "`sync.target`."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Joplin hjemmeside"
#~ msgid "State: %s."
#~ msgstr "Tilstand: %s."

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.2.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "To delete a tag, untag the associated notes."
@@ -178,18 +178,6 @@ msgstr "Kein aktives Notizbuch."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Notiz \"%s\" existiert nicht. Soll sie erstellt werden?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Beginne die Notiz zu bearbeiten. Schließe das Textverarbeitungsprogramm, um "
"zurück zum Terminal zu gelangen."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Fehler beim Öffnen der Notiz im Editor: %s"
msgid "Note has been saved."
msgstr "Die Notiz wurde gespeichert."
msgid "Exits the application."
msgstr "Beendet das Programm."
@@ -403,6 +391,26 @@ msgstr "Notiz löschen?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Sucht nach dem angegebenen <pattern> in allen Notizen."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
"Starte, stoppe oder überprüfe den API Server. Um den Port zu spezifizieren "
"auf dem er laufen soll, setze die api.port Konfigurationsvariable. Die "
"Befehle lauten (%s)."
#, javascript-format
msgid "Server is already running on port %d"
msgstr "Der Server lauft schon auf Port %d"
#, javascript-format
msgid "Server is running on port %d"
msgstr "Der Server lauft auf Port %d"
msgid "Server is not running."
msgstr "Der Server ist nicht gestartet."
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -597,54 +605,7 @@ msgstr ""
#, javascript-format
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Exportiere „%s“ ins „%s“ Format. Bitte warten..."
msgid "Sidebar"
msgstr "Seitenleiste"
msgid "Note list"
msgstr "Notizen-Liste"
msgid "Note title"
msgstr "Notiz Titel"
msgid "Note body"
msgstr "Notiz Text"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "Importiere „%s“ ins „%s“ Format. Bitte warten..."
msgid "PDF File"
msgstr "PDF-Datei"
msgid "Synchronisation status"
msgstr "Status der Synchronisation"
msgid "New note"
msgstr "Neue Notiz"
msgid "New to-do"
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)"
msgstr "Exportiere „%s“ ins „%s“-Format. Bitte warten..."
msgid "&File"
msgstr "&Datei"
@@ -658,6 +619,9 @@ msgstr "Einstellungen..."
msgid "Check for updates..."
msgstr "Überprüfe auf Aktualisierungen..."
msgid "Templates"
msgstr "Vorlagen"
msgid "Import"
msgstr "Importieren"
@@ -674,6 +638,9 @@ msgstr "%s ausblenden"
msgid "Quit"
msgstr "Verlassen"
msgid "Close Window"
msgstr "Fenster schließen"
msgid "&Edit"
msgstr "&Bearbeiten"
@@ -698,12 +665,18 @@ msgstr "Kursiv"
msgid "Link"
msgstr "Link"
msgid "Code"
msgstr "Code"
msgid "Insert Date Time"
msgstr "Datum / Uhrzeit einfügen"
msgid "Edit in external editor"
msgstr "Im externen Editor bearbeiten"
msgid "Tags"
msgstr "Schlagwörter"
msgid "Search in all the notes"
msgstr "Alle Notizen durchsuchen"
@@ -731,9 +704,15 @@ msgstr "&Hilfe"
msgid "Website and documentation"
msgstr "Webseite und Dokumentation"
msgid "Joplin Forum"
msgstr "Joplin Forum"
msgid "Make a donation"
msgstr "Spenden"
msgid "Toggle development tools"
msgstr "Entwicklerwerkzeuge ein-/ausschalten"
#, javascript-format
msgid "Open %s"
msgstr "Öffne %s"
@@ -842,15 +821,22 @@ msgstr ""
"Dieses Autorisierung-Token wird nur benötigt, um Drittanbieter-Anwendungen "
"Zugriff auf Joplin zu gewähren."
msgid "This will open a new screen. Save your current changes?"
msgstr ""
"Diese Aktion wird ein neues Fenster öffnen. Aktuelle Änderungen speichern?"
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Notizen und Einstellungen werden gespeichert in: %s"
msgid "Check synchronisation configuration"
msgstr "Überprüfen der Synchronisationseinstellungen"
msgid "Browse..."
msgstr "Durchsuche..."
msgid "Check synchronisation configuration"
msgstr "Überprüfen der Synchronisationseinstellungen"
msgid "Back"
msgstr "Zurück"
msgid "Apply"
msgstr "Anwenden"
@@ -867,7 +853,7 @@ msgid ""
"continue?"
msgstr ""
"Durch die Deaktivierung der Verschlüsselung werden *alle* Notizen und "
"Anhänge neu synchronisiert und unverschlüsselt an das Synchronisierungsziel "
"Anhänge neu synchronisiert und unverschlüsselt an das Synchronisationsziel "
"gesendet. Möchtest du fortfahren?"
msgid ""
@@ -933,8 +919,8 @@ msgstr ""
"Die Hauptschlüssel dieser IDs werden für die Verschlüsselung einiger ..."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
"Weitere Informationen zur Ende-zu-Ende-Verschlüsselung (E2EE) und Hinweise "
"zur Aktivierung findest du in der Dokumentation (auf Englisch):"
@@ -945,13 +931,19 @@ msgstr "Status"
msgid "Encryption is:"
msgstr "Die Verschlüsselung ist:"
msgid "Firefox Extension"
msgstr "Firefox Erweiterung"
msgid "Chrome Web Store"
msgstr "Chrome-Webstore"
msgid "Get it now:"
msgstr "Hole es jetzt:"
# 'Nutzung', 'Gebrauch', or 'Verwendung' - depends on the context
msgid "Usage"
msgstr "Nutzung"
msgid "Back"
msgstr "Zurück"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -971,9 +963,6 @@ msgstr "Notizbuch-Titel:"
msgid "Add or remove tags:"
msgstr "Schlagwörter hinzufügen oder entfernen:"
msgid "Separate each tag by a comma."
msgstr "Trenne jedes Schlagwort mit einem Komma."
msgid "Rename notebook:"
msgstr "Notizbuch umbenennen:"
@@ -983,6 +972,18 @@ msgstr "Schlagwort umbenennen:"
msgid "Set alarm:"
msgstr "Alarm erstellen:"
msgid "Template file:"
msgstr "Vorlagen-Datei:"
msgid "New note"
msgstr "Neue Notiz"
msgid "New to-do"
msgstr "Neues To-Do"
msgid "New notebook"
msgstr "Neues Notizbuch"
msgid "Layout"
msgstr "Layout"
@@ -995,8 +996,8 @@ msgstr "Manche Objekte können nicht synchronisiert werden."
msgid "View them now"
msgstr "Zeige sie jetzt an"
msgid "Some items cannot be decrypted."
msgstr "Einige Objekte können nicht entschlüsselt werden."
msgid "One or more master keys need a password."
msgstr "Mindestens ein Hauptschlüssel benötigt ein Passwort."
msgid "Set the password"
msgstr "Setze ein Passwort"
@@ -1018,9 +1019,38 @@ msgstr "Standort"
msgid "URL"
msgstr "URL"
msgid "Note History"
msgstr "Notizen-Verlauf"
msgid "Markup"
msgstr "Markup"
msgid "Previous versions of this note"
msgstr "Vorherige Version von dieser Notiz"
msgid "Note properties"
msgstr "Notiz-Eigenschaften"
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
"Die Notiz \"%s\" wurde erfolgreich wiederhergestellt und ist im Notizbuch "
"\"%s\" verfügbar."
msgid "This note has no history"
msgstr "Diese Notiz hat keinen Verlauf"
msgid "Restore"
msgstr "Wiederherstellen"
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
"Klicke \"%s\" um die Notiz wiederherzustellen. Sie wird in das Notizbuch \"%s"
"\" kopiert. Die aktuelle Version der Notiz wird nicht ersetzt oder verändert."
msgid "Open..."
msgstr "Öffne..."
@@ -1056,6 +1086,13 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr "Nur eine Notiz kann gedruckt oder als PDF exportiert werden."
msgid "PDF File"
msgstr "PDF-Datei"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Fehler beim Öffnen der Notiz im Editor: %s"
msgid "strong text"
msgstr "Fetter Text"
@@ -1071,9 +1108,6 @@ msgstr "Weblink einfügen"
msgid "Attach file"
msgstr "Datei anhängen"
msgid "Tags"
msgstr "Schlagwörter"
msgid "Set alarm"
msgstr "Alarm erstellen"
@@ -1084,9 +1118,6 @@ msgstr "In: %s"
msgid "Hyperlink"
msgstr "Weblink"
msgid "Code"
msgstr "Code"
msgid "Numbered List"
msgstr "Nummerierte Liste"
@@ -1136,12 +1167,6 @@ msgstr "Optionen"
msgid "Synchronisation Status"
msgstr "Synchronisations-Status"
msgid "Encryption Options"
msgstr "Verschlüsselungsoptionen"
msgid "Clipper Options"
msgstr "Clipper-Einstellungen"
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1173,13 +1198,16 @@ msgid "Decrypting items: %d/%d"
msgstr "Entschlüsselte Objekte: %d/%d"
#, javascript-format
msgid "Fetching resources: %d"
msgstr "Ressourcen abrufen: %d"
msgid "Fetching resources: %d/%d"
msgstr "Ressourcen abrufen: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr ""
"Bitte wähle aus, wohin der Synchronisations-Status exportiert werden soll"
msgid "Retry"
msgstr "Erneut versuchen"
msgid "Add or remove tags"
msgstr "Schlagwörter hinzufügen oder entfernen"
@@ -1379,6 +1407,63 @@ msgstr ""
"neuen Ablageort kopiert hast, sonst werden alle Dateien gelöscht! Lies auch "
"die FAQs hierzu: %s"
msgid "Synchronisation target"
msgstr "Synchronisationsziel"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Das Ziel, mit dem synchronisiert werden soll. Jedes Synchronisationsziel "
"kann zusätzliche Parameter haben, die als `sync.NUM.NAME` (alle unten "
"dokumentiert) bezeichnet werden."
msgid "Directory to synchronise with (absolute path)"
msgstr "Verzeichnis mit dem synchronisiert werden soll (absoluter Pfad)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV-URL"
msgid "Nextcloud username"
msgstr "Nextcloud-Benutzername"
msgid "Nextcloud password"
msgstr "Nextcloud-Passwort"
msgid "WebDAV URL"
msgstr "WebDAV-URL"
msgid "WebDAV username"
msgstr "WebDAV-Benutzername"
msgid "WebDAV password"
msgstr "WebDAV-Passwort"
msgid "Attachment download behaviour"
msgstr "Verhalten für das Herunterladen von Anhängen"
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
"Im \"Manuell\" Modus werden die Anhänge nur heruntergeladen wenn Du auf sie "
"klickst. Bei \"Automatisch\" werden sie heruntergeladen sobald die Notiz "
"geöffnet wird. Bei \"Immer\" werden die Anhänge heruntergeladen egal ob die "
"Notiz geöffnet wird oder nicht."
msgid "Always"
msgstr "Immer"
msgid "Manual"
msgstr "Manuell"
msgid "Auto"
msgstr "Automatisch"
msgid "Max concurrent connections"
msgstr "Maximale Anzahl an gleichzeitigen Verbindungen"
msgid "Language"
msgstr "Sprache"
@@ -1397,6 +1482,12 @@ msgstr "Hell"
msgid "Dark"
msgstr "Dunkel"
msgid "Solarised Light"
msgstr "Solarized Hell"
msgid "Solarised Dark"
msgstr "Solarised Dark"
msgid "Uncompleted to-dos on top"
msgstr "Zeige unvollständige To-Dos an oberster Stelle"
@@ -1463,6 +1554,9 @@ msgstr "Aktiviere ++insert++ Syntax"
msgid "Enable multimarkdown table extension"
msgstr "Aktiviere multimarkdown Tabellen Erweiterung"
msgid "Enable Fountain syntax support"
msgstr "Aktiviere Fountain Unterstützung"
msgid "Show tray icon"
msgstr "Zeige Tray-Icon"
@@ -1487,6 +1581,9 @@ msgstr "Zoomstufe der Benutzeroberfläche"
msgid "Editor font size"
msgstr "Schriftgröße im Editor"
msgid "Editor font"
msgstr "Schriftgröße im Editor"
msgid "Editor font family"
msgstr "Schriftfamilie im Editor"
@@ -1533,41 +1630,6 @@ msgstr ""
"Der Editor, mit dem Notizen geöffnet werden. Wenn keiner ausgewählt wurde, "
"wird Joplin versuchen den Standardeditor zu erkennen."
msgid "Show advanced options"
msgstr "Erweiterte Optionen anzeigen"
msgid "Synchronisation target"
msgstr "Synchronisationsziel"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Das Ziel, mit dem synchronisiert werden soll. Jedes Synchronisationsziel "
"kann zusätzliche Parameter haben, die als `sync.NUM.NAME` (alle unten "
"dokumentiert) bezeichnet werden."
msgid "Directory to synchronise with (absolute path)"
msgstr "Verzeichnis mit dem synchronisiert werden soll (absoluter Pfad)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV-URL"
msgid "Nextcloud username"
msgstr "Nextcloud-Benutzername"
msgid "Nextcloud password"
msgstr "Nextcloud-Passwort"
msgid "WebDAV URL"
msgstr "WebDAV-URL"
msgid "WebDAV username"
msgstr "WebDAV-Benutzername"
msgid "WebDAV password"
msgstr "WebDAV-Passwort"
msgid "Custom TLS certificates"
msgstr "Benutzerdefinierte TLS-Zertifikate"
@@ -1586,6 +1648,34 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "Ignoriere TLS-Zertifikatfehler"
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
"Störungssicher: Lösche nicht die lokalen Daten, wenn das "
"Synchronisationsziel leer ist (oft ein Resultat von Fehlkonfiguration oder "
"einem Programmfehler)"
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
"Spezifiziere den Port, der vom API Server verwendet werden soll. Wenn er "
"nicht gesetzt ist, wird ein Standardwert verwendet."
msgid "Enable note history"
msgstr "Aktiviere Notizen-Verlauf"
msgid "days"
msgstr "Tage"
#, javascript-format
msgid "%d days"
msgstr "%d Tage"
msgid "Keep note history for"
msgstr "Speicher Notizen-Verlauf für"
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Ungültiger Optionswert: \"%s\". Mögliche Werte sind: %s."
@@ -1609,6 +1699,12 @@ msgstr "Zusatzprogramme"
msgid "Application"
msgstr "Applikation"
msgid "Encryption"
msgstr "Verschlüsselung"
msgid "Web Clipper"
msgstr "Web Clipper"
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1623,8 +1719,11 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr "Joplin Export Verzeichnis"
msgid "Evernote Export File"
msgstr "Evernote Export Datei"
msgid "Evernote Export File (as Markdown)"
msgstr "Evernote Export Datei (als Markdown)"
msgid "Evernote Export File (as HTML)"
msgstr "Evernote Export Datei (als HTML)"
msgid "Json Export Directory"
msgstr "Json Export Verzeichnis"
@@ -1658,13 +1757,12 @@ msgid "Please specify the notebook where the notes should be imported to."
msgstr ""
"Bitte wähle aus, wohin der Synchronisations-Status exportiert werden soll."
msgid "Restored Notes"
msgstr "Wiederhergestellte Notizen"
msgid "Items that cannot be synchronised"
msgstr "Objekte können nicht synchronisiert werden"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1674,6 +1772,27 @@ msgstr ""
"Synchronisationsziel hochgeladen. Um diese Objekte zu finden, suchst du "
"entweder nach dem Titel oder der ID (die oben in Klammern angezeigt wird)."
#, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "%s (%s) konnte nicht hochgeladen werden: %s"
#, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Eintrag \"%s\" konnte nicht heruntergeladen werden: %s"
msgid "Items that cannot be decrypted"
msgstr "Objekte, die nicht entschlüsselt werden konnten"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
"Joplin konnte diese Objekte trotz mehrfacher Versuche nicht entschlüsseln, "
"weil sie wahrscheinlich entweder kaputt oder zu groß sind. Diese Objekte "
"bleiben auf dem Gerat, aber Joplin wird nicht mehr versuchen sie zu "
"entschlüsseln."
msgid "Sync status (synced items / total items)"
msgstr "Synchronisationsstatus (synchronisierte Objekte / gesamte Objekte)"
@@ -1713,6 +1832,12 @@ msgstr "Berechtigung zur Verwendung der Kamera"
msgid "Your permission to use your camera is required."
msgstr "Deine Zustimmung zur Verwendung deiner Kamera ist erforderlich."
msgid "You currently have no notebooks."
msgstr "Du hast momentan keine Notizbücher."
msgid "Create a notebook"
msgstr "Notizbuch erstellen"
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
"Momentan existieren noch keine Notizen. Erstelle eine, indem du auf den (+) "
@@ -1721,18 +1846,6 @@ msgstr ""
msgid "Delete these notes?"
msgstr "Sollen diese Notizen gelöscht werden?"
msgid "Log"
msgstr "Protokoll"
msgid "Export Debug Report"
msgstr "Fehlerbericht exportieren"
msgid "Encryption Config"
msgstr "Verschlüsselungskonfiguration"
msgid "Configuration"
msgstr "Konfiguration"
msgid "Move to notebook..."
msgstr "In Notizbuch verschieben..."
@@ -1755,8 +1868,21 @@ msgstr "Datum auswählen"
msgid "Confirm"
msgstr "Bestätigen"
msgid "Cancel synchronisation"
msgstr "Synchronisation abbrechen"
#, javascript-format
msgid "Notebook: %s"
msgstr "Notizbuch: %s"
msgid "Encrypted notebooks cannot be renamed"
msgstr "Verschlüsselte Notizbücher können nicht umbenannt werden"
msgid "New Notebook"
msgstr "Neues Notizbuch"
msgid "Configuration"
msgstr "Konfiguration"
msgid "All notes"
msgstr "Alle Notizen"
msgid "Checking... Please wait."
msgstr "Überprüfe… Bitte warten."
@@ -1770,7 +1896,7 @@ msgid ""
"the sync target is accessible. The reported error was:"
msgstr ""
"Fehler. Bitte überprüfe, ob die URL, der Benutzername, das Passwort. usw. "
"korrekt sind und das das Synchronisierungsziel erreichbar ist. Fehlermeldung:"
"korrekt sind und das das Synchronisationsziel erreichbar ist. Fehlermeldung:"
msgid "The application has been authorised!"
msgstr "Das Programm wurde erfolgreich autorisiert!"
@@ -1799,6 +1925,51 @@ msgstr "Neue Schlagwörter:"
msgid "Type new tags or select from list"
msgstr "Neues Schlagwort eingeben oder aus der Liste auswählen"
msgid "Warning"
msgstr "Warnung"
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
"Deine Erlaubnis auf externen Speicher zu schreiben ist notwendig um "
"Synchronisation mit dem Dateisystem zu verwenden."
msgid "Encryption Config"
msgstr "Verschlüsselungskonfiguration"
msgid "Tools"
msgstr "Werkzeuge"
msgid "Sync Status"
msgstr "Synchronisationsstatus"
msgid "Log"
msgstr "Protokoll"
msgid "Creating report..."
msgstr "Erstelle Bericht..."
msgid "Export Debug Report"
msgstr "Fehlerbericht exportieren"
msgid "Fixing search index..."
msgstr "Repariere Such-Index..."
msgid "Fix search index"
msgstr "Repariere Such-Index"
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
"Verwende das um den Such-Index wiederherzustellen, wenn es ein Problem mit "
"der Suche gibt. Je nachdem wieviele Notizen es gibt, kann dieser Prozess "
"etwas dauern."
msgid "More information"
msgstr "Weitere Information"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1862,6 +2033,9 @@ msgstr "Dieses Notizbuch konnte nicht gespeichert werden: %s"
msgid "Edit notebook"
msgstr "Notizbuch bearbeiten"
msgid "Enter notebook title"
msgstr "Notizbuch-Titel eingeben"
msgid "Show all"
msgstr "Zeige Alles"
@@ -1886,10 +2060,30 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
"Die Joplin Handy-Applikation unterstützt derzeit diese Art von Link nicht: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr "Verweise mit dem Protokoll \"%s\" sind nicht unterstützt"
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Nicht unterstütztes Fotoformat: %s"
#, javascript-format
msgid "Updated: %s"
msgstr "Aktualisiert: %s"
msgid "View on map"
msgstr "Auf der Karte anzeigen"
msgid "Go to source URL"
msgstr "Zur Quell-URL gehen"
msgid "Attach..."
msgstr "Anhängen..."
msgid "Choose an option"
msgstr "Wähle eine Option"
msgid "Take photo"
msgstr "Foto aufnehmen"
@@ -1908,23 +2102,17 @@ msgstr "In eine Notiz umwandeln"
msgid "Convert to todo"
msgstr "In ein To-Do umwandeln"
msgid "Hide metadata"
msgstr "Metadaten verstecken"
msgid "Properties"
msgstr "Eigenschaften"
msgid "Show metadata"
msgstr "Metadaten anzeigen"
msgid "View on map"
msgstr "Auf der Karte anzeigen"
msgid "Go to source URL"
msgstr "Zur Quell-URL gehen"
msgid "Add body"
msgstr "Text hinzufügen"
msgid "Edit"
msgstr "Bearbeiten"
msgid "Delete notebook"
msgstr "Notizbuch löschen"
msgid "Add title"
msgstr "Titel hinzufügen"
msgid "Login with OneDrive"
msgstr "Mit OneDrive anmelden"
@@ -1932,25 +2120,122 @@ msgstr "Mit OneDrive anmelden"
msgid "Search"
msgstr "Suchen"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Drücke auf die (+)-Schaltfläche, um eine neue Notiz oder ein neues Notizbuch "
"zu erstellen. Tippe auf die Seitenleiste, um auf deine existierenden "
"Notizbücher zuzugreifen."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr ""
#~ "Beginne die Notiz zu bearbeiten. Schließe das Textverarbeitungsprogramm, "
#~ "um zurück zum Terminal zu gelangen."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
"Du hast noch kein Notizbuch angelegt. Erstelle eines, indem du auf den (+) "
"Knopf drückst."
#~ msgid "Note has been saved."
#~ msgstr "Die Notiz wurde gespeichert."
msgid "Welcome"
msgstr "Willkommen"
#~ msgid "All potential ports are in use - please report the issue at %s"
#~ msgstr ""
#~ "Alle potentielle Port-Nummern sind in Verwendung - bitte melde dieses "
#~ "Problem auf %s"
#~ msgid "Sidebar"
#~ msgstr "Seitenleiste"
#~ msgid "Note list"
#~ msgstr "Notizen-Liste"
#~ msgid "Note title"
#~ msgstr "Notiz-Titel"
#~ msgid "Note body"
#~ msgstr "Notiz-Text"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "Importiere „%s“ als „%s“-Format. Bitte warten..."
#~ msgid "Synchronisation status"
#~ msgstr "Status der Synchronisation"
#~ msgid "Print"
#~ msgstr "Drucken"
#~ msgid "General Options"
#~ msgstr "Allgemeine Einstellungen"
#~ msgid "Encryption options"
#~ msgstr "Verschlüsselungsoptionen"
#~ msgid "Create note from template"
#~ msgstr "Erstelle Notiz von Vorlage"
#~ msgid "Create to-do from template"
#~ msgstr "Erstelle To-Do von Vorlage"
#~ msgid "Insert template"
#~ msgstr "Vorlage einfügen"
#~ msgid "Open template directory"
#~ msgstr "Öffne Vorlagen Verzeichnis"
#~ msgid "Refresh templates"
#~ msgstr "Aktualisiere Vorlagen"
#~ msgid "Revision: %s (%s)"
#~ msgstr "Revision: %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Verschlüsselungsoptionen"
#~ msgid "Clipper Options"
#~ msgstr "Clipper-Einstellungen"
#~ msgid ""
#~ "Unknown item type downloaded - please upgrade Joplin to the latest version"
#~ msgstr ""
#~ "Unbekannter Eintrags-Typ heruntergeladen - bitte aktualisiere Joplin"
#~ msgid "Information"
#~ msgstr "Information"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Diese Notiz wurde verändert:"
#~ msgid "Permission to write to external storage"
#~ msgstr "Berechtigung zur Verwendung der Kamera"
#~ msgid "Cancel synchronisation"
#~ msgstr "Synchronisation abbrechen"
#~ msgid "Hide metadata"
#~ msgstr "Metadaten verstecken"
#~ msgid "Show metadata"
#~ msgstr "Metadaten anzeigen"
#~ msgid "Delete notebook"
#~ msgstr "Notizbuch löschen"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Drücke auf die (+)-Schaltfläche, um eine neue Notiz oder ein neues "
#~ "Notizbuch zu erstellen. Tippe auf die Seitenleiste, um auf deine "
#~ "existierenden Notizbücher zuzugreifen."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr ""
#~ "Du hast noch kein Notizbuch angelegt. Erstelle eines, indem du auf den "
#~ "(+) Knopf drückst."
#~ msgid "Welcome"
#~ msgstr "Willkommen"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Trenne jedes Schlagwort mit einem Komma."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Einige Objekte können nicht entschlüsselt werden."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid "Table of contents"
#~ msgstr "Inhaltsverzeichnis"
@@ -1962,15 +2247,9 @@ msgstr "Willkommen"
#~ "Der Pfad, mit dem synchronisiert werden soll, wenn die Dateisystem-"
#~ "Synchronisation aktiviert ist. Siehe `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"
#~ msgid "Remove?"
#~ msgstr "Löschen?"
#~ msgid "Delete notes?"
#~ msgstr "Notizen löschen?"
#~ msgid "State: %s."
#~ msgstr "Status: %s."
@@ -2026,9 +2305,6 @@ msgstr "Willkommen"
#~ msgid "Exit the application."
#~ msgstr "Das Programm verlassen."
#~ msgid "Delete the currently selected note or notebook."
#~ msgstr "Die/das momentan ausgewählte Notiz(-buch) löschen."
#~ msgid "Set a to-do as completed / not completed"
#~ msgstr "Ein To-Do als abgeschlossen / nicht abgeschlossen markieren"

View File

@@ -160,16 +160,6 @@ msgstr ""
msgid "Note does not exist: \"%s\". Create it?"
msgstr ""
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr ""
msgid "Exits the application."
msgstr ""
@@ -353,6 +343,23 @@ msgstr ""
msgid "Searches for the given <pattern> in all the notes."
msgstr ""
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -508,53 +515,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
msgid "Note title"
msgstr ""
msgid "Note body"
msgstr ""
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "PDF File"
msgstr ""
msgid "Synchronisation status"
msgstr ""
msgid "New note"
msgstr ""
msgid "New to-do"
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 ""
@@ -567,6 +527,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Templates"
msgstr ""
msgid "Import"
msgstr ""
@@ -583,6 +546,9 @@ msgstr ""
msgid "Quit"
msgstr ""
msgid "Close Window"
msgstr ""
msgid "&Edit"
msgstr ""
@@ -607,12 +573,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Search in all the notes"
msgstr ""
@@ -640,9 +612,15 @@ msgstr ""
msgid "Website and documentation"
msgstr ""
msgid "Joplin Forum"
msgstr ""
msgid "Make a donation"
msgstr ""
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr ""
@@ -740,14 +718,20 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr ""
msgid "Check synchronisation configuration"
msgstr ""
msgid "Browse..."
msgstr ""
msgid "Check synchronisation configuration"
msgid "Back"
msgstr ""
msgid "Apply"
@@ -818,8 +802,8 @@ msgid ""
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
msgid "Status"
@@ -828,10 +812,16 @@ msgstr ""
msgid "Encryption is:"
msgstr ""
msgid "Usage"
msgid "Firefox Extension"
msgstr ""
msgid "Back"
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
msgid "Usage"
msgstr ""
#, javascript-format
@@ -851,9 +841,6 @@ msgstr ""
msgid "Add or remove tags:"
msgstr ""
msgid "Separate each tag by a comma."
msgstr ""
msgid "Rename notebook:"
msgstr ""
@@ -863,6 +850,18 @@ msgstr ""
msgid "Set alarm:"
msgstr ""
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr ""
msgid "New to-do"
msgstr ""
msgid "New notebook"
msgstr ""
msgid "Layout"
msgstr ""
@@ -875,7 +874,7 @@ msgstr ""
msgid "View them now"
msgstr ""
msgid "Some items cannot be decrypted."
msgid "One or more master keys need a password."
msgstr ""
msgid "Set the password"
@@ -894,9 +893,34 @@ msgstr ""
msgid "URL"
msgstr ""
msgid "Note History"
msgstr ""
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
msgid "This note has no history"
msgstr ""
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr ""
@@ -929,6 +953,13 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
msgid "PDF File"
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "strong text"
msgstr ""
@@ -944,9 +975,6 @@ msgstr ""
msgid "Attach file"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Set alarm"
msgstr ""
@@ -957,9 +985,6 @@ msgstr ""
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
@@ -1009,12 +1034,6 @@ msgstr ""
msgid "Synchronisation Status"
msgstr ""
msgid "Encryption Options"
msgstr ""
msgid "Clipper Options"
msgstr ""
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1043,12 +1062,15 @@ msgid "Decrypting items: %d/%d"
msgstr ""
#, javascript-format
msgid "Fetching resources: %d"
msgid "Fetching resources: %d/%d"
msgstr ""
msgid "Please select where the sync status should be exported to"
msgstr ""
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr ""
@@ -1234,6 +1256,56 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr ""
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr ""
@@ -1252,6 +1324,12 @@ msgstr ""
msgid "Dark"
msgstr ""
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr ""
@@ -1318,6 +1396,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1339,6 +1420,9 @@ msgstr ""
msgid "Editor font size"
msgstr ""
msgid "Editor font"
msgstr ""
msgid "Editor font family"
msgstr ""
@@ -1380,38 +1464,6 @@ msgid ""
"If none is provided it will try to auto-detect the default editor."
msgstr ""
msgid "Show advanced options"
msgstr ""
msgid "Synchronisation target"
msgstr ""
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Custom TLS certificates"
msgstr ""
@@ -1425,6 +1477,29 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
msgid "Enable note history"
msgstr ""
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr ""
@@ -1447,6 +1522,12 @@ msgstr ""
msgid "Application"
msgstr ""
msgid "Encryption"
msgstr ""
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1460,7 +1541,10 @@ msgstr ""
msgid "Joplin Export Directory"
msgstr ""
msgid "Evernote Export File"
msgid "Evernote Export File (as Markdown)"
msgstr ""
msgid "Evernote Export File (as HTML)"
msgstr ""
msgid "Json Export Directory"
@@ -1492,11 +1576,10 @@ msgstr ""
msgid "Please specify the notebook where the notes should be imported to."
msgstr ""
msgid "Items that cannot be synchronised"
msgid "Restored Notes"
msgstr ""
#, javascript-format
msgid "%s (%s): %s"
msgid "Items that cannot be synchronised"
msgstr ""
msgid ""
@@ -1505,6 +1588,23 @@ msgid ""
"(which is displayed in brackets above)."
msgstr ""
#, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr ""
#, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr ""
msgid "Items that cannot be decrypted"
msgstr ""
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr ""
@@ -1544,24 +1644,18 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
msgid "You currently have no notebooks."
msgstr ""
msgid "Create a notebook"
msgstr ""
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
msgid "Delete these notes?"
msgstr ""
msgid "Log"
msgstr ""
msgid "Export Debug Report"
msgstr ""
msgid "Encryption Config"
msgstr ""
msgid "Configuration"
msgstr ""
msgid "Move to notebook..."
msgstr ""
@@ -1584,7 +1678,20 @@ msgstr ""
msgid "Confirm"
msgstr ""
msgid "Cancel synchronisation"
#, javascript-format
msgid "Notebook: %s"
msgstr ""
msgid "Encrypted notebooks cannot be renamed"
msgstr ""
msgid "New Notebook"
msgstr ""
msgid "Configuration"
msgstr ""
msgid "All notes"
msgstr ""
msgid "Checking... Please wait."
@@ -1620,6 +1727,46 @@ msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr ""
msgid "Tools"
msgstr ""
msgid "Sync Status"
msgstr ""
msgid "Log"
msgstr ""
msgid "Creating report..."
msgstr ""
msgid "Export Debug Report"
msgstr ""
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
msgid "More information"
msgstr ""
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1677,6 +1824,9 @@ msgstr ""
msgid "Edit notebook"
msgstr ""
msgid "Enter notebook title"
msgstr ""
msgid "Show all"
msgstr ""
@@ -1700,10 +1850,30 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr ""
#, javascript-format
msgid "Updated: %s"
msgstr ""
msgid "View on map"
msgstr ""
msgid "Go to source URL"
msgstr ""
msgid "Attach..."
msgstr ""
msgid "Choose an option"
msgstr ""
msgid "Take photo"
msgstr ""
@@ -1722,22 +1892,16 @@ msgstr ""
msgid "Convert to todo"
msgstr ""
msgid "Hide metadata"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr ""
msgid "View on map"
msgstr ""
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr ""
msgid "Delete notebook"
msgid "Add title"
msgstr ""
msgid "Login with OneDrive"
@@ -1745,14 +1909,3 @@ msgstr ""
msgid "Search"
msgstr ""
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
msgid "Welcome"
msgstr ""

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.2.3\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "To delete a tag, untag the associated notes."
@@ -161,16 +161,6 @@ msgstr ""
msgid "Note does not exist: \"%s\". Create it?"
msgstr ""
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr ""
msgid "Exits the application."
msgstr ""
@@ -354,6 +344,23 @@ msgstr ""
msgid "Searches for the given <pattern> in all the notes."
msgstr ""
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -514,53 +521,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
msgid "Note title"
msgstr ""
msgid "Note body"
msgstr ""
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "PDF File"
msgstr ""
msgid "Synchronisation status"
msgstr "Synchronization status"
msgid "New note"
msgstr ""
msgid "New to-do"
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 ""
@@ -573,6 +533,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Templates"
msgstr ""
msgid "Import"
msgstr ""
@@ -589,6 +552,9 @@ msgstr ""
msgid "Quit"
msgstr ""
msgid "Close Window"
msgstr ""
msgid "&Edit"
msgstr ""
@@ -613,12 +579,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Search in all the notes"
msgstr "Search in all notes"
@@ -646,9 +618,15 @@ msgstr ""
msgid "Website and documentation"
msgstr ""
msgid "Joplin Forum"
msgstr ""
msgid "Make a donation"
msgstr ""
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr ""
@@ -748,15 +726,21 @@ msgstr ""
"This authorization token is only needed to allow third-party applications to "
"access Joplin."
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr ""
msgid "Check synchronisation configuration"
msgstr "Check synchronization configuration"
msgid "Browse..."
msgstr ""
msgid "Check synchronisation configuration"
msgstr "Check synchronization configuration"
msgid "Back"
msgstr ""
msgid "Apply"
msgstr ""
@@ -836,8 +820,8 @@ msgstr ""
"they will eventually be downloaded via synchronization."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
msgid "Status"
@@ -846,10 +830,16 @@ msgstr ""
msgid "Encryption is:"
msgstr ""
msgid "Usage"
msgid "Firefox Extension"
msgstr ""
msgid "Back"
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
msgid "Usage"
msgstr ""
#, javascript-format
@@ -869,9 +859,6 @@ msgstr ""
msgid "Add or remove tags:"
msgstr ""
msgid "Separate each tag by a comma."
msgstr ""
msgid "Rename notebook:"
msgstr ""
@@ -881,6 +868,18 @@ msgstr ""
msgid "Set alarm:"
msgstr ""
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr ""
msgid "New to-do"
msgstr ""
msgid "New notebook"
msgstr ""
msgid "Layout"
msgstr ""
@@ -893,7 +892,7 @@ msgstr "Some items cannot be synchronized."
msgid "View them now"
msgstr ""
msgid "Some items cannot be decrypted."
msgid "One or more master keys need a password."
msgstr ""
msgid "Set the password"
@@ -912,9 +911,34 @@ msgstr ""
msgid "URL"
msgstr ""
msgid "Note History"
msgstr ""
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
msgid "This note has no history"
msgstr ""
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr ""
@@ -947,6 +971,13 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
msgid "PDF File"
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "strong text"
msgstr ""
@@ -962,9 +993,6 @@ msgstr ""
msgid "Attach file"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Set alarm"
msgstr ""
@@ -975,9 +1003,6 @@ msgstr ""
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
@@ -1027,12 +1052,6 @@ msgstr ""
msgid "Synchronisation Status"
msgstr "Synchronization Status"
msgid "Encryption Options"
msgstr ""
msgid "Clipper Options"
msgstr ""
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1061,12 +1080,15 @@ msgid "Decrypting items: %d/%d"
msgstr ""
#, javascript-format
msgid "Fetching resources: %d"
msgid "Fetching resources: %d/%d"
msgstr ""
msgid "Please select where the sync status should be exported to"
msgstr ""
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr ""
@@ -1254,6 +1276,58 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr "Synchronization target"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"The target to synchonize to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Directory to synchronize with (absolute path)"
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Attachment download behaviour"
msgstr "Attachment download behavior"
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr ""
@@ -1272,6 +1346,12 @@ msgstr ""
msgid "Dark"
msgstr ""
msgid "Solarised Light"
msgstr "Solarized Light"
msgid "Solarised Dark"
msgstr "Solarized Dark"
msgid "Uncompleted to-dos on top"
msgstr ""
@@ -1338,6 +1418,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1362,6 +1445,9 @@ msgstr ""
msgid "Editor font size"
msgstr ""
msgid "Editor font"
msgstr ""
msgid "Editor font family"
msgstr ""
@@ -1403,40 +1489,6 @@ msgid ""
"If none is provided it will try to auto-detect the default editor."
msgstr ""
msgid "Show advanced options"
msgstr ""
msgid "Synchronisation target"
msgstr "Synchronization target"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"The target to synchonize to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Directory to synchronize with (absolute path)"
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Custom TLS certificates"
msgstr ""
@@ -1450,6 +1502,29 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
msgid "Enable note history"
msgstr ""
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr ""
@@ -1472,6 +1547,12 @@ msgstr ""
msgid "Application"
msgstr ""
msgid "Encryption"
msgstr ""
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1485,7 +1566,10 @@ msgstr ""
msgid "Joplin Export Directory"
msgstr ""
msgid "Evernote Export File"
msgid "Evernote Export File (as Markdown)"
msgstr ""
msgid "Evernote Export File (as HTML)"
msgstr ""
msgid "Json Export Directory"
@@ -1517,19 +1601,35 @@ msgstr ""
msgid "Please specify the notebook where the notes should be imported to."
msgstr ""
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Items that cannot be synchronized"
#, javascript-format
msgid "%s (%s): %s"
msgstr ""
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
"(which is displayed in brackets above)."
msgstr ""
#, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr ""
#, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr ""
msgid "Items that cannot be decrypted"
msgstr ""
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr ""
@@ -1557,7 +1657,7 @@ msgid "%s: %d notes"
msgstr ""
msgid "Coming alarms"
msgstr ""
msgstr "Scheduled alarms"
#, javascript-format
msgid "On %s: %s"
@@ -1569,24 +1669,18 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
msgid "You currently have no notebooks."
msgstr ""
msgid "Create a notebook"
msgstr ""
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
msgid "Delete these notes?"
msgstr ""
msgid "Log"
msgstr ""
msgid "Export Debug Report"
msgstr ""
msgid "Encryption Config"
msgstr ""
msgid "Configuration"
msgstr ""
msgid "Move to notebook..."
msgstr ""
@@ -1609,8 +1703,21 @@ msgstr ""
msgid "Confirm"
msgstr ""
msgid "Cancel synchronisation"
msgstr "Cancel synchronization"
#, javascript-format
msgid "Notebook: %s"
msgstr ""
msgid "Encrypted notebooks cannot be renamed"
msgstr ""
msgid "New Notebook"
msgstr ""
msgid "Configuration"
msgstr ""
msgid "All notes"
msgstr ""
msgid "Checking... Please wait."
msgstr ""
@@ -1650,6 +1757,46 @@ msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr ""
msgid "Tools"
msgstr ""
msgid "Sync Status"
msgstr ""
msgid "Log"
msgstr ""
msgid "Creating report..."
msgstr ""
msgid "Export Debug Report"
msgstr ""
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
msgid "More information"
msgstr ""
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1709,6 +1856,9 @@ msgstr ""
msgid "Edit notebook"
msgstr ""
msgid "Enter notebook title"
msgstr ""
msgid "Show all"
msgstr ""
@@ -1732,10 +1882,30 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr ""
#, javascript-format
msgid "Updated: %s"
msgstr ""
msgid "View on map"
msgstr ""
msgid "Go to source URL"
msgstr ""
msgid "Attach..."
msgstr ""
msgid "Choose an option"
msgstr ""
msgid "Take photo"
msgstr ""
@@ -1754,22 +1924,16 @@ msgstr ""
msgid "Convert to todo"
msgstr ""
msgid "Hide metadata"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr ""
msgid "View on map"
msgstr ""
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr ""
msgid "Delete notebook"
msgid "Add title"
msgstr ""
msgid "Login with OneDrive"
@@ -1778,13 +1942,8 @@ msgstr ""
msgid "Search"
msgstr ""
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
#~ msgid "Synchronisation status"
#~ msgstr "Synchronization status"
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
msgid "Welcome"
msgstr ""
#~ msgid "Cancel synchronisation"
#~ msgstr "Cancel synchronization"

File diff suppressed because it is too large Load Diff

View File

@@ -175,16 +175,6 @@ msgstr "Ez dago koadernorik aukeratuta."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Ez dago oharrik: \"%s\". Sortu?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr "Oharra editatzearen hasiera. Itxi editorea prompt-era bueltatzeko."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Errorea editorean oharra zabaltzean: %s"
msgid "Note has been saved."
msgstr "Oharra gorde da."
msgid "Exits the application."
msgstr "Irten aplikaziotik."
@@ -391,6 +381,23 @@ msgstr "Oharra ezabatu?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Emandako <pattern> bilatzen du ohar guztietan."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -583,56 +590,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
#, fuzzy
msgid "Note title"
msgstr "Koadernoaren izenburua: "
#, fuzzy
msgid "Note body"
msgstr "Koadernoak"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, fuzzy
msgid "PDF File"
msgstr "Fitxategia"
msgid "Synchronisation status"
msgstr "Sinkronizazioaren egoera"
msgid "New note"
msgstr "Ohar berria"
msgid "New to-do"
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"
@@ -646,6 +603,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "Inportatu"
@@ -663,6 +623,9 @@ msgstr ""
msgid "Quit"
msgstr "Irten"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Editatu"
@@ -689,12 +652,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Tags"
msgstr "Etiketak"
msgid "Search in all the notes"
msgstr "Bilatu ohar guztietan"
@@ -725,10 +694,17 @@ msgstr "Laguntza"
msgid "Website and documentation"
msgstr "Web orria eta dokumentazioa (en)"
#, fuzzy
msgid "Joplin Forum"
msgstr "Evernotetik esportatutako fitxategiak"
#, fuzzy
msgid "Make a donation"
msgstr "Web orria eta dokumentazioa (en)"
msgid "Toggle development tools"
msgstr ""
#, fuzzy, javascript-format
msgid "Open %s"
msgstr "On %s: %s"
@@ -828,17 +804,23 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Oharrak eta ezarpenak hemen daude gordeta: %s"
msgid "Browse..."
msgstr ""
#, fuzzy
msgid "Check synchronisation configuration"
msgstr "Sinkronizazioa utzi"
msgid "Browse..."
msgstr ""
msgid "Back"
msgstr "Atzera"
msgid "Apply"
msgstr ""
@@ -919,8 +901,8 @@ msgid ""
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
msgid "Status"
@@ -929,13 +911,19 @@ msgstr "Egoera"
msgid "Encryption is:"
msgstr "Zifratua da:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
#, fuzzy
msgid "Usage"
msgstr "Erabili: %s"
msgid "Back"
msgstr "Atzera"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -955,9 +943,6 @@ msgstr "Koadernoaren izenburua: "
msgid "Add or remove tags:"
msgstr "Gehitu edo ezabatu etiketak:"
msgid "Separate each tag by a comma."
msgstr "Banatu etiketak koma erabiliaz."
msgid "Rename notebook:"
msgstr "Berrizendatu koadernoa:"
@@ -968,6 +953,18 @@ msgstr "Berrizendatu"
msgid "Set alarm:"
msgstr "Ezarri alarma:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Ohar berria"
msgid "New to-do"
msgstr "Zeregin berria"
msgid "New notebook"
msgstr "Koaderno berria"
msgid "Layout"
msgstr "Diseinua"
@@ -981,8 +978,9 @@ msgstr "Zenbait item ezin dira sinkronizatu."
msgid "View them now"
msgstr "Ikusi hori orain"
msgid "Some items cannot be decrypted."
msgstr "Zenbait item ezin dira deszifratu."
#, fuzzy
msgid "One or more master keys need a password."
msgstr "Sartu pasahitz nagusia:"
msgid "Set the password"
msgstr "Ezarri pasahitza"
@@ -1000,9 +998,36 @@ msgstr ""
msgid "URL"
msgstr ""
#, fuzzy
msgid "Note History"
msgstr "Koadernoak"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Ohar hau mugitua izan da:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr ""
@@ -1036,6 +1061,14 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
#, fuzzy
msgid "PDF File"
msgstr "Fitxategia"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Errorea editorean oharra zabaltzean: %s"
msgid "strong text"
msgstr ""
@@ -1051,9 +1084,6 @@ msgstr ""
msgid "Attach file"
msgstr "Erantsi fitxategia"
msgid "Tags"
msgstr "Etiketak"
msgid "Set alarm"
msgstr "Ezarri alarma"
@@ -1064,9 +1094,6 @@ msgstr "%s: %s"
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
@@ -1120,13 +1147,6 @@ msgstr "Aukerak"
msgid "Synchronisation Status"
msgstr "Sinkronizazioaren egoera"
msgid "Encryption Options"
msgstr "Zifratzeko aukerak"
#, fuzzy
msgid "Clipper Options"
msgstr "Ezarpenak"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1152,16 +1172,19 @@ msgstr "Koadernoak"
#, fuzzy, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Itemak eskuratuta: %d%d."
msgstr "Itemak eskuratuta: %d/%d"
#, fuzzy, javascript-format
msgid "Fetching resources: %d"
msgstr "Baliabideak: %d."
msgid "Fetching resources: %d/%d"
msgstr "Baliabideak: %d/%d"
#, fuzzy
msgid "Please select where the sync status should be exported to"
msgstr "Aukeratu nora esportatu sinkronizazioaren egoera, mesedez"
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "Gehitu edo ezabatu etiketak"
@@ -1364,6 +1387,62 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr "Sinkronizazio helbudua"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Sinkronizazio helburua. Sinkronizazio aukera bakoitzak izan ditzake "
"parametro gehigarriak, horrela izendatuta `sync.NUM.NAME` (dena beherago "
"dokumentatuta)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Sinkronizatzeko direktorioa (bide-izena osorik)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud erabiltzaile-izena"
msgid "Nextcloud password"
msgstr "Nextcloud pasahitza"
#, fuzzy
msgid "WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, fuzzy
msgid "WebDAV username"
msgstr "Nextcloud erabiltzaile-izena"
#, fuzzy
msgid "WebDAV password"
msgstr "Ezarri pasahitza"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Hizkuntza"
@@ -1382,6 +1461,12 @@ msgstr "Argia"
msgid "Dark"
msgstr "Iluna"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
#, fuzzy
msgid "Uncompleted to-dos on top"
msgstr "Bete gabeko zereginak erakutsi zerrendaren goiko partean"
@@ -1455,6 +1540,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1478,6 +1566,10 @@ msgstr "Ezarri aplikazioaren zoomaren ehunekoa"
msgid "Editor font size"
msgstr "Oharra editatu."
#, fuzzy
msgid "Editor font"
msgstr "Oharra editatu."
msgid "Editor font family"
msgstr ""
@@ -1523,44 +1615,6 @@ msgstr ""
"Editorea erabiliko da oharra zabaltzeko. Ez badago zehaztutakorik lehenetsia "
"igartzen ahaleginduko da."
msgid "Show advanced options"
msgstr "Erakutsi aukera aurreratuak"
msgid "Synchronisation target"
msgstr "Sinkronizazio helbudua"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Sinkronizazio helburua. Sinkronizazio aukera bakoitzak izan ditzake "
"parametro gehigarriak, horrela izendatuta `sync.NUM.NAME` (dena beherago "
"dokumentatuta)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Sinkronizatzeko direktorioa (bide-izena osorik)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud erabiltzaile-izena"
msgid "Nextcloud password"
msgstr "Nextcloud pasahitza"
#, fuzzy
msgid "WebDAV URL"
msgstr "Nextcloud WebDAV URL"
#, fuzzy
msgid "WebDAV username"
msgstr "Nextcloud erabiltzaile-izena"
#, fuzzy
msgid "WebDAV password"
msgstr "Ezarri pasahitza"
msgid "Custom TLS certificates"
msgstr ""
@@ -1574,6 +1628,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Zifratua gaitu"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Balio aukera baliogabea: \"%s\". Litezkeen balioak: %s."
@@ -1600,6 +1678,13 @@ msgstr ""
msgid "Application"
msgstr "Irten aplikaziotik"
#, fuzzy
msgid "Encryption"
msgstr "Zifratua da:"
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1615,7 +1700,11 @@ msgid "Joplin Export Directory"
msgstr ""
#, fuzzy
msgid "Evernote Export File"
msgid "Evernote Export File (as Markdown)"
msgstr "Evernotetik esportatutako fitxategiak"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Evernotetik esportatutako fitxategiak"
#, fuzzy
@@ -1649,13 +1738,12 @@ msgstr ""
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Aukeratu nora esportatu sinkronizazioaren egoera, mesedez"
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Itemok ezin sinkronizatu"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1664,6 +1752,24 @@ msgstr ""
"Itemok gailuan geratuko dira baina ez dira sinkronizatuko. Horiek aurkitzeko "
"bilaketak egin titulu edo goiko parentesien arteko IDaren arabera."
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Koadernoa ezin gorde daiteke: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Koadernoa ezin gorde daiteke: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Itemok ezin sinkronizatu"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "Sinkronizazio egoera (sinkronizatutako itemak/itemak guztira)"
@@ -1703,24 +1809,20 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Ezabatu aukeratutako oharra edo koadernoa"
#, fuzzy
msgid "Create a notebook"
msgstr "Koaderno berria sortzen du."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "Ez dago oharrik. Sortu bat (+) botoian klik eginaz."
msgid "Delete these notes?"
msgstr "Oharrok ezabatu?"
msgid "Log"
msgstr "Egunkaria"
msgid "Export Debug Report"
msgstr "Esportatu arazketa txostena"
msgid "Encryption Config"
msgstr "Zifratze Ezarpenak"
msgid "Configuration"
msgstr "Konfigurazioa"
msgid "Move to notebook..."
msgstr "Mugitu ... koadernora"
@@ -1745,8 +1847,24 @@ msgstr "Data aukeratu"
msgid "Confirm"
msgstr "Baieztatu"
msgid "Cancel synchronisation"
msgstr "Sinkronizazioa utzi"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Koadernoak"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Zifratutako itemak ezin aldatu daitezke"
#, fuzzy
msgid "New Notebook"
msgstr "Koaderno berria"
msgid "Configuration"
msgstr "Konfigurazioa"
#, fuzzy
msgid "All notes"
msgstr "Ohar berria"
#, fuzzy
msgid "Checking... Please wait."
@@ -1784,6 +1902,50 @@ msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "Zifratze Ezarpenak"
#, fuzzy
msgid "Tools"
msgstr "Tresnak"
#, fuzzy
msgid "Sync Status"
msgstr "Egoera"
msgid "Log"
msgstr "Egunkaria"
#, fuzzy
msgid "Creating report..."
msgstr "Oharrak inportatzen..."
msgid "Export Debug Report"
msgstr "Esportatu arazketa txostena"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Konfigurazioa"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1843,6 +2005,10 @@ msgstr "Koadernoa ezin gorde daiteke: %s"
msgid "Edit notebook"
msgstr "Editatu koadernoa"
#, fuzzy
msgid "Enter notebook title"
msgstr "Koadernoaren izenburua: "
msgid "Show all"
msgstr ""
@@ -1866,10 +2032,32 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Irudi formatua ez onartua: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Eguneratuta: %d."
msgid "View on map"
msgstr "Ikusi mapan"
msgid "Go to source URL"
msgstr ""
#, fuzzy
msgid "Attach..."
msgstr "Bilatu"
#, fuzzy
msgid "Choose an option"
msgstr "Erakutsi aukera aurreratuak"
#, fuzzy
msgid "Take photo"
msgstr "Argazkia erantsi"
@@ -1889,23 +2077,18 @@ msgstr "Oharra bihurtu"
msgid "Convert to todo"
msgstr "Zeregina bihurtu"
msgid "Hide metadata"
msgstr "Ezkutatu metadatuak"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr "Erakutsi metadatuak"
msgid "View on map"
msgstr "Ikusi mapan"
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Editatu"
msgid "Delete notebook"
msgstr "Ezabatu koadernoa"
#, fuzzy
msgid "Add title"
msgstr "Titulu gabekoa"
msgid "Login with OneDrive"
msgstr "Login with OneDrive"
@@ -1913,22 +2096,81 @@ msgstr "Login with OneDrive"
msgid "Search"
msgstr "Bilatu"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Sakatu (+) botoian ohar edo koaderno berria sortzeko. Klik alboko menuan "
"dagoeneko badiren koadernoak."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr "Oharra editatzearen hasiera. Itxi editorea prompt-era bueltatzeko."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "Oraindik ez duzu koadernorik. Sortu bat (+) botoian sakatuta."
msgid "Welcome"
msgstr "Ongi etorri!"
#~ msgid "Note has been saved."
#~ msgstr "Oharra gorde da."
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Ohar hau mugitua izan da:"
#~ msgid "Note title"
#~ msgstr "Koadernoaren izenburua: "
#, fuzzy
#~ msgid "Note body"
#~ msgstr "Koadernoak"
#~ msgid "Synchronisation status"
#~ msgstr "Sinkronizazioaren egoera"
#~ msgid "General Options"
#~ msgstr "Ezarpenak"
#~ msgid "Encryption options"
#~ msgstr "Zifratzeko aukerak"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Zifratzeko aukerak"
#, fuzzy
#~ msgid "Clipper Options"
#~ msgstr "Ezarpenak"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Konfigurazioa"
#~ msgid "Cancel synchronisation"
#~ msgstr "Sinkronizazioa utzi"
#~ msgid "Hide metadata"
#~ msgstr "Ezkutatu metadatuak"
#~ msgid "Show metadata"
#~ msgstr "Erakutsi metadatuak"
#~ msgid "Delete notebook"
#~ msgstr "Ezabatu koadernoa"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Sakatu (+) botoian ohar edo koaderno berria sortzeko. Klik alboko menuan "
#~ "dagoeneko badiren koadernoak."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr "Oraindik ez duzu koadernorik. Sortu bat (+) botoian sakatuta."
#~ msgid "Welcome"
#~ msgstr "Ongi etorri!"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Banatu etiketak koma erabiliaz."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Zenbait item ezin dira deszifratu."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1987,9 +2229,6 @@ msgstr "Ongi etorri!"
#~ msgid "Cancel the current command."
#~ msgstr "Utzi uneko komandoa"
#~ msgid "Delete the currently selected note or notebook."
#~ msgstr "Ezabatu aukeratutako oharra edo koadernoa"
#~ msgid "Set a to-do as completed / not completed"
#~ msgstr "Zeregina eginda / ez-eginda markatu"

2033
CliClient/locales/fa.po Normal file

File diff suppressed because it is too large Load Diff

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.3\n"
msgid "To delete a tag, untag the associated notes."
msgstr "Pour supprimer une vignette, enlever là des notes associées."
@@ -173,18 +173,6 @@ msgstr "Aucun carnet actif."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Cette note n'existe pas : \"%s\". La créer ?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Édition de la note en cours. Fermez l'éditeur de texte pour retourner à "
"l'invite de commande."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Erreur lors de l'ouverture de la note dans l'éditeur de texte : %s"
msgid "Note has been saved."
msgstr "La note a été enregistrée."
msgid "Exits the application."
msgstr "Quitter le logiciel."
@@ -389,6 +377,26 @@ msgstr "Supprimer la note ?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Chercher le motif <pattern> dans toutes les notes."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
"Démarre, stop ou vérifie l'état du serveur API. Pour spécifier sur quel port "
"il doit tourner, veuillez utiliser la variable de config api.port. Les "
"commandes sont (%s)."
#, javascript-format
msgid "Server is already running on port %d"
msgstr "Le serveur tourne déjà sur le port %d"
#, javascript-format
msgid "Server is running on port %d"
msgstr "Le serveur tourne sur le port %d"
msgid "Server is not running."
msgstr "Le serveur est arrêté."
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -584,53 +592,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Exporter vers \"%s\" au format \"%s\". Veuillez patienter..."
msgid "Sidebar"
msgstr "Barre latérale"
msgid "Note list"
msgstr "Liste de notes"
msgid "Note title"
msgstr "Titre de la note"
msgid "Note body"
msgstr "Corps de la note"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "Importer depuis \"%s\" au format \"%s\". Veuillez patienter..."
msgid "PDF File"
msgstr "Fichier PDF"
msgid "Synchronisation status"
msgstr "État de la synchronisation"
msgid "New note"
msgstr "Nouvelle note"
msgid "New to-do"
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"
@@ -643,6 +604,9 @@ msgstr "Préférences…"
msgid "Check for updates..."
msgstr "Vérifier les mises à jour..."
msgid "Templates"
msgstr "Modèles"
msgid "Import"
msgstr "Importer"
@@ -659,6 +623,9 @@ msgstr "Cacher %s"
msgid "Quit"
msgstr "Quitter"
msgid "Close Window"
msgstr "Fermer la fenêtre"
msgid "&Edit"
msgstr "&Édition"
@@ -683,12 +650,18 @@ msgstr "Italique"
msgid "Link"
msgstr "Lien"
msgid "Code"
msgstr "Code"
msgid "Insert Date Time"
msgstr "Insérer la date et l'heure"
msgid "Edit in external editor"
msgstr "Ouvrir dans un éditeur externe"
msgid "Tags"
msgstr "Étiquettes"
msgid "Search in all the notes"
msgstr "Chercher dans toutes les notes"
@@ -716,9 +689,15 @@ msgstr "&Aide"
msgid "Website and documentation"
msgstr "Documentation en ligne"
msgid "Joplin Forum"
msgstr "Forum Joplin"
msgid "Make a donation"
msgstr "Faire un don"
msgid "Toggle development tools"
msgstr "Monter/Cacher les outils de développement"
#, javascript-format
msgid "Open %s"
msgstr "Ouvrir %s"
@@ -826,15 +805,21 @@ msgstr ""
"Ce code d'authentification est nécessaire uniquement pour permettre aux "
"logiciels tiers d'accéder aux données de Joplin."
msgid "This will open a new screen. Save your current changes?"
msgstr "Sauvegarder vos changements avant de continuer ?"
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Les notes et paramètres se trouve dans : %s"
msgid "Check synchronisation configuration"
msgstr "Vérifier config synchronisation"
msgid "Browse..."
msgstr "Parcourir…"
msgid "Check synchronisation configuration"
msgstr "Vérifier config synchronisation"
msgid "Back"
msgstr "Retour"
msgid "Apply"
msgstr "Appliquer"
@@ -919,8 +904,8 @@ msgstr ""
"probable qu'elle vont être prochainement disponible via la synchronisation."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
"Pour plus d'informations sur le chiffrement de bout en bout, ainsi que des "
"conseils pour l'activer, veuillez consulter la documentation :"
@@ -931,12 +916,18 @@ msgstr "État"
msgid "Encryption is:"
msgstr "Le chiffrement est :"
msgid "Firefox Extension"
msgstr "Module Firefox"
msgid "Chrome Web Store"
msgstr "Chrome Web Store"
msgid "Get it now:"
msgstr "L'obtenir maintenant :"
msgid "Usage"
msgstr "Utilisation"
msgid "Back"
msgstr "Retour"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -956,9 +947,6 @@ msgstr "Titre du carnet :"
msgid "Add or remove tags:"
msgstr "Modifier les étiquettes :"
msgid "Separate each tag by a comma."
msgstr "Séparez chaque étiquette par une virgule."
msgid "Rename notebook:"
msgstr "Renommer le carnet :"
@@ -968,6 +956,18 @@ msgstr "Renommer étiquette :"
msgid "Set alarm:"
msgstr "Régler alarme :"
msgid "Template file:"
msgstr "Fichier de modèle :"
msgid "New note"
msgstr "Nouvelle note"
msgid "New to-do"
msgstr "Nouvelle tâche"
msgid "New notebook"
msgstr "Nouveau carnet"
msgid "Layout"
msgstr "Disposition"
@@ -980,8 +980,8 @@ msgstr "Certains objets ne peuvent être synchronisés."
msgid "View them now"
msgstr "Les voir maintenant"
msgid "Some items cannot be decrypted."
msgstr "Certains objets ne peuvent être déchiffrés."
msgid "One or more master keys need a password."
msgstr "L'une des clefs maîtres requiert un mot de passe."
msgid "Set the password"
msgstr "Définir le mot de passe"
@@ -1002,9 +1002,37 @@ msgstr "Lieu"
msgid "URL"
msgstr "URL"
msgid "Note History"
msgstr "Historique des notes"
msgid "Markup"
msgstr "Langage de balisage"
msgid "Previous versions of this note"
msgstr "Versions précédentes de cette note"
msgid "Note properties"
msgstr "Propriétés de la note"
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr "La note \"%s\" a été restaurée dans le carnet \"%s\"."
msgid "This note has no history"
msgstr "Cette note n'a pas d'historique"
msgid "Restore"
msgstr "Restaurer"
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
"Cliquez sur \"%s\" pour restaurer cette note. Elle sera copiée dans le "
"carnet \"%s\". La version actuelle de la note ne sera pas replacée ou "
"modifiée."
msgid "Open..."
msgstr "Ouvrir..."
@@ -1041,6 +1069,13 @@ msgstr ""
"Les notes ne peuvent être imprimées ou exportées en PDF qu'une seule à la "
"fois."
msgid "PDF File"
msgstr "Fichier PDF"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Erreur lors de l'ouverture de la note dans l'éditeur de texte : %s"
msgid "strong text"
msgstr "texte en gras"
@@ -1056,9 +1091,6 @@ msgstr "Insérer lien"
msgid "Attach file"
msgstr "Attacher un fichier"
msgid "Tags"
msgstr "Étiquettes"
msgid "Set alarm"
msgstr "Régler alarme"
@@ -1069,9 +1101,6 @@ msgstr "Dans : %s"
msgid "Hyperlink"
msgstr "Lien"
msgid "Code"
msgstr "Code"
msgid "Numbered List"
msgstr "Liste numérotée"
@@ -1121,12 +1150,6 @@ msgstr "Options"
msgid "Synchronisation Status"
msgstr "État de la synchronisation"
msgid "Encryption Options"
msgstr "Options de chiffrement"
msgid "Clipper Options"
msgstr "Options du Web Clipper"
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1158,13 +1181,16 @@ msgid "Decrypting items: %d/%d"
msgstr "Déchiffrement des objets : %d/%d"
#, javascript-format
msgid "Fetching resources: %d"
msgstr "Tél. ressources : %d"
msgid "Fetching resources: %d/%d"
msgstr "Tél. ressources : %d/%d"
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 "Retry"
msgstr "Réessayer"
msgid "Add or remove tags"
msgstr "Gérer les étiquettes"
@@ -1363,6 +1389,63 @@ msgstr ""
"de synchroniser, sinon tous les fichiers seront supprimés ! Consulter la FAQ "
"pour plus de détails : %s"
msgid "Synchronisation target"
msgstr "Cible de la synchronisation"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"La cible avec laquelle synchroniser. Chaque cible de synchronisation peut "
"avoir des paramètres supplémentaires sous le nom `sync.NUM.NOM` (documentés "
"ci-dessous)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Répertoire avec lequel synchroniser (chemin absolu)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud : URL WebDAV"
msgid "Nextcloud username"
msgstr "Nextcloud : Nom utilisateur"
msgid "Nextcloud password"
msgstr "Nextcloud : Mot de passe"
msgid "WebDAV URL"
msgstr "WebDAV : URL"
msgid "WebDAV username"
msgstr "WebDAV : Nom utilisateur"
msgid "WebDAV password"
msgstr "WebDAV : Mot de passe"
msgid "Attachment download behaviour"
msgstr "Téléchargement des ressources"
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
"En mode \"manuel\", les ressources sont téléchargées uniquement lorsque vous "
"cliquez dessus. En mode \"auto\", elles sont téléchargées lorsque vous "
"ouvrez la note. En mode \"toujours\", toutes les ressources sont "
"téléchargées, que vous ayez ouvert la note ou pas."
msgid "Always"
msgstr "Toujours"
msgid "Manual"
msgstr "Manuel"
msgid "Auto"
msgstr "Auto"
msgid "Max concurrent connections"
msgstr "Nombre maxi de connections simultanées"
msgid "Language"
msgstr "Langue"
@@ -1381,6 +1464,12 @@ msgstr "Clair"
msgid "Dark"
msgstr "Sombre"
msgid "Solarised Light"
msgstr "Solarisé clair"
msgid "Solarised Dark"
msgstr "Solarisé sombre"
msgid "Uncompleted to-dos on top"
msgstr "Tâches non-terminées en haut"
@@ -1447,6 +1536,9 @@ msgstr "Activer la syntaxe ++insertion++"
msgid "Enable multimarkdown table extension"
msgstr "Activer les tables multi-markdown"
msgid "Enable Fountain syntax support"
msgstr "Activer la syntaxe \"Fountain\""
msgid "Show tray icon"
msgstr "Afficher l'icône dans la zone de notifications"
@@ -1471,6 +1563,9 @@ msgstr "Niveau de zoom"
msgid "Editor font size"
msgstr "Taille police éditeur"
msgid "Editor font"
msgstr "Police de l'éditeur"
msgid "Editor font family"
msgstr "Police de l'éditeur"
@@ -1517,41 +1612,6 @@ msgstr ""
"La commande de l'éditeur de texte (peut inclure des options) pour ouvrir et "
"modifier les notes. Si non-spécifiée, elle sera détectée automatiquement."
msgid "Show advanced options"
msgstr "Montrer les options avancées"
msgid "Synchronisation target"
msgstr "Cible de la synchronisation"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"La cible avec laquelle synchroniser. Chaque cible de synchronisation peut "
"avoir des paramètres supplémentaires sous le nom `sync.NUM.NOM` (documentés "
"ci-dessous)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Répertoire avec lequel synchroniser (chemin absolu)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud : URL WebDAV"
msgid "Nextcloud username"
msgstr "Nextcloud : Nom utilisateur"
msgid "Nextcloud password"
msgstr "Nextcloud : Mot de passe"
msgid "WebDAV URL"
msgstr "WebDAV : URL"
msgid "WebDAV username"
msgstr "WebDAV : Nom utilisateur"
msgid "WebDAV password"
msgstr "WebDAV : Mot de passe"
msgid "Custom TLS certificates"
msgstr "Certificats TLS personnalisés"
@@ -1570,6 +1630,34 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "Ignorer les erreurs de certificats TLS"
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
"Sécurité : Ne pas supprimer toutes les données lorsque la cible de "
"synchronisation est vide (souvent à cause d'un bug ou d'un problème de "
"config)"
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
"Détermine quel port sera utilisé par le serveur API. Si aucun n'est "
"spécifié, un port par défaut sera utilisé."
msgid "Enable note history"
msgstr "Activer l'historique des notes"
msgid "days"
msgstr "jours"
#, javascript-format
msgid "%d days"
msgstr "%d jours"
msgid "Keep note history for"
msgstr "Garder l'historique des notes pour"
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Option invalide: \"%s\". Les valeurs possibles sont : %s."
@@ -1592,6 +1680,12 @@ msgstr "Modules"
msgid "Application"
msgstr "Application"
msgid "Encryption"
msgstr "Chiffrement"
msgid "Web Clipper"
msgstr "Web Clipper"
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr "L'étiquette \"%s\" existe déjà. Veuillez choisir un autre nom."
@@ -1605,8 +1699,11 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr "Dossier d'export Joplin"
msgid "Evernote Export File"
msgstr "Fichiers d'export Evernote"
msgid "Evernote Export File (as Markdown)"
msgstr "Fichiers d'export Evernote (vers Markdown)"
msgid "Evernote Export File (as HTML)"
msgstr "Fichiers d'export Evernote (vers HTML)"
msgid "Json Export Directory"
msgstr "Dossier d'export JSON"
@@ -1639,13 +1736,12 @@ msgstr "Il n'y a pas de données à exporter."
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Veuillez sélectionner le carnet où les notes doivent être importées."
msgid "Restored Notes"
msgstr "Notes restaurées"
msgid "Items that cannot be synchronised"
msgstr "Objets qui ne peuvent pas être synchronisés"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s) : %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1655,6 +1751,26 @@ msgstr ""
"de la synchronisation. Pour trouver ces objets, faite une recherche sur le "
"titre ou l'identifiant de l'objet (affiché ci-dessus entre parenthèses)."
#, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "%s (%s) n'a pas pu être envoyé : %s"
#, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "L'objet \"%s\" n'a pas pu être téléchargé : %s"
msgid "Items that cannot be decrypted"
msgstr "Objets qui ne peuvent pas être déchiffrés"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
"Joplin n'a pas pu déchiffrer ces objets à plusieurs reprises, peut-être "
"parce qu'ils sont corrompus ou trop larges. Ces objets vont rester sur "
"l'appareil mais Joplin n'essayera plus de les déchiffrer."
msgid "Sync status (synced items / total items)"
msgstr "Status de la synchronisation (objets synchro. / total)"
@@ -1694,6 +1810,12 @@ msgstr "Permission d'utiliser l'appareil photo"
msgid "Your permission to use your camera is required."
msgstr "Votre permission est requise pour utiliser l'appareil photo."
msgid "You currently have no notebooks."
msgstr "Vous n'avez pour l'instant pas de carnets."
msgid "Create a notebook"
msgstr "Créer un carnet"
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
"Ce carnet ne contient aucune note. Créez-en une en appuyant sur le bouton "
@@ -1702,18 +1824,6 @@ msgstr ""
msgid "Delete these notes?"
msgstr "Supprimer ces notes ?"
msgid "Log"
msgstr "Journal"
msgid "Export Debug Report"
msgstr "Exporter rapport de débogage"
msgid "Encryption Config"
msgstr "Config chiffrement"
msgid "Configuration"
msgstr "Configuration"
msgid "Move to notebook..."
msgstr "Déplacer vers..."
@@ -1736,8 +1846,21 @@ msgstr "Sélectionner date"
msgid "Confirm"
msgstr "Confirmer"
msgid "Cancel synchronisation"
msgstr "Annuler synchronisation"
#, javascript-format
msgid "Notebook: %s"
msgstr "Carnet : %s"
msgid "Encrypted notebooks cannot be renamed"
msgstr "Les carnets chiffrés ne peuvent être renommés"
msgid "New Notebook"
msgstr "Nouveau carnet"
msgid "Configuration"
msgstr "Configuration"
msgid "All notes"
msgstr "Toutes les notes"
msgid "Checking... Please wait."
msgstr "Vérification... Veuillez attendre."
@@ -1779,6 +1902,50 @@ msgstr "Nouvelles étiquettes :"
msgid "Type new tags or select from list"
msgstr "Entrez de nouvelles étiquettes ou sélectionnez de la liste"
msgid "Warning"
msgstr "Avertissement"
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
"Pour utiliser la synchronisation par système de fichiers, votre autorisation "
"pour écrire sur le stockage externe est requise."
msgid "Encryption Config"
msgstr "Config chiffrement"
msgid "Tools"
msgstr "Outils"
msgid "Sync Status"
msgstr "État synchronisation"
msgid "Log"
msgstr "Journal"
msgid "Creating report..."
msgstr "Création du rapport..."
msgid "Export Debug Report"
msgstr "Exporter rapport de débogage"
msgid "Fixing search index..."
msgstr "Correction de l'index..."
msgid "Fix search index"
msgstr "Corriger index de recherche"
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
"Utilisez ceci pour corriger l'index du moteur de recherche en cas de "
"problème. Cela peut prendre longtemps selon le nombre de notes."
msgid "More information"
msgstr "Plus d'information"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1842,6 +2009,9 @@ msgstr "Ce carnet n'a pas pu être sauvegardé : %s"
msgid "Edit notebook"
msgstr "Éditer le carnet"
msgid "Enter notebook title"
msgstr "Entrez le titre du carnet"
msgid "Show all"
msgstr "Afficher tous"
@@ -1866,10 +2036,30 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
"L'application mobile Joplin ne gère pas pour l'instant ce type de lien : %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr "Le schéma d'URI \"%s\" n'est pas supporté"
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Type d'image non géré : %s"
#, javascript-format
msgid "Updated: %s"
msgstr "Mis à jour : %s"
msgid "View on map"
msgstr "Voir sur carte"
msgid "Go to source URL"
msgstr "Aller à l'URL source"
msgid "Attach..."
msgstr "Joindre..."
msgid "Choose an option"
msgstr "Choisissez une option"
msgid "Take photo"
msgstr "Prendre une photo"
@@ -1888,23 +2078,17 @@ msgstr "Convertir en note"
msgid "Convert to todo"
msgstr "Convertir en tâche"
msgid "Hide metadata"
msgstr "Cacher les métadonnées"
msgid "Properties"
msgstr "Propriétés"
msgid "Show metadata"
msgstr "Voir métadonnées"
msgid "View on map"
msgstr "Voir sur carte"
msgid "Go to source URL"
msgstr "Aller à l'URL source"
msgid "Add body"
msgstr "Ajoutez le contenu"
msgid "Edit"
msgstr "Édition"
msgid "Delete notebook"
msgstr "Supprimer le carnet"
msgid "Add title"
msgstr "Ajoutez le titre"
msgid "Login with OneDrive"
msgstr "Se connecter à OneDrive"
@@ -1912,24 +2096,126 @@ msgstr "Se connecter à OneDrive"
msgid "Search"
msgstr "Chercher"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Appuyez sur le bouton (+) pour créer une nouvelle note ou carnet. Ouvrez le "
"menu latéral pour accéder à vos carnets."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr ""
#~ "Édition de la note en cours. Fermez l'éditeur de texte pour retourner à "
#~ "l'invite de commande."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
"Vous n'avez pour l'instant pas de carnets. Créez-en un en pressant le bouton "
"(+)."
#~ msgid "Note has been saved."
#~ msgstr "La note a été enregistrée."
msgid "Welcome"
msgstr "Bienvenue"
#~ msgid "All potential ports are in use - please report the issue at %s"
#~ msgstr ""
#~ "Tous les ports sont en cours d'utilisation. Veuillez signaler ce problème "
#~ "sur %s"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Cette note a été modifiée :"
#~ msgid "Sidebar"
#~ msgstr "Barre latérale"
#~ msgid "Note list"
#~ msgstr "Liste de notes"
#~ msgid "Note title"
#~ msgstr "Titre de la note"
#~ msgid "Note body"
#~ msgstr "Corps de la note"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "Importer depuis \"%s\" au format \"%s\". Veuillez patienter..."
#~ msgid "Synchronisation status"
#~ msgstr "État de la synchronisation"
#~ msgid "Print"
#~ msgstr "Imprimer"
#~ msgid "General Options"
#~ msgstr "Options générales"
#~ msgid "Encryption options"
#~ msgstr "Options de chiffrement"
#~ msgid "Create note from template"
#~ msgstr "Créer une note à partir d'un modèle"
#~ msgid "Create to-do from template"
#~ msgstr "Créer une tâche à partir d'un modèle"
#~ msgid "Insert template"
#~ msgstr "Insérer un modèle"
#~ msgid "Open template directory"
#~ msgstr "Ouvrir le dossier des modèles"
#~ msgid "Refresh templates"
#~ msgstr "Rafraichir modèles"
#~ msgid "Revision: %s (%s)"
#~ msgstr "Révision : %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Options de chiffrement"
#~ msgid "Clipper Options"
#~ msgstr "Options du Web Clipper"
#~ msgid ""
#~ "Unknown item type downloaded - please upgrade Joplin to the latest version"
#~ msgstr "Objet inconnu téléchargé - veuillez mettre Joplin à jour"
#~ msgid "Information"
#~ msgstr "Information"
#~ msgid ""
#~ "Joplin does not have permission to access \"%s\". Either choose a "
#~ "different sync target, or give Joplin the \"Storage\" permission."
#~ msgstr ""
#~ "Joplin ne peut pas accéder au dossier \"%s\". Choisissez une autre cible "
#~ "de synchronisation, ou donnez à Joplin l'autorisation \"Stockage\"."
#~ msgid "Permission to write to external storage"
#~ msgstr "Autorisation d'écrire sur le stockage externe"
#~ msgid "Cancel synchronisation"
#~ msgstr "Annuler synchronisation"
#~ msgid "Hide metadata"
#~ msgstr "Cacher les métadonnées"
#~ msgid "Show metadata"
#~ msgstr "Voir métadonnées"
#~ msgid "Delete notebook"
#~ msgstr "Supprimer le carnet"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Appuyez sur le bouton (+) pour créer une nouvelle note ou carnet. Ouvrez "
#~ "le menu latéral pour accéder à vos carnets."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr ""
#~ "Vous n'avez pour l'instant pas de carnets. Créez-en un en pressant le "
#~ "bouton (+)."
#~ msgid "Welcome"
#~ msgstr "Bienvenue"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Séparez chaque étiquette par une virgule."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Certains objets ne peuvent être déchiffrés."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s) : %s"
#~ msgid "Table of contents"
#~ msgstr "Table des matières"
@@ -1941,15 +2227,9 @@ msgstr "Bienvenue"
#~ "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"
#~ msgid "Remove?"
#~ msgstr "Supprimer ?"
#~ msgid "Delete notes?"
#~ msgstr "Supprimer les notes ?"
#~ msgid "State: %s."
#~ msgstr "État : %s."
@@ -2012,9 +2292,6 @@ msgstr "Bienvenue"
#~ msgid "Exit the application."
#~ msgstr "Quitter le logiciel."
#~ msgid "Delete the currently selected note or notebook."
#~ msgstr "Supprimer la note ou carnet sélectionné."
#~ msgid "Set a to-do as completed / not completed"
#~ msgstr "Marquer une tâches comme complétée / non-complétée"
@@ -2228,11 +2505,6 @@ msgstr "Bienvenue"
#~ msgid "use <notebook>"
#~ msgstr "Nouveau carnet"
#~ msgid "All potential ports are in use - please report the issue at %s"
#~ msgstr ""
#~ "Tous les ports sont en cours d'utilisation. Veuillez signaler ce problème "
#~ "sur %s"
#~ msgid "Synchronizing with directory \"%s\""
#~ msgstr "Synchronisation avec dossier \"%s\""

View File

@@ -172,16 +172,6 @@ msgstr "Ningún caderno activo."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "A nota non existe: «%s». Desexa creala?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr "Comezando a editar a nota. Peche o editor para volver ao diálogo."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Produciuse un erro abrindo a nota no editor: %s"
msgid "Note has been saved."
msgstr "A nota foi gardada."
msgid "Exits the application."
msgstr "Sae do aplicativo."
@@ -388,6 +378,23 @@ msgstr "Eliminar nota?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Busca o patrón <pattern> en todas as notas."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -577,55 +584,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Exportando a «%s» como formato «%s». Agarde..."
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
#, fuzzy
msgid "Note title"
msgstr "Título do caderno:"
#, fuzzy
msgid "Note body"
msgstr "Cadernos"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "Importando de «%s» como formato «%s». Agarde..."
msgid "PDF File"
msgstr "Ficheiro PDF"
msgid "Synchronisation status"
msgstr "Estado da sincronización"
msgid "New note"
msgstr "Nova nota"
msgid "New to-do"
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"
@@ -639,6 +597,9 @@ msgstr ""
msgid "Check for updates..."
msgstr "Buscar actualizacións…"
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "Importar"
@@ -655,6 +616,9 @@ msgstr "Ocultar %s"
msgid "Quit"
msgstr "Saír"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Edtar"
@@ -681,12 +645,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Tags"
msgstr "Etiquetas"
msgid "Search in all the notes"
msgstr "Buscar en todas as notas"
@@ -719,9 +689,16 @@ msgstr "Axuda"
msgid "Website and documentation"
msgstr "Sitio web e documentación"
#, fuzzy
msgid "Joplin Forum"
msgstr "Sitio web de Joplin"
msgid "Make a donation"
msgstr "Doar"
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr "Abrir %s"
@@ -820,15 +797,21 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "As notas e axustes gardáronse en: %s"
msgid "Check synchronisation configuration"
msgstr "Comprobar a configuración da sincronización"
msgid "Browse..."
msgstr ""
msgid "Check synchronisation configuration"
msgstr "Comprobar a configuración da sincronización"
msgid "Back"
msgstr "Anterior"
msgid "Apply"
msgstr ""
@@ -911,8 +894,8 @@ msgstr ""
"descargados pola sincronización."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
msgid "Status"
@@ -921,13 +904,19 @@ msgstr "Estado"
msgid "Encryption is:"
msgstr "O cifrado é:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
#, fuzzy
msgid "Usage"
msgstr "Uso: %s"
msgid "Back"
msgstr "Anterior"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -945,9 +934,6 @@ msgstr "Título do caderno:"
msgid "Add or remove tags:"
msgstr "Engadir ou eliminar etiquetas:"
msgid "Separate each tag by a comma."
msgstr "Separar cada etiqueta por unha coma."
msgid "Rename notebook:"
msgstr "Renomear caderno:"
@@ -958,6 +944,18 @@ msgstr "Renomear"
msgid "Set alarm:"
msgstr "Estabelecer alarma:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Nova nota"
msgid "New to-do"
msgstr "Nova tarefa"
msgid "New notebook"
msgstr "Novo caderno"
msgid "Layout"
msgstr "Disposición"
@@ -970,8 +968,9 @@ msgstr "Non é posíbel sincronizar algúns elementos."
msgid "View them now"
msgstr "Visualizar agora"
msgid "Some items cannot be decrypted."
msgstr "Non é posíbel descifrar algúns elementos."
#, fuzzy
msgid "One or more master keys need a password."
msgstr "Introducir contrasinal mestre:"
msgid "Set the password"
msgstr "Estabelecer un contrasinal"
@@ -989,9 +988,36 @@ msgstr ""
msgid "URL"
msgstr ""
#, fuzzy
msgid "Note History"
msgstr "Cadernos"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Esta nota foi modificada:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr "Abrir…"
@@ -1026,6 +1052,13 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
msgid "PDF File"
msgstr "Ficheiro PDF"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Produciuse un erro abrindo a nota no editor: %s"
msgid "strong text"
msgstr ""
@@ -1041,9 +1074,6 @@ msgstr ""
msgid "Attach file"
msgstr "Anexar un ficheiro"
msgid "Tags"
msgstr "Etiquetas"
msgid "Set alarm"
msgstr "Estabelecer alarma"
@@ -1054,9 +1084,6 @@ msgstr "%s: %s"
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
@@ -1107,13 +1134,6 @@ msgstr "Opcións"
msgid "Synchronisation Status"
msgstr "Estado da sincronización"
msgid "Encryption Options"
msgstr "Opcións de cifrado"
#, fuzzy
msgid "Clipper Options"
msgstr "Opcións xerais"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1140,15 +1160,18 @@ msgstr "Cadernos"
#, fuzzy, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Elementos obtidos: %d/%d."
msgstr "Elementos obtidos: %d/%d"
#, fuzzy, javascript-format
msgid "Fetching resources: %d"
msgstr "Recursos: %d."
msgid "Fetching resources: %d/%d"
msgstr "Recursos: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr "Seleccione onde exportar o estado da sincronización"
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "Engadir ou eliminar etiquetas"
@@ -1350,6 +1373,58 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr "Destino da sincronización"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Destino co que sincronizar. Cada destino da sincronización pode ter "
"parámetros adicionais que se chaman «sync.NUM.NAME» (documentados arriba)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Cartafol a sincronizar con (ruta absoluta)"
msgid "Nextcloud WebDAV URL"
msgstr "URL de Nextcloud WebDAV"
msgid "Nextcloud username"
msgstr "Usuario de Nextcloud"
msgid "Nextcloud password"
msgstr "Contrasinal do Nextcloud"
msgid "WebDAV URL"
msgstr "URL do WebDAV"
msgid "WebDAV username"
msgstr "Usuario de WebDAV"
msgid "WebDAV password"
msgstr "Contrasinal do WebDAV"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Idioma"
@@ -1368,6 +1443,12 @@ msgstr "Claro"
msgid "Dark"
msgstr "Escuro"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr "Tarefas sen completar arriba"
@@ -1437,6 +1518,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr "Mostrar a icona na bandexa"
@@ -1459,6 +1543,10 @@ msgstr "Porcentaxe de ampliación"
msgid "Editor font size"
msgstr "Familia de tipos de letra do editor"
#, fuzzy
msgid "Editor font"
msgstr "Familia de tipos de letra do editor"
msgid "Editor font family"
msgstr "Familia de tipos de letra do editor"
@@ -1507,40 +1595,6 @@ msgstr ""
"Editor a usar para abrir unha nota. Se non se indica ningún tentará detectar "
"automaticamente o editor predeterminado."
msgid "Show advanced options"
msgstr "Mostrar opcións avanzadas"
msgid "Synchronisation target"
msgstr "Destino da sincronización"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Destino co que sincronizar. Cada destino da sincronización pode ter "
"parámetros adicionais que se chaman «sync.NUM.NAME» (documentados arriba)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Cartafol a sincronizar con (ruta absoluta)"
msgid "Nextcloud WebDAV URL"
msgstr "URL de Nextcloud WebDAV"
msgid "Nextcloud username"
msgstr "Usuario de Nextcloud"
msgid "Nextcloud password"
msgstr "Contrasinal do Nextcloud"
msgid "WebDAV URL"
msgstr "URL do WebDAV"
msgid "WebDAV username"
msgstr "Usuario de WebDAV"
msgid "WebDAV password"
msgstr "Contrasinal do WebDAV"
msgid "Custom TLS certificates"
msgstr ""
@@ -1554,6 +1608,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Activar cifrado"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Valor incorrecto de opción: «%s». Os valores posíbeis son: %s."
@@ -1580,6 +1658,13 @@ msgstr ""
msgid "Application"
msgstr "Sae do aplicativo."
#, fuzzy
msgid "Encryption"
msgstr "O cifrado é:"
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1593,7 +1678,12 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr "Cartafol de exportación do Joplin"
msgid "Evernote Export File"
#, fuzzy
msgid "Evernote Export File (as Markdown)"
msgstr "Ficheiro de exportación de Evernote"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Ficheiro de exportación de Evernote"
#, fuzzy
@@ -1628,13 +1718,12 @@ msgstr "Non hai datos para exportar."
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Indique o caderno ao que importar as notas."
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Elementos que non se poden sincronizar"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1644,6 +1733,24 @@ msgstr ""
"de sincronización. Co fin de atopar estes elementos pode buscalos polo "
"título ou polo ID (mostrados entre corchetes arriba)."
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Non foi posíbel gardar o caderno: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Non foi posíbel gardar o caderno: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Elementos que non se poden sincronizar"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "Estado da sincronización (elementos sincronizados / elementos totais)"
@@ -1683,24 +1790,20 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Ningún caderno activo."
#, fuzzy
msgid "Create a notebook"
msgstr "Crea un caderno novo."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "Non ten notas actualmente. Cree unha premendo no botón (+)."
msgid "Delete these notes?"
msgstr "Desexa eliminar estas notas?"
msgid "Log"
msgstr "Rexistro"
msgid "Export Debug Report"
msgstr "Exportar informe de depuración"
msgid "Encryption Config"
msgstr "Configuración de cifrado"
msgid "Configuration"
msgstr "Configuración"
msgid "Move to notebook..."
msgstr "Mover para o caderno..."
@@ -1725,8 +1828,24 @@ msgstr "Seleccionar data"
msgid "Confirm"
msgstr "Confirmar"
msgid "Cancel synchronisation"
msgstr "Cancelar sincronización"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Cadernos"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Non é posíbel modificar elementos cifrados"
#, fuzzy
msgid "New Notebook"
msgstr "Novo caderno"
msgid "Configuration"
msgstr "Configuración"
#, fuzzy
msgid "All notes"
msgstr "nota"
#, fuzzy
msgid "Checking... Please wait."
@@ -1764,6 +1883,50 @@ msgstr "Etiquetas novas:"
msgid "Type new tags or select from list"
msgstr "Escriba etiquetas novas ou seleccione da lista"
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "Configuración de cifrado"
#, fuzzy
msgid "Tools"
msgstr "Ferramentas"
#, fuzzy
msgid "Sync Status"
msgstr "Estado"
msgid "Log"
msgstr "Rexistro"
#, fuzzy
msgid "Creating report..."
msgstr "Criando novo %s..."
msgid "Export Debug Report"
msgstr "Exportar informe de depuración"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Configuración"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1822,6 +1985,10 @@ msgstr "Non foi posíbel gardar o caderno: %s"
msgid "Edit notebook"
msgstr "Editar caderno"
#, fuzzy
msgid "Enter notebook title"
msgstr "Título do caderno:"
msgid "Show all"
msgstr "Mostrar todo"
@@ -1845,10 +2012,32 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Tipo de imaxe incompatíbel: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Actualizado: %d."
msgid "View on map"
msgstr "Ver no mapa"
msgid "Go to source URL"
msgstr ""
#, fuzzy
msgid "Attach..."
msgstr "Buscar…"
#, fuzzy
msgid "Choose an option"
msgstr "Mostrar opcións avanzadas"
#, fuzzy
msgid "Take photo"
msgstr "Anexar foto"
@@ -1868,23 +2057,18 @@ msgstr "Converter para nota"
msgid "Convert to todo"
msgstr "Converter para tarefa"
msgid "Hide metadata"
msgstr "Ocultar metadados"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr "Mostrar metadatos"
msgid "View on map"
msgstr "Ver no mapa"
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Edtar"
msgid "Delete notebook"
msgstr "Eliminar caderno"
#, fuzzy
msgid "Add title"
msgstr "Sen título"
msgid "Login with OneDrive"
msgstr "Acceder con OneDrive"
@@ -1892,22 +2076,91 @@ msgstr "Acceder con OneDrive"
msgid "Search"
msgstr "Buscar"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Prema no botón (+) para crear unha nota ou caderno. Prema no menú lateral "
"para acceder aos cadernos existentes."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr "Comezando a editar a nota. Peche o editor para volver ao diálogo."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "Non ten cadernos actualmente. Cree un premendo no botón (+)."
msgid "Welcome"
msgstr "Benvido/a"
#~ msgid "Note has been saved."
#~ msgstr "A nota foi gardada."
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Esta nota foi modificada:"
#~ msgid "Note title"
#~ msgstr "Título do caderno:"
#, fuzzy
#~ msgid "Note body"
#~ msgstr "Cadernos"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "Importando de «%s» como formato «%s». Agarde..."
#~ msgid "Synchronisation status"
#~ msgstr "Estado da sincronización"
#~ msgid "Print"
#~ msgstr "Imprimir"
#~ msgid "General Options"
#~ msgstr "Opcións xerais"
#~ msgid "Encryption options"
#~ msgstr "Opcións de cifrado"
#, fuzzy
#~ msgid "Open template directory"
#~ msgstr "Cartafol de exportación do Joplin"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Opcións de cifrado"
#, fuzzy
#~ msgid "Clipper Options"
#~ msgstr "Opcións xerais"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Configuración"
#~ msgid "Cancel synchronisation"
#~ msgstr "Cancelar sincronización"
#~ msgid "Hide metadata"
#~ msgstr "Ocultar metadados"
#~ msgid "Show metadata"
#~ msgstr "Mostrar metadatos"
#~ msgid "Delete notebook"
#~ msgstr "Eliminar caderno"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Prema no botón (+) para crear unha nota ou caderno. Prema no menú lateral "
#~ "para acceder aos cadernos existentes."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr "Non ten cadernos actualmente. Cree un premendo no botón (+)."
#~ msgid "Welcome"
#~ msgstr "Benvido/a"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Separar cada etiqueta por unha coma."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Non é posíbel descifrar algúns elementos."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1916,10 +2169,6 @@ msgstr "Benvido/a"
#~ "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"
#~ msgid "State: %s."
#~ msgstr "Estado: %s."

View File

@@ -173,18 +173,6 @@ msgstr "Nema aktivne bilježnice."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Bilješka ne postoji: \"%s\". Napravi je?"
#, fuzzy
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Počinjem uređivati bilješku. Za povratak u naredbeni redak, zatvori uređivač."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr "Bilješka je spremljena."
msgid "Exits the application."
msgstr "Izlaz iz aplikacije."
@@ -393,6 +381,23 @@ msgstr "Obrisati bilješku?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Pretražuje dati <pattern> u svim bilješkama."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, fuzzy, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -579,57 +584,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
#, fuzzy
msgid "Note title"
msgstr "Naslov bilježnice:"
#, fuzzy
msgid "Note body"
msgstr "Bilježnice"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, fuzzy
msgid "PDF File"
msgstr "Datoteka"
msgid "Synchronisation status"
msgstr "Status sinkronizacije"
msgid "New note"
msgstr "Nova bilješka"
msgid "New to-do"
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"
@@ -643,6 +597,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "Uvoz"
@@ -660,6 +617,9 @@ msgstr ""
msgid "Quit"
msgstr "Izađi"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Uredi"
@@ -686,12 +646,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Tags"
msgstr "Oznake"
msgid "Search in all the notes"
msgstr "Pretraži u svim bilješkama"
@@ -723,10 +689,17 @@ msgstr "Pomoć"
msgid "Website and documentation"
msgstr "Website i dokumentacija"
#, fuzzy
msgid "Joplin Forum"
msgstr "Evernote izvozne datoteke"
#, fuzzy
msgid "Make a donation"
msgstr "Website i dokumentacija"
msgid "Toggle development tools"
msgstr ""
#, fuzzy, javascript-format
msgid "Open %s"
msgstr "On %s: %s"
@@ -826,17 +799,23 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Bilješke i postavke su pohranjene u: %s"
msgid "Browse..."
msgstr ""
#, fuzzy
msgid "Check synchronisation configuration"
msgstr "Prekini sinkronizaciju"
msgid "Browse..."
msgstr ""
msgid "Back"
msgstr "Natrag"
msgid "Apply"
msgstr ""
@@ -905,8 +884,8 @@ msgid ""
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
msgid "Status"
@@ -915,13 +894,19 @@ msgstr "Status"
msgid "Encryption is:"
msgstr ""
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
#, fuzzy
msgid "Usage"
msgstr "Korištenje: %s"
msgid "Back"
msgstr "Natrag"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -941,9 +926,6 @@ msgstr "Naslov bilježnice:"
msgid "Add or remove tags:"
msgstr "Dodaj ili makni oznake:"
msgid "Separate each tag by a comma."
msgstr "Odvoji oznake zarezom."
msgid "Rename notebook:"
msgstr "Preimenuj bilježnicu:"
@@ -954,6 +936,18 @@ msgstr "Preimenuj"
msgid "Set alarm:"
msgstr "Postavi upozorenje:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Nova bilješka"
msgid "New to-do"
msgstr "Novi zadatak"
msgid "New notebook"
msgstr "Nova bilježnica"
msgid "Layout"
msgstr "Izgled"
@@ -967,9 +961,8 @@ msgstr "Neke stavke se ne mogu sinkronizirati."
msgid "View them now"
msgstr "Pogledaj ih sada"
#, fuzzy
msgid "Some items cannot be decrypted."
msgstr "Neke stavke se ne mogu sinkronizirati."
msgid "One or more master keys need a password."
msgstr ""
msgid "Set the password"
msgstr ""
@@ -987,9 +980,36 @@ msgstr ""
msgid "URL"
msgstr ""
#, fuzzy
msgid "Note History"
msgstr "Bilježnice"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Bilješka je promijenjena:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr ""
@@ -1023,6 +1043,14 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
#, fuzzy
msgid "PDF File"
msgstr "Datoteka"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "strong text"
msgstr ""
@@ -1038,9 +1066,6 @@ msgstr ""
msgid "Attach file"
msgstr "Priloži datoteku"
msgid "Tags"
msgstr "Oznake"
msgid "Set alarm"
msgstr "Postavi upozorenje"
@@ -1051,9 +1076,6 @@ msgstr "%s: %s"
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
@@ -1106,13 +1128,6 @@ msgstr "Opcije"
msgid "Synchronisation Status"
msgstr "Status Sinkronizacije"
msgid "Encryption Options"
msgstr ""
#, fuzzy
msgid "Clipper Options"
msgstr "Opcije"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1139,15 +1154,18 @@ msgstr "Bilježnice"
#, fuzzy, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Stvorene lokalne stavke: %d."
msgstr "Stvorene lokalne stavke: %d/%d"
#, fuzzy, javascript-format
msgid "Fetching resources: %d"
msgstr "Resursi: %d."
msgid "Fetching resources: %d/%d"
msgstr "Resursi: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr "Odaberi lokaciju za izvoz statusa sinkronizacije"
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "Dodaj ili makni oznake"
@@ -1347,6 +1365,56 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr "Sinkroniziraj sa"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Direktorij za sinkroniziranje (apsolutna putanja)"
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Jezik"
@@ -1365,6 +1433,12 @@ msgstr "Svijetla"
msgid "Dark"
msgstr "Tamna"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
#, fuzzy
msgid "Uncompleted to-dos on top"
msgstr "Prikaži nezavršene zadatke na vrhu liste"
@@ -1438,6 +1512,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1460,6 +1537,10 @@ msgstr ""
msgid "Editor font size"
msgstr "Uredi bilješku."
#, fuzzy
msgid "Editor font"
msgstr "Uredi bilješku."
msgid "Editor font family"
msgstr ""
@@ -1505,38 +1586,6 @@ msgstr ""
"Program za uređivanje koji će biti korišten za uređivanje bilješki. Ako ni "
"jedan nije odabran, pokušati će se sa default programom."
msgid "Show advanced options"
msgstr "Prikaži napredne opcije"
msgid "Synchronisation target"
msgstr "Sinkroniziraj sa"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Direktorij za sinkroniziranje (apsolutna putanja)"
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Custom TLS certificates"
msgstr ""
@@ -1550,6 +1599,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Bilješka je promijenjena:"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Nevažeća vrijednost: \"%s\". Moguće vrijednosti su: %s."
@@ -1576,6 +1649,12 @@ msgstr ""
msgid "Application"
msgstr "Izađi iz aplikacije."
msgid "Encryption"
msgstr ""
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1591,7 +1670,11 @@ msgid "Joplin Export Directory"
msgstr ""
#, fuzzy
msgid "Evernote Export File"
msgid "Evernote Export File (as Markdown)"
msgstr "Evernote izvozne datoteke"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Evernote izvozne datoteke"
#, fuzzy
@@ -1625,19 +1708,36 @@ msgstr ""
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Odaberi lokaciju za izvoz statusa sinkronizacije"
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Stavke koje se ne mogu sinkronizirati"
#, fuzzy, javascript-format
msgid "%s (%s): %s"
msgstr "%s %s (%s)"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
"(which is displayed in brackets above)."
msgstr ""
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Bilježnicu nije moguće snimiti: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Bilježnicu nije moguće snimiti: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Stavke koje se ne mogu sinkronizirati"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "Status (sinkronizirane stavke / ukupni broj stavki)"
@@ -1677,24 +1777,20 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Obriši odabranu bilješku ili bilježnicu."
#, fuzzy
msgid "Create a notebook"
msgstr "Stvara novu bilježnicu."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "Trenutno nema bilješki. Stvori novu klikom na (+) gumb."
msgid "Delete these notes?"
msgstr "Obriši ove bilješke?"
msgid "Log"
msgstr "Log"
msgid "Export Debug Report"
msgstr "Izvezi Debug izvještaj"
msgid "Encryption Config"
msgstr ""
msgid "Configuration"
msgstr "Konfiguracija"
msgid "Move to notebook..."
msgstr "Premjesti u bilježnicu..."
@@ -1719,8 +1815,24 @@ msgstr "Odaberi datum"
msgid "Confirm"
msgstr "Potvrdi"
msgid "Cancel synchronisation"
msgstr "Prekini sinkronizaciju"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Bilježnice"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Neke stavke se ne mogu sinkronizirati."
#, fuzzy
msgid "New Notebook"
msgstr "Nova bilježnica"
msgid "Configuration"
msgstr "Konfiguracija"
#, fuzzy
msgid "All notes"
msgstr "Nova bilješka"
#, fuzzy
msgid "Checking... Please wait."
@@ -1758,6 +1870,50 @@ msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr ""
#, fuzzy
msgid "Tools"
msgstr "Alati"
#, fuzzy
msgid "Sync Status"
msgstr "Status"
msgid "Log"
msgstr "Log"
#, fuzzy
msgid "Creating report..."
msgstr "Uvozim bilješke..."
msgid "Export Debug Report"
msgstr "Izvezi Debug izvještaj"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Konfiguracija"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1818,6 +1974,10 @@ msgstr "Bilježnicu nije moguće snimiti: %s"
msgid "Edit notebook"
msgstr "Uredi bilježnicu"
#, fuzzy
msgid "Enter notebook title"
msgstr "Naslov bilježnice:"
msgid "Show all"
msgstr ""
@@ -1841,10 +2001,32 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Nepodržana vrsta slike: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Ažurirano: %d."
msgid "View on map"
msgstr "Vidi na karti"
msgid "Go to source URL"
msgstr ""
#, fuzzy
msgid "Attach..."
msgstr "Traži"
#, fuzzy
msgid "Choose an option"
msgstr "Prikaži napredne opcije"
#, fuzzy
msgid "Take photo"
msgstr "Priloži sliku"
@@ -1864,23 +2046,18 @@ msgstr "Pretvori u bilješku"
msgid "Convert to todo"
msgstr "Pretvori u zadatak"
msgid "Hide metadata"
msgstr "Sakrij metapodatke"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr "Prikaži metapodatke"
msgid "View on map"
msgstr "Vidi na karti"
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Uredi"
msgid "Delete notebook"
msgstr "Obriši bilježnicu"
#, fuzzy
msgid "Add title"
msgstr "Nenaslovljen"
msgid "Login with OneDrive"
msgstr "Prijavi se u OneDrive"
@@ -1888,22 +2065,81 @@ msgstr "Prijavi se u OneDrive"
msgid "Search"
msgstr "Traži"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Klikni (+) gumb za dodavanje nove bilješke ili bilježnice ili odaberi "
"postojeću bilježnicu iz izbornika."
#, fuzzy
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr ""
#~ "Počinjem uređivati bilješku. Za povratak u naredbeni redak, zatvori "
#~ "uređivač."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "Trenutno nemaš nijednu bilježnicu. Stvori novu klikom na (+) gumb."
msgid "Welcome"
msgstr "Dobro došli"
#~ msgid "Note has been saved."
#~ msgstr "Bilješka je spremljena."
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Bilješka je promijenjena:"
#~ msgid "Note title"
#~ msgstr "Naslov bilježnice:"
#, fuzzy
#~ msgid "Note body"
#~ msgstr "Bilježnice"
#~ msgid "Synchronisation status"
#~ msgstr "Status sinkronizacije"
#, fuzzy
#~ msgid "General Options"
#~ msgstr "Opcije"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#, fuzzy
#~ msgid "Clipper Options"
#~ msgstr "Opcije"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Konfiguracija"
#~ msgid "Cancel synchronisation"
#~ msgstr "Prekini sinkronizaciju"
#~ msgid "Hide metadata"
#~ msgstr "Sakrij metapodatke"
#~ msgid "Show metadata"
#~ msgstr "Prikaži metapodatke"
#~ msgid "Delete notebook"
#~ msgstr "Obriši bilježnicu"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Klikni (+) gumb za dodavanje nove bilješke ili bilježnice ili odaberi "
#~ "postojeću bilježnicu iz izbornika."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr "Trenutno nemaš nijednu bilježnicu. Stvori novu klikom na (+) gumb."
#~ msgid "Welcome"
#~ msgstr "Dobro došli"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Odvoji oznake zarezom."
#, fuzzy
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Neke stavke se ne mogu sinkronizirati."
#, fuzzy
#~ msgid "%s (%s): %s"
#~ msgstr "%s %s (%s)"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1962,9 +2198,6 @@ msgstr "Dobro došli"
#~ msgid "Cancel the current command."
#~ msgstr "Prekini trenutnu naredbu."
#~ msgid "Delete the currently selected note or notebook."
#~ msgstr "Obriši odabranu bilješku ili bilježnicu."
#~ msgid "Set a to-do as completed / not completed"
#~ msgstr "Postavi zadatak kao završen/nezavršen"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -160,16 +160,6 @@ msgstr ""
msgid "Note does not exist: \"%s\". Create it?"
msgstr ""
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr ""
msgid "Exits the application."
msgstr ""
@@ -353,6 +343,23 @@ msgstr ""
msgid "Searches for the given <pattern> in all the notes."
msgstr ""
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -508,53 +515,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
msgid "Note title"
msgstr ""
msgid "Note body"
msgstr ""
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "PDF File"
msgstr ""
msgid "Synchronisation status"
msgstr ""
msgid "New note"
msgstr ""
msgid "New to-do"
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 ""
@@ -567,6 +527,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Templates"
msgstr ""
msgid "Import"
msgstr ""
@@ -583,6 +546,9 @@ msgstr ""
msgid "Quit"
msgstr ""
msgid "Close Window"
msgstr ""
msgid "&Edit"
msgstr ""
@@ -607,12 +573,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Search in all the notes"
msgstr ""
@@ -640,9 +612,15 @@ msgstr ""
msgid "Website and documentation"
msgstr ""
msgid "Joplin Forum"
msgstr ""
msgid "Make a donation"
msgstr ""
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr ""
@@ -740,14 +718,20 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr ""
msgid "Check synchronisation configuration"
msgstr ""
msgid "Browse..."
msgstr ""
msgid "Check synchronisation configuration"
msgid "Back"
msgstr ""
msgid "Apply"
@@ -818,8 +802,8 @@ msgid ""
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
msgid "Status"
@@ -828,10 +812,16 @@ msgstr ""
msgid "Encryption is:"
msgstr ""
msgid "Usage"
msgid "Firefox Extension"
msgstr ""
msgid "Back"
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
msgid "Usage"
msgstr ""
#, javascript-format
@@ -851,9 +841,6 @@ msgstr ""
msgid "Add or remove tags:"
msgstr ""
msgid "Separate each tag by a comma."
msgstr ""
msgid "Rename notebook:"
msgstr ""
@@ -863,6 +850,18 @@ msgstr ""
msgid "Set alarm:"
msgstr ""
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr ""
msgid "New to-do"
msgstr ""
msgid "New notebook"
msgstr ""
msgid "Layout"
msgstr ""
@@ -875,7 +874,7 @@ msgstr ""
msgid "View them now"
msgstr ""
msgid "Some items cannot be decrypted."
msgid "One or more master keys need a password."
msgstr ""
msgid "Set the password"
@@ -894,9 +893,34 @@ msgstr ""
msgid "URL"
msgstr ""
msgid "Note History"
msgstr ""
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
msgid "This note has no history"
msgstr ""
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr ""
@@ -929,6 +953,13 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
msgid "PDF File"
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "strong text"
msgstr ""
@@ -944,9 +975,6 @@ msgstr ""
msgid "Attach file"
msgstr ""
msgid "Tags"
msgstr ""
msgid "Set alarm"
msgstr ""
@@ -957,9 +985,6 @@ msgstr ""
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
@@ -1009,12 +1034,6 @@ msgstr ""
msgid "Synchronisation Status"
msgstr ""
msgid "Encryption Options"
msgstr ""
msgid "Clipper Options"
msgstr ""
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1043,12 +1062,15 @@ msgid "Decrypting items: %d/%d"
msgstr ""
#, javascript-format
msgid "Fetching resources: %d"
msgid "Fetching resources: %d/%d"
msgstr ""
msgid "Please select where the sync status should be exported to"
msgstr ""
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr ""
@@ -1234,6 +1256,56 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr ""
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr ""
@@ -1252,6 +1324,12 @@ msgstr ""
msgid "Dark"
msgstr ""
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr ""
@@ -1318,6 +1396,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1339,6 +1420,9 @@ msgstr ""
msgid "Editor font size"
msgstr ""
msgid "Editor font"
msgstr ""
msgid "Editor font family"
msgstr ""
@@ -1380,38 +1464,6 @@ msgid ""
"If none is provided it will try to auto-detect the default editor."
msgstr ""
msgid "Show advanced options"
msgstr ""
msgid "Synchronisation target"
msgstr ""
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
msgid "Nextcloud password"
msgstr ""
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
msgid "WebDAV password"
msgstr ""
msgid "Custom TLS certificates"
msgstr ""
@@ -1425,6 +1477,29 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
msgid "Enable note history"
msgstr ""
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr ""
@@ -1447,6 +1522,12 @@ msgstr ""
msgid "Application"
msgstr ""
msgid "Encryption"
msgstr ""
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1460,7 +1541,10 @@ msgstr ""
msgid "Joplin Export Directory"
msgstr ""
msgid "Evernote Export File"
msgid "Evernote Export File (as Markdown)"
msgstr ""
msgid "Evernote Export File (as HTML)"
msgstr ""
msgid "Json Export Directory"
@@ -1492,11 +1576,10 @@ msgstr ""
msgid "Please specify the notebook where the notes should be imported to."
msgstr ""
msgid "Items that cannot be synchronised"
msgid "Restored Notes"
msgstr ""
#, javascript-format
msgid "%s (%s): %s"
msgid "Items that cannot be synchronised"
msgstr ""
msgid ""
@@ -1505,6 +1588,23 @@ msgid ""
"(which is displayed in brackets above)."
msgstr ""
#, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr ""
#, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr ""
msgid "Items that cannot be decrypted"
msgstr ""
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr ""
@@ -1544,24 +1644,18 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
msgid "You currently have no notebooks."
msgstr ""
msgid "Create a notebook"
msgstr ""
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
msgid "Delete these notes?"
msgstr ""
msgid "Log"
msgstr ""
msgid "Export Debug Report"
msgstr ""
msgid "Encryption Config"
msgstr ""
msgid "Configuration"
msgstr ""
msgid "Move to notebook..."
msgstr ""
@@ -1584,7 +1678,20 @@ msgstr ""
msgid "Confirm"
msgstr ""
msgid "Cancel synchronisation"
#, javascript-format
msgid "Notebook: %s"
msgstr ""
msgid "Encrypted notebooks cannot be renamed"
msgstr ""
msgid "New Notebook"
msgstr ""
msgid "Configuration"
msgstr ""
msgid "All notes"
msgstr ""
msgid "Checking... Please wait."
@@ -1620,6 +1727,46 @@ msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr ""
msgid "Tools"
msgstr ""
msgid "Sync Status"
msgstr ""
msgid "Log"
msgstr ""
msgid "Creating report..."
msgstr ""
msgid "Export Debug Report"
msgstr ""
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
msgid "More information"
msgstr ""
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1677,6 +1824,9 @@ msgstr ""
msgid "Edit notebook"
msgstr ""
msgid "Enter notebook title"
msgstr ""
msgid "Show all"
msgstr ""
@@ -1700,10 +1850,30 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr ""
#, javascript-format
msgid "Updated: %s"
msgstr ""
msgid "View on map"
msgstr ""
msgid "Go to source URL"
msgstr ""
msgid "Attach..."
msgstr ""
msgid "Choose an option"
msgstr ""
msgid "Take photo"
msgstr ""
@@ -1722,22 +1892,16 @@ msgstr ""
msgid "Convert to todo"
msgstr ""
msgid "Hide metadata"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr ""
msgid "View on map"
msgstr ""
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr ""
msgid "Delete notebook"
msgid "Add title"
msgstr ""
msgid "Login with OneDrive"
@@ -1745,14 +1909,3 @@ msgstr ""
msgid "Search"
msgstr ""
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
msgid "Welcome"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -172,18 +172,6 @@ msgstr "Ingen aktiv notatbok."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Notat eksisterer ikke: \"%s\". Vil du opprette det?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Notatredigering startet. Lukk editoren for å komme tilbake til "
"kommandolinjen."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Feil ved åpning av notat i editor: %s"
msgid "Note has been saved."
msgstr "Notat har blitt lagret."
msgid "Exits the application."
msgstr "Avslutter programmet."
@@ -388,6 +376,24 @@ msgstr "Slett notat?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Søker etter angitt <pattern> i alle notatene."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr "Start, stopp eller sjekk API-serveren. For å angi på hvilken port den skal kjøre,"
"sett api.port konfigurasjonsvariablen. Kommandoer er (%s)."
#, javascript-format
msgid "Server is already running on port %d"
msgstr "Serveren kjører allerede på port %d"
#, javascript-format
msgid "Server is running on port %d"
msgstr "Serveren kjører på port %d"
msgid "Server is not running."
msgstr "Serveren kjører ikke"
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -575,53 +581,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Eksporterer til \"%s\" i \"%s\" format. Vennligst vent..."
msgid "Sidebar"
msgstr "Sidepanel"
msgid "Note list"
msgstr "Notatliste"
msgid "Note title"
msgstr "Tittel på notat:"
msgid "Note body"
msgstr "Notatbrødtekst"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "Importerer fra \"%s\" i \"%s\"-format. Vennligst vent..."
msgid "PDF File"
msgstr "PDF-fil"
msgid "Synchronisation status"
msgstr "Synkroniseringsstatus"
msgid "New note"
msgstr "Nytt notat"
msgid "New to-do"
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"
@@ -629,11 +588,14 @@ msgid "About Joplin"
msgstr "Om Joplin"
msgid "Preferences..."
msgstr ""
msgstr "Innstillinger..."
msgid "Check for updates..."
msgstr "Se etter oppdatering..."
msgid "Templates"
msgstr "Maler"
msgid "Import"
msgstr "Importer"
@@ -650,6 +612,9 @@ msgstr "Skjul %s"
msgid "Quit"
msgstr "Avslutt"
msgid "Close Window"
msgstr "Lukk vindu"
msgid "&Edit"
msgstr "&Rediger"
@@ -674,12 +639,18 @@ msgstr "Kursiv"
msgid "Link"
msgstr "Lenke"
msgid "Code"
msgstr "Kode"
msgid "Insert Date Time"
msgstr "Sett inn dato/tid"
msgid "Edit in external editor"
msgstr "Rediger i ekstern editor"
msgid "Tags"
msgstr "Merkelapper"
msgid "Search in all the notes"
msgstr "Søk i alle notater"
@@ -707,9 +678,15 @@ msgstr "&Hjelp"
msgid "Website and documentation"
msgstr "Nettsted og dokumentasjon"
msgid "Joplin Forum"
msgstr "Joplin Forum"
msgid "Make a donation"
msgstr "Gi et bidrag"
msgid "Toggle development tools"
msgstr "Skru på/av utviklingsverktøy"
#, javascript-format
msgid "Open %s"
msgstr "Åpne %s"
@@ -814,15 +791,21 @@ msgstr ""
"Denne autoriseringsbeviset er det eneste nødvendige for å gi "
"tredjepartsapplikasjoner tilgang til Joplin."
msgid "This will open a new screen. Save your current changes?"
msgstr "Dette vil åpne et nytt vindu. Vil du lagre nåværende endringer?"
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Notater og innstillinger er lagret i: %s"
msgid "Check synchronisation configuration"
msgstr "Sjekk synkroniseringskonfigurasjon"
msgid "Browse..."
msgstr "Utforsk..."
msgid "Check synchronisation configuration"
msgstr "Sjekk synkroniseringskonfigurasjon"
msgid "Back"
msgstr "Tilbake"
msgid "Apply"
msgstr "Bruk"
@@ -906,8 +889,8 @@ msgstr ""
"vil siden bli lastet ned via synkronisering."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
"For mer informasjon om ende-til-ende-kryptering (E2EE) og råd om hvordan du "
"aktiverer det kan du sjekke dokumentasjonen:"
@@ -918,12 +901,18 @@ msgstr "Status"
msgid "Encryption is:"
msgstr "Kryptering er:"
msgid "Firefox Extension"
msgstr "Firefox-utvidelse"
msgid "Chrome Web Store"
msgstr "Chrome Web Store"
msgid "Get it now:"
msgstr "Få den nå:"
msgid "Usage"
msgstr "Bruk"
msgid "Back"
msgstr "Tilbake"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -943,9 +932,6 @@ msgstr "Tittel på notatbok:"
msgid "Add or remove tags:"
msgstr "Legge til eller fjern merkelapper:"
msgid "Separate each tag by a comma."
msgstr "Separer hver merkelapp med komma."
msgid "Rename notebook:"
msgstr "Gi nytt navn til notatbok:"
@@ -955,6 +941,18 @@ msgstr "Gi nytt navn til merkelapp:"
msgid "Set alarm:"
msgstr "Angi alarm:"
msgid "Template file:"
msgstr "Malfiler"
msgid "New note"
msgstr "Nytt notat"
msgid "New to-do"
msgstr "Nytt gjøremål"
msgid "New notebook"
msgstr "Ny notatbok"
msgid "Layout"
msgstr "Visning"
@@ -967,8 +965,8 @@ msgstr "Noen elementer kan ikke synkroniseres."
msgid "View them now"
msgstr "Vis nå"
msgid "Some items cannot be decrypted."
msgstr "Noen elementer kan ikke dekrypteres."
msgid "One or more master keys need a password."
msgstr "En eller flere masternøkler trenger et passord."
msgid "Set the password"
msgstr "Sett passord"
@@ -987,9 +985,35 @@ msgstr "Lokasjon"
msgid "URL"
msgstr "URL"
msgid "Note History"
msgstr "Notathistorikk"
msgid "Markup"
msgstr "Markup"
msgid "Previous versions of this note"
msgstr "Forrige versjon av dette notatet"
msgid "Note properties"
msgstr "Notategenskaper"
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr "Notatet \"%s\" has blitt vellykket gjenopprettet i notatboken \"%s\"."
msgid "This note has no history"
msgstr "Dette notatet har ingen historikk"
msgid "Restore"
msgstr "Gjenopprett"
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr "Velg \"%s\" for å gjenopprette notatet. Det vil bli kopiert til notatboken"
"\"%s\". Den nåværende versjonen av notatet vil ikke bli erstattet eller modifisert."
msgid "Open..."
msgstr "Åpne..."
@@ -1023,6 +1047,13 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr "Kun ett notat kan bli printet eller eksportert som PDF om gangen."
msgid "PDF File"
msgstr "PDF-fil"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Feil ved åpning av notat i editor: %s"
msgid "strong text"
msgstr "fet tekst"
@@ -1038,9 +1069,6 @@ msgstr "Sett inn hyperlenke"
msgid "Attach file"
msgstr "Legg ved fil"
msgid "Tags"
msgstr "Merkelapper"
msgid "Set alarm"
msgstr "Angi alarm"
@@ -1051,9 +1079,6 @@ msgstr "I: %s"
msgid "Hyperlink"
msgstr "Hyperlenke"
msgid "Code"
msgstr "Kode"
msgid "Numbered List"
msgstr "Nummerert liste"
@@ -1103,12 +1128,6 @@ msgstr "Generelle innstillinger"
msgid "Synchronisation Status"
msgstr "Synkroniseringsstatus"
msgid "Encryption Options"
msgstr "Krypteringsinnstillinger"
msgid "Clipper Options"
msgstr "Clipper-innstillinger"
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1141,12 +1160,15 @@ msgid "Decrypting items: %d/%d"
msgstr "Dekrypterer elementer: %d/%d"
#, javascript-format
msgid "Fetching resources: %d"
msgid "Fetching resources: %d/%d"
msgstr "Henter ressurser: %d"
msgid "Please select where the sync status should be exported to"
msgstr "Velg hvor synkroniseringsstatusen skal eksporteres til"
msgid "Retry"
msgstr "Prøv igjen"
msgid "Add or remove tags"
msgstr "Legg til eller fjern merkelapper"
@@ -1180,10 +1202,11 @@ 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 ""
msgstr "Skriv inn tittelen på et notat for å hoppe til det. Eller skriv # etterfulgt av en merkelapp,"
" eller @ etterfulgt av tittelen på en notatbok."
msgid "Goto Anything..."
msgstr ""
msgstr "Hopp til..."
#, javascript-format
msgid "Usage: %s"
@@ -1343,6 +1366,61 @@ msgstr ""
"innhold dit før du synkroniserer. Hvis ikke blir alle filer fjernet! Se FAQ "
"for flere detaljer: %s"
msgid "Synchronisation target"
msgstr "Synkroniseringsmål"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Målet å synkronisere til. Hvert synkroniseringsmål kan ha tilleggsparametere "
"som er navngitt som `sync.NUM.NAME` (dokumentert nedenfor)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Katalog å synkronisere med (absolutt sti)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV-URL"
msgid "Nextcloud username"
msgstr "Nextcloud-brukernavn"
msgid "Nextcloud password"
msgstr "Nextcloud-passord"
msgid "WebDAV URL"
msgstr "WebDAV-URL"
msgid "WebDAV username"
msgstr "WebDAV-brukernavn"
msgid "WebDAV password"
msgstr "WebDAV-passord"
msgid "Attachment download behaviour"
msgstr "Nedlastningsoppførsel for vedlegg"
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
"I \"Manuell\" modus blir vedlegg kun lastet ned når du klikker på de. "
"I \"Auto\" blir de lastet ned når du åpner notatet. I \"Alltid\" blir "
"vedleggene lastet ned uansett om du åpner notatet eller ikke."
msgid "Always"
msgstr "Alltid"
msgid "Manual"
msgstr "Manuell"
msgid "Auto"
msgstr "Auto"
msgid "Max concurrent connections"
msgstr "Maksimalt samtidige tilkoblinger"
msgid "Language"
msgstr "Språk"
@@ -1361,6 +1439,12 @@ msgstr "Lys"
msgid "Dark"
msgstr "Mørk"
msgid "Solarised Light"
msgstr "Solarisert lys"
msgid "Solarised Dark"
msgstr "Solarisert mørk"
msgid "Uncompleted to-dos on top"
msgstr "Uferdige gjøremål på topp"
@@ -1389,47 +1473,46 @@ msgid "Focus body"
msgstr "Fokuser på brødtekst"
msgid "When creating a new note:"
msgstr "Når du lager et nytt notat:"
msgstr "Når du oppretter et nytt notat:"
#, fuzzy
msgid "Enable soft breaks"
msgstr "Liste over innhold"
msgstr "Aktiver myke linjeskift"
#, fuzzy
msgid "Enable math expressions"
msgstr "Aktiver kryptering"
msgstr "Aktiver matteuttrykk"
msgid "Enable ==mark== syntax"
msgstr ""
msgstr "Aktiver ==mark==-syntaks"
#, fuzzy
msgid "Enable footnotes"
msgstr "Liste over innhold"
msgstr "Aktiver fotnoter"
#, fuzzy
msgid "Enable table of contents extension"
msgstr "Liste over innhold"
msgstr "Aktiver liste over innhold-utvidelse"
msgid "Enable ~sub~ syntax"
msgstr ""
msgstr "Aktiver ~sub~-syntaks"
msgid "Enable ^sup^ syntax"
msgstr ""
msgstr "Aktiver ^sup^-syntaks"
msgid "Enable deflist syntax"
msgstr ""
msgstr "Aktiver deflist-syntaks"
msgid "Enable abbreviation syntax"
msgstr ""
msgstr "Aktiver forkortelsesyntaks"
msgid "Enable markdown emoji"
msgstr ""
msgstr "Aktiver markdown-emoji"
msgid "Enable ++insert++ syntax"
msgstr ""
msgstr "Aktiver ++insert++-syntaks"
msgid "Enable multimarkdown table extension"
msgstr ""
msgstr "Aktiver multimarkdown-tabellutvidelse"
msgid "Enable Fountain syntax support"
msgstr "Aktiver Fountain syntaksstøtte"
msgid "Show tray icon"
msgstr "Vis systemmenyikon"
@@ -1455,8 +1538,11 @@ msgstr "Global forstørrelse"
msgid "Editor font size"
msgstr "Editorskriftstørrelse"
msgid "Editor font"
msgstr "Editorskrift"
msgid "Editor font family"
msgstr "Editorskrifttype"
msgstr "Editorskriftfamilie"
msgid ""
"This must be *monospace* font or it will not work properly. If the font is "
@@ -1501,40 +1587,6 @@ msgstr ""
"Teksteditor som skal brukes til å åpne et notat. Hvis det ikke er satt vil "
"den prøve å automatisk velge standardprogram."
msgid "Show advanced options"
msgstr "Vis avanserte innstillinger"
msgid "Synchronisation target"
msgstr "Synkroniseringsmål"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Målet å synkronisere til. Hvert synkroniseringsmål kan ha tilleggsparametere "
"som er navngitt som `sync.NUM.NAME` (dokumentert nedenfor)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Katalog å synkronisere med (absolutt sti)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV-URL"
msgid "Nextcloud username"
msgstr "Nextcloud-brukernavn"
msgid "Nextcloud password"
msgstr "Nextcloud-passord"
msgid "WebDAV URL"
msgstr "WebDAV-URL"
msgid "WebDAV username"
msgstr "WebDAV-brukernavn"
msgid "WebDAV password"
msgstr "WebDAV-passord"
msgid "Custom TLS certificates"
msgstr "Egendefinerte TLS-sertifikater"
@@ -1552,6 +1604,32 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "Ignorer TLS-sertifikatfeil"
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
"Feilhåndtering: Ikke slett lokal data når synkroniseringsmålet er tomt (ofte "
"resultatet av en miskonfigurering eller bug)"
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
"Spesifiser porten som skal brukes av API-serveren. Hvis ikke satt vil "
"en standardport brukes."
msgid "Enable note history"
msgstr "Aktiver notathistorikk"
msgid "days"
msgstr "dager"
msgid "%d days"
msgstr "%d dager"
msgid "Keep note history for"
msgstr "Behold notathistorikk i"
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Ugyldig verdi: \"%s\". Mulige verdier er: %s."
@@ -1569,11 +1647,17 @@ msgid "Note"
msgstr "Notat"
msgid "Plugins"
msgstr ""
msgstr "Utvidelser"
msgid "Application"
msgstr "Applikasjon"
msgid "Encryption"
msgstr "Kryptering"
msgid "Web Clipper"
msgstr "Web Clipper"
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr "Merkelappen \"%s\" eksiterer allerede. Vennligst velg et annet navn."
@@ -1587,8 +1671,11 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr "Joplin-eksportert katalog"
msgid "Evernote Export File"
msgstr "Evernote-eksportert fil"
msgid "Evernote Export File (as Markdown)"
msgstr "Evernote-eksportert fil (Markdown)"
msgid "Evernote Export File (as HTML)"
msgstr "Evernote-eksportert fil (HTML)"
msgid "Json Export Directory"
msgstr "Json-eksportert katalog"
@@ -1621,13 +1708,12 @@ msgstr "Det er ingen data for eksportering."
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Velg notatbok som notatene skal importeres til."
msgid "Restored Notes"
msgstr "Gjenopprettede notater"
msgid "Items that cannot be synchronised"
msgstr "Elementer som ikke vil synkronisere"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1637,6 +1723,26 @@ msgstr ""
"synkroniseringsmålet. For å finne disse elementene, enten søk etter tittel "
"eller ID (som vises i parentes over)."
#, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "%s (%s) ble ikke opplasted: %s"
#, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Element \"%s\" ble ikke nedlastet: %s"
msgid "Items that cannot be decrypted"
msgstr "Elementer som ikke kan dekrypteres"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
"Joplin feilet i å dekryptere disse elementene flere ganger, muligens fordi "
"de er korrupte eller for store. Disse elementene vil forbli på enheten men "
"Joplin vil ikke lenger forsøke å dekryptere de."
msgid "Sync status (synced items / total items)"
msgstr "Synkroniseringsstatus (synkroniserte elementer / totale elementer)"
@@ -1676,24 +1782,18 @@ msgstr "Tillatelse til å bruke kamera"
msgid "Your permission to use your camera is required."
msgstr "Tillatelse til å bruke kamera er nødvendig."
msgid "You currently have no notebooks."
msgstr "Du har ingen notatbøker."
msgid "Create a notebook"
msgstr "Opprett en notatbok"
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "Det finnes enda ingen notater. Lag en ved å klikke på (+)-knappen."
msgid "Delete these notes?"
msgstr "Slett disse notatene?"
msgid "Log"
msgstr "Logg"
msgid "Export Debug Report"
msgstr "Eksporter feilsøkingsrapport"
msgid "Encryption Config"
msgstr "Krypteringsinnstillinger"
msgid "Configuration"
msgstr "Konfigurasjon"
msgid "Move to notebook..."
msgstr "Flytt til notatbok..."
@@ -1716,8 +1816,21 @@ msgstr "Velg dato"
msgid "Confirm"
msgstr "Bekreft"
msgid "Cancel synchronisation"
msgstr "Avbryt synkronisering"
#, javascript-format
msgid "Notebook: %s"
msgstr "Notatbok: %s"
msgid "Encrypted notebooks cannot be renamed"
msgstr "Krypterte elementer kan ikke få endret navn"
msgid "New Notebook"
msgstr "Ny notatbok"
msgid "Configuration"
msgstr "Konfigurasjon"
msgid "All notes"
msgstr "Alle notater"
msgid "Checking... Please wait."
msgstr "Sjekker… Vennligst vent."
@@ -1759,6 +1872,50 @@ msgstr "Nye merkelapper:"
msgid "Type new tags or select from list"
msgstr "Skriv inn nye merkelapper eller velg fra listen"
msgid "Warning"
msgstr "Advarsel"
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
"For å kunne bruke filsystemsynkronisering behøves din tillatelse til å "
"kunne skrive til ekstern lagrging."
msgid "Encryption Config"
msgstr "Krypteringsinnstillinger"
msgid "Tools"
msgstr "Verktøy"
msgid "Sync Status"
msgstr "Synkroniseringsstatus"
msgid "Log"
msgstr "Logg"
msgid "Creating report..."
msgstr "Oppretter rapport..."
msgid "Export Debug Report"
msgstr "Eksporter feilsøkingsrapport"
msgid "Fixing search index..."
msgstr "Fikser søkeindeks..."
msgid "Fix search index"
msgstr "Fiks søkeindeks"
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
"Velg dette for å gjenoppbygge søkeindeksen dersom du har problemer med søk. "
"Det kan ta lang tid avhengig av antall notater."
msgid "More information"
msgstr "Mer informasjon"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1820,6 +1977,9 @@ msgstr "Denne notatboken kunne ikke lagres: %s"
msgid "Edit notebook"
msgstr "Rediger notatbok"
msgid "Enter notebook title"
msgstr "Angi tittel på notatbok"
msgid "Show all"
msgstr "Vis alle"
@@ -1843,10 +2003,30 @@ msgstr "Ingen elementer med ID %s"
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "Joplins mobilapp støtter for tiden ikke denne type linker: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr "Linker med protokoll \"%s\" er ikke støttet"
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Bildetypen er ikke støttet: %s"
#, javascript-format
msgid "Updated: %s"
msgstr "Oppdatert: %s"
msgid "View on map"
msgstr "Vis på kart"
msgid "Go to source URL"
msgstr "Gå til kilde-URL"
msgid "Attach..."
msgstr "Legg ved..."
msgid "Choose an option"
msgstr "Velg et alternativ"
msgid "Take photo"
msgstr "Ta bilde"
@@ -1865,23 +2045,17 @@ msgstr "Konverter til notat"
msgid "Convert to todo"
msgstr "Konverter til gjøremål"
msgid "Hide metadata"
msgstr "Skjul metadata"
msgid "Properties"
msgstr "Egenskaper"
msgid "Show metadata"
msgstr "Vis metadata"
msgid "View on map"
msgstr "Vis på kart"
msgid "Go to source URL"
msgstr "Gå til kilde-URL"
msgid "Add body"
msgstr "Legg til brødtekst"
msgid "Edit"
msgstr "Rediger"
msgid "Delete notebook"
msgstr "Slett notatbok"
msgid "Add title"
msgstr "Legg til tittel"
msgid "Login with OneDrive"
msgstr "Innlogging med OneDrive"
@@ -1889,22 +2063,99 @@ msgstr "Innlogging med OneDrive"
msgid "Search"
msgstr "Søk"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Klikk på (+)-knappen for å lage et nytt notat eller en ny notatbok. Klikk på "
"sidepanelet for tilgang til dine eksisterende notatbøker."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr ""
#~ "Notatredigering startet. Lukk editoren for å komme tilbake til "
#~ "kommandolinjen."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "Du har enda ingen notatbok. Opprett en ved å klikke på (+)-knappen."
#~ msgid "Note has been saved."
#~ msgstr "Notat har blitt lagret."
msgid "Welcome"
msgstr "Velkommen"
#~ msgid "Sidebar"
#~ msgstr "Sidepanel"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Dette notatet har blitt endret:"
#~ msgid "Note list"
#~ msgstr "Notatliste"
#~ msgid "Note title"
#~ msgstr "Tittel på notat:"
#~ msgid "Note body"
#~ msgstr "Notatbrødtekst"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "Importerer fra \"%s\" i \"%s\"-format. Vennligst vent..."
#~ msgid "Synchronisation status"
#~ msgstr "Synkroniseringsstatus"
#~ msgid "Print"
#~ msgstr "Skriv ut"
#~ msgid "General Options"
#~ msgstr "Generelle innstillinger"
#~ msgid "Encryption options"
#~ msgstr "Krypteringsvalg"
#~ msgid "Insert template"
#~ msgstr "Legg inn mal"
#~ msgid "Open template directory"
#~ msgstr "Åpne malkatalog"
#~ msgid "Revision: %s (%s)"
#~ msgstr "Revisjon: %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Krypteringsinnstillinger"
#~ msgid "Clipper Options"
#~ msgstr "Clipper-innstillinger"
#~ msgid "Information"
#~ msgstr "Informasjon"
#~ msgid "Permission to write to external storage"
#~ msgstr "Tillatelse til å skrive til ekstern lagring"
#~ msgid "Cancel synchronisation"
#~ msgstr "Avbryt synkronisering"
#~ msgid "Hide metadata"
#~ msgstr "Skjul metadata"
#~ msgid "Show metadata"
#~ msgstr "Vis metadata"
#~ msgid "Delete notebook"
#~ msgstr "Slett notatbok"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Klikk på (+)-knappen for å lage et nytt notat eller en ny notatbok. Klikk "
#~ "på 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. Opprett en ved å klikke på (+)-knappen."
#~ msgid "Welcome"
#~ msgstr "Velkommen"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Separer hver merkelapp med komma."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Noen elementer kan ikke dekrypteres."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid "Table of contents"
#~ msgstr "Liste over innhold"
@@ -1915,7 +2166,3 @@ msgstr "Velkommen"
#~ msgstr ""
#~ "Stien som skal synkroniseres når filsystemsynkronisering er aktivert. Se "
#~ "`sync.target`."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -174,17 +174,6 @@ msgstr "Geen actief notitieboek."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Notitie bestaat niet: \"%s\". Aanmaken?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Bewerken notitie gestart. Sluit de editor om terug naar de prompt te gaan."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "Note has been saved."
msgstr "Notitie is opgeslaan."
msgid "Exits the application."
msgstr "Sluit de applicatie."
@@ -394,6 +383,23 @@ msgstr "Notitie verwijderen?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Zoektermen voor het opgegeven <pattern> in alle notities."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -585,56 +591,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
#, fuzzy
msgid "Note title"
msgstr "Notitieboek titel:"
#, fuzzy
msgid "Note body"
msgstr "Notitieboeken"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
#, fuzzy
msgid "PDF File"
msgstr "Bestand"
msgid "Synchronisation status"
msgstr "Synchronisatie status"
msgid "New note"
msgstr "Nieuwe notitie"
msgid "New to-do"
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"
@@ -648,6 +604,9 @@ msgstr ""
msgid "Check for updates..."
msgstr ""
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "Importeer"
@@ -665,6 +624,9 @@ msgstr ""
msgid "Quit"
msgstr "Stop"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Bewerk"
@@ -691,12 +653,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Tags"
msgstr "Tags"
msgid "Search in all the notes"
msgstr "Zoek in alle notities"
@@ -727,10 +695,17 @@ msgstr "Help"
msgid "Website and documentation"
msgstr "Website en documentatie"
#, fuzzy
msgid "Joplin Forum"
msgstr "Exporteer Evernote bestanden"
#, fuzzy
msgid "Make a donation"
msgstr "Website en documentatie"
msgid "Toggle development tools"
msgstr ""
#, fuzzy, javascript-format
msgid "Open %s"
msgstr "Op %s: %s"
@@ -830,17 +805,23 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Notities en instellingen zijn opgeslaan in %s"
msgid "Browse..."
msgstr ""
#, fuzzy
msgid "Check synchronisation configuration"
msgstr "Annuleer synchronisatie"
msgid "Browse..."
msgstr ""
msgid "Back"
msgstr "Terug"
msgid "Apply"
msgstr ""
@@ -921,8 +902,8 @@ msgid ""
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
msgid "Status"
@@ -931,13 +912,19 @@ msgstr "Status"
msgid "Encryption is:"
msgstr "Versleuteling is:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
#, fuzzy
msgid "Usage"
msgstr "Gebruik: %s"
msgid "Back"
msgstr "Terug"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -957,9 +944,6 @@ msgstr "Notitieboek titel:"
msgid "Add or remove tags:"
msgstr "Voeg tag toe of verwijder tag"
msgid "Separate each tag by a comma."
msgstr "Scheid iedere tag met een komma."
msgid "Rename notebook:"
msgstr "Hernoem notitieboek:"
@@ -970,6 +954,18 @@ msgstr "Hernoem"
msgid "Set alarm:"
msgstr "Stel melding in:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Nieuwe notitie"
msgid "New to-do"
msgstr "Nieuwe to-do"
msgid "New notebook"
msgstr "Nieuw notitieboek"
msgid "Layout"
msgstr "Layout"
@@ -983,8 +979,9 @@ msgstr "Sommige items kunnen niet gesynchroniseerd worden."
msgid "View them now"
msgstr "Bekijk ze nu"
msgid "Some items cannot be decrypted."
msgstr "Sommige items kunnen niet gedecodeerd worden."
#, fuzzy
msgid "One or more master keys need a password."
msgstr "Voeg hoofdsleutel in:"
msgid "Set the password"
msgstr "Stel wachtwoord in"
@@ -1004,9 +1001,36 @@ msgstr ""
msgid "URL"
msgstr ""
#, fuzzy
msgid "Note History"
msgstr "Notitieboeken"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Deze notitie werd aangepast:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr ""
@@ -1040,6 +1064,14 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
#, fuzzy
msgid "PDF File"
msgstr "Bestand"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr ""
msgid "strong text"
msgstr ""
@@ -1055,9 +1087,6 @@ msgstr ""
msgid "Attach file"
msgstr "Voeg bestand toe"
msgid "Tags"
msgstr "Tags"
msgid "Set alarm"
msgstr "Zet melding"
@@ -1068,9 +1097,6 @@ msgstr "%s: %s"
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
@@ -1123,13 +1149,6 @@ msgstr "Opties"
msgid "Synchronisation Status"
msgstr "Synchronisatie status"
msgid "Encryption Options"
msgstr "Versleutelopties"
#, fuzzy
msgid "Clipper Options"
msgstr "Algemene opties"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1157,15 +1176,18 @@ msgstr "Notitieboeken"
#, fuzzy, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Opgehaalde items: %d/%d."
msgstr "Opgehaalde items: %d/%d"
#, fuzzy, javascript-format
msgid "Fetching resources: %d"
msgstr "Middelen: %d."
msgid "Fetching resources: %d/%d"
msgstr "Middelen: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr "Selecteer waar de synchronisatie status naar geëxporteerd moet worden"
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "Voeg tag toe of verwijder tag"
@@ -1369,6 +1391,58 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr "Synchronisatiedoel"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Folder om mee te synchroniseren (absolute pad)"
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
#, fuzzy
msgid "Nextcloud password"
msgstr "Stel wachtwoord in"
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
#, fuzzy
msgid "WebDAV password"
msgstr "Stel wachtwoord in"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Taal"
@@ -1387,6 +1461,12 @@ msgstr "Licht"
msgid "Dark"
msgstr "Donker"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
#, fuzzy
msgid "Uncompleted to-dos on top"
msgstr "Toon onvoltooide to-do's aan de top van de lijsten"
@@ -1460,6 +1540,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr ""
@@ -1482,6 +1565,10 @@ msgstr ""
msgid "Editor font size"
msgstr "Bewerk notitie."
#, fuzzy
msgid "Editor font"
msgstr "Bewerk notitie."
msgid "Editor font family"
msgstr ""
@@ -1528,40 +1615,6 @@ msgstr ""
"geen meegegeven wordt, zal het programma de standaard editor proberen te "
"detecteren. "
msgid "Show advanced options"
msgstr "Toon geavanceerde opties"
msgid "Synchronisation target"
msgstr "Synchronisatiedoel"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr "Folder om mee te synchroniseren (absolute pad)"
msgid "Nextcloud WebDAV URL"
msgstr ""
msgid "Nextcloud username"
msgstr ""
#, fuzzy
msgid "Nextcloud password"
msgstr "Stel wachtwoord in"
msgid "WebDAV URL"
msgstr ""
msgid "WebDAV username"
msgstr ""
#, fuzzy
msgid "WebDAV password"
msgstr "Stel wachtwoord in"
msgid "Custom TLS certificates"
msgstr ""
@@ -1575,6 +1628,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Schakel encryptie in"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Ongeldige optie: \"%s\". Geldige waarden zijn: %s."
@@ -1601,6 +1678,13 @@ msgstr ""
msgid "Application"
msgstr "Sluit de applicatie."
#, fuzzy
msgid "Encryption"
msgstr "Versleuteling is:"
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1616,7 +1700,11 @@ msgid "Joplin Export Directory"
msgstr ""
#, fuzzy
msgid "Evernote Export File"
msgid "Evernote Export File (as Markdown)"
msgstr "Exporteer Evernote bestanden"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Exporteer Evernote bestanden"
#, fuzzy
@@ -1650,13 +1738,12 @@ msgstr ""
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Selecteer waar de synchronisatie status naar geëxporteerd moet worden"
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Items die niet gesynchroniseerd kunnen worden"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1666,6 +1753,24 @@ msgstr ""
"geüpload worden naar het synchronistatiedoel. Om deze items te vinden, zoek "
"naar de titel of het ID (afgebeeld bovenaan tussen haakjes)."
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Het notitieboek kon niet opgeslaan worden: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Het notitieboek kon niet opgeslaan worden: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Items die niet gesynchroniseerd kunnen worden"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "Sync status (gesynchroniseerde items / totaal aantal items)"
@@ -1705,6 +1810,14 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Verwijder de geselecteerde notitie of het geselecteerde notitieboek."
#, fuzzy
msgid "Create a notebook"
msgstr "Maakt een nieuw notitieboek aan."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
"Er zijn momenteel geen notities. Maak een notitie door op (+) te klikken."
@@ -1712,18 +1825,6 @@ msgstr ""
msgid "Delete these notes?"
msgstr "Deze notities verwijderen?"
msgid "Log"
msgstr "Log"
msgid "Export Debug Report"
msgstr "Exporteer debug rapport"
msgid "Encryption Config"
msgstr "Encryptie configuratie"
msgid "Configuration"
msgstr "Configuratie"
msgid "Move to notebook..."
msgstr "Verplaats naar notitieboek..."
@@ -1748,8 +1849,24 @@ msgstr "Selecteer datum"
msgid "Confirm"
msgstr "Bevestig"
msgid "Cancel synchronisation"
msgstr "Annuleer synchronisatie"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Notitieboeken"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Versleutelde items kunnen niet aangepast worden"
#, fuzzy
msgid "New Notebook"
msgstr "Nieuw notitieboek"
msgid "Configuration"
msgstr "Configuratie"
#, fuzzy
msgid "All notes"
msgstr "Nieuwe notitie"
#, fuzzy
msgid "Checking... Please wait."
@@ -1787,6 +1904,50 @@ msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "Encryptie configuratie"
#, fuzzy
msgid "Tools"
msgstr "Tools"
#, fuzzy
msgid "Sync Status"
msgstr "Status"
msgid "Log"
msgstr "Log"
#, fuzzy
msgid "Creating report..."
msgstr "Notities importeren..."
msgid "Export Debug Report"
msgstr "Exporteer debug rapport"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Configuratie"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1846,6 +2007,10 @@ msgstr "Het notitieboek kon niet opgeslaan worden: %s"
msgid "Edit notebook"
msgstr "Bewerk notitieboek"
#, fuzzy
msgid "Enter notebook title"
msgstr "Notitieboek titel:"
msgid "Show all"
msgstr ""
@@ -1869,10 +2034,32 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Afbeeldingstype %s wordt niet ondersteund"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Bijgewerkt: %d."
msgid "View on map"
msgstr "Toon op de kaart"
msgid "Go to source URL"
msgstr ""
#, fuzzy
msgid "Attach..."
msgstr "Zoeken"
#, fuzzy
msgid "Choose an option"
msgstr "Toon geavanceerde opties"
#, fuzzy
msgid "Take photo"
msgstr "Voeg foto toe"
@@ -1892,23 +2079,18 @@ msgstr "Converteer naar notitie"
msgid "Convert to todo"
msgstr "Converteer naar to-do"
msgid "Hide metadata"
msgstr "Verberg metadata"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr "Toon metadata"
msgid "View on map"
msgstr "Toon op de kaart"
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Bewerk"
msgid "Delete notebook"
msgstr "Verwijder notitieboek"
#, fuzzy
msgid "Add title"
msgstr "Untitled"
msgid "Login with OneDrive"
msgstr "Log in met OneDrive"
@@ -1916,24 +2098,84 @@ msgstr "Log in met OneDrive"
msgid "Search"
msgstr "Zoeken"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Klik op de (+) om een nieuwe notitie of een nieuw notitieboek aan te maken. "
"Klik in het menu om uw bestaande notitieboeken te raadplegen."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr ""
#~ "Bewerken notitie gestart. Sluit de editor om terug naar de prompt te gaan."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
"U heeft momenteel geen notitieboek. Maak een notitieboek door op (+) te "
"klikken."
msgid "Welcome"
msgstr "Welkom"
#~ msgid "Note has been saved."
#~ msgstr "Notitie is opgeslaan."
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Deze notitie werd aangepast:"
#~ msgid "Note title"
#~ msgstr "Notitieboek titel:"
#, fuzzy
#~ msgid "Note body"
#~ msgstr "Notitieboeken"
#~ msgid "Synchronisation status"
#~ msgstr "Synchronisatie status"
#~ msgid "General Options"
#~ msgstr "Algemene opties"
#~ msgid "Encryption options"
#~ msgstr "Versleutelopties"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Versleutelopties"
#, fuzzy
#~ msgid "Clipper Options"
#~ msgstr "Algemene opties"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Configuratie"
#~ msgid "Cancel synchronisation"
#~ msgstr "Annuleer synchronisatie"
#~ msgid "Hide metadata"
#~ msgstr "Verberg metadata"
#~ msgid "Show metadata"
#~ msgstr "Toon metadata"
#~ msgid "Delete notebook"
#~ msgstr "Verwijder notitieboek"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Klik op de (+) om een nieuwe notitie of een nieuw notitieboek aan te "
#~ "maken. Klik in het menu om uw bestaande notitieboeken te raadplegen."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr ""
#~ "U heeft momenteel geen notitieboek. Maak een notitieboek door op (+) te "
#~ "klikken."
#~ msgid "Welcome"
#~ msgstr "Welkom"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Scheid iedere tag met een komma."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Sommige items kunnen niet gedecodeerd worden."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1993,10 +2235,6 @@ msgstr "Welkom"
#~ msgid "Cancel the current command."
#~ msgstr "Annuleer het huidige commando."
#~ msgid "Delete the currently selected note or notebook."
#~ msgstr ""
#~ "Verwijder de geselecteerde notitie of het geselecteerde notitieboek."
#~ msgid "Set a to-do as completed / not completed"
#~ msgstr "Zet een to-do als voltooid / niet voltooid"

File diff suppressed because it is too large Load Diff

2214
CliClient/locales/pl_PL.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -164,16 +164,6 @@ msgstr "Niciun caiet de notițe activ."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Notița nu există: \"%s\". Doriți să o creați?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Eroare deschidere notiță în editor: %s"
msgid "Note has been saved."
msgstr "Notița a fost salvată."
msgid "Exits the application."
msgstr ""
@@ -357,6 +347,23 @@ msgstr "Ștergeți notița?"
msgid "Searches for the given <pattern> in all the notes."
msgstr ""
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -521,55 +528,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Se exportă către \"%s\" în format \"%s\". Vă rugăm să așteotați..."
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
#, fuzzy
msgid "Note title"
msgstr "Titlul caietului de notițe:"
#, fuzzy
msgid "Note body"
msgstr "Caiete de notițe"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr ""
msgid "PDF File"
msgstr "Fișier PDF"
msgid "Synchronisation status"
msgstr "Statusul sincronizării"
msgid "New note"
msgstr "Adăugați o nouă notiță"
msgid "New to-do"
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"
@@ -583,6 +541,9 @@ msgstr ""
msgid "Check for updates..."
msgstr "Verificați actualizările..."
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "Importați"
@@ -599,6 +560,9 @@ msgstr "Ascundeți %s"
msgid "Quit"
msgstr "Ieșiți"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Editați"
@@ -625,12 +589,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr "Cod"
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr "Editați într-un editor extern"
msgid "Tags"
msgstr "Etichete"
msgid "Search in all the notes"
msgstr "Căutați în toate notițele"
@@ -662,9 +632,16 @@ msgstr "Ajutor"
msgid "Website and documentation"
msgstr "Website și documentație"
#, fuzzy
msgid "Joplin Forum"
msgstr "Website Joplin"
msgid "Make a donation"
msgstr "Faceți o donație"
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr "Deschideți %s"
@@ -763,15 +740,21 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr ""
msgid "Check synchronisation configuration"
msgstr ""
msgid "Browse..."
msgstr ""
msgid "Check synchronisation configuration"
msgstr ""
msgid "Back"
msgstr "Înapoi"
msgid "Apply"
msgstr "Aplicați"
@@ -841,8 +824,8 @@ msgid ""
msgstr ""
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
msgid "Status"
@@ -851,13 +834,19 @@ msgstr "Status"
msgid "Encryption is:"
msgstr "Criptarea este:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
#, fuzzy
msgid "Usage"
msgstr "Utilizare: %s"
msgid "Back"
msgstr "Înapoi"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -875,9 +864,6 @@ msgstr "Titlul caietului de notițe:"
msgid "Add or remove tags:"
msgstr "Adăugați ori eliminați etichete:"
msgid "Separate each tag by a comma."
msgstr "Separați fiecare etichetă printr-o virgulă."
msgid "Rename notebook:"
msgstr "Redenumiți caietul de notițe:"
@@ -887,6 +873,18 @@ msgstr "Redenumiți eticheta:"
msgid "Set alarm:"
msgstr "Setați alarma:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Adăugați o nouă notiță"
msgid "New to-do"
msgstr "Adăugați o nouă sarcină"
msgid "New notebook"
msgstr "Adăugați un nou caiet de notițe"
msgid "Layout"
msgstr ""
@@ -899,8 +897,8 @@ msgstr "Câțiva itemi nu pot fi sincronizați."
msgid "View them now"
msgstr "Vizualizați-le acum"
msgid "Some items cannot be decrypted."
msgstr "Câțiva itemi nu pot fi descriptați."
msgid "One or more master keys need a password."
msgstr ""
msgid "Set the password"
msgstr "Setați parola"
@@ -918,9 +916,36 @@ msgstr ""
msgid "URL"
msgstr ""
#, fuzzy
msgid "Note History"
msgstr "Caiete de notițe"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Această notiță a fost modificată:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr "Deschideți..."
@@ -953,6 +978,13 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
msgid "PDF File"
msgstr "Fișier PDF"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Eroare deschidere notiță în editor: %s"
msgid "strong text"
msgstr ""
@@ -968,9 +1000,6 @@ msgstr "Introduceți hyperlink"
msgid "Attach file"
msgstr "Atașați fișier"
msgid "Tags"
msgstr "Etichete"
msgid "Set alarm"
msgstr "Setați alarma"
@@ -981,9 +1010,6 @@ msgstr "În: %s"
msgid "Hyperlink"
msgstr "Hyperlink"
msgid "Code"
msgstr "Cod"
msgid "Numbered List"
msgstr "Listă numerotată"
@@ -1033,12 +1059,6 @@ msgstr "Opțiuni"
msgid "Synchronisation Status"
msgstr "Statutul sincronizării"
msgid "Encryption Options"
msgstr "Opțiuni de criptare"
msgid "Clipper Options"
msgstr "Opțiuni Clipper"
#, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1067,12 +1087,15 @@ msgid "Decrypting items: %d/%d"
msgstr "Se decriptează itemi: %d/%d"
#, fuzzy, javascript-format
msgid "Fetching resources: %d"
msgstr "Resurse: %d."
msgid "Fetching resources: %d/%d"
msgstr "Resurse: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr ""
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "Adăugați ori eliminați etichete"
@@ -1261,6 +1284,56 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr ""
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr "URL NextCloud WebDAV"
msgid "Nextcloud username"
msgstr "Nume utilizator Nextcloud"
msgid "Nextcloud password"
msgstr "Parolă Nextcloud"
msgid "WebDAV URL"
msgstr "URL-ul WebDAV"
msgid "WebDAV username"
msgstr "Nume utilizator WebDAV"
msgid "WebDAV password"
msgstr "Parolă WebDAV"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Limbă"
@@ -1279,6 +1352,12 @@ msgstr "Deschisă"
msgid "Dark"
msgstr "Închisă"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr ""
@@ -1347,6 +1426,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr "Afișați iconița coșul de gunoi"
@@ -1369,6 +1451,10 @@ msgstr ""
msgid "Editor font size"
msgstr "Editează notiță."
#, fuzzy
msgid "Editor font"
msgstr "Editează notiță."
msgid "Editor font family"
msgstr ""
@@ -1410,38 +1496,6 @@ msgid ""
"If none is provided it will try to auto-detect the default editor."
msgstr ""
msgid "Show advanced options"
msgstr "Afișați opțiunile avansate"
msgid "Synchronisation target"
msgstr ""
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
msgid "Directory to synchronise with (absolute path)"
msgstr ""
msgid "Nextcloud WebDAV URL"
msgstr "URL NextCloud WebDAV"
msgid "Nextcloud username"
msgstr "Nume utilizator Nextcloud"
msgid "Nextcloud password"
msgstr "Parolă Nextcloud"
msgid "WebDAV URL"
msgstr "URL-ul WebDAV"
msgid "WebDAV username"
msgstr "Nume utilizator WebDAV"
msgid "WebDAV password"
msgstr "Parolă WebDAV"
msgid "Custom TLS certificates"
msgstr "Certificate TLS cusomizate"
@@ -1455,6 +1509,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "Ignoră erorile de certificat TLS"
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Activați criptarea"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr ""
@@ -1481,6 +1559,13 @@ msgstr ""
msgid "Application"
msgstr "Duplicați"
#, fuzzy
msgid "Encryption"
msgstr "Criptarea este:"
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1494,7 +1579,10 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr ""
msgid "Evernote Export File"
msgid "Evernote Export File (as Markdown)"
msgstr ""
msgid "Evernote Export File (as HTML)"
msgstr ""
msgid "Json Export Directory"
@@ -1526,19 +1614,36 @@ msgstr "Nu există date de exportat."
msgid "Please specify the notebook where the notes should be imported to."
msgstr ""
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Itemii nu pot fi sincronizați"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
"(which is displayed in brackets above)."
msgstr ""
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Acest fișier nu a putut fi deschis: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Acest fișier nu a putut fi deschis: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Itemii nu pot fi sincronizați"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr ""
@@ -1578,24 +1683,20 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Niciun caiet de notițe activ."
#, fuzzy
msgid "Create a notebook"
msgstr "Creați caiet de notițe."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
msgid "Delete these notes?"
msgstr "Ștergeți aceste notițe?"
msgid "Log"
msgstr ""
msgid "Export Debug Report"
msgstr ""
msgid "Encryption Config"
msgstr ""
msgid "Configuration"
msgstr "Configurare"
msgid "Move to notebook..."
msgstr "Mutați în caietul de notițe..."
@@ -1619,8 +1720,24 @@ msgstr "Selectați data"
msgid "Confirm"
msgstr "Confirmați"
msgid "Cancel synchronisation"
msgstr "Amânați sincronizarea"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Caiete de notițe"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Itemii criptați nu pot fi editați"
#, fuzzy
msgid "New Notebook"
msgstr "Adăugați un nou caiet de notițe"
msgid "Configuration"
msgstr "Configurare"
#, fuzzy
msgid "All notes"
msgstr "notiță"
#, fuzzy
msgid "Checking... Please wait."
@@ -1656,6 +1773,50 @@ msgstr "Etichete noi:"
msgid "Type new tags or select from list"
msgstr ""
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr ""
#, fuzzy
msgid "Tools"
msgstr "Unelte"
#, fuzzy
msgid "Sync Status"
msgstr "Status"
msgid "Log"
msgstr ""
#, fuzzy
msgid "Creating report..."
msgstr "Se crează un %s..."
msgid "Export Debug Report"
msgstr ""
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Configurare"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1713,6 +1874,10 @@ msgstr "Caietul de notițe nu a puut fi salvat: %s"
msgid "Edit notebook"
msgstr "Editați caietul de notițe"
#, fuzzy
msgid "Enter notebook title"
msgstr "Titlul caietului de notițe:"
msgid "Show all"
msgstr "Afișați tot"
@@ -1736,10 +1901,32 @@ msgstr "Niciun item cu ID-ul %s"
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr ""
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Actualizat: %d."
msgid "View on map"
msgstr "Vizualizați pe hartă"
msgid "Go to source URL"
msgstr ""
#, fuzzy
msgid "Attach..."
msgstr "Caută..."
#, fuzzy
msgid "Choose an option"
msgstr "Afișați opțiunile avansate"
#, fuzzy
msgid "Take photo"
msgstr "Atașează imagine"
@@ -1759,23 +1946,18 @@ msgstr ""
msgid "Convert to todo"
msgstr ""
msgid "Hide metadata"
msgstr "Ascundeți metadatele"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr "Afișați metadatele"
msgid "View on map"
msgstr "Vizualizați pe hartă"
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Editați"
msgid "Delete notebook"
msgstr "Ștergeți caiet de notițe"
#, fuzzy
msgid "Add title"
msgstr "titlu"
# vezi context
msgid "Login with OneDrive"
@@ -1784,26 +1966,75 @@ msgstr "Autentificare prin OneDrive"
msgid "Search"
msgstr "Caută"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
"Nu aveți niciun caiet de notițe creat. Creați unul făcând click pe butonnul "
"(+)."
msgid "Welcome"
msgstr "Bine ați venit"
#~ msgid "Note has been saved."
#~ msgstr "Notița a fost salvată."
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Această notiță a fost modificată:"
#~ msgid "Note title"
#~ msgstr "Titlul caietului de notițe:"
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Website Joplin"
#~ msgid "Note body"
#~ msgstr "Caiete de notițe"
#~ msgid "Synchronisation status"
#~ msgstr "Statusul sincronizării"
#~ msgid "Print"
#~ msgstr "Printați"
#~ msgid "General Options"
#~ msgstr "Opțiuni Generale"
#~ msgid "Encryption options"
#~ msgstr "Opțiuni de criptare"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Opțiuni de criptare"
#~ msgid "Clipper Options"
#~ msgstr "Opțiuni Clipper"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Configurare"
#~ msgid "Cancel synchronisation"
#~ msgstr "Amânați sincronizarea"
#~ msgid "Hide metadata"
#~ msgstr "Ascundeți metadatele"
#~ msgid "Show metadata"
#~ msgstr "Afișați metadatele"
#~ msgid "Delete notebook"
#~ msgstr "Ștergeți caiet de notițe"
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr ""
#~ "Nu aveți niciun caiet de notițe creat. Creați unul făcând click pe "
#~ "butonnul (+)."
#~ msgid "Welcome"
#~ msgstr "Bine ați venit"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Separați fiecare etichetă printr-o virgulă."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Câțiva itemi nu pot fi descriptați."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid "State: %s."
#~ msgstr "Statut: %s."

View File

@@ -13,17 +13,18 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"X-Generator: Poedit 2.2.3\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"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
msgid "To delete a tag, untag the associated notes."
msgstr "Для удаления метки, открепите ее от связанных с ней заметок."
msgid "Please select the note or notebook to be deleted first."
msgstr ""
"Пожалуйста, выберите заметку или блокнот, которые будут удалены в первую "
"очередь."
"Пожалуйста, выберите заметку или блокнот, которые будут удалены первыми."
msgid "Press Ctrl+D or type \"exit\" to exit the application"
msgstr "Для выхода из приложения нажмите Ctrl+D или введите \"exit\""
@@ -103,7 +104,7 @@ msgstr ""
"конфигурацию."
msgid "Also displays unset and hidden config variables."
msgstr "Также выводит неустановленные или скрытые переменные конфигурации."
msgstr "Также показывает неустановленные или скрытые переменные конфигурации."
#, javascript-format
msgid "%s = %s (%s)"
@@ -127,7 +128,6 @@ 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`."
@@ -394,6 +394,25 @@ msgstr "Удалить заметку?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Запросы для заданного <pattern> во всех заметках."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
"Запустить, остановить или проверить сервер API. Порт сервера настраивается с "
"помощью переменной api.port. Доступные команды: (%s)."
#, javascript-format
msgid "Server is already running on port %d"
msgstr "Сервер уже запущен на порту %d"
#, javascript-format
msgid "Server is running on port %d"
msgstr "Сервер запущен на порту %d"
msgid "Server is not running."
msgstr "Сервер не запущен."
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -534,6 +553,10 @@ msgstr "Введите `joplin help` для получения информац
msgid "Fatal error:"
msgstr "Фатальная ошибка:"
#, javascript-format
msgid "All potential ports are in use - please report the issue at %s"
msgstr "Все возможные порты заняты - пожалуйста, сообщите о проблеме в %s"
msgid ""
"The application has been authorised - you may now close this browser tab."
msgstr "Приложение авторизовано — можно закрыть вкладку браузера."
@@ -631,6 +654,25 @@ msgstr "Настройки шифрования"
msgid "Web clipper options"
msgstr "Настройки веб-клиппера"
msgid "Create note from template"
msgstr "Создать заметку из шаблона"
msgid "Create to-do from template"
msgstr "Создать задачу из шаблона"
msgid "Insert template"
msgstr "Вставить шаблон"
msgid "Open template directory"
msgstr "Открыть папку с шаблонами"
msgid "Refresh templates"
msgstr "Обновить шаблоны"
#, javascript-format
msgid "Revision: %s (%s)"
msgstr "Изменения: %s (%s)"
#, javascript-format
msgid "%s %s (%s, %s)"
msgstr "%s %s (%s, %s)"
@@ -642,11 +684,14 @@ msgid "About Joplin"
msgstr "О Joplin"
msgid "Preferences..."
msgstr ""
msgstr "Настройки…"
msgid "Check for updates..."
msgstr "Проверить обновления..."
msgid "Templates"
msgstr "Шаблоны"
msgid "Import"
msgstr "Импорт"
@@ -663,6 +708,9 @@ msgstr "Скрыть %s"
msgid "Quit"
msgstr "Выход"
msgid "Close Window"
msgstr "Закрыть окно"
msgid "&Edit"
msgstr "&Правка"
@@ -679,20 +727,26 @@ msgid "Select all"
msgstr "Выбрать все"
msgid "Bold"
msgstr "Жирный"
msgstr "Полужирный"
msgid "Italic"
msgstr "Наклонный"
msgstr "Курсивный"
msgid "Link"
msgstr "Ссылка"
msgid "Code"
msgstr "Код"
msgid "Insert Date Time"
msgstr "Вставить дату и время"
msgid "Edit in external editor"
msgstr "Редактировать во внешнем редакторе"
msgid "Tags"
msgstr "Метки"
msgid "Search in all the notes"
msgstr "Поиск во всех заметках"
@@ -720,8 +774,14 @@ msgstr "&Помощь"
msgid "Website and documentation"
msgstr "Сайт и документация"
msgid "Joplin Forum"
msgstr "Форум Joplin"
msgid "Make a donation"
msgstr "Сделать пожертвование"
msgstr "Пожертвовать"
msgid "Toggle development tools"
msgstr "Включить средства разработки"
#, javascript-format
msgid "Open %s"
@@ -791,7 +851,7 @@ msgstr ""
"браузера в Joplin."
msgid "In order to use the web clipper, you need to do the following:"
msgstr "Для того, чтобы использовать веб-клиппер, вам нужно сделать следующее:"
msgstr "Для использования веб-клиппера вам нужно сделать следующее:"
msgid "Step 1: Enable the clipper service"
msgstr "Шаг 1: включите службу веб-клиппера"
@@ -801,7 +861,7 @@ msgid ""
"enabling it your firewall may ask you to give permission to Joplin to listen "
"to a particular port."
msgstr ""
"Эта служба позволяет расширению браузера общаться с Joplin. После ее "
"Эта служба позволяет расширению браузера взаимодействовать с Joplin. После ее "
"включения брандмауэр ОС может запросить разрешение на использование Joplin "
"определенного порта."
@@ -831,12 +891,12 @@ msgstr ""
msgid "Notes and settings are stored in: %s"
msgstr "Заметки и настройки сохранены в: %s"
msgid "Browse..."
msgstr "Обзор..."
msgid "Check synchronisation configuration"
msgstr "Проверить настройки синхронизации"
msgid "Browse..."
msgstr "Обзор..."
msgid "Apply"
msgstr "Применить"
@@ -920,8 +980,8 @@ msgstr ""
"загрузятся при синхронизации."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
"Для получения дополнительной информации о сквозном шифровании (E2EE) и "
"советах о том, как его включить, пожалуйста, обратитесь к документации:"
@@ -956,9 +1016,6 @@ msgstr "Название блокнота:"
msgid "Add or remove tags:"
msgstr "Добавить или удалить метки:"
msgid "Separate each tag by a comma."
msgstr "Разделяйте каждую метку запятой."
msgid "Rename notebook:"
msgstr "Переименовать блокнот:"
@@ -968,6 +1025,9 @@ msgstr "Переименовать метку:"
msgid "Set alarm:"
msgstr "Установить напоминание:"
msgid "Template file:"
msgstr "Файл шаблона:"
msgid "Layout"
msgstr "Разметка"
@@ -980,8 +1040,8 @@ msgstr "Некоторые элементы не могут быть синхр
msgid "View them now"
msgstr "Просмотреть их сейчас"
msgid "Some items cannot be decrypted."
msgstr "Некоторые элементы не могут быть расшифрованы."
msgid "One or more master keys need a password."
msgstr "Для одного или нескольких мастер-ключей требуется пароль."
msgid "Set the password"
msgstr "Установить пароль"
@@ -999,9 +1059,36 @@ msgstr "Местоположение"
msgid "URL"
msgstr "URL"
msgid "Note History"
msgstr "История заметок"
msgid "Markup"
msgstr "Разметка"
msgid "Previous versions of this note"
msgstr "Предыдущая версия заметки"
msgid "Note properties"
msgstr "Свойства заметки"
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr "Заметка “%s” была успешно восстановлена в блокнот “%s”."
msgid "This note has no history"
msgstr "Эта заметка не имеет предыдущей версии"
msgid "Restore"
msgstr "Восстановить"
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
"Нажмите “%s”, чтобы восстановить заметку. Она будет скопирована в блокнот "
"“%s”. Текущая версия заметки не будет заменена или изменена."
msgid "Open..."
msgstr "Открыть..."
@@ -1052,9 +1139,6 @@ msgstr "Вставить гиперссылку"
msgid "Attach file"
msgstr "Прикрепить файл"
msgid "Tags"
msgstr "Метки"
msgid "Set alarm"
msgstr "Установить напоминание"
@@ -1065,9 +1149,6 @@ msgstr "В: %s"
msgid "Hyperlink"
msgstr "Гиперссылка"
msgid "Code"
msgstr "Код"
msgid "Numbered List"
msgstr "Нумерованный список"
@@ -1123,18 +1204,19 @@ 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 ""
"Удалить блокнот? Все заметки и вложенные блокноты в этом блокноте также "
"будут удалены."
"Удалить блокнот “%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 "Удалить этот поиск из боковой панели?"
@@ -1145,21 +1227,13 @@ msgstr "Удалить"
msgid "Rename"
msgstr "Переименовать"
msgid "Notebooks"
msgstr "Блокноты"
#, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Расшифровано элементов: %d/%d"
#, javascript-format
msgid "Fetching resources: %d"
msgstr "Получение ресурсов: %d"
msgid "Please select where the sync status should be exported to"
msgstr ""
"Пожалуйста, выберите, куда должен быть экспортирован статус синхронизации"
msgid "Retry"
msgstr "Повторить попытку"
msgid "Add or remove tags"
msgstr "Добавить или удалить метки"
@@ -1194,9 +1268,11 @@ 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 ""
msgstr "Перейти к чему угодно…"
#, javascript-format
msgid "Usage: %s"
@@ -1310,6 +1386,12 @@ msgstr "Выполнение"
msgid "Synchronisation is already in progress. State: %s"
msgstr "Синхронизация уже выполняется. Состояние: %s"
msgid ""
"Unknown item type downloaded - please upgrade Joplin to the latest version"
msgstr ""
"Обнаружен неизвестный тип файла - пожалуйста, обновите Joplin до последней "
"версии"
msgid "Encrypted"
msgstr "Зашифровано"
@@ -1357,6 +1439,61 @@ msgstr ""
"содержимое перед синхронизацией, в противном случае все файлы будут удалены! "
"Смотрите FAQ для получения подробной информации: %s"
msgid "Synchronisation target"
msgstr "Цель синхронизации"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Цель синхронизации. Каждая цель синхронизации может иметь дополнительные "
"параметры, именованные как `sync.NUM.NAME` (все документировано ниже)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Каталог синхронизации (абсолютный путь)"
msgid "Nextcloud WebDAV URL"
msgstr "URL-адрес WebDAV-сервера Nextcloud"
msgid "Nextcloud username"
msgstr "Имя пользователя Nextcloud"
msgid "Nextcloud password"
msgstr "Пароль Nextcloud"
msgid "WebDAV URL"
msgstr "URL-адрес WebDAV"
msgid "WebDAV username"
msgstr "Имя пользователя WebDAV"
msgid "WebDAV password"
msgstr "Пароль WebDAV"
msgid "Attachment download behaviour"
msgstr "Правило загрузок вложений"
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
"В режиме “Ручной” вложения скачиваются, если на них кликнуть. В режиме "
"“Автоматически”, вложения скачиваются при открытии заметки. В режиме "
"“Всегда” все заметки скачиваются всегда."
msgid "Always"
msgstr "Всегда"
msgid "Manual"
msgstr "Ручной"
msgid "Auto"
msgstr "Автоматически"
msgid "Max concurrent connections"
msgstr "Максимальное число одновременных соединений"
msgid "Language"
msgstr "Язык"
@@ -1373,7 +1510,13 @@ msgid "Light"
msgstr "Светлая"
msgid "Dark"
msgstr "Темная"
msgstr "Тёмная"
msgid "Solarised Light"
msgstr "Ярко-светлая"
msgid "Solarised Dark"
msgstr "Ярко-тёмная"
msgid "Uncompleted to-dos on top"
msgstr "Незавершенные задачи сверху"
@@ -1406,41 +1549,43 @@ msgid "When creating a new note:"
msgstr "При создании новой заметки:"
msgid "Enable soft breaks"
msgstr ""
msgstr "Включить мягкие отступы"
#, fuzzy
msgid "Enable math expressions"
msgstr "Включить шифрование"
msgstr "Включить математические выражения"
msgid "Enable ==mark== syntax"
msgstr ""
msgstr "Включить синтаксис ==mark=="
msgid "Enable footnotes"
msgstr ""
msgstr "Включить постраничные сноски"
msgid "Enable table of contents extension"
msgstr ""
msgstr "Включить расширение содержания"
msgid "Enable ~sub~ syntax"
msgstr ""
msgstr "Включить синтаксис ~sub~"
msgid "Enable ^sup^ syntax"
msgstr ""
msgstr "Включить синтаксис ^sup^"
msgid "Enable deflist syntax"
msgstr ""
msgstr "Включить синтаксис deflist"
msgid "Enable abbreviation syntax"
msgstr ""
msgstr "Включить синтаксис аббревиатур"
msgid "Enable markdown emoji"
msgstr ""
msgstr "Включить markdown emoji"
msgid "Enable ++insert++ syntax"
msgstr ""
msgstr "Включить синтаксис ++insert++"
msgid "Enable multimarkdown table extension"
msgstr ""
msgstr "Включить расширение таблиц multimarkdown"
msgid "Enable Fountain syntax support"
msgstr "Включить поддержку Fountain"
msgid "Show tray icon"
msgstr "Показывать иконку в трее"
@@ -1514,40 +1659,6 @@ msgstr ""
"Если не задан, будет произведена попытка автоматического определения "
"редактора по умолчанию."
msgid "Show advanced options"
msgstr "Показывать расширенные настройки"
msgid "Synchronisation target"
msgstr "Цель синхронизации"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Цель синхронизации. Каждая цель синхронизации может иметь дополнительные "
"параметры, именованные как `sync.NUM.NAME` (все документировано ниже)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Каталог синхронизации (абсолютный путь)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Имя пользователя Nextcloud"
msgid "Nextcloud password"
msgstr "Пароль Nextcloud"
msgid "WebDAV URL"
msgstr "WebDAV URL"
msgid "WebDAV username"
msgstr "Имя пользователя WebDAV"
msgid "WebDAV password"
msgstr "Пароль WebDAV"
msgid "Custom TLS certificates"
msgstr "Пользовательские сертификаты TLS"
@@ -1566,6 +1677,26 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "Игнорировать ошибки сертификата TLS"
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
"Укажите порт для работы сервера API. Если не указано, будет использовано "
"значение по умолчанию."
msgid "Enable note history"
msgstr "Включить историю заметок"
msgid "days"
msgstr "дни"
#, javascript-format
msgid "%d days"
msgstr "%d дней"
msgid "Keep note history for"
msgstr "Хранить историю заметки"
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Неверное значение параметра: \"%s\". Доступные значения: %s."
@@ -1583,7 +1714,7 @@ msgid "Note"
msgstr "Заметки"
msgid "Plugins"
msgstr ""
msgstr "Плагины"
msgid "Application"
msgstr "Приложение"
@@ -1636,13 +1767,12 @@ msgid "Please specify the notebook where the notes should be imported to."
msgstr ""
"Пожалуйста, укажите блокнот, в который должны быть импортированы заметки."
msgid "Restored Notes"
msgstr "Восстановленные заметки"
msgid "Items that cannot be synchronised"
msgstr "Элементы, которые не могут быть синхронизированы"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1652,6 +1782,26 @@ msgstr ""
"синхронизации. Чтобы найти эти элементы, воспользуйтесь поиском по названию "
"или ID (который указывается в скобках выше)."
#, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Не удается загрузить файл %s (%s): %s"
#, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Не удается скачать файл “%s”: %s"
msgid "Items that cannot be decrypted"
msgstr "Элементы, которые не могут быть расшифрованы"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
"Joplin не удалось расшифровать эти файлы несколько раз. Возможно они "
"повреждены или слишком большие. Файлы останутся на устройстве без дальнейших "
"попыток расшифровать их."
msgid "Sync status (synced items / total items)"
msgstr "Статус синхронизации (синхронизировано / всего)"
@@ -1691,24 +1841,18 @@ msgstr "Разрешение на использование камеры"
msgid "Your permission to use your camera is required."
msgstr "Необходимо ваше разрешение на использование камеры."
msgid "You currently have no notebooks."
msgstr "Сейчас у вас нет блокнотов."
msgid "Create a notebook"
msgstr "Создать новый блокнот"
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "Сейчас здесь нет заметок. Создайте новую, нажав кнопку (+)."
msgid "Delete these notes?"
msgstr "Удалить эти заметки?"
msgid "Log"
msgstr "Журнал"
msgid "Export Debug Report"
msgstr "Экспортировать отладочный отчет"
msgid "Encryption Config"
msgstr "Конфигурация шифрования"
msgid "Configuration"
msgstr "Конфигурация"
msgid "Move to notebook..."
msgstr "Переместить в блокнот..."
@@ -1731,8 +1875,32 @@ msgstr "Выбрать дату"
msgid "Confirm"
msgstr "Подтвердить"
msgid "Cancel synchronisation"
msgstr "Отменить синхронизацию"
#, javascript-format
msgid "Notebook: %s"
msgstr "Блокноты: %s"
msgid "Encrypted notebooks cannot be renamed"
msgstr "Невозможно переименовать зашифрованные блокноты"
msgid "New Notebook"
msgstr "Новый блокнот"
msgid "Configuration"
msgstr "Конфигурация"
#, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Расшифровано элементов: %d/%d"
#, javascript-format
msgid "Fetching resources: %d/%d"
msgstr "Получение ресурсов: %d/%d"
msgid "All notes"
msgstr "Все заметки"
msgid "Notebooks"
msgstr "Блокноты"
msgid "Checking... Please wait."
msgstr "Проверка... Пожалуйста, подождите."
@@ -1774,6 +1942,53 @@ msgstr "Новые метки:"
msgid "Type new tags or select from list"
msgstr "Введите новые метки или выберите из списка"
msgid "Warning"
msgstr "Предупрежение"
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
"Для использование синхронизации файловой системы, необходимо дать разрешение "
"на запись."
msgid "Information"
msgstr "Информация"
msgid "Encryption Config"
msgstr "Конфигурация шифрования"
msgid "Tools"
msgstr "Инструменты"
msgid "Sync Status"
msgstr "Синхронизировать статус"
msgid "Log"
msgstr "Журнал"
msgid "Creating report..."
msgstr "Создание отчета…"
msgid "Export Debug Report"
msgstr "Экспортировать отладочный отчет"
msgid "Fixing search index..."
msgstr "Исправление индекса поиска…"
msgid "Fix search index"
msgstr "Исправить индекс поиска"
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
"Используйте это, чтобы перестроить индекс поиска, если возникли проблемы с "
"поиском. Это может занять много времени в зависимости от количества заметок."
msgid "More information"
msgstr "Больше информации"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1837,6 +2052,9 @@ msgstr "Блокнот не может быть сохранен: %s"
msgid "Edit notebook"
msgstr "Редактировать блокнот"
msgid "Enter notebook title"
msgstr "Введите название блокнота"
msgid "Show all"
msgstr "Показать все"
@@ -1862,10 +2080,30 @@ msgstr ""
"Мобильное приложение Joplin в настоящее время не поддерживает этот тип "
"ссылки: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr "Связь с протоколом “%s” не поддерживается"
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Неподдерживаемый формат изображения: %s"
#, javascript-format
msgid "Updated: %s"
msgstr "Обновлено: %s"
msgid "View on map"
msgstr "Посмотреть на карте"
msgid "Go to source URL"
msgstr "Перейти к исходному URL"
msgid "Attach..."
msgstr "Прикрепить…"
msgid "Choose an option"
msgstr "Выберите"
msgid "Take photo"
msgstr "Сделать фото"
@@ -1884,23 +2122,17 @@ msgstr "Преобразовать в заметку"
msgid "Convert to todo"
msgstr "Преобразовать в задачу"
msgid "Hide metadata"
msgstr "Скрыть метаданные"
msgid "Properties"
msgstr "Свойства"
msgid "Show metadata"
msgstr "Показать метаданные"
msgid "View on map"
msgstr "Посмотреть на карте"
msgid "Go to source URL"
msgstr "Перейти к исходному URL"
msgid "Add body"
msgstr "Добавить тело"
msgid "Edit"
msgstr "Правка"
msgid "Delete notebook"
msgstr "Удалить блокнот"
msgid "Add title"
msgstr "Добавить заголовок"
msgid "Login with OneDrive"
msgstr "Войти с OneDrive"
@@ -1908,22 +2140,44 @@ msgstr "Войти с OneDrive"
msgid "Search"
msgstr "Поиск"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Нажмите на кнопку (+) для создания новой заметки или нового блокнота. "
"Нажмите на боковое меню для доступа к вашим существующим блокнотам."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "У вас сейчас нет блокнота. Создайте его нажатием на кнопку (+)."
msgid "Welcome"
msgstr "Добро пожаловать"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Эта заметка была изменена:"
#~ msgid "Permission to write to external storage"
#~ msgstr "Разрешение на использование камеры"
#~ msgid "Cancel synchronisation"
#~ msgstr "Отменить синхронизацию"
#~ msgid "Hide metadata"
#~ msgstr "Скрыть метаданные"
#~ msgid "Show metadata"
#~ msgstr "Показать метаданные"
#~ msgid "Delete notebook"
#~ msgstr "Удалить блокнот"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Нажмите на кнопку (+) для создания новой заметки или нового блокнота. "
#~ "Нажмите на боковое меню для доступа к вашим существующим блокнотам."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr "У вас сейчас нет блокнота. Создайте его нажатием на кнопку (+)."
#~ msgid "Welcome"
#~ msgstr "Добро пожаловать"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Разделяйте каждую метку запятой."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Некоторые элементы не могут быть расшифрованы."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1931,6 +2185,3 @@ msgstr "Добро пожаловать"
#~ msgstr ""
#~ "Путь для синхронизации, когда включена синхронизация файловой системы. "
#~ "См. `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

View File

@@ -173,18 +173,6 @@ msgstr "Ni aktivnih beležnic."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Zabeležka ne obstaja: \"%s\". Bi jo radi ustvarili?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Urejanje zabeležke se začenja. Zaprite urejevalnik, da se vrnete na ukazni "
"poziv."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Napaka v odpiranju zabeležke v urejevalniku: %s"
msgid "Note has been saved."
msgstr "Zabeležka je bila shranjena."
msgid "Exits the application."
msgstr "Izhod iz aplikacije."
@@ -395,6 +383,23 @@ msgstr "Želite izbrisati zabeležko?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Išči dani <pattern> v vseh zabeležkah."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -583,55 +588,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Izvažam v \"%s\" kot \"%s\" format. Prosim počakajte..."
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
#, fuzzy
msgid "Note title"
msgstr "Naslov beležnice:"
#, fuzzy
msgid "Note body"
msgstr "Beležnice"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "Uvažam v \"%s\" kot \"%s\" format. Prosim počakajte..."
msgid "PDF File"
msgstr "PDF datoteka"
msgid "Synchronisation status"
msgstr "Status sinhronizacije"
msgid "New note"
msgstr "Nova zabeležka"
msgid "New to-do"
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"
@@ -645,6 +601,9 @@ msgstr ""
msgid "Check for updates..."
msgstr "Preverjanje za posodobitvami..."
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "Uvozi"
@@ -661,6 +620,9 @@ msgstr "Skrij %s"
msgid "Quit"
msgstr "Izhod"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Uredi"
@@ -687,12 +649,18 @@ msgstr ""
msgid "Link"
msgstr ""
msgid "Code"
msgstr ""
msgid "Insert Date Time"
msgstr ""
msgid "Edit in external editor"
msgstr ""
msgid "Tags"
msgstr "Oznake"
msgid "Search in all the notes"
msgstr "Išči znotraj vseh zabeležk"
@@ -725,9 +693,16 @@ msgstr "Pomoč"
msgid "Website and documentation"
msgstr "Spletna stran in dokumentacija"
#, fuzzy
msgid "Joplin Forum"
msgstr "Joplin spletna stran"
msgid "Make a donation"
msgstr "Doniraj"
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr "Odpri %s"
@@ -826,15 +801,21 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Zabeležke in nastavitve so shranjene v: %s"
msgid "Check synchronisation configuration"
msgstr "Preveri nastavitve sinhronizacije"
msgid "Browse..."
msgstr ""
msgid "Check synchronisation configuration"
msgstr "Preveri nastavitve sinhronizacije"
msgid "Back"
msgstr "Nazaj"
msgid "Apply"
msgstr ""
@@ -919,8 +900,8 @@ msgstr ""
"da bodo sčasoma preneseni s sinhronizacijo."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
msgid "Status"
@@ -929,13 +910,19 @@ msgstr "Status"
msgid "Encryption is:"
msgstr "Enkripcija je:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
#, fuzzy
msgid "Usage"
msgstr "Uporaba: %s"
msgid "Back"
msgstr "Nazaj"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -954,9 +941,6 @@ msgstr "Naslov beležnice:"
msgid "Add or remove tags:"
msgstr "Dodaj ali odstrani oznako:"
msgid "Separate each tag by a comma."
msgstr "Loči vsako oznako z vejico."
msgid "Rename notebook:"
msgstr "Preimenuj beležnico:"
@@ -967,6 +951,18 @@ msgstr "Preimenuj"
msgid "Set alarm:"
msgstr "Nastavi alarm:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Nova zabeležka"
msgid "New to-do"
msgstr "Novi seznam opravil"
msgid "New notebook"
msgstr "Nova beležnica"
msgid "Layout"
msgstr "Izgled"
@@ -980,8 +976,9 @@ msgstr "Nekateri premeti ne morejo biti sinhronizirani."
msgid "View them now"
msgstr "Prikaži jih sedaj"
msgid "Some items cannot be decrypted."
msgstr "Nekateri predmeti ne morejo biti dekriptirani."
#, fuzzy
msgid "One or more master keys need a password."
msgstr "Vnesite glavno geslo:"
msgid "Set the password"
msgstr "Nastavi geslo"
@@ -1003,9 +1000,36 @@ msgstr ""
msgid "URL"
msgstr ""
#, fuzzy
msgid "Note History"
msgstr "Beležnice"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Ta zabeležka je bila spremenjena:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr "Odpri..."
@@ -1040,6 +1064,13 @@ msgstr ""
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
msgid "PDF File"
msgstr "PDF datoteka"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Napaka v odpiranju zabeležke v urejevalniku: %s"
msgid "strong text"
msgstr ""
@@ -1055,9 +1086,6 @@ msgstr ""
msgid "Attach file"
msgstr "Pripni datoteko"
msgid "Tags"
msgstr "Oznake"
msgid "Set alarm"
msgstr "Nastavi alarm"
@@ -1068,9 +1096,6 @@ msgstr "%s: %s"
msgid "Hyperlink"
msgstr ""
msgid "Code"
msgstr ""
msgid "Numbered List"
msgstr ""
@@ -1121,13 +1146,6 @@ msgstr "Možnosti"
msgid "Synchronisation Status"
msgstr "Sinhronizacijski status"
msgid "Encryption Options"
msgstr "Možnosti enkripcije"
#, fuzzy
msgid "Clipper Options"
msgstr "Splošne možnosti"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1155,15 +1173,18 @@ msgstr "Beležnice"
#, fuzzy, javascript-format
msgid "Decrypting items: %d/%d"
msgstr "Preneseni predmeti: %d/%d."
msgstr "Preneseni predmeti: %d/%d"
#, fuzzy, javascript-format
msgid "Fetching resources: %d"
msgstr "Viri: %d."
msgid "Fetching resources: %d/%d"
msgstr "Viri: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr "Prosim izberite, kam želite izvoziti sinhronizacijski status"
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "Dodaj ali odstrani oznake"
@@ -1365,6 +1386,58 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr "Sinhronizacijski cilj"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Ciljno sinhronizacijsko mesto. Vsak sinhronizacijski cilj ima lahko dodatne "
"parametre imenovano kot `sync.NUM.NAME` (vse je dokumentirano spodaj)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Mesto ciljne sinhronizacije (absolutna pot)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud uporabniško ime"
msgid "Nextcloud password"
msgstr "Nextcloud geslo"
msgid "WebDAV URL"
msgstr "WebDAV URL"
msgid "WebDAV username"
msgstr "WebDAV uporabniško ime"
msgid "WebDAV password"
msgstr "WebDAV geslo"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Jezik"
@@ -1383,6 +1456,12 @@ msgstr "Svetlo"
msgid "Dark"
msgstr "Temno"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr "Premakni nedokončane sezname opravil na vrh"
@@ -1452,6 +1531,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr "Pokaži ikono v območju za obvestila(opravilna vrstica)"
@@ -1474,6 +1556,10 @@ msgstr "Celokupen procent povečave"
msgid "Editor font size"
msgstr "Družina urejevalnika besedilnega stila"
#, fuzzy
msgid "Editor font"
msgstr "Družina urejevalnika besedilnega stila"
msgid "Editor font family"
msgstr "Družina urejevalnika besedilnega stila"
@@ -1522,40 +1608,6 @@ msgstr ""
"Urejevalnik, ki bo uporabljen za odpiranje zabeležk. Če noben ni izbran, bo "
"avtomatsko zaznan privzeti urejevalnik."
msgid "Show advanced options"
msgstr "Pokaži napredne možnosti"
msgid "Synchronisation target"
msgstr "Sinhronizacijski cilj"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Ciljno sinhronizacijsko mesto. Vsak sinhronizacijski cilj ima lahko dodatne "
"parametre imenovano kot `sync.NUM.NAME` (vse je dokumentirano spodaj)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Mesto ciljne sinhronizacije (absolutna pot)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud uporabniško ime"
msgid "Nextcloud password"
msgstr "Nextcloud geslo"
msgid "WebDAV URL"
msgstr "WebDAV URL"
msgid "WebDAV username"
msgstr "WebDAV uporabniško ime"
msgid "WebDAV password"
msgstr "WebDAV geslo"
msgid "Custom TLS certificates"
msgstr ""
@@ -1569,6 +1621,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr ""
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Omogoči enkripcijo"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Neveljavna vrednost: \"%s\". Možne vrednosti so : %s."
@@ -1595,6 +1671,13 @@ msgstr ""
msgid "Application"
msgstr "Izhod iz aplikacije."
#, fuzzy
msgid "Encryption"
msgstr "Enkripcija je:"
msgid "Web Clipper"
msgstr ""
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1608,7 +1691,12 @@ msgstr "Sistem označevanja"
msgid "Joplin Export Directory"
msgstr "Joplin izvozno mesto"
msgid "Evernote Export File"
#, fuzzy
msgid "Evernote Export File (as Markdown)"
msgstr "Evernote izvozna datoteka"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Evernote izvozna datoteka"
#, fuzzy
@@ -1643,13 +1731,12 @@ msgstr "Ni datotek za izvoz."
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Prosim navedite beležnico, kamor želite uvoziti zabeležke."
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Predmeti ne morejo biti sinhronizirani"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1659,6 +1746,24 @@ msgstr ""
"sinhronizacijski cilj. Če želite najti te predmete, iščite po ali naslovu "
"ali ID(je prikazan zgoraj v oklepajih)"
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Beležnica ne more biti shranjena: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Beležnica ne more biti shranjena: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Predmeti ne morejo biti sinhronizirani"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "Status sinhronizacije(sinhronizirani predmeti / vse datoteke)"
@@ -1698,24 +1803,20 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Ni aktivnih beležnic."
#, fuzzy
msgid "Create a notebook"
msgstr "Ustvari novo beležnico."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "Trenutno ni zabeležk. Ustvarite jo s klikom na (+) gumb."
msgid "Delete these notes?"
msgstr "Izbriši te zabeležke?"
msgid "Log"
msgstr "Dnevnik"
msgid "Export Debug Report"
msgstr "Izvozi poročilo o napakah"
msgid "Encryption Config"
msgstr "Nastavite enkripcije"
msgid "Configuration"
msgstr "Nastavitve"
msgid "Move to notebook..."
msgstr "Premakni v beležnico..."
@@ -1740,8 +1841,24 @@ msgstr "Izberi datum"
msgid "Confirm"
msgstr "Potrdi"
msgid "Cancel synchronisation"
msgstr "Prekliči sinhronizacijo"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Beležnice"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Enkriptirani predmeti ne morejo biti spremenjeni"
#, fuzzy
msgid "New Notebook"
msgstr "Nova beležnica"
msgid "Configuration"
msgstr "Nastavitve"
#, fuzzy
msgid "All notes"
msgstr "zabeležka"
#, fuzzy
msgid "Checking... Please wait."
@@ -1779,6 +1896,50 @@ msgstr ""
msgid "Type new tags or select from list"
msgstr ""
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "Nastavite enkripcije"
#, fuzzy
msgid "Tools"
msgstr "Orodja"
#, fuzzy
msgid "Sync Status"
msgstr "Status"
msgid "Log"
msgstr "Dnevnik"
#, fuzzy
msgid "Creating report..."
msgstr "Ustvarjanje nove %s..."
msgid "Export Debug Report"
msgstr "Izvozi poročilo o napakah"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Nastavitve"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1837,6 +1998,10 @@ msgstr "Beležnica ne more biti shranjena: %s"
msgid "Edit notebook"
msgstr "Uredi beležnico"
#, fuzzy
msgid "Enter notebook title"
msgstr "Naslov beležnice:"
msgid "Show all"
msgstr "Prikaži vse"
@@ -1860,10 +2025,32 @@ msgstr ""
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Nepodprt tip slike: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Posodobljeno: %d."
msgid "View on map"
msgstr "Prikaži na zemljevidu"
msgid "Go to source URL"
msgstr ""
#, fuzzy
msgid "Attach..."
msgstr "Išči"
#, fuzzy
msgid "Choose an option"
msgstr "Pokaži napredne možnosti"
#, fuzzy
msgid "Take photo"
msgstr "Pripni fotografijo"
@@ -1883,23 +2070,18 @@ msgstr "Pretvori v zabeležko"
msgid "Convert to todo"
msgstr "Pretvori v za narediti"
msgid "Hide metadata"
msgstr "Skrij meta podatke"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr "Prikaži meta podatke"
msgid "View on map"
msgstr "Prikaži na zemljevidu"
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Uredi"
msgid "Delete notebook"
msgstr "Izbriši beležnico"
#, fuzzy
msgid "Add title"
msgstr "Neimenovano"
msgid "Login with OneDrive"
msgstr "Prijavi se z OneDrive"
@@ -1907,22 +2089,94 @@ msgstr "Prijavi se z OneDrive"
msgid "Search"
msgstr "Išči"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Kliknite na (+) gumb, da ustvarite novo zabeležko ali beležnico. Kliknite na "
"stranski menu za dostop do obstoječih beležnic."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr ""
#~ "Urejanje zabeležke se začenja. Zaprite urejevalnik, da se vrnete na "
#~ "ukazni poziv."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "Trenutno nimate nobene beležnice. Ustvarite jo s klikom na (+) gumb."
msgid "Welcome"
msgstr "Dobrodošli"
#~ msgid "Note has been saved."
#~ msgstr "Zabeležka je bila shranjena."
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Ta zabeležka je bila spremenjena:"
#~ msgid "Note title"
#~ msgstr "Naslov beležnice:"
#, fuzzy
#~ msgid "Note body"
#~ msgstr "Beležnice"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "Uvažam v \"%s\" kot \"%s\" format. Prosim počakajte..."
#~ msgid "Synchronisation status"
#~ msgstr "Status sinhronizacije"
#~ msgid "Print"
#~ msgstr "Natisni"
#~ msgid "General Options"
#~ msgstr "Splošne možnosti"
#~ msgid "Encryption options"
#~ msgstr "Možnosti enkripcije"
#, fuzzy
#~ msgid "Open template directory"
#~ msgstr "Joplin izvozno mesto"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Možnosti enkripcije"
#, fuzzy
#~ msgid "Clipper Options"
#~ msgstr "Splošne možnosti"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Nastavitve"
#~ msgid "Cancel synchronisation"
#~ msgstr "Prekliči sinhronizacijo"
#~ msgid "Hide metadata"
#~ msgstr "Skrij meta podatke"
#~ msgid "Show metadata"
#~ msgstr "Prikaži meta podatke"
#~ msgid "Delete notebook"
#~ msgstr "Izbriši beležnico"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Kliknite na (+) gumb, da ustvarite novo zabeležko ali beležnico. Kliknite "
#~ "na stranski menu za dostop do obstoječih beležnic."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr ""
#~ "Trenutno nimate nobene beležnice. Ustvarite jo s klikom na (+) gumb."
#~ msgid "Welcome"
#~ msgstr "Dobrodošli"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Loči vsako oznako z vejico."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Nekateri predmeti ne morejo biti dekriptirani."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1931,10 +2185,6 @@ msgstr "Dobrodošli"
#~ "Pot za sinhronizacijo, ki bo uporabljena ob omogočeni sinhronizaciji. "
#~ "Poglej `sync.target`."
#, fuzzy
#~ msgid "Joplin v%s"
#~ msgstr "Joplin spletna stran"
#~ msgid "State: %s."
#~ msgstr "Stanje: %s."

2193
CliClient/locales/sr_RS.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -174,18 +174,6 @@ msgstr "Ingen aktiv anteckningsbok."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "Anteckning finns inte: \"%s\". Skapa den?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
"Börjar redigera anteckning. Stäng redigeraren för att komma tillbaka till "
"prompten."
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Fel vid öppning av anteckning i redigeraren: %s"
msgid "Note has been saved."
msgstr "Anteckning har sparats."
msgid "Exits the application."
msgstr "Avslutar programmet."
@@ -396,6 +384,23 @@ msgstr "Ta bort anteckning?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Söker efter det givna <pattern> i alla anteckningarna."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -589,53 +594,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "Exportera till \"%s\" som \"%s\" format. Vänta..."
msgid "Sidebar"
msgstr "Sidofältet"
msgid "Note list"
msgstr "Anteckningsboken"
msgid "Note title"
msgstr "Rubriken"
msgid "Note body"
msgstr "Texten"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "Importerar från \"%s\" som \"%s\" format. Vänta..."
msgid "PDF File"
msgstr "PDF-fil"
msgid "Synchronisation status"
msgstr "Synkroniseringstillstånd"
msgid "New note"
msgstr "Ny anteckning"
msgid "New to-do"
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"
@@ -649,6 +607,9 @@ msgstr ""
msgid "Check for updates..."
msgstr "Sök efter uppdateringar..."
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "Importera"
@@ -665,6 +626,9 @@ msgstr "Dölj %s"
msgid "Quit"
msgstr "Avsluta"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Redigera"
@@ -690,12 +654,18 @@ msgstr "Kursiv"
msgid "Link"
msgstr "Länk"
msgid "Code"
msgstr "Kod"
msgid "Insert Date Time"
msgstr "Infoga datumtid"
msgid "Edit in external editor"
msgstr "Redigera i extern redigerare"
msgid "Tags"
msgstr "Taggar"
msgid "Search in all the notes"
msgstr "Sök i alla anteckningarna"
@@ -726,9 +696,16 @@ msgstr "Hjälp"
msgid "Website and documentation"
msgstr "Webbplats och dokumentation"
#, fuzzy
msgid "Joplin Forum"
msgstr "Joplin v%s"
msgid "Make a donation"
msgstr "Gör en donation"
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr "Öppna %s"
@@ -833,15 +810,21 @@ msgstr ""
"Denna auktorisering behövs endast för att tillåta tredjepartsprogram att "
"integrera med Joplin."
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Anteckningar och inställningar lagras i: %s"
msgid "Check synchronisation configuration"
msgstr "Kontrollera synkroniseringskonfigurationen"
msgid "Browse..."
msgstr "Bläddra..."
msgid "Check synchronisation configuration"
msgstr "Kontrollera synkroniseringskonfigurationen"
msgid "Back"
msgstr "Tillbaka"
msgid "Apply"
msgstr "Tillämpa"
@@ -925,8 +908,8 @@ msgstr ""
"småningom kommer att hämtas via synkronisering."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
"För mer information om End-to-End Encryption (E2EE) och råd om hur du "
"aktiverar det finns i dokumentationen:"
@@ -937,12 +920,18 @@ msgstr "Tillstånd"
msgid "Encryption is:"
msgstr "Kryptering är:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
msgid "Usage"
msgstr "Användning"
msgid "Back"
msgstr "Tillbaka"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -962,9 +951,6 @@ msgstr "Titel på anteckningsbok:"
msgid "Add or remove tags:"
msgstr "Lägg till eller ta bort taggar:"
msgid "Separate each tag by a comma."
msgstr "Separera varje tagg med ett komma."
msgid "Rename notebook:"
msgstr "Byt namn på anteckningsbok:"
@@ -974,6 +960,18 @@ msgstr "Byt namn på tagg:"
msgid "Set alarm:"
msgstr "Ställ in alarm:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Ny anteckning"
msgid "New to-do"
msgstr "Ny att-göra"
msgid "New notebook"
msgstr "Ny anteckningsbok"
msgid "Layout"
msgstr "Layout"
@@ -986,8 +984,9 @@ msgstr "Några objekt kan inte synkroniseras."
msgid "View them now"
msgstr "Visa dem nu"
msgid "Some items cannot be decrypted."
msgstr "Några objekt kan inte dekrypteras."
#, fuzzy
msgid "One or more master keys need a password."
msgstr "Ange huvudlösenord:"
msgid "Set the password"
msgstr "Ställ in lösenord"
@@ -1007,9 +1006,36 @@ msgstr "Plats"
msgid "URL"
msgstr "URL"
#, fuzzy
msgid "Note History"
msgstr "Anteckningsboken"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr "Anteckningens egenskaper"
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Denna anteckning har ändrats:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr "Öppna..."
@@ -1045,6 +1071,13 @@ msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
"Endast en anteckning i taget kan bli utskriven eller exporterad till PDF."
msgid "PDF File"
msgstr "PDF-fil"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Fel vid öppning av anteckning i redigeraren: %s"
msgid "strong text"
msgstr "stark text"
@@ -1060,9 +1093,6 @@ msgstr "Infoga hyperlänk"
msgid "Attach file"
msgstr "Bifoga fil"
msgid "Tags"
msgstr "Taggar"
msgid "Set alarm"
msgstr "Sätt alarm"
@@ -1073,9 +1103,6 @@ msgstr "I: %s"
msgid "Hyperlink"
msgstr "Hyperlänk"
msgid "Code"
msgstr "Kod"
msgid "Numbered List"
msgstr "Numrerad lista"
@@ -1125,12 +1152,6 @@ msgstr "Inställningar"
msgid "Synchronisation Status"
msgstr "Synkroniseringstillstånd"
msgid "Encryption Options"
msgstr "Krypteringsinställningar"
msgid "Clipper Options"
msgstr "Clipper-inställningar"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1161,12 +1182,15 @@ msgid "Decrypting items: %d/%d"
msgstr "Dekrypterar objekt: %d/%d"
#, javascript-format
msgid "Fetching resources: %d"
msgstr "Hämtar resurser: %d"
msgid "Fetching resources: %d/%d"
msgstr "Hämtar resurser: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr "Välj vart synkroniseringstillståndet ska exporteras till"
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "Lägg till eller ta bort taggar"
@@ -1366,6 +1390,58 @@ msgstr ""
"innehåll innan du synkroniserar. Annars kommer samtliga filer att raderas. "
"Läs FAQ för mer information: %s"
msgid "Synchronisation target"
msgstr "Synkroniseringsmål"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Målet att synkronisera till. Varje synkroniseringsmål kan ha ytterligare "
"parametrar som heter `sync.NUM.NAME` (alla dokumenterade nedan)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Katalog för att synkronisera med (absolut sökväg)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud-WebDAV-webbadress"
msgid "Nextcloud username"
msgstr "Nextcloud-användarnamn"
msgid "Nextcloud password"
msgstr "Nextcloud-lösenord"
msgid "WebDAV URL"
msgstr "WebDAV-webbadress"
msgid "WebDAV username"
msgstr "WebDAV-användarnamn"
msgid "WebDAV password"
msgstr "WebDAV-lösenord"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Språk"
@@ -1384,6 +1460,12 @@ msgstr "Ljus"
msgid "Dark"
msgstr "Mörk"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr "Inte slutförda att-göra högst upp"
@@ -1452,6 +1534,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr "Visa fältikon"
@@ -1476,6 +1561,10 @@ msgstr "Global zoomprocent"
msgid "Editor font size"
msgstr "Redigerarens teckenstorlek"
#, fuzzy
msgid "Editor font"
msgstr "Redigerarens teckenstorlek"
msgid "Editor font family"
msgstr "Redigerarens typsnittsfamilj"
@@ -1523,40 +1612,6 @@ msgstr ""
"anteckning. Om inget tillhandahålls försöker det automatiskt identifiera "
"standardredigeraren."
msgid "Show advanced options"
msgstr "Visa avancerade inställningar"
msgid "Synchronisation target"
msgstr "Synkroniseringsmål"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Målet att synkronisera till. Varje synkroniseringsmål kan ha ytterligare "
"parametrar som heter `sync.NUM.NAME` (alla dokumenterade nedan)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Katalog för att synkronisera med (absolut sökväg)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud-WebDAV-webbadress"
msgid "Nextcloud username"
msgstr "Nextcloud-användarnamn"
msgid "Nextcloud password"
msgstr "Nextcloud-lösenord"
msgid "WebDAV URL"
msgstr "WebDAV-webbadress"
msgid "WebDAV username"
msgstr "WebDAV-användarnamn"
msgid "WebDAV password"
msgstr "WebDAV-lösenord"
msgid "Custom TLS certificates"
msgstr "Anpassade TLS-certifikat"
@@ -1575,6 +1630,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "Ignorera TLS-certifikatfel"
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Aktivera kryptering"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Ogiltigt inställningsvärde: \"%s\". Möjliga värden är: %s."
@@ -1598,6 +1677,14 @@ msgstr ""
msgid "Application"
msgstr "Avslutar programmet"
#, fuzzy
msgid "Encryption"
msgstr "Kryptering är:"
#, fuzzy
msgid "Web Clipper"
msgstr "Web clipper-inställningar"
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr "Taggen \"%s\" finns redan. Välj ett annat namn."
@@ -1611,7 +1698,12 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr "Joplin-exporteringskatalog"
msgid "Evernote Export File"
#, fuzzy
msgid "Evernote Export File (as Markdown)"
msgstr "Evernote-exporteringsfil"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Evernote-exporteringsfil"
msgid "Json Export Directory"
@@ -1645,13 +1737,12 @@ msgstr "Det finns ingen data att exportera."
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Ange anteckningsboken som anteckningarna ska importeras till."
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Objekt som inte kan synkroniseras"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1661,6 +1752,24 @@ msgstr ""
"till synkroniseringsmålet. För att hitta dessa objekt, sök antingen efter "
"titel eller ID (som visas i parentes ovan)."
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Den här filen kunde inte öppnas: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Den här filen kunde inte öppnas: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Objekt som inte kan synkroniseras"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "Synkroniseringstillstånd (synkroniserade objekt / totalt antal objekt)"
@@ -1700,6 +1809,14 @@ msgstr "Tillåtelse att använda kameran"
msgid "Your permission to use your camera is required."
msgstr "Du måste ge tillåtelse att använda kameran."
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Ingen aktiv anteckningsbok."
#, fuzzy
msgid "Create a notebook"
msgstr "Skapar en ny anteckningsbok."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr ""
"Det finns för närvarande inga anteckningar. Skapa en genom att klicka på (+)-"
@@ -1708,18 +1825,6 @@ msgstr ""
msgid "Delete these notes?"
msgstr "Ta bort dessa anteckningar?"
msgid "Log"
msgstr "Logg"
msgid "Export Debug Report"
msgstr "Exportera felsökningsrapport"
msgid "Encryption Config"
msgstr "Kryptering-konfiguration"
msgid "Configuration"
msgstr "Konfiguration"
msgid "Move to notebook..."
msgstr "Flytta till anteckningsbok..."
@@ -1742,8 +1847,24 @@ msgstr "Välj datum"
msgid "Confirm"
msgstr "Bekräfta"
msgid "Cancel synchronisation"
msgstr "Avbryt synkronisering"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Anteckningsböcker"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Krypterade objekt kan inte ändras"
#, fuzzy
msgid "New Notebook"
msgstr "Ny anteckningsbok"
msgid "Configuration"
msgstr "Konfiguration"
#, fuzzy
msgid "All notes"
msgstr "anteckning"
msgid "Checking... Please wait."
msgstr "Kontrollerar... vänta."
@@ -1785,6 +1906,50 @@ msgstr "Nya taggar:"
msgid "Type new tags or select from list"
msgstr "Skriv nya taggar eller välj från listan"
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "Kryptering-konfiguration"
#, fuzzy
msgid "Tools"
msgstr "Verktyg"
#, fuzzy
msgid "Sync Status"
msgstr "Tillstånd"
msgid "Log"
msgstr "Logg"
#, fuzzy
msgid "Creating report..."
msgstr "Skapar ny %s..."
msgid "Export Debug Report"
msgstr "Exportera felsökningsrapport"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Konfiguration"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1850,6 +2015,10 @@ msgstr "Anteckningsboken kunde inte sparas: %s"
msgid "Edit notebook"
msgstr "Redigera anteckningsbok"
#, fuzzy
msgid "Enter notebook title"
msgstr "Titel på anteckningsbok:"
msgid "Show all"
msgstr "Visa alla"
@@ -1874,10 +2043,32 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
"Den mobila appen Joplin stöder för närvarande inte denna typ av länk: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Bildstorlek som inte stöds: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Uppdaterad: %d."
msgid "View on map"
msgstr "Visa på karta"
msgid "Go to source URL"
msgstr "Gå till källans URL"
#, fuzzy
msgid "Attach..."
msgstr "Sök..."
#, fuzzy
msgid "Choose an option"
msgstr "Visa avancerade inställningar"
msgid "Take photo"
msgstr "Ta ett foto"
@@ -1896,23 +2087,19 @@ msgstr "Konvertera till anteckning"
msgid "Convert to todo"
msgstr "Konvertera till att-göra"
msgid "Hide metadata"
msgstr "Dölj metadata"
#, fuzzy
msgid "Properties"
msgstr "Anteckningens egenskaper"
msgid "Show metadata"
msgstr "Visa metadata"
msgid "View on map"
msgstr "Visa på karta"
msgid "Go to source URL"
msgstr "Gå till källans URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Redigera"
msgid "Delete notebook"
msgstr "Ta bort anteckningsbok"
#, fuzzy
msgid "Add title"
msgstr "titel"
msgid "Login with OneDrive"
msgstr "Logga in med OneDrive"
@@ -1920,25 +2107,107 @@ msgstr "Logga in med OneDrive"
msgid "Search"
msgstr "Sök"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Klicka på (+)-knappen för att skapa en ny anteckning eller anteckningsbok. "
"Klicka på sidomenyn för att få tillgång till dina befintliga "
"anteckningsböcker."
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr ""
#~ "Börjar redigera anteckning. Stäng redigeraren för att komma tillbaka till "
#~ "prompten."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
"Du har för närvarande ingen anteckningsbok. Skapa en genom att klicka på (+)-"
"knappen."
#~ msgid "Note has been saved."
#~ msgstr "Anteckning har sparats."
msgid "Welcome"
msgstr "Välkommen"
#~ msgid "Sidebar"
#~ msgstr "Sidofältet"
#~ msgid "Note list"
#~ msgstr "Anteckningsboken"
#~ msgid "Note title"
#~ msgstr "Rubriken"
#~ msgid "Note body"
#~ msgstr "Texten"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "Importerar från \"%s\" som \"%s\" format. Vänta..."
#~ msgid "Synchronisation status"
#~ msgstr "Synkroniseringstillstånd"
#~ msgid "Print"
#~ msgstr "Skriv ut"
#~ msgid "General Options"
#~ msgstr "Allmänna inställningar"
#~ msgid "Encryption options"
#~ msgstr "Krypteringsinställningar"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Denna anteckning har ändrats:"
#~ msgid "Insert template"
#~ msgstr "Infoga datumtid"
#, fuzzy
#~ msgid "Open template directory"
#~ msgstr "Joplin-exporteringskatalog"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Krypteringsinställningar"
#~ msgid "Clipper Options"
#~ msgstr "Clipper-inställningar"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Konfiguration"
#, fuzzy
#~ msgid "Permission to write to external storage"
#~ msgstr "Tillåtelse att använda kameran"
#~ msgid "Cancel synchronisation"
#~ msgstr "Avbryt synkronisering"
#~ msgid "Hide metadata"
#~ msgstr "Dölj metadata"
#~ msgid "Show metadata"
#~ msgstr "Visa metadata"
#~ msgid "Delete notebook"
#~ msgstr "Ta bort anteckningsbok"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Klicka på (+)-knappen för att skapa en ny anteckning eller "
#~ "anteckningsbok. Klicka på sidomenyn för att få tillgång till dina "
#~ "befintliga anteckningsböcker."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr ""
#~ "Du har för närvarande ingen anteckningsbok. Skapa en genom att klicka på "
#~ "(+)-knappen."
#~ msgid "Welcome"
#~ msgstr "Välkommen"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Separera varje tagg med ett komma."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Några objekt kan inte dekrypteras."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1947,9 +2216,6 @@ msgstr "Välkommen"
#~ "Sökvägen att synkronisera med när synkronisering av filsystem är "
#~ "aktiverat. Se `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"
#~ msgid "State: %s."
#~ msgstr "Tillstånd: %s."

View File

@@ -171,16 +171,6 @@ msgstr "Aktif not defteri yok."
msgid "Note does not exist: \"%s\". Create it?"
msgstr "\"%s\" notu mevcut değil. Oluşturulsun mu?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr ""
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Editörde not açılırken hata oluştu: %s"
msgid "Note has been saved."
msgstr "Not kaydedildi."
msgid "Exits the application."
msgstr "Uygulamadan çıkar."
@@ -376,6 +366,23 @@ msgstr "Notu sil?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "Tüm notlarda girilen <pattern> i arar."
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -556,53 +563,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "\"%s\" den \"%s\" biçiminde dışa aktarılıyor. Lütfen bekleyin..."
msgid "Sidebar"
msgstr "Kenar çubuğu"
msgid "Note list"
msgstr "Not listesi"
msgid "Note title"
msgstr "Not başlığı"
msgid "Note body"
msgstr "Not gövdesi"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "\"%s\" den \"%s\" biçiminde içe aktarılıyor. Lütfen bekleyin..."
msgid "PDF File"
msgstr "PDF Dosyası"
msgid "Synchronisation status"
msgstr "Senkronizasyon durumu"
msgid "New note"
msgstr "Yeni not"
msgid "New to-do"
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"
@@ -616,6 +576,9 @@ msgstr ""
msgid "Check for updates..."
msgstr "Güncellemeleri kontrol et..."
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "İçe aktar"
@@ -632,6 +595,9 @@ msgstr "Gizle %s"
msgid "Quit"
msgstr "Çıkış"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "Düzenle"
@@ -657,12 +623,18 @@ msgstr "İtalik"
msgid "Link"
msgstr "Bağlantı"
msgid "Code"
msgstr "Kod"
msgid "Insert Date Time"
msgstr "Tarih Ekle"
msgid "Edit in external editor"
msgstr "Başka editörde düzenle"
msgid "Tags"
msgstr "Etiketler"
msgid "Search in all the notes"
msgstr "Tüm notlarda ara"
@@ -693,9 +665,16 @@ msgstr "Yardım"
msgid "Website and documentation"
msgstr "Web sitesi ve dökümanlar"
#, fuzzy
msgid "Joplin Forum"
msgstr "Joplin v%s"
msgid "Make a donation"
msgstr "Bağış yapın"
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr "Aç %s"
@@ -801,15 +780,21 @@ msgstr ""
"Bu yetkilendirme yalnızca üçüncü taraf uygulamaların Joplin'e erişmesine "
"izin vermek için gereklidir."
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "Notlar ve ayarlar şu konumda saklanır: %s"
msgid "Check synchronisation configuration"
msgstr "Senkronizasyon yapılandırmasını kontrol et"
msgid "Browse..."
msgstr "Bul..."
msgid "Check synchronisation configuration"
msgstr "Senkronizasyon yapılandırmasını kontrol et"
msgid "Back"
msgstr "Geri"
msgid "Apply"
msgstr "Uygula"
@@ -894,8 +879,8 @@ msgstr ""
"senkronizasyon yoluyla indirilmeleri sağlanacaktır."
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr ""
"Uçtan Uca Şifreleme (E2EE) hakkında bilgi ve nasıl aktif edilebileceğine "
"dair ipuçları için lütfen belgeleri inceleyin:"
@@ -906,12 +891,18 @@ msgstr "Durum"
msgid "Encryption is:"
msgstr "Şifreleme:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
msgid "Usage"
msgstr "Kullanım"
msgid "Back"
msgstr "Geri"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -931,9 +922,6 @@ msgstr "Not defteri başlığı:"
msgid "Add or remove tags:"
msgstr "Etiket ekle veya kaldır:"
msgid "Separate each tag by a comma."
msgstr "Her etiketi virgülle ayırın."
msgid "Rename notebook:"
msgstr "Not defterini yeniden adlandır:"
@@ -943,6 +931,18 @@ msgstr "Etiketi yeniden adlandır:"
msgid "Set alarm:"
msgstr "Alarm kur:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "Yeni not"
msgid "New to-do"
msgstr "Yeni yapılacak"
msgid "New notebook"
msgstr "Yeni not defteri"
msgid "Layout"
msgstr "Düzen"
@@ -955,8 +955,9 @@ msgstr "Bazı öğeler senkronize edilemiyor."
msgid "View them now"
msgstr "Şimdi onları görüntüle"
msgid "Some items cannot be decrypted."
msgstr "Bazı öğelerin şifresi çözülemez."
#, fuzzy
msgid "One or more master keys need a password."
msgstr "Ana şifreyi girin:"
msgid "Set the password"
msgstr "Şifreyi ayarla"
@@ -976,9 +977,36 @@ msgstr "Konum"
msgid "URL"
msgstr "URL"
#, fuzzy
msgid "Note History"
msgstr "Not listesi"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr "Not özellikleri"
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "Bu not değiştirildi:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr "Aç..."
@@ -1015,6 +1043,13 @@ msgstr ""
"Bir seferde yalnızca bir not yazdırılabilir veya PDF olarak dışa "
"aktarılabilir."
msgid "PDF File"
msgstr "PDF Dosyası"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "Editörde not açılırken hata oluştu: %s"
msgid "strong text"
msgstr "kuvvetli metin"
@@ -1030,9 +1065,6 @@ msgstr "Köprü ekle"
msgid "Attach file"
msgstr "Dosya ekle"
msgid "Tags"
msgstr "Etiketler"
msgid "Set alarm"
msgstr "Alarm kur"
@@ -1043,9 +1075,6 @@ msgstr "İçinde: %s"
msgid "Hyperlink"
msgstr "Köprü"
msgid "Code"
msgstr "Kod"
msgid "Numbered List"
msgstr "Numaralı liste"
@@ -1095,12 +1124,6 @@ msgstr "Seçenekler"
msgid "Synchronisation Status"
msgstr "Senkronizasyon Durumu"
msgid "Encryption Options"
msgstr "Şifreleme Seçenekleri"
msgid "Clipper Options"
msgstr "Alıntılama Seçenekleri"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1130,12 +1153,15 @@ msgid "Decrypting items: %d/%d"
msgstr "Şifresi çözülenler: %d/%d"
#, javascript-format
msgid "Fetching resources: %d"
msgstr "Kaynaklar alınıyor: %d"
msgid "Fetching resources: %d/%d"
msgstr "Kaynaklar alınıyor: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr "Lütfen senkronizasyon durumunun nereye aktarılacağını seçin"
msgid "Retry"
msgstr ""
#, fuzzy
msgid "Add or remove tags"
msgstr "Etiket ekle veya kaldır"
@@ -1334,6 +1360,58 @@ msgstr ""
"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 "Synchronisation target"
msgstr "Senkronizasyon hedefi"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Senkronize edilecek hedef. Her senkronizasyon hedefi, `sync.NUM.NAME` olarak "
"adlandırılan ek parametrelere sahip olabilir (tümü aşağıda belgelenmiştir)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Eşitlenecek dizin (kesin yol)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud kullanıcı adı"
msgid "Nextcloud password"
msgstr "Nextcloud şifresi"
msgid "WebDAV URL"
msgstr "WebDAV URL"
msgid "WebDAV username"
msgstr "WebDAV kullanıcı adı"
msgid "WebDAV password"
msgstr "WebDAV şifresi"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "Dil"
@@ -1352,6 +1430,12 @@ msgstr "Aydınlık"
msgid "Dark"
msgstr "Karanlık"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr "Tamamlanmamış yap-list yukarıda"
@@ -1420,6 +1504,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr "Tepsi simgesini göster"
@@ -1444,6 +1531,10 @@ msgstr "Global yakınlaştırma yüzdesi"
msgid "Editor font size"
msgstr "Editör yazı boyutu"
#, fuzzy
msgid "Editor font"
msgstr "Editör yazı boyutu"
msgid "Editor font family"
msgstr "Editör yazı tipi"
@@ -1490,40 +1581,6 @@ msgstr ""
"Editör komutu (argüman içerebilir) not açmak için kullanılacaktır. Eğer "
"sağlanmadıysa, varsayılan düzenleyiciyi otomatik olarak algılamaya çalışır."
msgid "Show advanced options"
msgstr "Gelişmiş ayarları göster"
msgid "Synchronisation target"
msgstr "Senkronizasyon hedefi"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"Senkronize edilecek hedef. Her senkronizasyon hedefi, `sync.NUM.NAME` olarak "
"adlandırılan ek parametrelere sahip olabilir (tümü aşağıda belgelenmiştir)."
msgid "Directory to synchronise with (absolute path)"
msgstr "Eşitlenecek dizin (kesin yol)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV URL"
msgid "Nextcloud username"
msgstr "Nextcloud kullanıcı adı"
msgid "Nextcloud password"
msgstr "Nextcloud şifresi"
msgid "WebDAV URL"
msgstr "WebDAV URL"
msgid "WebDAV username"
msgstr "WebDAV kullanıcı adı"
msgid "WebDAV password"
msgstr "WebDAV şifresi"
msgid "Custom TLS certificates"
msgstr "Özel TLS sertifikaları"
@@ -1542,6 +1599,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "TLS sertifikası hatalarını yoksay"
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "Şifrelemeyi etkinleştir"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "Geçersiz seçenek değeri: \"%s\". Mümkün değerler: %s."
@@ -1564,6 +1645,14 @@ msgstr ""
msgid "Application"
msgstr "Uygulama"
#, fuzzy
msgid "Encryption"
msgstr "Şifreleme:"
#, fuzzy
msgid "Web Clipper"
msgstr "Web alıntılama ayarları"
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr " \"%s\" etiketi mevcut. Lütfen başka isim seçin."
@@ -1577,7 +1666,12 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr "Joplin Dizin Dışa Aktarım"
msgid "Evernote Export File"
#, fuzzy
msgid "Evernote Export File (as Markdown)"
msgstr "Evernote Dosya Dışa Aktarım"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Evernote Dosya Dışa Aktarım"
msgid "Json Export Directory"
@@ -1611,13 +1705,12 @@ msgstr "Çıkartılacak veri bulunmuyor."
msgid "Please specify the notebook where the notes should be imported to."
msgstr "Lütfen notların alınacağı not defterini belirtin."
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "Senkronize edilemeyen öğeler"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1627,6 +1720,24 @@ msgstr ""
"bulmak için, başlığı veya kimliği aratın (yukarıdaki parantez içerisinde "
"görüntülenir)."
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "Bu dosya açılamadı: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "Bu dosya açılamadı: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "Senkronize edilemeyen öğeler"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "Senkronizasyon durumu (senkronize öğeler / toplam öğeler)"
@@ -1666,24 +1777,20 @@ msgstr "Kamera kullanımı için izin"
msgid "Your permission to use your camera is required."
msgstr "Kamera kullanımı için izniniz gerekmektedir."
#, fuzzy
msgid "You currently have no notebooks."
msgstr "Aktif not defteri yok."
#, fuzzy
msgid "Create a notebook"
msgstr "Yeni bir not defteri oluşturur."
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "Şu anda not yok. (+) butonuna tıklayarak bir tane oluşturun."
msgid "Delete these notes?"
msgstr "Bu notlar silinsin mi?"
msgid "Log"
msgstr "Log"
msgid "Export Debug Report"
msgstr "Hata Ayıklama Raporunu Dışa Aktar"
msgid "Encryption Config"
msgstr "Yapılandırmayı şifrele"
msgid "Configuration"
msgstr "Yapılandırma"
msgid "Move to notebook..."
msgstr "Not defterine taşı..."
@@ -1706,8 +1813,24 @@ msgstr "Tarih seç"
msgid "Confirm"
msgstr "Onayla"
msgid "Cancel synchronisation"
msgstr "Senkronizasyonu iptal et"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "Not defterleri"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "Şifrelenmiş öğeler değiştirilemez"
#, fuzzy
msgid "New Notebook"
msgstr "Yeni not defteri"
msgid "Configuration"
msgstr "Yapılandırma"
#, fuzzy
msgid "All notes"
msgstr "not"
msgid "Checking... Please wait."
msgstr "Kontrol ediliyor... Lütfen bekleyin."
@@ -1749,6 +1872,50 @@ msgstr "Yeni etiketler:"
msgid "Type new tags or select from list"
msgstr "Yeni etiketler yazın veya listeden seçin"
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "Yapılandırmayı şifrele"
#, fuzzy
msgid "Tools"
msgstr "Araçlar"
#, fuzzy
msgid "Sync Status"
msgstr "Durum"
msgid "Log"
msgstr "Log"
#, fuzzy
msgid "Creating report..."
msgstr "Yeni %s oluşturuluyor..."
msgid "Export Debug Report"
msgstr "Hata Ayıklama Raporunu Dışa Aktar"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "Yapılandırma"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1811,6 +1978,10 @@ msgstr "Not defteri kaydedilemedi: %s"
msgid "Edit notebook"
msgstr "Not defterini düzenle"
#, fuzzy
msgid "Enter notebook title"
msgstr "Not defteri başlığı:"
msgid "Show all"
msgstr "Tümünü göster"
@@ -1835,10 +2006,32 @@ msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr ""
"Joplin mobil uygulaması şu anda bu tür bir bağlantıyı desteklemiyor: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "Desteklenmeyen resim türü: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "Güncellenme: %d."
msgid "View on map"
msgstr "Haritada gör"
msgid "Go to source URL"
msgstr "URL kaynağına git"
#, fuzzy
msgid "Attach..."
msgstr "Ara..."
#, fuzzy
msgid "Choose an option"
msgstr "Gelişmiş ayarları göster"
msgid "Take photo"
msgstr "Fotoğraf çek"
@@ -1857,23 +2050,19 @@ msgstr "Nota çevir"
msgid "Convert to todo"
msgstr "Yapılacak olarak çevir"
msgid "Hide metadata"
msgstr "Metadata'yı gizle"
#, fuzzy
msgid "Properties"
msgstr "Not özellikleri"
msgid "Show metadata"
msgstr "Metadata'yı göster"
msgid "View on map"
msgstr "Haritada gör"
msgid "Go to source URL"
msgstr "URL kaynağına git"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "Düzenle"
msgid "Delete notebook"
msgstr "Not defterini sil"
#, fuzzy
msgid "Add title"
msgstr "başlık"
msgid "Login with OneDrive"
msgstr "OneDrive ile giriş yapın"
@@ -1881,23 +2070,100 @@ msgstr "OneDrive ile giriş yapın"
msgid "Search"
msgstr "Arama"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr ""
"Yeni bir not veya not defteri oluşturmak için (+) düğmesine tıklayın. Mevcut "
"not defterlerinize erişmek için yandaki menüye tıklayın."
#~ msgid "Note has been saved."
#~ msgstr "Not kaydedildi."
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr ""
"Şu anda not defteriniz yok. (+) butonuna tıklayarak bir tane oluşturun."
#~ msgid "Sidebar"
#~ msgstr "Kenar çubuğu"
msgid "Welcome"
msgstr "Hoşgeldiniz"
#~ msgid "Note list"
#~ msgstr "Not listesi"
#~ msgid "Note title"
#~ msgstr "Not başlığı"
#~ msgid "Note body"
#~ msgstr "Not gövdesi"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "\"%s\" den \"%s\" biçiminde içe aktarılıyor. Lütfen bekleyin..."
#~ msgid "Synchronisation status"
#~ msgstr "Senkronizasyon durumu"
#~ msgid "Print"
#~ msgstr "Yazdır"
#~ msgid "General Options"
#~ msgstr "Genel seçenekler"
#~ msgid "Encryption options"
#~ msgstr "Şifreleme seçenekleri"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "Bu not değiştirildi:"
#~ msgid "Insert template"
#~ msgstr "Tarih Ekle"
#, fuzzy
#~ msgid "Open template directory"
#~ msgstr "Joplin Dizin Dışa Aktarım"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "Şifreleme Seçenekleri"
#~ msgid "Clipper Options"
#~ msgstr "Alıntılama Seçenekleri"
#, fuzzy
#~ msgid "Information"
#~ msgstr "Yapılandırma"
#, fuzzy
#~ msgid "Permission to write to external storage"
#~ msgstr "Kamera kullanımı için izin"
#~ msgid "Cancel synchronisation"
#~ msgstr "Senkronizasyonu iptal et"
#~ msgid "Hide metadata"
#~ msgstr "Metadata'yı gizle"
#~ msgid "Show metadata"
#~ msgstr "Metadata'yı göster"
#~ msgid "Delete notebook"
#~ msgstr "Not defterini sil"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr ""
#~ "Yeni bir not veya not defteri oluşturmak için (+) düğmesine tıklayın. "
#~ "Mevcut not defterlerinize erişmek için yandaki menüye tıklayın."
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr ""
#~ "Şu anda not defteriniz yok. (+) butonuna tıklayarak bir tane oluşturun."
#~ msgid "Welcome"
#~ msgstr "Hoşgeldiniz"
#~ msgid "Separate each tag by a comma."
#~ msgstr "Her etiketi virgülle ayırın."
#~ msgid "Some items cannot be decrypted."
#~ msgstr "Bazı öğelerin şifresi çözülemez."
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ msgid ""
#~ "The path to synchronise with when file system synchronisation is enabled. "
@@ -1905,6 +2171,3 @@ msgstr "Hoşgeldiniz"
#~ msgstr ""
#~ "Dosya sistemi senkronizasyonu etkinleştirildiğinde senkronize edilecek "
#~ "yol. Bakınız `sync.target`."
#~ msgid "Joplin v%s"
#~ msgstr "Joplin v%s"

File diff suppressed because it is too large Load Diff

View File

@@ -168,16 +168,6 @@ msgstr "無使用中的記事本。"
msgid "Note does not exist: \"%s\". Create it?"
msgstr "記事不存在: \"%s\"。要建立嗎?"
msgid "Starting to edit note. Close the editor to get back to the prompt."
msgstr "開始編輯記事。如需返回命令行,請關閉編輯器。"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "在編輯器中開啟記事時出錯: %s"
msgid "Note has been saved."
msgstr "記事已被儲存。"
msgid "Exits the application."
msgstr "離開本程式。"
@@ -372,6 +362,23 @@ msgstr "刪除記事?"
msgid "Searches for the given <pattern> in all the notes."
msgstr "在所有記事中搜索特定的 <pattern>。"
#, javascript-format
msgid ""
"Start, stop or check the API server. To specify on which port it should run, "
"set the api.port config variable. Commands are (%s)."
msgstr ""
#, javascript-format
msgid "Server is already running on port %d"
msgstr ""
#, javascript-format
msgid "Server is running on port %d"
msgstr ""
msgid "Server is not running."
msgstr ""
#, javascript-format
msgid ""
"Sets the property <name> of the given <note> to the given [value]. Possible "
@@ -549,55 +556,6 @@ msgstr ""
msgid "Exporting to \"%s\" as \"%s\" format. Please wait..."
msgstr "匯出到 \"%s\" 為 \"%s\" 格式。請稍候..."
msgid "Sidebar"
msgstr ""
msgid "Note list"
msgstr ""
#, fuzzy
msgid "Note title"
msgstr "記事本標題:"
#, fuzzy
msgid "Note body"
msgstr "記事本"
#, javascript-format
msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
msgstr "從 \"%s\" 匯入為 \"%s\" 格式。請稍候..."
msgid "PDF File"
msgstr "PDF 檔案"
msgid "Synchronisation status"
msgstr "顯示同步狀態"
msgid "New note"
msgstr "新增記事"
msgid "New to-do"
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 "檔案"
@@ -611,6 +569,9 @@ msgstr ""
msgid "Check for updates..."
msgstr "檢查更新..."
msgid "Templates"
msgstr ""
msgid "Import"
msgstr "匯入"
@@ -627,6 +588,9 @@ msgstr "隱藏 %s"
msgid "Quit"
msgstr "結束"
msgid "Close Window"
msgstr ""
#, fuzzy
msgid "&Edit"
msgstr "編輯"
@@ -653,12 +617,18 @@ msgstr "斜體"
msgid "Link"
msgstr ""
msgid "Code"
msgstr "引言"
msgid "Insert Date Time"
msgstr "插入日期時間"
msgid "Edit in external editor"
msgstr "使用外部編輯器編輯"
msgid "Tags"
msgstr "標籤"
msgid "Search in all the notes"
msgstr "在所有記事中搜尋"
@@ -691,9 +661,16 @@ msgstr "說明"
msgid "Website and documentation"
msgstr "官方網站及線上說明"
#, fuzzy
msgid "Joplin Forum"
msgstr "Joplin 官方網站"
msgid "Make a donation"
msgstr "捐助"
msgid "Toggle development tools"
msgstr ""
#, javascript-format
msgid "Open %s"
msgstr "開啟 %s"
@@ -794,15 +771,21 @@ msgid ""
"access Joplin."
msgstr ""
msgid "This will open a new screen. Save your current changes?"
msgstr ""
#, javascript-format
msgid "Notes and settings are stored in: %s"
msgstr "所有記事和設置均儲存於: %s"
msgid "Check synchronisation configuration"
msgstr "檢測同步設置"
msgid "Browse..."
msgstr ""
msgid "Check synchronisation configuration"
msgstr "檢測同步設置"
msgid "Back"
msgstr "返回"
msgid "Apply"
msgstr "套用"
@@ -881,8 +864,8 @@ msgstr ""
"可能最終會通過同步下載。"
msgid ""
"For more information about End-To-End Encryption (E2EE) and advices on how "
"to enable it please check the documentation:"
"For more information about End-To-End Encryption (E2EE) and advice on how to "
"enable it please check the documentation:"
msgstr "有關端到端加密 (E2EE) 的詳細資訊以及該如何啟用它,請參考線上文檔:"
msgid "Status"
@@ -891,13 +874,19 @@ msgstr "狀態"
msgid "Encryption is:"
msgstr "加密:"
msgid "Firefox Extension"
msgstr ""
msgid "Chrome Web Store"
msgstr ""
msgid "Get it now:"
msgstr ""
#, fuzzy
msgid "Usage"
msgstr "使用資訊: %s"
msgid "Back"
msgstr "返回"
#, javascript-format
msgid ""
"New notebook \"%s\" will be created and file \"%s\" will be imported into it"
@@ -915,9 +904,6 @@ msgstr "記事本標題:"
msgid "Add or remove tags:"
msgstr "新增或移除標籤:"
msgid "Separate each tag by a comma."
msgstr "您可用逗號分隔每個標籤。"
msgid "Rename notebook:"
msgstr "重新命名記事本:"
@@ -927,6 +913,18 @@ msgstr "重新命名標籤:"
msgid "Set alarm:"
msgstr "設置提醒:"
msgid "Template file:"
msgstr ""
msgid "New note"
msgstr "新增記事"
msgid "New to-do"
msgstr "新增待辦事項"
msgid "New notebook"
msgstr "新增記事本"
msgid "Layout"
msgstr "頁面佈局"
@@ -939,8 +937,9 @@ msgstr "有些項目不能同步。"
msgid "View them now"
msgstr "立即檢視"
msgid "Some items cannot be decrypted."
msgstr "有些項目不能解密。"
#, fuzzy
msgid "One or more master keys need a password."
msgstr "輸入主密碼:"
msgid "Set the password"
msgstr "設置密碼"
@@ -958,9 +957,36 @@ msgstr ""
msgid "URL"
msgstr ""
#, fuzzy
msgid "Note History"
msgstr "記事本"
msgid "Markup"
msgstr ""
msgid "Previous versions of this note"
msgstr ""
msgid "Note properties"
msgstr ""
#, javascript-format
msgid "The note \"%s\" has been successfully restored to the notebook \"%s\"."
msgstr ""
#, fuzzy
msgid "This note has no history"
msgstr "此記事已被修改:"
msgid "Restore"
msgstr ""
#, javascript-format
msgid ""
"Click \"%s\" to restore the note. It will be copied in the notebook named "
"\"%s\". The current version of the note will not be replaced or modified."
msgstr ""
msgid "Open..."
msgstr "開啟..."
@@ -993,6 +1019,13 @@ msgstr "此筆記沒有內容。按一下 \"%s\" 切換到編輯模式並編輯
msgid "Only one note can be printed or exported to PDF at a time."
msgstr ""
msgid "PDF File"
msgstr "PDF 檔案"
#, javascript-format
msgid "Error opening note in editor: %s"
msgstr "在編輯器中開啟記事時出錯: %s"
msgid "strong text"
msgstr "重要文字 <strong>"
@@ -1008,9 +1041,6 @@ msgstr "插入超連結"
msgid "Attach file"
msgstr "附加檔案"
msgid "Tags"
msgstr "標籤"
msgid "Set alarm"
msgstr "設置提醒"
@@ -1021,9 +1051,6 @@ msgstr "在: %s"
msgid "Hyperlink"
msgstr "超連結"
msgid "Code"
msgstr "引言"
msgid "Numbered List"
msgstr "編號清單"
@@ -1073,12 +1100,6 @@ msgstr "選項"
msgid "Synchronisation Status"
msgstr "同步狀態"
msgid "Encryption Options"
msgstr "加密選項"
msgid "Clipper Options"
msgstr "Clipper 選項"
#, fuzzy, javascript-format
msgid ""
"Delete notebook \"%s\"?\n"
@@ -1107,12 +1128,15 @@ msgid "Decrypting items: %d/%d"
msgstr "正在解密項目: %d/%d 項"
#, fuzzy, javascript-format
msgid "Fetching resources: %d"
msgstr "資源: %d"
msgid "Fetching resources: %d/%d"
msgstr "資源: %d/%d"
msgid "Please select where the sync status should be exported to"
msgstr "請選擇將同步狀態導出到的位置"
msgid "Retry"
msgstr ""
msgid "Add or remove tags"
msgstr "新增或移除標籤"
@@ -1305,6 +1329,58 @@ msgid ""
"more details: %s"
msgstr ""
msgid "Synchronisation target"
msgstr "同步目標"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"要同步的目標。每個同步目標可能有附加的參數,它們被命名為 `sync.NUM.NAME` (全"
"部記錄如下)。"
msgid "Directory to synchronise with (absolute path)"
msgstr "要同步的目錄 (絕對路徑)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV 網址"
msgid "Nextcloud username"
msgstr "Nextcloud 用戶名稱"
msgid "Nextcloud password"
msgstr "Nextcloud 密碼"
msgid "WebDAV URL"
msgstr "WebDAV 網址"
msgid "WebDAV username"
msgstr "WebDAV 用戶名稱"
msgid "WebDAV password"
msgstr "WebDAV 密碼"
msgid "Attachment download behaviour"
msgstr ""
msgid ""
"In \"Manual\" mode, attachments are downloaded only when you click on them. "
"In \"Auto\", they are downloaded when you open the note. In \"Always\", all "
"the attachments are downloaded whether you open the note or not."
msgstr ""
msgid "Always"
msgstr ""
msgid "Manual"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Max concurrent connections"
msgstr ""
msgid "Language"
msgstr "語言"
@@ -1323,6 +1399,12 @@ msgstr "光亮"
msgid "Dark"
msgstr "暗黑"
msgid "Solarised Light"
msgstr ""
msgid "Solarised Dark"
msgstr ""
msgid "Uncompleted to-dos on top"
msgstr "最上方顯示未完成的待辦事項"
@@ -1391,6 +1473,9 @@ msgstr ""
msgid "Enable multimarkdown table extension"
msgstr ""
msgid "Enable Fountain syntax support"
msgstr ""
msgid "Show tray icon"
msgstr "顯示系統匣圖示"
@@ -1413,6 +1498,10 @@ msgstr "整體縮放比例 (%)"
msgid "Editor font size"
msgstr "編輯器字型系列"
#, fuzzy
msgid "Editor font"
msgstr "編輯器字型系列"
msgid "Editor font family"
msgstr "編輯器字型系列"
@@ -1458,40 +1547,6 @@ msgstr ""
"用於開啟筆記的編輯器命令 (可能包括參數)。如果沒有指明,程式將嘗試自動檢測預設"
"的編輯器。"
msgid "Show advanced options"
msgstr "顯示進階選項"
msgid "Synchronisation target"
msgstr "同步目標"
msgid ""
"The target to synchonise to. Each sync target may have additional parameters "
"which are named as `sync.NUM.NAME` (all documented below)."
msgstr ""
"要同步的目標。每個同步目標可能有附加的參數,它們被命名為 `sync.NUM.NAME` (全"
"部記錄如下)。"
msgid "Directory to synchronise with (absolute path)"
msgstr "要同步的目錄 (絕對路徑)"
msgid "Nextcloud WebDAV URL"
msgstr "Nextcloud WebDAV 網址"
msgid "Nextcloud username"
msgstr "Nextcloud 用戶名稱"
msgid "Nextcloud password"
msgstr "Nextcloud 密碼"
msgid "WebDAV URL"
msgstr "WebDAV 網址"
msgid "WebDAV username"
msgstr "WebDAV 用戶名稱"
msgid "WebDAV password"
msgstr "WebDAV 密碼"
msgid "Custom TLS certificates"
msgstr "自訂 TLS 證書"
@@ -1508,6 +1563,30 @@ msgstr ""
msgid "Ignore TLS certificate errors"
msgstr "忽略 TLS 證書錯誤"
msgid ""
"Fail-safe: Do not wipe out local data when sync target is empty (often the "
"result of a misconfiguration or bug)"
msgstr ""
msgid ""
"Specify the port that should be used by the API server. If not set, a "
"default will be used."
msgstr ""
#, fuzzy
msgid "Enable note history"
msgstr "啟用加密"
msgid "days"
msgstr ""
#, javascript-format
msgid "%d days"
msgstr ""
msgid "Keep note history for"
msgstr ""
#, javascript-format
msgid "Invalid option value: \"%s\". Possible values are: %s."
msgstr "不正確選項值: \"%s\"。可能的值為: %s。"
@@ -1534,6 +1613,14 @@ msgstr ""
msgid "Application"
msgstr "離開本程式。"
#, fuzzy
msgid "Encryption"
msgstr "加密:"
#, fuzzy
msgid "Web Clipper"
msgstr "Web clipper 選項"
#, javascript-format
msgid "The tag \"%s\" already exists. Please choose a different name."
msgstr ""
@@ -1547,7 +1634,12 @@ msgstr "Markdown"
msgid "Joplin Export Directory"
msgstr "Joplin 匯出目錄"
msgid "Evernote Export File"
#, fuzzy
msgid "Evernote Export File (as Markdown)"
msgstr "Evernote 匯出檔"
#, fuzzy
msgid "Evernote Export File (as HTML)"
msgstr "Evernote 匯出檔"
#, fuzzy
@@ -1580,13 +1672,12 @@ msgstr "沒有資料可匯出。"
msgid "Please specify the notebook where the notes should be imported to."
msgstr "請指定將記事匯入到的筆記本。"
msgid "Restored Notes"
msgstr ""
msgid "Items that cannot be synchronised"
msgstr "無法同步的項目"
#, javascript-format
msgid "%s (%s): %s"
msgstr "%s (%s): %s"
msgid ""
"These items will remain on the device but will not be uploaded to the sync "
"target. In order to find these items, either search for the title or the ID "
@@ -1595,6 +1686,24 @@ msgstr ""
"這些頊目將保留在設備上,但不會上載到同步目標。要尋找這些項目,請以標題或 ID "
"(在上面的括弧中顯示) 搜索。"
#, fuzzy, javascript-format
msgid "%s (%s) could not be uploaded: %s"
msgstr "無法開啟檔案: %s"
#, fuzzy, javascript-format
msgid "Item \"%s\" could not be downloaded: %s"
msgstr "無法開啟檔案: %s"
#, fuzzy
msgid "Items that cannot be decrypted"
msgstr "無法同步的項目"
msgid ""
"Joplin failed to decrypt these items multiple times, possibly because they "
"are corrupted or too large. These items will remain on the device but Joplin "
"will no longer attempt to decrypt them."
msgstr ""
msgid "Sync status (synced items / total items)"
msgstr "同步狀態 (已同步項目 / 項目總數)"
@@ -1634,24 +1743,20 @@ msgstr ""
msgid "Your permission to use your camera is required."
msgstr ""
#, fuzzy
msgid "You currently have no notebooks."
msgstr "無使用中的記事本。"
#, fuzzy
msgid "Create a notebook"
msgstr "新增記事本。"
msgid "There are currently no notes. Create one by clicking on the (+) button."
msgstr "您當前沒有任何筆記。通過按一下 (+) 鍵去新增一則筆記。"
msgid "Delete these notes?"
msgstr "刪除這些記事?"
msgid "Log"
msgstr "日誌"
msgid "Export Debug Report"
msgstr "匯出除錯報告"
msgid "Encryption Config"
msgstr "加密設置"
msgid "Configuration"
msgstr "設置"
msgid "Move to notebook..."
msgstr "移動至記事本..."
@@ -1675,8 +1780,24 @@ msgstr "選擇日期"
msgid "Confirm"
msgstr "確認"
msgid "Cancel synchronisation"
msgstr "取消同步"
#, fuzzy, javascript-format
msgid "Notebook: %s"
msgstr "記事本"
#, fuzzy
msgid "Encrypted notebooks cannot be renamed"
msgstr "無法修改已加密項目"
#, fuzzy
msgid "New Notebook"
msgstr "新增記事本"
msgid "Configuration"
msgstr "設置"
#, fuzzy
msgid "All notes"
msgstr "記事"
#, fuzzy
msgid "Checking... Please wait."
@@ -1714,6 +1835,50 @@ msgstr "新增標籤:"
msgid "Type new tags or select from list"
msgstr "輸入新標籤,或在清單中選擇"
msgid "Warning"
msgstr ""
msgid ""
"In order to use file system synchronisation your permission to write to "
"external storage is required."
msgstr ""
msgid "Encryption Config"
msgstr "加密設置"
#, fuzzy
msgid "Tools"
msgstr "工具"
#, fuzzy
msgid "Sync Status"
msgstr "狀態"
msgid "Log"
msgstr "日誌"
#, fuzzy
msgid "Creating report..."
msgstr "建立新 %s..."
msgid "Export Debug Report"
msgstr "匯出除錯報告"
msgid "Fixing search index..."
msgstr ""
msgid "Fix search index"
msgstr ""
msgid ""
"Use this to rebuild the search index if there is a problem with search. It "
"may take a long time depending on the number of notes."
msgstr ""
#, fuzzy
msgid "More information"
msgstr "設置"
msgid ""
"To work correctly, the app needs the following permissions. Please enable "
"them in your phone settings, in Apps > Joplin > Permissions"
@@ -1773,6 +1938,10 @@ msgstr "無法儲存記事本: %s"
msgid "Edit notebook"
msgstr "編輯記事本"
#, fuzzy
msgid "Enter notebook title"
msgstr "記事本標題:"
msgid "Show all"
msgstr "顯示全部"
@@ -1796,10 +1965,32 @@ msgstr "沒有 ID 為 %s 的項目"
msgid "The Joplin mobile app does not currently support this type of link: %s"
msgstr "Joplin 移動應用程式暫時不支援此類型的連結: %s"
#, javascript-format
msgid "Links with protocol \"%s\" are not supported"
msgstr ""
#, javascript-format
msgid "Unsupported image type: %s"
msgstr "不支援的圖像類型: %s"
#, fuzzy, javascript-format
msgid "Updated: %s"
msgstr "已更新: %d。"
msgid "View on map"
msgstr "在地圖上顯示"
msgid "Go to source URL"
msgstr ""
#, fuzzy
msgid "Attach..."
msgstr "搜尋..."
#, fuzzy
msgid "Choose an option"
msgstr "顯示進階選項"
#, fuzzy
msgid "Take photo"
msgstr "附加相片"
@@ -1819,23 +2010,18 @@ msgstr "轉換為記事"
msgid "Convert to todo"
msgstr "轉換為待辦事項"
msgid "Hide metadata"
msgstr "隱藏後設資料 (metadata)"
msgid "Properties"
msgstr ""
msgid "Show metadata"
msgstr "顯示後設資料 (metadata)"
msgid "View on map"
msgstr "在地圖上顯示"
msgid "Go to source URL"
msgid "Add body"
msgstr ""
msgid "Edit"
msgstr "編輯"
msgid "Delete notebook"
msgstr "刪除記事本"
#, fuzzy
msgid "Add title"
msgstr "標題"
msgid "Login with OneDrive"
msgstr "以 OneDrive 登錄"
@@ -1843,30 +2029,98 @@ msgstr "以 OneDrive 登錄"
msgid "Search"
msgstr "搜尋"
msgid ""
"Click on the (+) button to create a new note or notebook. Click on the side "
"menu to access your existing notebooks."
msgstr "您可以點撃 (+) 鍵去新增記事或記事本。點撃側邊欄去檢視現有的記事本。"
#~ msgid "Starting to edit note. Close the editor to get back to the prompt."
#~ msgstr "開始編輯記事。如需返回命令行,請關閉編輯器。"
msgid "You currently have no notebook. Create one by clicking on (+) button."
msgstr "您當前沒有任何筆記本。通過按一下 (+) 鍵去建立一本筆記。"
msgid "Welcome"
msgstr "歡迎"
#~ msgid "Note has been saved."
#~ msgstr "記事已被儲存。"
#, fuzzy
#~ msgid "This note has no history"
#~ msgstr "記事已被修改:"
#~ msgid "Note title"
#~ msgstr "記事本標題:"
#, fuzzy
#~ msgid "Note body"
#~ msgstr "記事本"
#~ msgid "Importing from \"%s\" as \"%s\" format. Please wait..."
#~ msgstr "從 \"%s\" 匯入為 \"%s\" 格式。請稍候..."
#~ msgid "Synchronisation status"
#~ msgstr "顯示同步狀態"
#~ msgid "Print"
#~ msgstr "列印"
#~ msgid "General Options"
#~ msgstr "一般選項"
#~ msgid "Encryption options"
#~ msgstr "加密選項"
#, fuzzy
#~ msgid "Insert template"
#~ msgstr "插入日期時間"
#, fuzzy
#~ msgid "Open template directory"
#~ msgstr "Joplin 匯出目錄"
#, fuzzy
#~ msgid "Revision: %s (%s)"
#~ msgstr "%s %s (%s)"
#~ msgid "%s %s (%s, %s)"
#~ msgstr "%s %s (%s, %s)"
#~ msgid "Encryption Options"
#~ msgstr "加密選項"
#~ msgid "Clipper Options"
#~ msgstr "Clipper 選項"
#, fuzzy
#~ msgid "Information"
#~ msgstr "設置"
#~ msgid "Cancel synchronisation"
#~ msgstr "取消同步"
#~ msgid "Hide metadata"
#~ msgstr "隱藏後設資料 (metadata)"
#~ msgid "Show metadata"
#~ msgstr "顯示後設資料 (metadata)"
#~ msgid "Delete notebook"
#~ msgstr "刪除記事本"
#~ msgid ""
#~ "Click on the (+) button to create a new note or notebook. Click on the "
#~ "side menu to access your existing notebooks."
#~ msgstr "您可以點撃 (+) 鍵去新增記事或記事本。點撃側邊欄去檢視現有的記事本。"
#~ msgid ""
#~ "You currently have no notebook. Create one by clicking on (+) button."
#~ msgstr "您當前沒有任何筆記本。通過按一下 (+) 鍵去建立一本筆記。"
#~ msgid "Welcome"
#~ msgstr "歡迎"
#~ msgid "Separate each tag by a comma."
#~ msgstr "您可用逗號分隔每個標籤。"
#~ msgid "Some items cannot be decrypted."
#~ msgstr "有些項目不能解密。"
#~ msgid "%s (%s): %s"
#~ msgstr "%s (%s): %s"
#~ 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 官方網站"
#~ msgid "State: %s."
#~ msgstr "狀態: %s。"

File diff suppressed because it is too large Load Diff

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