You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2026-02-01 07:49:31 +02:00
Compare commits
14 Commits
v2.8.7
...
multi_prof
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6cd988939 | ||
|
|
a99eec7cdf | ||
|
|
7ef09dfa77 | ||
|
|
b11573a2a7 | ||
|
|
f4034b1ff0 | ||
|
|
dfadacd7f4 | ||
|
|
ecc7b17708 | ||
|
|
ee6ab55649 | ||
|
|
b0d64e2f51 | ||
|
|
f322d40910 | ||
|
|
557cb9a6c3 | ||
|
|
d5a55c7908 | ||
|
|
7308bbd3ca | ||
|
|
c1e8f9befd |
@@ -232,9 +232,6 @@ packages/app-desktop/gui/Dialog.js.map
|
||||
packages/app-desktop/gui/DialogButtonRow.d.ts
|
||||
packages/app-desktop/gui/DialogButtonRow.js
|
||||
packages/app-desktop/gui/DialogButtonRow.js.map
|
||||
packages/app-desktop/gui/DialogButtonRow/useKeyboardHandler.d.ts
|
||||
packages/app-desktop/gui/DialogButtonRow/useKeyboardHandler.js
|
||||
packages/app-desktop/gui/DialogButtonRow/useKeyboardHandler.js.map
|
||||
packages/app-desktop/gui/DialogTitle.d.ts
|
||||
packages/app-desktop/gui/DialogTitle.js
|
||||
packages/app-desktop/gui/DialogTitle.js.map
|
||||
@@ -562,9 +559,6 @@ packages/app-desktop/gui/NoteList/commands/focusElementNoteList.js.map
|
||||
packages/app-desktop/gui/NoteList/commands/index.d.ts
|
||||
packages/app-desktop/gui/NoteList/commands/index.js
|
||||
packages/app-desktop/gui/NoteList/commands/index.js.map
|
||||
packages/app-desktop/gui/NoteList/types.d.ts
|
||||
packages/app-desktop/gui/NoteList/types.js
|
||||
packages/app-desktop/gui/NoteList/types.js.map
|
||||
packages/app-desktop/gui/NoteListControls/NoteListControls.d.ts
|
||||
packages/app-desktop/gui/NoteListControls/NoteListControls.js
|
||||
packages/app-desktop/gui/NoteListControls/NoteListControls.js.map
|
||||
@@ -808,9 +802,6 @@ packages/app-desktop/services/plugins/hooks/useViewIsReady.js.map
|
||||
packages/app-desktop/services/plugins/hooks/useWebviewToPluginMessages.d.ts
|
||||
packages/app-desktop/services/plugins/hooks/useWebviewToPluginMessages.js
|
||||
packages/app-desktop/services/plugins/hooks/useWebviewToPluginMessages.js.map
|
||||
packages/app-desktop/services/restart.d.ts
|
||||
packages/app-desktop/services/restart.js
|
||||
packages/app-desktop/services/restart.js.map
|
||||
packages/app-desktop/services/share/invitationRespond.d.ts
|
||||
packages/app-desktop/services/share/invitationRespond.js
|
||||
packages/app-desktop/services/share/invitationRespond.js.map
|
||||
@@ -1069,9 +1060,6 @@ packages/lib/database.js.map
|
||||
packages/lib/debug/DebugService.d.ts
|
||||
packages/lib/debug/DebugService.js
|
||||
packages/lib/debug/DebugService.js.map
|
||||
packages/lib/dom.d.ts
|
||||
packages/lib/dom.js
|
||||
packages/lib/dom.js.map
|
||||
packages/lib/dummy.test.d.ts
|
||||
packages/lib/dummy.test.js
|
||||
packages/lib/dummy.test.js.map
|
||||
@@ -1102,9 +1090,6 @@ packages/lib/fs-driver-node.js.map
|
||||
packages/lib/fsDriver.test.d.ts
|
||||
packages/lib/fsDriver.test.js
|
||||
packages/lib/fsDriver.test.js.map
|
||||
packages/lib/geolocation-node.d.ts
|
||||
packages/lib/geolocation-node.js
|
||||
packages/lib/geolocation-node.js.map
|
||||
packages/lib/hooks/useAsyncEffect.d.ts
|
||||
packages/lib/hooks/useAsyncEffect.js
|
||||
packages/lib/hooks/useAsyncEffect.js.map
|
||||
@@ -2020,12 +2005,6 @@ packages/tools/buildServerDocker.js.map
|
||||
packages/tools/buildServerDocker.test.d.ts
|
||||
packages/tools/buildServerDocker.test.js
|
||||
packages/tools/buildServerDocker.test.js.map
|
||||
packages/tools/checkLibPaths.d.ts
|
||||
packages/tools/checkLibPaths.js
|
||||
packages/tools/checkLibPaths.js.map
|
||||
packages/tools/checkLibPaths.test.d.ts
|
||||
packages/tools/checkLibPaths.test.js
|
||||
packages/tools/checkLibPaths.test.js.map
|
||||
packages/tools/convertThemesToCss.d.ts
|
||||
packages/tools/convertThemesToCss.js
|
||||
packages/tools/convertThemesToCss.js.map
|
||||
@@ -2062,9 +2041,6 @@ packages/tools/release-server.js.map
|
||||
packages/tools/setupNewRelease.d.ts
|
||||
packages/tools/setupNewRelease.js
|
||||
packages/tools/setupNewRelease.js.map
|
||||
packages/tools/spellcheck.d.ts
|
||||
packages/tools/spellcheck.js
|
||||
packages/tools/spellcheck.js.map
|
||||
packages/tools/tagServerLatest.d.ts
|
||||
packages/tools/tagServerLatest.js
|
||||
packages/tools/tagServerLatest.js.map
|
||||
|
||||
2
.github/workflows/close-stale-issues.yml
vendored
2
.github/workflows/close-stale-issues.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
with:
|
||||
# Use this to do a dry run from a pull request
|
||||
# debug-only: true
|
||||
stale-issue-message: "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? If you require support or are requesting an enhancement or feature then please create a topic on the [Joplin forum](https://discourse.joplinapp.org/). This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions."
|
||||
stale-issue-message: "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 comment on the issue and I will leave it open. Thank you for your contributions."
|
||||
days-before-stale: 30
|
||||
days-before-close: 7
|
||||
operations-per-run: 1000
|
||||
|
||||
2
.github/workflows/github-actions-main.yml
vendored
2
.github/workflows/github-actions-main.yml
vendored
@@ -6,7 +6,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
# Removed windows-2016 for now - discontinued by GitHub
|
||||
os: [macos-latest, ubuntu-latest, windows-2019]
|
||||
os: [macos-latest, ubuntu-latest]
|
||||
steps:
|
||||
|
||||
# Silence apt-get update errors (for example when a module doesn't
|
||||
|
||||
24
.gitignore
vendored
24
.gitignore
vendored
@@ -222,9 +222,6 @@ packages/app-desktop/gui/Dialog.js.map
|
||||
packages/app-desktop/gui/DialogButtonRow.d.ts
|
||||
packages/app-desktop/gui/DialogButtonRow.js
|
||||
packages/app-desktop/gui/DialogButtonRow.js.map
|
||||
packages/app-desktop/gui/DialogButtonRow/useKeyboardHandler.d.ts
|
||||
packages/app-desktop/gui/DialogButtonRow/useKeyboardHandler.js
|
||||
packages/app-desktop/gui/DialogButtonRow/useKeyboardHandler.js.map
|
||||
packages/app-desktop/gui/DialogTitle.d.ts
|
||||
packages/app-desktop/gui/DialogTitle.js
|
||||
packages/app-desktop/gui/DialogTitle.js.map
|
||||
@@ -552,9 +549,6 @@ packages/app-desktop/gui/NoteList/commands/focusElementNoteList.js.map
|
||||
packages/app-desktop/gui/NoteList/commands/index.d.ts
|
||||
packages/app-desktop/gui/NoteList/commands/index.js
|
||||
packages/app-desktop/gui/NoteList/commands/index.js.map
|
||||
packages/app-desktop/gui/NoteList/types.d.ts
|
||||
packages/app-desktop/gui/NoteList/types.js
|
||||
packages/app-desktop/gui/NoteList/types.js.map
|
||||
packages/app-desktop/gui/NoteListControls/NoteListControls.d.ts
|
||||
packages/app-desktop/gui/NoteListControls/NoteListControls.js
|
||||
packages/app-desktop/gui/NoteListControls/NoteListControls.js.map
|
||||
@@ -798,9 +792,6 @@ packages/app-desktop/services/plugins/hooks/useViewIsReady.js.map
|
||||
packages/app-desktop/services/plugins/hooks/useWebviewToPluginMessages.d.ts
|
||||
packages/app-desktop/services/plugins/hooks/useWebviewToPluginMessages.js
|
||||
packages/app-desktop/services/plugins/hooks/useWebviewToPluginMessages.js.map
|
||||
packages/app-desktop/services/restart.d.ts
|
||||
packages/app-desktop/services/restart.js
|
||||
packages/app-desktop/services/restart.js.map
|
||||
packages/app-desktop/services/share/invitationRespond.d.ts
|
||||
packages/app-desktop/services/share/invitationRespond.js
|
||||
packages/app-desktop/services/share/invitationRespond.js.map
|
||||
@@ -1059,9 +1050,6 @@ packages/lib/database.js.map
|
||||
packages/lib/debug/DebugService.d.ts
|
||||
packages/lib/debug/DebugService.js
|
||||
packages/lib/debug/DebugService.js.map
|
||||
packages/lib/dom.d.ts
|
||||
packages/lib/dom.js
|
||||
packages/lib/dom.js.map
|
||||
packages/lib/dummy.test.d.ts
|
||||
packages/lib/dummy.test.js
|
||||
packages/lib/dummy.test.js.map
|
||||
@@ -1092,9 +1080,6 @@ packages/lib/fs-driver-node.js.map
|
||||
packages/lib/fsDriver.test.d.ts
|
||||
packages/lib/fsDriver.test.js
|
||||
packages/lib/fsDriver.test.js.map
|
||||
packages/lib/geolocation-node.d.ts
|
||||
packages/lib/geolocation-node.js
|
||||
packages/lib/geolocation-node.js.map
|
||||
packages/lib/hooks/useAsyncEffect.d.ts
|
||||
packages/lib/hooks/useAsyncEffect.js
|
||||
packages/lib/hooks/useAsyncEffect.js.map
|
||||
@@ -2010,12 +1995,6 @@ packages/tools/buildServerDocker.js.map
|
||||
packages/tools/buildServerDocker.test.d.ts
|
||||
packages/tools/buildServerDocker.test.js
|
||||
packages/tools/buildServerDocker.test.js.map
|
||||
packages/tools/checkLibPaths.d.ts
|
||||
packages/tools/checkLibPaths.js
|
||||
packages/tools/checkLibPaths.js.map
|
||||
packages/tools/checkLibPaths.test.d.ts
|
||||
packages/tools/checkLibPaths.test.js
|
||||
packages/tools/checkLibPaths.test.js.map
|
||||
packages/tools/convertThemesToCss.d.ts
|
||||
packages/tools/convertThemesToCss.js
|
||||
packages/tools/convertThemesToCss.js.map
|
||||
@@ -2052,9 +2031,6 @@ packages/tools/release-server.js.map
|
||||
packages/tools/setupNewRelease.d.ts
|
||||
packages/tools/setupNewRelease.js
|
||||
packages/tools/setupNewRelease.js.map
|
||||
packages/tools/spellcheck.d.ts
|
||||
packages/tools/spellcheck.js
|
||||
packages/tools/spellcheck.js.map
|
||||
packages/tools/tagServerLatest.d.ts
|
||||
packages/tools/tagServerLatest.js
|
||||
packages/tools/tagServerLatest.js.map
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 292 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 382 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 167 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 6.5 KiB |
73
README.md
73
README.md
@@ -70,7 +70,7 @@ A community maintained list of these distributions can be found here: [Unofficia
|
||||
# Sponsors
|
||||
|
||||
<!-- SPONSORS-ORG -->
|
||||
<a href="https://seirei.ne.jp"><img title="Serei Network" width="256" src="https://joplinapp.org/images/sponsors/SeireiNetwork.png"/></a> <a href="https://usrigging.com/"><img title="U.S. Ringing Supply" width="256" src="https://joplinapp.org/images/sponsors/RingingSupply.svg"/></a> <a href="https://www.hosting.de/nextcloud/?mtm_campaign=managed-nextcloud&mtm_kwd=joplinapp&mtm_source=joplinapp-github&mtm_medium=banner"><img title="Hosting.de" width="256" src="https://joplinapp.org/images/sponsors/HostingDe.png"/></a> <a href="https://residence-greece.com/"><img title="Greece Golden Visa" width="256" src="https://joplinapp.org/images/sponsors/ResidenceGreece.jpg"/></a>
|
||||
<a href="https://seirei.ne.jp"><img title="Serei Network" width="256" src="https://joplinapp.org/images/sponsors/SeireiNetwork.png"/></a> <a href="https://usrigging.com/"><img title="U.S. Ringing Supply" width="256" src="https://joplinapp.org/images/sponsors/RingingSupply.svg"/></a> <a href="https://www.hosting.de/nextcloud/?mtm_campaign=managed-nextcloud&mtm_kwd=joplinapp&mtm_source=joplinapp-github&mtm_medium=banner"><img title="Hosting.de" width="256" src="https://joplinapp.org/images/sponsors/HostingDe.png"/></a>
|
||||
<!-- SPONSORS-ORG -->
|
||||
|
||||
* * *
|
||||
@@ -132,14 +132,13 @@ A community maintained list of these distributions can be found here: [Unofficia
|
||||
|
||||
- [How to build the apps](https://github.com/laurent22/joplin/blob/dev/BUILD.md)
|
||||
- [Writing a technical spec](https://github.com/laurent22/joplin/blob/dev/readme/technical_spec.md)
|
||||
- [End-to-end encryption spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md)
|
||||
- [Desktop application styling](https://github.com/laurent22/joplin/blob/dev/readme/spec/desktop_styling.md)
|
||||
- [Note History spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/history.md)
|
||||
- [Sync Lock spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_lock.md)
|
||||
- [Synchronous Scroll spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/sync_scroll.md)
|
||||
- [Plugin Architecture spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/plugins.md)
|
||||
- [Search Sorting spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/search_sorting.md)
|
||||
- [E2EE: Technical spec](https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee.md)
|
||||
- [E2EE: Workflow](https://github.com/laurent22/joplin/blob/dev/readme/spec/e2ee/workflow.md)
|
||||
- [Server: File URL Format](https://github.com/laurent22/joplin/blob/dev/readme/spec/server_file_url_format.md)
|
||||
- [Server: Delta Sync](https://github.com/laurent22/joplin/blob/dev/readme/spec/server_delta_sync.md)
|
||||
- [Server: Sharing](https://github.com/laurent22/joplin/blob/dev/readme/spec/server_sharing.md)
|
||||
@@ -521,47 +520,47 @@ Current translations:
|
||||
<!-- LOCALE-TABLE-AUTO-GENERATED -->
|
||||
| Language | Po File | Last translator | Percent done
|
||||
---|---|---|---|---
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/arableague.png" width="16px"/> | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [Whaell O](mailto:Whaell@protonmail.com) | 89%
|
||||
<img src="https://joplinapp.org/images/flags/es/basque_country.png" width="16px"/> | Basque | [eu](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eu.po) | juan.abasolo@ehu.eus | 25%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ba.png" width="16px"/> | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 64%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/bg.png" width="16px"/> | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 50%
|
||||
<img src="https://joplinapp.org/images/flags/es/catalonia.png" width="16px"/> | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | [Xavi Ivars](mailto:xavi.ivars@gmail.com) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/hr.png" width="16px"/> | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Milo Ivir](mailto:mail@milotype.de) | 100%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/cz.png" width="16px"/> | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Michal Stanke](mailto:michal@stanke.cz) | 86%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/arableague.png" width="16px"/> | Arabic | [ar](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ar.po) | [Whaell O](mailto:Whaell@protonmail.com) | 90%
|
||||
<img src="https://joplinapp.org/images/flags/es/basque_country.png" width="16px"/> | Basque | [eu](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eu.po) | juan.abasolo@ehu.eus | 26%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ba.png" width="16px"/> | Bosnian (Bosna i Hercegovina) | [bs_BA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bs_BA.po) | [Derviš T.](mailto:dervis.t@pm.me) | 65%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/bg.png" width="16px"/> | Bulgarian (България) | [bg_BG](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/bg_BG.po) | | 51%
|
||||
<img src="https://joplinapp.org/images/flags/es/catalonia.png" width="16px"/> | Catalan | [ca](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ca.po) | [Xavi Ivars](mailto:xavi.ivars@gmail.com) | 97%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/hr.png" width="16px"/> | Croatian (Hrvatska) | [hr_HR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hr_HR.po) | [Milo Ivir](mailto:mail@milotype.de) | 94%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/cz.png" width="16px"/> | Czech (Česká republika) | [cs_CZ](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/cs_CZ.po) | [Michal Stanke](mailto:michal@stanke.cz) | 87%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/dk.png" width="16px"/> | Dansk (Danmark) | [da_DK](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/da_DK.po) | ERYpTION | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/de.png" width="16px"/> | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [MrKanister](mailto:pueblos_spatulas@aleeas.com) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ee.png" width="16px"/> | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 49%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/de.png" width="16px"/> | Deutsch (Deutschland) | [de_DE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/de_DE.po) | [MrKanister](mailto:pthrp_bnsrv@aleeas.com) | 99%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ee.png" width="16px"/> | Eesti Keel (Eesti) | [et_EE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/et_EE.po) | | 50%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/gb.png" width="16px"/> | English (United Kingdom) | [en_GB](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_GB.po) | | 100%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/us.png" width="16px"/> | English (United States of America) | [en_US](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/en_US.po) | | 100%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/es.png" width="16px"/> | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Francisco Mora](mailto:francisco.m.collao@gmail.com) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/esperanto.png" width="16px"/> | Esperanto | [eo](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po) | Marton Paulo | 28%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/fi.png" width="16px"/> | Finnish (Suomi) | [fi_FI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po) | mrkaato0 | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/es.png" width="16px"/> | Español (España) | [es_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/es_ES.po) | [Francisco Mora](mailto:francisco.m.collao@gmail.com) | 96%
|
||||
<img src="https://joplinapp.org/images/flags/esperanto.png" width="16px"/> | Esperanto | [eo](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/eo.po) | Marton Paulo | 29%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/fi.png" width="16px"/> | Finnish (Suomi) | [fi_FI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fi_FI.po) | miucci | 92%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/fr.png" width="16px"/> | Français (France) | [fr_FR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fr_FR.po) | Laurent Cozic | 100%
|
||||
<img src="https://joplinapp.org/images/flags/es/galicia.png" width="16px"/> | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 32%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/id.png" width="16px"/> | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [eresytter](mailto:42007357+eresytter@users.noreply.github.com) | 88%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/it.png" width="16px"/> | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Albano Battistella](mailto:albano_battistella@hotmail.com) | 86%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/hu.png" width="16px"/> | Magyar (Magyarország) | [hu_HU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hu_HU.po) | [Magyari Balázs](mailto:balmag@gmail.com) | 75%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/be.png" width="16px"/> | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 88%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/nl.png" width="16px"/> | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MHolkamp](mailto:mholkamp@users.noreply.github.com) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/no.png" width="16px"/> | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | [Mats Estensen](mailto:code@mxe.no) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/es/galicia.png" width="16px"/> | Galician (España) | [gl_ES](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/gl_ES.po) | [Marcos Lans](mailto:marcoslansgarza@gmail.com) | 33%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/id.png" width="16px"/> | Indonesian (Indonesia) | [id_ID](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/id_ID.po) | [eresytter](mailto:42007357+eresytter@users.noreply.github.com) | 90%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/it.png" width="16px"/> | Italiano (Italia) | [it_IT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/it_IT.po) | [Albano Battistella](mailto:albano_battistella@hotmail.com) | 87%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/hu.png" width="16px"/> | Magyar (Magyarország) | [hu_HU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/hu_HU.po) | [Magyari Balázs](mailto:balmag@gmail.com) | 76%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/be.png" width="16px"/> | Nederlands (België, Belgique, Belgien) | [nl_BE](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_BE.po) | | 89%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/nl.png" width="16px"/> | Nederlands (Nederland) | [nl_NL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nl_NL.po) | [MetBril](mailto:metbril@users.noreply.github.com) | 83%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/no.png" width="16px"/> | Norwegian (Norge, Noreg) | [nb_NO](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/nb_NO.po) | Alexander Dawson | 88%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ir.png" width="16px"/> | Persian | [fa](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/fa.po) | [Kourosh Firoozbakht](mailto:kourox@protonmail.com) | 62%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/pl.png" width="16px"/> | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | [konhi](mailto:hello.konhi@gmail.com) | 81%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/br.png" width="16px"/> | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Renato Nunes Bastos](mailto:rnbastos@gmail.com) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/pt.png" width="16px"/> | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [Diogo Caveiro](mailto:dcaveiro@yahoo.com) | 81%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/pl.png" width="16px"/> | Polski (Polska) | [pl_PL](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pl_PL.po) | [konhi](mailto:hello.konhi@gmail.com) | 82%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/br.png" width="16px"/> | Português (Brasil) | [pt_BR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_BR.po) | [Felipe Viggiano](mailto:felipeviggiano@gmail.com) | 91%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/pt.png" width="16px"/> | Português (Portugal) | [pt_PT](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/pt_PT.po) | [Diogo Caveiro](mailto:dcaveiro@yahoo.com) | 82%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ro.png" width="16px"/> | Română | [ro](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ro.po) | [Cristi Duluta](mailto:cristi.duluta@gmail.com) | 57%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/si.png" width="16px"/> | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | [Martin Korelič](mailto:martin.korelic@protonmail.com) | 90%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/se.png" width="16px"/> | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/si.png" width="16px"/> | Slovenian (Slovenija) | [sl_SI](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sl_SI.po) | [Martin Korelič](mailto:martin.korelic@protonmail.com) | 91%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/se.png" width="16px"/> | Svenska | [sv](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sv.po) | [Jonatan Nyberg](mailto:jonatan@autistici.org) | 96%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/th.png" width="16px"/> | Thai (ประเทศไทย) | [th_TH](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/th_TH.po) | | 41%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/vn.png" width="16px"/> | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 87%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/tr.png" width="16px"/> | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 96%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ua.png" width="16px"/> | Ukrainian (Україна) | [uk_UA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/uk_UA.po) | [Vyacheslav Andreykiv](mailto:vandreykiv@gmail.com) | 80%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/gr.png" width="16px"/> | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ru.png" width="16px"/> | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 89%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/rs.png" width="16px"/> | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 72%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/cn.png" width="16px"/> | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [horaceyoung](mailto:paventyang@gmail.com) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/tw.png" width="16px"/> | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [SiderealArt](mailto:nelson22768384@gmail.com) | 87%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/jp.png" width="16px"/> | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/kr.png" width="16px"/> | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 86%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/vn.png" width="16px"/> | Tiếng Việt | [vi](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/vi.po) | | 88%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/tr.png" width="16px"/> | Türkçe (Türkiye) | [tr_TR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/tr_TR.po) | [Arda Kılıçdağı](mailto:arda@kilicdagi.com) | 98%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ua.png" width="16px"/> | Ukrainian (Україна) | [uk_UA](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/uk_UA.po) | [Vyacheslav Andreykiv](mailto:vandreykiv@gmail.com) | 81%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/gr.png" width="16px"/> | Ελληνικά (Ελλάδα) | [el_GR](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/el_GR.po) | [Harris Arvanitis](mailto:xaris@tuta.io) | 84%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/ru.png" width="16px"/> | Русский (Россия) | [ru_RU](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ru_RU.po) | [Sergey Segeda](mailto:thesermanarm@gmail.com) | 91%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/rs.png" width="16px"/> | српски језик (Србија) | [sr_RS](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/sr_RS.po) | | 73%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/cn.png" width="16px"/> | 中文 (简体) | [zh_CN](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_CN.po) | [horaceyoung](mailto:yonghaoharry@gmail.com) | 99%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/tw.png" width="16px"/> | 中文 (繁體) | [zh_TW](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/zh_TW.po) | [SiderealArt](mailto:nelson22768384@gmail.com) | 88%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/jp.png" width="16px"/> | 日本語 (日本) | [ja_JP](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ja_JP.po) | [genneko](mailto:genneko217@gmail.com) | 96%
|
||||
<img src="https://joplinapp.org/images/flags/country-4x3/kr.png" width="16px"/> | 한국어 | [ko](https://github.com/laurent22/joplin/blob/dev/packages/tools/locales/ko.po) | [Ji-Hyeon Gim](mailto:potatogim@potatogim.net) | 87%
|
||||
<!-- LOCALE-TABLE-AUTO-GENERATED -->
|
||||
|
||||
# Contributors
|
||||
|
||||
958
cspell.json
958
cspell.json
@@ -1,958 +0,0 @@
|
||||
{
|
||||
"version": "0.2",
|
||||
"language": "en_GB",
|
||||
"ignorePaths": [
|
||||
"**/*.min.*",
|
||||
"**/*.svg",
|
||||
"/_mydocs",
|
||||
"/_releases",
|
||||
"/.git",
|
||||
"/.yarn",
|
||||
"/Assets",
|
||||
"/packages/app-cli/app/fuzzing.js",
|
||||
"/packages/app-cli/build",
|
||||
"/packages/app-cli/tests/support",
|
||||
"/packages/app-cli/tests/test data",
|
||||
"/packages/app-cli/tests/tmp",
|
||||
"/packages/app-clipper/content_scripts/JSDOMParser.js",
|
||||
"/packages/app-clipper/content_scripts/Readability-readerable.js",
|
||||
"/packages/app-clipper/content_scripts/Readability.js",
|
||||
"/packages/app-clipper/popup/build/js/0.chunk.js",
|
||||
"/packages/app-clipper/popup/build/js/bundle.js",
|
||||
"/packages/app-clipper/popup/build/js/main.chunk.js",
|
||||
"/packages/app-clipper/popup/build/js/main.chunk.js",
|
||||
"/packages/app-clipper/popup/config",
|
||||
"/packages/app-desktop/vendor/",
|
||||
"/packages/app-mobile/pluginAssets",
|
||||
"/packages/fork-sax/examples",
|
||||
"/packages/fork-sax/lib/sax.js",
|
||||
"/packages/fork-sax/test",
|
||||
"/packages/fork-uslug",
|
||||
"/packages/lib/locales",
|
||||
"/packages/lib/mime-utils-types.js",
|
||||
"/packages/lib/parameters.js",
|
||||
"/packages/lib/plugin_types",
|
||||
"/packages/lib/resourceUtils.js",
|
||||
"/packages/lib/services/joplinServer/personalizedUserContentBaseUrl.ts",
|
||||
"/packages/lib/vendor",
|
||||
"/packages/lib/welcomeAssets.js",
|
||||
"/packages/turndown-plugin-gfm/config",
|
||||
"/packages/turndown/config",
|
||||
"node_modules"
|
||||
],
|
||||
"words": [
|
||||
"aàáâãäåāą",
|
||||
"AÀÁÂÃÄÅĀĄ",
|
||||
"abbrev",
|
||||
"ABCDEFGHIJ",
|
||||
"Abhishek",
|
||||
"Abkhazian",
|
||||
"accel",
|
||||
"accomodate",
|
||||
"accum",
|
||||
"actualkeyword",
|
||||
"adata",
|
||||
"advlist",
|
||||
"AGSFE",
|
||||
"Aland",
|
||||
"Åland",
|
||||
"alertbanner",
|
||||
"Allaire",
|
||||
"alse",
|
||||
"altool",
|
||||
"aman",
|
||||
"ambrt",
|
||||
"Amharic",
|
||||
"amothc",
|
||||
"andrejilderda",
|
||||
"anki",
|
||||
"Antarctique",
|
||||
"antarctiques",
|
||||
"Antártico",
|
||||
"anymore",
|
||||
"apidoc",
|
||||
"appiconset",
|
||||
"applewebkit",
|
||||
"approot",
|
||||
"arableague",
|
||||
"Aragonés",
|
||||
"ARITIM",
|
||||
"armeabi",
|
||||
"asterix",
|
||||
"atest",
|
||||
"atestb",
|
||||
"attribname",
|
||||
"attribvalue",
|
||||
"authcode",
|
||||
"autocompleteitem",
|
||||
"autocompleter",
|
||||
"Autocompleter",
|
||||
"AUTOEXEC",
|
||||
"autohide",
|
||||
"Avenir",
|
||||
"Ayiti",
|
||||
"azamah",
|
||||
"Azərbaycan",
|
||||
"backoff",
|
||||
"Bangla",
|
||||
"Bêafrîka",
|
||||
"beforeinput",
|
||||
"België",
|
||||
"Belgien",
|
||||
"Belgique",
|
||||
"Bénin",
|
||||
"Bhutani",
|
||||
"bibtex",
|
||||
"Bihari",
|
||||
"Bislama",
|
||||
"blabla",
|
||||
"blablablabla",
|
||||
"boohay",
|
||||
"Bosna",
|
||||
"Bouvet",
|
||||
"Bouvetøya",
|
||||
"browserslist",
|
||||
"bthqu",
|
||||
"btns",
|
||||
"Bulibiya",
|
||||
"bullist",
|
||||
"bulma",
|
||||
"Byelorussian",
|
||||
"calebjohn",
|
||||
"Calédonie",
|
||||
"Caligraphic",
|
||||
"callsites",
|
||||
"Cameroun",
|
||||
"cantdothat",
|
||||
"Capslock",
|
||||
"cardcontainer",
|
||||
"cardimage",
|
||||
"cardmenuitem",
|
||||
"cardtext",
|
||||
"Caribisch",
|
||||
"CAUTOEXEC",
|
||||
"cçćč",
|
||||
"CÇĆČ",
|
||||
"cdataend",
|
||||
"cdatastart",
|
||||
"cdot",
|
||||
"ceaf",
|
||||
"centrafricaine",
|
||||
"Centrafrican",
|
||||
"Česká",
|
||||
"changedtitle",
|
||||
"charcodes",
|
||||
"checkboxclick",
|
||||
"checkmark",
|
||||
"chemfive",
|
||||
"choiceitem",
|
||||
"chromedriver",
|
||||
"chromeframe",
|
||||
"chromeos",
|
||||
"Città",
|
||||
"Cmds",
|
||||
"codepoint",
|
||||
"colorinput",
|
||||
"colorpicker",
|
||||
"colorswatch",
|
||||
"colspan",
|
||||
"committerdate",
|
||||
"commmmmand",
|
||||
"commonmark",
|
||||
"COMMONMARK",
|
||||
"Comores",
|
||||
"compositionend",
|
||||
"compositionstart",
|
||||
"compositionupdate",
|
||||
"conflicter",
|
||||
"contenteditable",
|
||||
"contextform",
|
||||
"contextformbutton",
|
||||
"contextformtogglebutton",
|
||||
"contextkey",
|
||||
"contexttoolbar",
|
||||
"continuelist",
|
||||
"Contrl",
|
||||
"Conv",
|
||||
"convo",
|
||||
"copytags",
|
||||
"cozic",
|
||||
"Cozic",
|
||||
"createdb",
|
||||
"Creds",
|
||||
"Crna",
|
||||
"cronspec",
|
||||
"cros",
|
||||
"crypted",
|
||||
"Curaçao",
|
||||
"curso",
|
||||
"customeditor",
|
||||
"customkeymap",
|
||||
"cyingfan",
|
||||
"d'Ivoire",
|
||||
"Danmark",
|
||||
"Dansk",
|
||||
"dataimg",
|
||||
"datauri",
|
||||
"Datauri",
|
||||
"datetime",
|
||||
"Datetime",
|
||||
"davris",
|
||||
"dbuuid",
|
||||
"DDTHH",
|
||||
"deflist",
|
||||
"deinit",
|
||||
"Démocratique",
|
||||
"deselector",
|
||||
"deuxième",
|
||||
"dflt",
|
||||
"dialogbox",
|
||||
"dialogs",
|
||||
"Dialogs",
|
||||
"DIALOGS",
|
||||
"Dicourse",
|
||||
"Distill",
|
||||
"dists",
|
||||
"docid",
|
||||
"docsize",
|
||||
"doctypes",
|
||||
"doesnotwork",
|
||||
"doesntexist",
|
||||
"doesntlookright",
|
||||
"domelementtype",
|
||||
"domhandler",
|
||||
"Dominicana",
|
||||
"domutils",
|
||||
"DONATELINKS",
|
||||
"downarrow",
|
||||
"dragdrop",
|
||||
"draggesture",
|
||||
"dünn",
|
||||
"dylib",
|
||||
"dynamiclib",
|
||||
"ecuatorial",
|
||||
"eèéêëěēę",
|
||||
"EÈÉÊËĚĒĘ",
|
||||
"Eesti",
|
||||
"effet",
|
||||
"efgh",
|
||||
"égalité",
|
||||
"Éire",
|
||||
"elem",
|
||||
"elementpath",
|
||||
"elems",
|
||||
"ellipsize",
|
||||
"ELOCKED",
|
||||
"encryptable",
|
||||
"endregion",
|
||||
"enex",
|
||||
"Enex",
|
||||
"ENEX",
|
||||
"enumber",
|
||||
"eqeqeq",
|
||||
"équatoriale",
|
||||
"Erro",
|
||||
"errorish",
|
||||
"escapeplus",
|
||||
"eslintignore",
|
||||
"España",
|
||||
"étiquette",
|
||||
"EUNSPECIFIED",
|
||||
"eventname",
|
||||
"evermeet",
|
||||
"evernote",
|
||||
"Evernote",
|
||||
"execa",
|
||||
"expando",
|
||||
"expirable",
|
||||
"Expirable",
|
||||
"expval",
|
||||
"Færøerne",
|
||||
"Fahrräder",
|
||||
"FAILSAFE",
|
||||
"fallbacks",
|
||||
"fancymenuitem",
|
||||
"fancytype",
|
||||
"favorites",
|
||||
"Fiber",
|
||||
"filepicker",
|
||||
"folderid",
|
||||
"foldl",
|
||||
"fontawesome",
|
||||
"fontface",
|
||||
"forall",
|
||||
"forcewake",
|
||||
"Føroyar",
|
||||
"fortawesome",
|
||||
"française",
|
||||
"françaises",
|
||||
"Gabuutih",
|
||||
"gedit",
|
||||
"geoip",
|
||||
"Geoip",
|
||||
"geoloc",
|
||||
"geoplugin",
|
||||
"getlastmodified",
|
||||
"gettext",
|
||||
"githubusercontent",
|
||||
"Gora",
|
||||
"gotchas",
|
||||
"gradlew",
|
||||
"Grønland",
|
||||
"grouptoolbarbutton",
|
||||
"Gruber",
|
||||
"gsoc",
|
||||
"gttest",
|
||||
"Guåhån",
|
||||
"guarentee",
|
||||
"guarentees",
|
||||
"Guiena",
|
||||
"Guiné",
|
||||
"Guinée",
|
||||
"gulpfile",
|
||||
"Guyane",
|
||||
"gvim",
|
||||
"Haïti",
|
||||
"hanlder",
|
||||
"Hausa",
|
||||
"headerless",
|
||||
"Heisenbug",
|
||||
"Hercegovina",
|
||||
"hift",
|
||||
"highjack",
|
||||
"highlited",
|
||||
"historyhas",
|
||||
"HMRKG",
|
||||
"hoge",
|
||||
"homenote",
|
||||
"hotfolder",
|
||||
"Howver",
|
||||
"Hrvatska",
|
||||
"htmlentities",
|
||||
"htmlfile",
|
||||
"htmlpack",
|
||||
"htmlpanel",
|
||||
"ʻĀirani",
|
||||
"icns",
|
||||
"iconset",
|
||||
"iconutil",
|
||||
"Iforgot",
|
||||
"iframes",
|
||||
"ihack",
|
||||
"iife",
|
||||
"iìíîïī",
|
||||
"IÌÍÎÏĪ",
|
||||
"ijkl",
|
||||
"imagelink",
|
||||
"imagetools",
|
||||
"immer",
|
||||
"iname",
|
||||
"Incl",
|
||||
"infint",
|
||||
"inflim",
|
||||
"infty",
|
||||
"innaccurate",
|
||||
"inputi",
|
||||
"inserttable",
|
||||
"Interlingue",
|
||||
"Interp",
|
||||
"interupting",
|
||||
"Inteval",
|
||||
"Inuktitut",
|
||||
"Inupiak",
|
||||
"Invididual",
|
||||
"IOERR",
|
||||
"Ionicons",
|
||||
"IPHONEOS",
|
||||
"ipify",
|
||||
"ipwhois",
|
||||
"iscompleted",
|
||||
"Ísland",
|
||||
"Italiano",
|
||||
"Itoophiyaa",
|
||||
"itsgone",
|
||||
"itunes",
|
||||
"Jabuuti",
|
||||
"jackgruber",
|
||||
"joeattardi",
|
||||
"jopext",
|
||||
"joplinapp",
|
||||
"JOPLINAPP",
|
||||
"joplincloud",
|
||||
"joplindev",
|
||||
"JOPLINMOD",
|
||||
"joplintest",
|
||||
"jsbundles",
|
||||
"justtesting",
|
||||
"Kalaallit",
|
||||
"kalba",
|
||||
"kanban",
|
||||
"Kashmiri",
|
||||
"katex",
|
||||
"keychain",
|
||||
"keycodes",
|
||||
"keymaps",
|
||||
"keytar",
|
||||
"Kibris",
|
||||
"Kinyarwanda",
|
||||
"Kirundi",
|
||||
"Ködörösêse",
|
||||
"Komori",
|
||||
"Kpck",
|
||||
"Kūki",
|
||||
"Laothian",
|
||||
"lastmod",
|
||||
"Latvija",
|
||||
"lcov",
|
||||
"leaft",
|
||||
"leftarrow",
|
||||
"leftequilibrium",
|
||||
"leftrightarrow",
|
||||
"Lettish",
|
||||
"Lëtzebuerg",
|
||||
"Levithan",
|
||||
"Liban",
|
||||
"libz",
|
||||
"Lietuva",
|
||||
"Lietuvių",
|
||||
"lineheight",
|
||||
"Lingala",
|
||||
"linkg",
|
||||
"linkurl",
|
||||
"listbox",
|
||||
"listfile",
|
||||
"listpreview",
|
||||
"loglevel",
|
||||
"longclick",
|
||||
"longpress",
|
||||
"longpresscancel",
|
||||
"looooooong",
|
||||
"ltrim",
|
||||
"Luxemburg",
|
||||
"Maarten",
|
||||
"Madagasikara",
|
||||
"Magyarország",
|
||||
"majax",
|
||||
"Mardown",
|
||||
"markdowncalc",
|
||||
"Maroc",
|
||||
"MASTERKEY",
|
||||
"matchinfo",
|
||||
"mathchoice",
|
||||
"mathjax",
|
||||
"Mathjax",
|
||||
"MATHJAX",
|
||||
"mathllap",
|
||||
"mathml",
|
||||
"mathrlap",
|
||||
"mathrm",
|
||||
"Mauritanie",
|
||||
"Maxiumm",
|
||||
"Mayen",
|
||||
"mchem",
|
||||
"mechanim",
|
||||
"mediumtext",
|
||||
"menubutton",
|
||||
"mergeff",
|
||||
"Metadatas",
|
||||
"México",
|
||||
"mhchem",
|
||||
"middlewares",
|
||||
"migth",
|
||||
"mkbook",
|
||||
"MKCOL",
|
||||
"mkdirp",
|
||||
"mknote",
|
||||
"mktodo",
|
||||
"MMYY",
|
||||
"modifié",
|
||||
"monokai",
|
||||
"MONOSPACE",
|
||||
"msgctxt",
|
||||
"msgfmt",
|
||||
"msgmerge",
|
||||
"msgstr",
|
||||
"msleep",
|
||||
"mtext",
|
||||
"mult",
|
||||
"multicursor",
|
||||
"multimarkdown",
|
||||
"multimd",
|
||||
"multistatus",
|
||||
"multitable",
|
||||
"mybucket",
|
||||
"mydir",
|
||||
"myfile",
|
||||
"mynote",
|
||||
"myplugin",
|
||||
"mytag",
|
||||
"mytaga",
|
||||
"mytagb",
|
||||
"mytagc",
|
||||
"mytagd",
|
||||
"mytest",
|
||||
"mytoken",
|
||||
"myvalue",
|
||||
"nanoid",
|
||||
"Neaus",
|
||||
"Nederlands",
|
||||
"nestedmenuitem",
|
||||
"newone",
|
||||
"Nextcloud",
|
||||
"njstrace",
|
||||
"nñňń",
|
||||
"NÑŇŃ",
|
||||
"NOCASE",
|
||||
"nodechange",
|
||||
"nodir",
|
||||
"noexpand",
|
||||
"nojs",
|
||||
"nolongershared",
|
||||
"nonlatin",
|
||||
"NONLATIN",
|
||||
"Noreg",
|
||||
"Norge",
|
||||
"nospecialcharacters",
|
||||
"notanumber",
|
||||
"notarization",
|
||||
"notetags",
|
||||
"Notif",
|
||||
"notindexed",
|
||||
"notthere",
|
||||
"nounce",
|
||||
"Nounce",
|
||||
"Nounces",
|
||||
"npmignore",
|
||||
"numadd",
|
||||
"numbersareok",
|
||||
"numdec",
|
||||
"numdiv",
|
||||
"numlist",
|
||||
"Numlock",
|
||||
"nummult",
|
||||
"numsub",
|
||||
"Nunaat",
|
||||
"obelix",
|
||||
"odata",
|
||||
"ohno",
|
||||
"OHNO",
|
||||
"oldppk",
|
||||
"onattribdata",
|
||||
"onattribend",
|
||||
"onattribname",
|
||||
"onattribute",
|
||||
"oncdata",
|
||||
"oncdataend",
|
||||
"oncdatastart",
|
||||
"onclosetag",
|
||||
"oncomment",
|
||||
"oncommentend",
|
||||
"ondeclaration",
|
||||
"onedrive",
|
||||
"onelink",
|
||||
"onformat",
|
||||
"onmatch",
|
||||
"onopentag",
|
||||
"onopentagend",
|
||||
"onopentagname",
|
||||
"onparserinit",
|
||||
"onprocessinginstruction",
|
||||
"onselfclosingtag",
|
||||
"ontext",
|
||||
"oòóôõöøō",
|
||||
"OÒÓÔÕÖØŌ",
|
||||
"opentag",
|
||||
"opentagname",
|
||||
"Opptionn",
|
||||
"orignal",
|
||||
"Oromo",
|
||||
"Österreich",
|
||||
"otherpackage",
|
||||
"outdented",
|
||||
"overidding",
|
||||
"overriden",
|
||||
"padd",
|
||||
"pandoc",
|
||||
"paperclip",
|
||||
"passthrough",
|
||||
"Päth",
|
||||
"Pbuild",
|
||||
"pbxproj",
|
||||
"pcmag",
|
||||
"pcnalx",
|
||||
"pddv",
|
||||
"Pehr",
|
||||
"Percents",
|
||||
"père",
|
||||
"Perú",
|
||||
"pfff",
|
||||
"PGPASSWORD",
|
||||
"pidfile",
|
||||
"PLUGINLEGACY",
|
||||
"pocount",
|
||||
"Polska",
|
||||
"Polski",
|
||||
"Polynésie",
|
||||
"Português",
|
||||
"Potoczny's",
|
||||
"powerpoint",
|
||||
"Prakash",
|
||||
"precommit",
|
||||
"pred",
|
||||
"preg",
|
||||
"prerelease",
|
||||
"Prerelease",
|
||||
"presigner",
|
||||
"prettycron",
|
||||
"pricetag",
|
||||
"Príncipe",
|
||||
"privkey",
|
||||
"processinginstruction",
|
||||
"programatically",
|
||||
"propfind",
|
||||
"PROPFIND",
|
||||
"propname",
|
||||
"propstat",
|
||||
"protcol",
|
||||
"pseudoclass",
|
||||
"pseudos",
|
||||
"Pushto",
|
||||
"quot",
|
||||
"qwer",
|
||||
"raisebox",
|
||||
"rbga",
|
||||
"readerable",
|
||||
"Readerable",
|
||||
"READERABLE",
|
||||
"Redownload",
|
||||
"reencrypt",
|
||||
"reencrypted",
|
||||
"Reencrypting",
|
||||
"reencrypts",
|
||||
"regexes",
|
||||
"Regexs",
|
||||
"Relavent",
|
||||
"relayouted",
|
||||
"rels",
|
||||
"renamings",
|
||||
"renderered",
|
||||
"Renderered",
|
||||
"República",
|
||||
"republika",
|
||||
"République",
|
||||
"requestheaders",
|
||||
"resourcetype",
|
||||
"resynced",
|
||||
"Rhaeto",
|
||||
"rightarrow",
|
||||
"rightequilibrium",
|
||||
"rightleftarrows",
|
||||
"rightleftharpoons",
|
||||
"rmbook",
|
||||
"rmnote",
|
||||
"rmusin",
|
||||
"rnfs",
|
||||
"RNFS",
|
||||
"robocopy",
|
||||
"Roboto",
|
||||
"România",
|
||||
"roule",
|
||||
"rowid",
|
||||
"ROWID",
|
||||
"ROWIDs",
|
||||
"rowspan",
|
||||
"rseidelsohn",
|
||||
"rtrim",
|
||||
"safeext",
|
||||
"salut",
|
||||
"Sangho",
|
||||
"sasss",
|
||||
"SAVEPOINT",
|
||||
"schtroumpf",
|
||||
"Schweiz",
|
||||
"Scrolllock",
|
||||
"scrollmap",
|
||||
"seafdav",
|
||||
"Seafile",
|
||||
"searchengine",
|
||||
"searchlimit",
|
||||
"SEARCHOVERLAY",
|
||||
"securerandom",
|
||||
"segdir",
|
||||
"selectbox",
|
||||
"Sénégal",
|
||||
"Serializers",
|
||||
"setext",
|
||||
"settingschema",
|
||||
"shantanugoel",
|
||||
"sharee",
|
||||
"Shiftt",
|
||||
"Shoft",
|
||||
"shouldntendwithit",
|
||||
"shouldstartwiththis",
|
||||
"Shqip",
|
||||
"Shqipëria",
|
||||
"Sicen",
|
||||
"simplemath",
|
||||
"Siswati",
|
||||
"sizeinput",
|
||||
"SJCL",
|
||||
"Slovenčina",
|
||||
"Slovenija",
|
||||
"Slovensko",
|
||||
"softbreaks",
|
||||
"Solarised",
|
||||
"SOLARIZED",
|
||||
"someid",
|
||||
"somewhereelse",
|
||||
"sourceurl",
|
||||
"SPACEBAR",
|
||||
"spaceno",
|
||||
"Spacify",
|
||||
"spdfgh",
|
||||
"spellfix",
|
||||
"sphemy",
|
||||
"splitbutton",
|
||||
"sprintf",
|
||||
"sqlts",
|
||||
"srcfolder",
|
||||
"SSSZ",
|
||||
"starttls",
|
||||
"Starttls",
|
||||
"stepsize",
|
||||
"stevenlevithan",
|
||||
"stex",
|
||||
"stilltryingtohack",
|
||||
"strack",
|
||||
"Stringifiable",
|
||||
"subdir",
|
||||
"subl",
|
||||
"sublty",
|
||||
"sucessful",
|
||||
"Suomi",
|
||||
"Sūriyya",
|
||||
"Svenska",
|
||||
"Sverige",
|
||||
"svgs",
|
||||
"Svizra",
|
||||
"Svizzera",
|
||||
"synclock",
|
||||
"synclog",
|
||||
"syswide",
|
||||
"syswidecas",
|
||||
"taboverride",
|
||||
"tabpanel",
|
||||
"taga",
|
||||
"tagb",
|
||||
"tagc",
|
||||
"Tajik",
|
||||
"takesover",
|
||||
"targetfolder",
|
||||
"Tchad",
|
||||
"Teardown",
|
||||
"termi",
|
||||
"termutils",
|
||||
"Terres",
|
||||
"Tessarek",
|
||||
"tessus",
|
||||
"Testb",
|
||||
"testcreate",
|
||||
"testexportfolder",
|
||||
"testingconnection",
|
||||
"testingkeychain",
|
||||
"testunit",
|
||||
"texify",
|
||||
"Texify",
|
||||
"textareas",
|
||||
"textexportnote",
|
||||
"textstyle",
|
||||
"thaaaaaaan",
|
||||
"thatsok",
|
||||
"thatsreallylongthatsreallylongthatsreallylongthats",
|
||||
"thatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylongthatsreallylong",
|
||||
"Thevenard",
|
||||
"thisisfine",
|
||||
"Thmmss",
|
||||
"Tiếng",
|
||||
"Tigrinya",
|
||||
"tiiitlllle",
|
||||
"tinymce",
|
||||
"titi",
|
||||
"titletitle",
|
||||
"tkwidget",
|
||||
"tkwidgets",
|
||||
"Todos",
|
||||
"togglebutton",
|
||||
"togglemenuitem",
|
||||
"toolip",
|
||||
"tooshort",
|
||||
"treymo",
|
||||
"tripledash",
|
||||
"tsmerge",
|
||||
"Tsonga",
|
||||
"tttest",
|
||||
"Tunisie",
|
||||
"Türkçe",
|
||||
"Türkiye",
|
||||
"Türkmenistan",
|
||||
"turndown",
|
||||
"Turndown",
|
||||
"TWCO",
|
||||
"typeahead",
|
||||
"Typora",
|
||||
"tzip",
|
||||
"uastring",
|
||||
"uglifycss",
|
||||
"uglifyjs",
|
||||
"Uighur",
|
||||
"unconflicted",
|
||||
"underbrace",
|
||||
"Undos",
|
||||
"unescaping",
|
||||
"unhighlighted",
|
||||
"unixlike",
|
||||
"unmocked",
|
||||
"unserialize",
|
||||
"unserialized",
|
||||
"unserializes",
|
||||
"unserializing",
|
||||
"unshares",
|
||||
"unsharing",
|
||||
"unusued",
|
||||
"uparrow",
|
||||
"uphy",
|
||||
"urlconverter",
|
||||
"urlinput",
|
||||
"userchrome",
|
||||
"usercontent",
|
||||
"userstyle",
|
||||
"uslug",
|
||||
"Ustd",
|
||||
"utems",
|
||||
"uuidgen",
|
||||
"uuidv",
|
||||
"uùúûüůū",
|
||||
"UÙÚÛÜŮŪ",
|
||||
"valign",
|
||||
"Valign",
|
||||
"vars",
|
||||
"Vars",
|
||||
"Vaticano",
|
||||
"vers",
|
||||
"verylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongidverylongid",
|
||||
"veryverylongclientidveryverylongclientidveryverylongclientidveryverylongclientid",
|
||||
"veryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitleveryverylongtitle",
|
||||
"Việt",
|
||||
"viewbox",
|
||||
"Volapuk",
|
||||
"Volívia",
|
||||
"votearrow",
|
||||
"webclipper",
|
||||
"webdav",
|
||||
"webfonts",
|
||||
"whitespaces",
|
||||
"widder",
|
||||
"Wifi",
|
||||
"Withflags",
|
||||
"Wolof",
|
||||
"WONTFIX",
|
||||
"wrongclienttype",
|
||||
"wrongpassword",
|
||||
"wrongtype",
|
||||
"Wuliwya",
|
||||
"wxyz",
|
||||
"xcallbackurl",
|
||||
"xcassets",
|
||||
"xcodeproj",
|
||||
"xcrun",
|
||||
"xgettext",
|
||||
"xlink",
|
||||
"xzvf",
|
||||
"yarg",
|
||||
"yosay",
|
||||
"yufzkns",
|
||||
"YYYYMMDDTHH",
|
||||
"zxcvbn",
|
||||
"zžżź",
|
||||
"ZŽŻŹ",
|
||||
"Ελλάδα",
|
||||
"Ελληνικά",
|
||||
"Κύπρος",
|
||||
"Агентство",
|
||||
"Антарктике",
|
||||
"Беларусь",
|
||||
"България",
|
||||
"Гора",
|
||||
"језик",
|
||||
"Казахстан",
|
||||
"Киргизия",
|
||||
"Книги",
|
||||
"Кыргызстан",
|
||||
"Қазақстан",
|
||||
"Македонија",
|
||||
"Молдавия",
|
||||
"Монгол",
|
||||
"номер",
|
||||
"рейтер",
|
||||
"Рейтер",
|
||||
"Россия",
|
||||
"Русский",
|
||||
"Северна",
|
||||
"сообщило",
|
||||
"СООБЩИЛО",
|
||||
"Србија",
|
||||
"српски",
|
||||
"Україна",
|
||||
"Црна",
|
||||
"საქართველო",
|
||||
"Հայաստան",
|
||||
"ישראל",
|
||||
"עיברית",
|
||||
"إرتريا",
|
||||
"اسلامي",
|
||||
"اسلامی",
|
||||
"افغانستان",
|
||||
"الأُرْدُن",
|
||||
"الإمارات",
|
||||
"البحرين",
|
||||
"الجزائر",
|
||||
"السعودية",
|
||||
"السودان",
|
||||
"الصومال",
|
||||
"العراق",
|
||||
"العربيّة",
|
||||
"ﺍﻟﻘﻤﺮي",
|
||||
"الكويت",
|
||||
"المتّحدة",
|
||||
"المغرب",
|
||||
"اليَمَن",
|
||||
"ایران",
|
||||
"پاکستان",
|
||||
"تشاد",
|
||||
"تونس",
|
||||
"جمهوری",
|
||||
"جيبوتي",
|
||||
"دولة",
|
||||
"دولتدولت",
|
||||
"سلطنة",
|
||||
"سوريا",
|
||||
"عُمان",
|
||||
"لبنان",
|
||||
"ليبيا",
|
||||
"موريتانيا",
|
||||
"ⵍⵎⵖⵔⵉⴱ",
|
||||
"ኢትዮጵያ",
|
||||
"ኤርትራ",
|
||||
"भारत",
|
||||
"গণপ্রজাতন্ত্রী",
|
||||
"লাদেশ",
|
||||
"இலங்கை",
|
||||
"ලංකා",
|
||||
"คือค",
|
||||
"คือคนไทย",
|
||||
"ประเทศไทย",
|
||||
"ປະຊາຊົນລາວ",
|
||||
"မြန်မာ",
|
||||
"កម្ពុជា"
|
||||
]
|
||||
}
|
||||
@@ -12,8 +12,6 @@ module.exports = {
|
||||
// '**/*.ts?(x)': () => 'npm run tsc',
|
||||
'*.{js,jsx,ts,tsx}': [
|
||||
'yarn run linter-precommit',
|
||||
'yarn run checkLibPaths',
|
||||
'yarn run spellcheck',
|
||||
'git add',
|
||||
],
|
||||
};
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
"buildSettingJsonSchema": "yarn workspace joplin start settingschema ../../../joplin-website/docs/schema/settings.json",
|
||||
"buildTranslations": "node packages/tools/build-translation.js",
|
||||
"buildWebsite": "node ./packages/tools/website/build.js && yarn run buildPluginDoc && yarn run buildSettingJsonSchema",
|
||||
"checkLibPaths": "node ./packages/tools/checkLibPaths.js",
|
||||
"circularDependencyCheck": "madge --warning --circular --extensions js ./",
|
||||
"clean": "npm run clean --workspaces --if-present && node packages/tools/clean && yarn cache clean",
|
||||
"dependencyTree": "madge",
|
||||
@@ -42,8 +41,6 @@
|
||||
"releasePluginGenerator": "node packages/tools/release-plugin-generator.js",
|
||||
"releasePluginRepoCli": "node packages/tools/release-plugin-repo-cli.js",
|
||||
"releaseServer": "node packages/tools/release-server.js",
|
||||
"cspell": "cspell",
|
||||
"spellcheck": "node packages/tools/spellcheck.js",
|
||||
"tagServerLatest": "node packages/tools/tagServerLatest.js",
|
||||
"buildServerDocker": "node packages/tools/buildServerDocker.js",
|
||||
"setupNewRelease": "node ./packages/tools/setupNewRelease",
|
||||
@@ -63,7 +60,6 @@
|
||||
"devDependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "^4.6.0",
|
||||
"@typescript-eslint/parser": "^4.6.0",
|
||||
"cspell": "^5.20.0",
|
||||
"eslint": "^7.6.0",
|
||||
"eslint-plugin-import": "^2.20.2",
|
||||
"eslint-plugin-react": "^7.18.0",
|
||||
|
||||
@@ -317,12 +317,12 @@ async function fetchAllNotes() {
|
||||
lines.push('');
|
||||
lines.push('\tcurl -X PUT -F \'data=@/path/to/file.jpg\' -F \'props={"title":"my modified title"}\' http://localhost:41184/resources/8fe1417d7b184324bf6b0122b76c4696');
|
||||
lines.push('');
|
||||
lines.push('The "data" field is required, while the "props" one is not. If not specified, default values will be used.');
|
||||
lines.push('');
|
||||
lines.push('Or if you only need to update the resource properties (title, etc.), without changing the content, you can make a regular PUT request:');
|
||||
lines.push('');
|
||||
lines.push('\tcurl -X PUT --data \'{"title": "My new title"}\' http://localhost:41184/resources/8fe1417d7b184324bf6b0122b76c4696');
|
||||
lines.push('');
|
||||
lines.push('The "data" field is required, while the "props" one is not. If not specified, default values will be used.');
|
||||
lines.push('');
|
||||
lines.push('**From a plugin** the syntax to create a resource is also a bit special:');
|
||||
lines.push('');
|
||||
lines.push('```javascript');
|
||||
|
||||
@@ -45,7 +45,7 @@ while [ "$NUM" -lt 400 ]; do
|
||||
echo "config keychain.supported 0" >> "$CMD_FILE"
|
||||
echo "config sync.target 10" >> "$CMD_FILE"
|
||||
echo "config sync.10.username $USER_EMAIL" >> "$CMD_FILE"
|
||||
echo "config sync.10.password 111111" >> "$CMD_FILE"
|
||||
echo "config sync.10.password hunter1hunter2hunter3" >> "$CMD_FILE"
|
||||
echo "sync" >> "$CMD_FILE"
|
||||
|
||||
yarn start --profile "$PROFILE_DIR" batch "$CMD_FILE"
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
],
|
||||
"owner": "Laurent Cozic"
|
||||
},
|
||||
"version": "2.8.0",
|
||||
"version": "2.7.0",
|
||||
"bin": "./main.js",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@joplin/lib": "~2.8",
|
||||
"@joplin/renderer": "~2.8",
|
||||
"@joplin/lib": "~2.7",
|
||||
"@joplin/renderer": "~2.7",
|
||||
"aws-sdk": "^2.588.0",
|
||||
"chalk": "^4.1.0",
|
||||
"compare-version": "^0.1.2",
|
||||
@@ -67,7 +67,7 @@
|
||||
"yargs-parser": "^7.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@joplin/tools": "~2.8",
|
||||
"@joplin/tools": "~2.7",
|
||||
"@types/fs-extra": "^9.0.6",
|
||||
"@types/jest": "^26.0.15",
|
||||
"@types/node": "^14.14.6",
|
||||
|
||||
@@ -60,20 +60,16 @@ describe('MdToHtml', function() {
|
||||
actualHtml = actualHtml.replace(/\r?\n/g, '\n');
|
||||
|
||||
if (actualHtml !== expectedHtml) {
|
||||
const msg: string[] = [
|
||||
'',
|
||||
`Error converting file: ${mdFilename}`,
|
||||
'--------------------------------- Got:',
|
||||
actualHtml,
|
||||
'--------------------------------- Raw:',
|
||||
actualHtml.split('\n'),
|
||||
'--------------------------------- Expected:',
|
||||
expectedHtml.split('\n'),
|
||||
'--------------------------------------------',
|
||||
'',
|
||||
];
|
||||
|
||||
console.info(msg.join('\n'));
|
||||
console.info('');
|
||||
console.info(`Error converting file: ${mdFilename}`);
|
||||
console.info('--------------------------------- Got:');
|
||||
console.info(actualHtml);
|
||||
console.info('--------------------------------- Raw:');
|
||||
console.info(actualHtml.split('\n'));
|
||||
console.info('--------------------------------- Expected:');
|
||||
console.info(expectedHtml.split('\n'));
|
||||
console.info('--------------------------------------------');
|
||||
console.info('');
|
||||
|
||||
expect(false).toBe(true);
|
||||
// return;
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<iframe src=""><svg><style><img src="" onerror=this.onerror=confirm('vulnerable_to_XSS')
|
||||
@@ -334,12 +334,6 @@ export enum SettingItemType {
|
||||
Button = 6,
|
||||
}
|
||||
|
||||
export enum SettingItemSubType {
|
||||
FilePathAndArgs = 'file_path_and_args',
|
||||
FilePath = 'file_path', // Not supported on mobile!
|
||||
DirectoryPath = 'directory_path', // Not supported on mobile!
|
||||
}
|
||||
|
||||
export enum AppType {
|
||||
Desktop = 'desktop',
|
||||
Mobile = 'mobile',
|
||||
@@ -356,7 +350,6 @@ export enum SettingStorage {
|
||||
export interface SettingItem {
|
||||
value: any;
|
||||
type: SettingItemType;
|
||||
subType?: SettingItemSubType;
|
||||
|
||||
label: string;
|
||||
description?: string;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import joplin from 'api';
|
||||
import { SettingItemSubType, SettingItemType, ToolbarButtonLocation } from 'api/types';
|
||||
import { SettingItemType, ToolbarButtonLocation } from 'api/types';
|
||||
|
||||
joplin.plugins.register({
|
||||
onStart: async function() {
|
||||
@@ -49,33 +49,6 @@ joplin.plugins.register({
|
||||
description: 'This setting will be saved to settings.json',
|
||||
['storage' as any]: 2, // Should be `storage: SettingStorage.File`
|
||||
},
|
||||
|
||||
'myFilePathAndArgs': {
|
||||
value: '',
|
||||
type: SettingItemType.String,
|
||||
subType: SettingItemSubType.FilePathAndArgs,
|
||||
section: 'myCustomSection',
|
||||
public: true,
|
||||
label: 'File path and args',
|
||||
},
|
||||
|
||||
'myFilePathOnly': {
|
||||
value: '',
|
||||
type: SettingItemType.String,
|
||||
subType: SettingItemSubType.FilePath,
|
||||
section: 'myCustomSection',
|
||||
public: true,
|
||||
label: 'File path',
|
||||
},
|
||||
|
||||
'myDirectory': {
|
||||
value: '',
|
||||
type: SettingItemType.String,
|
||||
subType: SettingItemSubType.DirectoryPath,
|
||||
section: 'myCustomSection',
|
||||
public: true,
|
||||
label: 'Directory path',
|
||||
},
|
||||
});
|
||||
|
||||
await joplin.commands.register({
|
||||
|
||||
@@ -44,7 +44,7 @@ const processUser = async (userNum: number) => {
|
||||
|
||||
try {
|
||||
const userEmail = `user${userNum}@example.com`;
|
||||
const userPassword = '111111';
|
||||
const userPassword = 'hunter1hunter2hunter3';
|
||||
const commandFile = `${tempDir}/populateDatabase-${userNum}.txt`;
|
||||
const profileDir = `${homedir()}/.config/joplindev-populate/joplindev-testing-${userNum}`;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"name": "Joplin Web Clipper [DEV]",
|
||||
"version": "2.8.0",
|
||||
"version": "2.7.0",
|
||||
"description": "Capture and save web pages and screenshots from your browser to Joplin.",
|
||||
"homepage_url": "https://joplinapp.org",
|
||||
"content_security_policy": "script-src 'self'; object-src 'self'",
|
||||
|
||||
@@ -192,7 +192,7 @@ export default class ElectronAppWrapper {
|
||||
// We got the response from the renderer process:
|
||||
// save the response and try quit again.
|
||||
this.rendererProcessQuitReply_ = args;
|
||||
this.quit();
|
||||
this.electronApp_.quit();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -253,7 +253,7 @@ export default class ElectronAppWrapper {
|
||||
});
|
||||
}
|
||||
|
||||
quit() {
|
||||
async quit() {
|
||||
this.electronApp_.quit();
|
||||
}
|
||||
|
||||
@@ -325,7 +325,7 @@ export default class ElectronAppWrapper {
|
||||
|
||||
if (!gotTheLock) {
|
||||
// Another instance is already running - exit
|
||||
this.quit();
|
||||
this.electronApp_.quit();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -362,7 +362,7 @@ export default class ElectronAppWrapper {
|
||||
});
|
||||
|
||||
this.electronApp_.on('window-all-closed', () => {
|
||||
this.quit();
|
||||
this.electronApp_.quit();
|
||||
});
|
||||
|
||||
this.electronApp_.on('activate', () => {
|
||||
|
||||
@@ -241,7 +241,7 @@ class Application extends BaseApplication {
|
||||
const files = await shim.fsDriver().readDirStats(templatesDir);
|
||||
for (const file of files) {
|
||||
if (file.path.endsWith('.md')) {
|
||||
// There is at least one template.
|
||||
// There is atleast one template.
|
||||
this.store().dispatch({
|
||||
type: 'CONTAINS_LEGACY_TEMPLATES',
|
||||
});
|
||||
@@ -324,18 +324,6 @@ class Application extends BaseApplication {
|
||||
}, 500);
|
||||
}
|
||||
|
||||
public crashDetectionHandler() {
|
||||
// This handler conflicts with the single instance behaviour, so it's
|
||||
// not used for now.
|
||||
// https://discourse.joplinapp.org/t/pre-release-v2-8-is-now-available-updated-27-april/25158/56?u=laurent
|
||||
if (!Setting.value('wasClosedSuccessfully')) {
|
||||
const answer = confirm(_('The application did not close properly. Would you like to start in safe mode?'));
|
||||
Setting.setValue('isSafeMode', !!answer);
|
||||
}
|
||||
|
||||
Setting.setValue('wasClosedSuccessfully', false);
|
||||
}
|
||||
|
||||
public async start(argv: string[]): Promise<any> {
|
||||
// If running inside a package, the command line, instead of being "node.exe <path> <flags>" is "joplin.exe <flags>" so
|
||||
// insert an extra argument so that they can be processed in a consistent way everywhere.
|
||||
@@ -343,8 +331,6 @@ class Application extends BaseApplication {
|
||||
|
||||
argv = await super.start(argv);
|
||||
|
||||
// this.crashDetectionHandler();
|
||||
|
||||
await this.applySettingsSideEffects();
|
||||
|
||||
if (Setting.value('sync.upgradeState') === Setting.SYNC_UPGRADE_STATE_MUST_DO) {
|
||||
@@ -368,7 +354,8 @@ class Application extends BaseApplication {
|
||||
}
|
||||
|
||||
// Loads app-wide styles. (Markdown preview-specific styles loaded in app.js)
|
||||
await injectCustomStyles('appStyles', Setting.customCssFilePath(Setting.customCssFilenames.JOPLIN_APP));
|
||||
const filename = Setting.custom_css_files.JOPLIN_APP;
|
||||
await injectCustomStyles('appStyles', `${dir}/${filename}`);
|
||||
|
||||
AlarmService.setDriver(new AlarmServiceDriverNode({ appName: packageInfo.build.appId }));
|
||||
AlarmService.setLogger(reg.logger());
|
||||
@@ -446,7 +433,7 @@ class Application extends BaseApplication {
|
||||
});
|
||||
|
||||
// Loads custom Markdown preview styles
|
||||
const cssString = await loadCustomCss(Setting.customCssFilePath(Setting.customCssFilenames.RENDERED_MARKDOWN));
|
||||
const cssString = await loadCustomCss(`${Setting.value('profileDir')}/userstyle.css`);
|
||||
this.store().dispatch({
|
||||
type: 'CUSTOM_CSS_APPEND',
|
||||
css: cssString,
|
||||
@@ -535,7 +522,6 @@ class Application extends BaseApplication {
|
||||
migrationService: MigrationService.instance(),
|
||||
decryptionWorker: DecryptionWorker.instance(),
|
||||
commandService: CommandService.instance(),
|
||||
pluginService: PluginService.instance(),
|
||||
bridge: bridge(),
|
||||
debug: new DebugService(reg.db()),
|
||||
};
|
||||
@@ -568,17 +554,11 @@ class Application extends BaseApplication {
|
||||
// setTimeout(() => {
|
||||
// this.dispatch({
|
||||
// type: 'DIALOG_OPEN',
|
||||
// name: 'syncWizard',
|
||||
// name: 'editFolder',
|
||||
// props: { folderId: '3d90f7da26b947dc9c8c6c65e86cd231' },
|
||||
// });
|
||||
// }, 2000);
|
||||
|
||||
// setTimeout(() => {
|
||||
// this.dispatch({
|
||||
// type: 'DIALOG_OPEN',
|
||||
// name: 'editFolder',
|
||||
// });
|
||||
// }, 3000);
|
||||
|
||||
// setTimeout(() => {
|
||||
// this.dispatch({
|
||||
// type: 'NAV_GO',
|
||||
@@ -589,6 +569,22 @@ class Application extends BaseApplication {
|
||||
// });
|
||||
// }, 2000);
|
||||
|
||||
|
||||
|
||||
|
||||
// const testData = {
|
||||
// "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmKpb4JiYiY16pGOabje7uMsFd7DcMnruGxJ9HSpOiOduj3ApKqRu0xWCkGyqpekyOjjooZ98wVkDPUFsyVjN+kG8yKFn2xXC5SeRyhIVbdytjYiGshr6x+T9XVI+HnJKQF3WbrcqSOejlDXJv6u7jKrLAlOT3tkqEb0ZefhcEIajq6kNkH51R0lwsFnzxDIK3MW1wNzmiOfM92f8PFxiOBmUtVIngGPlNgyld1FzKN7Ypz1uS6GOqAtRm325qyfE/+2Jgb7WaDFT7VB5pHnOiojj9+xi1DvQWCbbIYXoMi0XVi9i2ZQfM32aFwiHez5UL61IMWUcqQ0/gldh4HFlAQIDAQAB\n-----END PUBLIC KEY-----",
|
||||
// "privateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAmKpb4JiYiY16pGOabje7uMsFd7DcMnruGxJ9HSpOiOduj3ApKqRu0xWCkGyqpekyOjjooZ98wVkDPUFsyVjN+kG8yKFn2xXC5SeRyhIVbdytjYiGshr6x+T9XVI+HnJKQF3WbrcqSOejlDXJv6u7jKrLAlOT3tkqEb0ZefhcEIajq6kNkH51R0lwsFnzxDIK3MW1wNzmiOfM92f8PFxiOBmUtVIngGPlNgyld1FzKN7Ypz1uS6GOqAtRm325qyfE/+2Jgb7WaDFT7VB5pHnOiojj9+xi1DvQWCbbIYXoMi0XVi9i2ZQfM32aFwiHez5UL61IMWUcqQ0/gldh4HFlAQIDAQABAoIBADFFMffPZ9Nk7MLnPmz54cTnCPGzC63jDLuCAQ0LnWMDxiPW4AJaJUZMt+GioISBOWue+D1JOrsv3iLD3bcxyPBOjP33UYxcfpT0a1Ha+j2FriFygX4zxOIEnlyi8VdkLWCOqGj9BlGXKKzpmx4X76Sbbn9mt9+BGNm2vOUnaZcPTVuOI7K6xZynlzMRYSyhu7J0QdYVK44vZ/TjdD/4pgX+ezrGiwx7OCf/KctjvEoYtXYV2gkBOifOlqYOp0fMEC3mVAZfwpvDTbRchb7h0rxmxfKbWsjPtDblByXBLJZ3PGcKcmJlu4Qsfd2AgrY62r+DbNt3EhK072ZilYIfKD0CgYEAybcDbucr67dWMlFh5b79bvJugw6rj1V59Tp+RX9nKgzaiBUHLun6cK5hbgg9z3ejc2SWlX7D+eOyveVjhDlxUOCFURJLo2oPMRKwBBKJkOJhdtAjPzyceYI6Yj2lvtDeijcZfg8F9YqUTMfisDsEi1MbGnqawWwUerN9P5TjRBcCgYEAwcAfw8KTnQsvXPwWwh6Wabtz0bUAKzA/D6oWTR5IbkBfb3jNU8lmh9H66H0P18Nsa3vozA6buW2LDhHCFFkQ4PUTQVKok1qhAsvJBECxdwMqb5iAXk3Yk3qQYGhR23Zkp1u82wmpSaBLKGr+SL9/q5EamqiR3PQYx/aQTeIaFqcCgYAn/N/xXGKYl/++eeOuZ+5V0DmYQZBBGfDTbIUbweXxsBqiX4jNBBVhwTAPYBLgzhbZCVfQyxCOuVT10EOqMrkED35eVAIqoxvf3pSGOiaLUlV/+EMEhj9+1xI753y0FzQGsmWbV98WjiJYFkgaJ5j/BbqZxTRoo8RrjqmFsT5cgQKBgQCWTc4WlmbfSKMIloOtOf9jrMjvoWOtHXN+WmuMjfaQmR2wI13eJvqEWRA1tXdJ4c/FHk39p0OFOQbL9ljCYknmyhiS72XZUlBgE+kwhGNnuSv9gKftAKUH2+gO8j62awUwk8lRfxA2DsTfaQk1NGH9ncauviDR8QcccRmHYeTtNwKBgQCOvHiVaNw8XJIqt2r3j8pEJcr8LO+WNtLDU+h9NhM5a5NxfeRUlxdrqR0FXS4NkE6E3h9iLIRt2V+0bghzJMhKuwdjC0K6+jCb7ImV+Xcl9LNOQ1mPLBLS1jqdQnBS1ZPtcQpMrVi6dU9vVespylKEyGnQnUUtLgYrbO9OMrP1uQ==\n-----END RSA PRIVATE KEY-----",
|
||||
// "plaintext": "just testing",
|
||||
// "ciphertext": "LBicxglLvMyBin8uMpUnF5ARQ+KtAM563RViMepnOcyXa/NOJonNBixm+th+jX44\r\n/rie2ESbWg/FnlR4mHCEpTQJFXt12zpeXvtM8Hy1OQMud1B1Hc9hp1hhd1t6cuDz\r\n/Cs10n1+57V6zwHottYA6tn84cBn678SvPa/WTwgvb9lnBVZbesm3dVIr5uh2hk9\r\nNcVkmqyfi+ilkNQ3FIQfL+ciHvPFUIpljgIOipZhmufubdgMGW1HEUYlsmxLE7ce\r\ndpUQJoIbfKJ1x2dJRoeYsCjvcYFWdMUcg78HkXR+UcObP6zkK8cH33fb6PKKd8Z4\r\nToj4HROza8Dp7uCV5XyBTA=="
|
||||
// };
|
||||
// await checkTestData(testData);
|
||||
|
||||
// const testData = await createTestData();
|
||||
// await checkTestData(testData);
|
||||
|
||||
// await printTestData();
|
||||
|
||||
// await runIntegrationTests();
|
||||
|
||||
return null;
|
||||
|
||||
@@ -265,7 +265,7 @@ export class Bridge {
|
||||
}
|
||||
}
|
||||
|
||||
restart(linuxSafeRestart = true) {
|
||||
restart() {
|
||||
// Note that in this case we are not sending the "appClose" event
|
||||
// to notify services and component that the app is about to close
|
||||
// but for the current use-case it's not really needed.
|
||||
@@ -276,7 +276,7 @@ export class Bridge {
|
||||
execPath: process.env.PORTABLE_EXECUTABLE_FILE,
|
||||
};
|
||||
app.relaunch(options);
|
||||
} else if (shim.isLinux() && linuxSafeRestart) {
|
||||
} else if (shim.isLinux()) {
|
||||
this.showInfoMessageBox(_('The app is now going to close. Please relaunch it to complete the process.'));
|
||||
} else {
|
||||
app.relaunch();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService';
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import { openFileWithExternalEditor } from '@joplin/lib/services/ExternalEditWatcher/utils';
|
||||
import Setting from '../../lib/models/Setting';
|
||||
import { openFileWithExternalEditor } from '../../lib/services/ExternalEditWatcher/utils';
|
||||
import bridge from '../services/bridge';
|
||||
import { _ } from '@joplin/lib/locale';
|
||||
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
import CommandService, { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService';
|
||||
import { AppState } from '../app.reducer';
|
||||
import bridge from '../services/bridge';
|
||||
import { isInsideContainer } from '@joplin/lib/dom';
|
||||
|
||||
export const declaration: CommandDeclaration = {
|
||||
name: 'replaceMisspelling',
|
||||
};
|
||||
|
||||
function isInsideContainer(node: any, className: string): boolean {
|
||||
while (node) {
|
||||
if (node.classList && node.classList.contains(className)) return true;
|
||||
node = node.parentNode;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
export const runtime = (): CommandRuntime => {
|
||||
return {
|
||||
execute: async (context: CommandContext, suggestion: string) => {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import { saveProfileConfig } from '@joplin/lib/services/profileConfig';
|
||||
import { ProfileConfig } from '@joplin/lib/services/profileConfig/types';
|
||||
import restart from '../services/restart';
|
||||
import bridge from '../services/bridge';
|
||||
|
||||
export const declaration: CommandDeclaration = {
|
||||
name: 'switchProfile',
|
||||
@@ -10,17 +10,17 @@ export const declaration: CommandDeclaration = {
|
||||
|
||||
export const runtime = (): CommandRuntime => {
|
||||
return {
|
||||
execute: async (context: CommandContext, profileId: string) => {
|
||||
execute: async (context: CommandContext, profileIndex: number) => {
|
||||
const currentConfig = context.state.profileConfig;
|
||||
if (currentConfig.currentProfileId === profileId) return;
|
||||
if (currentConfig.currentProfile === profileIndex) return;
|
||||
|
||||
const newConfig: ProfileConfig = {
|
||||
...currentConfig,
|
||||
currentProfileId: profileId,
|
||||
currentProfile: profileIndex,
|
||||
};
|
||||
|
||||
await saveProfileConfig(`${Setting.value('rootProfileDir')}/profiles.json`, newConfig);
|
||||
await restart(false);
|
||||
bridge().restart();
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import CommandService, { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService';
|
||||
import { _ } from '@joplin/lib/locale';
|
||||
import { profileIdByIndex } from '@joplin/lib/services/profileConfig';
|
||||
|
||||
export const declaration: CommandDeclaration = {
|
||||
name: 'switchProfile1',
|
||||
@@ -9,8 +8,8 @@ export const declaration: CommandDeclaration = {
|
||||
|
||||
export const runtime = (): CommandRuntime => {
|
||||
return {
|
||||
execute: async (context: CommandContext) => {
|
||||
await CommandService.instance().execute('switchProfile', profileIdByIndex(context.state.profileConfig, 0));
|
||||
execute: async (_context: CommandContext) => {
|
||||
await CommandService.instance().execute('switchProfile', 0);
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import CommandService, { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService';
|
||||
import { _ } from '@joplin/lib/locale';
|
||||
import { profileIdByIndex } from '@joplin/lib/services/profileConfig';
|
||||
|
||||
export const declaration: CommandDeclaration = {
|
||||
name: 'switchProfile2',
|
||||
@@ -9,8 +8,8 @@ export const declaration: CommandDeclaration = {
|
||||
|
||||
export const runtime = (): CommandRuntime => {
|
||||
return {
|
||||
execute: async (context: CommandContext) => {
|
||||
await CommandService.instance().execute('switchProfile', profileIdByIndex(context.state.profileConfig, 1));
|
||||
execute: async (_context: CommandContext) => {
|
||||
await CommandService.instance().execute('switchProfile', 1);
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import CommandService, { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService';
|
||||
import { _ } from '@joplin/lib/locale';
|
||||
import { profileIdByIndex } from '@joplin/lib/services/profileConfig';
|
||||
|
||||
export const declaration: CommandDeclaration = {
|
||||
name: 'switchProfile3',
|
||||
@@ -9,8 +8,8 @@ export const declaration: CommandDeclaration = {
|
||||
|
||||
export const runtime = (): CommandRuntime => {
|
||||
return {
|
||||
execute: async (context: CommandContext) => {
|
||||
await CommandService.instance().execute('switchProfile', profileIdByIndex(context.state.profileConfig, 2));
|
||||
execute: async (_context: CommandContext) => {
|
||||
await CommandService.instance().execute('switchProfile', 2);
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { _ } from '@joplin/lib/locale';
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService';
|
||||
import restart from '../services/restart';
|
||||
import bridge from '../services/bridge';
|
||||
|
||||
export const declaration: CommandDeclaration = {
|
||||
name: 'toggleSafeMode',
|
||||
@@ -14,7 +14,7 @@ export const runtime = (): CommandRuntime => {
|
||||
enabled = enabled !== null ? enabled : !Setting.value('isSafeMode');
|
||||
Setting.setValue('isSafeMode', enabled);
|
||||
await Setting.saveAll();
|
||||
await restart();
|
||||
bridge().restart();
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
@@ -7,14 +7,12 @@ import bridge from '../../services/bridge';
|
||||
import Setting, { AppType, SyncStartupOperation } from '@joplin/lib/models/Setting';
|
||||
import control_PluginsStates from './controls/plugins/PluginsStates';
|
||||
import EncryptionConfigScreen from '../EncryptionConfigScreen/EncryptionConfigScreen';
|
||||
import { reg } from '@joplin/lib/registry';
|
||||
const { connect } = require('react-redux');
|
||||
const { themeStyle } = require('@joplin/lib/theme');
|
||||
const pathUtils = require('@joplin/lib/path-utils');
|
||||
import SyncTargetRegistry from '@joplin/lib/SyncTargetRegistry';
|
||||
const shared = require('@joplin/lib/components/shared/config-shared.js');
|
||||
import ClipperConfigScreen from '../ClipperConfigScreen';
|
||||
import restart from '../../services/restart';
|
||||
const { KeymapConfigScreen } = require('../KeymapConfig/KeymapConfigScreen');
|
||||
|
||||
const settingKeyToControl: any = {
|
||||
@@ -28,7 +26,7 @@ class ConfigScreenComponent extends React.Component<any, any> {
|
||||
constructor(props: any) {
|
||||
super(props);
|
||||
|
||||
shared.init(this, reg);
|
||||
shared.init(this);
|
||||
|
||||
this.state = {
|
||||
selectedSectionName: 'general',
|
||||
@@ -73,12 +71,12 @@ class ConfigScreenComponent extends React.Component<any, any> {
|
||||
if (!confirm('This cannot be undone. Do you want to continue?')) return;
|
||||
Setting.setValue('sync.startupOperation', SyncStartupOperation.ClearLocalSyncState);
|
||||
await Setting.saveAll();
|
||||
await restart();
|
||||
bridge().restart();
|
||||
} else if (key === 'sync.clearLocalDataButton') {
|
||||
if (!confirm('This cannot be undone. Do you want to continue?')) return;
|
||||
Setting.setValue('sync.startupOperation', SyncStartupOperation.ClearLocalData);
|
||||
await Setting.saveAll();
|
||||
await restart();
|
||||
bridge().restart();
|
||||
} else if (key === 'sync.openSyncWizard') {
|
||||
this.props.dispatch({
|
||||
type: 'DIALOG_OPEN',
|
||||
@@ -125,6 +123,19 @@ class ConfigScreenComponent extends React.Component<any, any> {
|
||||
this.switchSection(event.section.name);
|
||||
}
|
||||
|
||||
keyValueToArray(kv: any) {
|
||||
const output = [];
|
||||
for (const k in kv) {
|
||||
if (!kv.hasOwnProperty(k)) continue;
|
||||
output.push({
|
||||
key: k,
|
||||
label: kv[k],
|
||||
});
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
renderSectionDescription(section: any) {
|
||||
const description = Setting.sectionDescription(section.name);
|
||||
if (!description) return null;
|
||||
@@ -363,11 +374,7 @@ class ConfigScreenComponent extends React.Component<any, any> {
|
||||
} else if (md.isEnum) {
|
||||
const items = [];
|
||||
const settingOptions = md.options();
|
||||
const array = Setting.enumOptionsToValueLabels(settingOptions, md.optionsOrder ? md.optionsOrder() : [], {
|
||||
valueKey: 'key',
|
||||
labelKey: 'label',
|
||||
});
|
||||
|
||||
const array = this.keyValueToArray(settingOptions);
|
||||
for (let i = 0; i < array.length; i++) {
|
||||
const e = array[i];
|
||||
items.push(
|
||||
@@ -445,7 +452,7 @@ class ConfigScreenComponent extends React.Component<any, any> {
|
||||
});
|
||||
const inputType = md.secure === true ? 'password' : 'text';
|
||||
|
||||
if (md.subType === 'file_path_and_args' || md.subType === 'file_path' || md.subType === 'directory_path') {
|
||||
if (md.subType === 'file_path_and_args') {
|
||||
inputStyle.marginBottom = subLabel.marginBottom;
|
||||
|
||||
const splitCmd = (cmdString: string) => {
|
||||
@@ -475,41 +482,15 @@ class ConfigScreenComponent extends React.Component<any, any> {
|
||||
};
|
||||
|
||||
const browseButtonClick = async () => {
|
||||
if (md.subType === 'directory_path') {
|
||||
const paths = await bridge().showOpenDialog({
|
||||
properties: ['openDirectory'],
|
||||
});
|
||||
if (!paths || !paths.length) return;
|
||||
updateSettingValue(key, paths[0]);
|
||||
} else {
|
||||
const paths = await bridge().showOpenDialog();
|
||||
if (!paths || !paths.length) return;
|
||||
const cmd = splitCmd(this.state.settings[key]);
|
||||
cmd[0] = paths[0];
|
||||
updateSettingValue(key, joinCmd(cmd));
|
||||
}
|
||||
const paths = await bridge().showOpenDialog();
|
||||
if (!paths || !paths.length) return;
|
||||
const cmd = splitCmd(this.state.settings[key]);
|
||||
cmd[0] = paths[0];
|
||||
updateSettingValue(key, joinCmd(cmd));
|
||||
};
|
||||
|
||||
const cmd = splitCmd(this.state.settings[key]);
|
||||
|
||||
const argComp = md.subType !== 'file_path_and_args' ? null : (
|
||||
<div style={{ ...rowStyle, marginBottom: 5 }}>
|
||||
<div style={subLabel}>{_('Arguments:')}</div>
|
||||
<input
|
||||
type={inputType}
|
||||
style={inputStyle}
|
||||
onChange={(event: any) => {
|
||||
onArgsChange(event);
|
||||
}}
|
||||
value={cmd[1]}
|
||||
spellCheck={false}
|
||||
/>
|
||||
<div style={{ width: inputStyle.width, minWidth: inputStyle.minWidth }}>
|
||||
{descriptionComp}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
return (
|
||||
<div key={key} style={rowStyle}>
|
||||
<div style={labelStyle}>
|
||||
@@ -537,9 +518,25 @@ class ConfigScreenComponent extends React.Component<any, any> {
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ ...rowStyle, marginBottom: 5 }}>
|
||||
<div style={subLabel}>{_('Arguments:')}</div>
|
||||
<input
|
||||
type={inputType}
|
||||
style={inputStyle}
|
||||
onChange={(event: any) => {
|
||||
onArgsChange(event);
|
||||
}}
|
||||
value={cmd[1]}
|
||||
spellCheck={false}
|
||||
/>
|
||||
<div style={{ width: inputStyle.width, minWidth: inputStyle.minWidth }}>
|
||||
{descriptionComp}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{argComp}
|
||||
|
||||
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
@@ -624,7 +621,7 @@ class ConfigScreenComponent extends React.Component<any, any> {
|
||||
|
||||
private async restartApp() {
|
||||
await Setting.saveAll();
|
||||
await restart();
|
||||
bridge().restart();
|
||||
}
|
||||
|
||||
private async checkNeedRestart() {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { useEffect, useCallback } from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
const DialogModalLayer = styled.div`
|
||||
@@ -32,6 +33,20 @@ interface Props {
|
||||
}
|
||||
|
||||
export default function Dialog(props: Props) {
|
||||
const onWindowKeydown = useCallback((event: any) => {
|
||||
if (event.key === 'Escape') {
|
||||
if (props.onClose) props.onClose();
|
||||
}
|
||||
}, [props.onClose]);
|
||||
|
||||
useEffect(() => {
|
||||
window.addEventListener('keydown', onWindowKeydown);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener('keydown', onWindowKeydown);
|
||||
};
|
||||
}, [onWindowKeydown]);
|
||||
|
||||
return (
|
||||
<DialogModalLayer className={props.className}>
|
||||
<DialogRoot>
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import * as React from 'react';
|
||||
import { useMemo, useCallback } from 'react';
|
||||
import { _ } from '@joplin/lib/locale';
|
||||
import { themeStyle } from '@joplin/lib/theme';
|
||||
import useKeyboardHandler from './DialogButtonRow/useKeyboardHandler';
|
||||
const React = require('react');
|
||||
import { useMemo } from 'react';
|
||||
const { _ } = require('@joplin/lib/locale');
|
||||
const { themeStyle } = require('@joplin/lib/theme');
|
||||
|
||||
export interface ButtonSpec {
|
||||
name: string;
|
||||
@@ -38,26 +37,32 @@ export default function DialogButtonRow(props: Props) {
|
||||
};
|
||||
}, [theme.buttonStyle]);
|
||||
|
||||
const onOkButtonClick = useCallback(() => {
|
||||
if (props.onClick && !props.okButtonDisabled) props.onClick({ buttonName: 'ok' });
|
||||
}, [props.onClick, props.okButtonDisabled]);
|
||||
const okButton_click = () => {
|
||||
if (props.onClick) props.onClick({ buttonName: 'ok' });
|
||||
};
|
||||
|
||||
const onCancelButtonClick = useCallback(() => {
|
||||
if (props.onClick && !props.cancelButtonDisabled) props.onClick({ buttonName: 'cancel' });
|
||||
}, [props.onClick, props.cancelButtonDisabled]);
|
||||
const cancelButton_click = () => {
|
||||
if (props.onClick) props.onClick({ buttonName: 'cancel' });
|
||||
};
|
||||
|
||||
const onCustomButtonClick = useCallback((event: ClickEvent) => {
|
||||
const customButton_click = (event: ClickEvent) => {
|
||||
if (props.onClick) props.onClick(event);
|
||||
}, [props.onClick]);
|
||||
};
|
||||
|
||||
const onKeyDown = useKeyboardHandler({ onOkButtonClick, onCancelButtonClick });
|
||||
const onKeyDown = (event: any) => {
|
||||
if (event.keyCode === 13) {
|
||||
okButton_click();
|
||||
} else if (event.keyCode === 27) {
|
||||
cancelButton_click();
|
||||
}
|
||||
};
|
||||
|
||||
const buttonComps = [];
|
||||
|
||||
if (props.customButtons) {
|
||||
for (const b of props.customButtons) {
|
||||
buttonComps.push(
|
||||
<button key={b.name} style={buttonStyle} onClick={() => onCustomButtonClick({ buttonName: b.name })} onKeyDown={onKeyDown}>
|
||||
<button key={b.name} style={buttonStyle} onClick={() => customButton_click({ buttonName: b.name })} onKeyDown={onKeyDown}>
|
||||
{b.label}
|
||||
</button>
|
||||
);
|
||||
@@ -66,7 +71,7 @@ export default function DialogButtonRow(props: Props) {
|
||||
|
||||
if (props.okButtonShow !== false) {
|
||||
buttonComps.push(
|
||||
<button disabled={props.okButtonDisabled} key="ok" style={buttonStyle} onClick={onOkButtonClick} ref={props.okButtonRef} onKeyDown={onKeyDown}>
|
||||
<button disabled={props.okButtonDisabled} key="ok" style={buttonStyle} onClick={okButton_click} ref={props.okButtonRef} onKeyDown={onKeyDown}>
|
||||
{props.okButtonLabel ? props.okButtonLabel : _('OK')}
|
||||
</button>
|
||||
);
|
||||
@@ -74,7 +79,7 @@ export default function DialogButtonRow(props: Props) {
|
||||
|
||||
if (props.cancelButtonShow !== false) {
|
||||
buttonComps.push(
|
||||
<button disabled={props.cancelButtonDisabled} key="cancel" style={Object.assign({}, buttonStyle)} onClick={onCancelButtonClick}>
|
||||
<button disabled={props.cancelButtonDisabled} key="cancel" style={Object.assign({}, buttonStyle)} onClick={cancelButton_click}>
|
||||
{props.cancelButtonLabel ? props.cancelButtonLabel : _('Cancel')}
|
||||
</button>
|
||||
);
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
import { useEffect, useState, useRef, useCallback } from 'react';
|
||||
import { isInsideContainer } from '@joplin/lib/dom';
|
||||
|
||||
interface Props {
|
||||
onOkButtonClick: Function;
|
||||
onCancelButtonClick: Function;
|
||||
}
|
||||
|
||||
const globalKeydownHandlers: string[] = [];
|
||||
|
||||
export default (props: Props) => {
|
||||
const [elementId] = useState(`${Math.round(Math.random() * 10000000)}`);
|
||||
const globalKeydownHandlersRef = useRef(globalKeydownHandlers);
|
||||
|
||||
useEffect(() => {
|
||||
globalKeydownHandlersRef.current.push(elementId);
|
||||
return () => {
|
||||
const idx = globalKeydownHandlersRef.current.findIndex(e => e === elementId);
|
||||
globalKeydownHandlersRef.current.splice(idx, 1);
|
||||
};
|
||||
}, []);
|
||||
|
||||
const isTopDialog = () => {
|
||||
const ln = globalKeydownHandlersRef.current.length;
|
||||
return ln && globalKeydownHandlersRef.current[ln - 1] === elementId;
|
||||
};
|
||||
|
||||
const isInSubModal = (targetElement: any) => {
|
||||
// If we are inside a sub-modal within the dialog, we shouldn't handle
|
||||
// global key events. It can be for example the emoji picker. In general
|
||||
// it's difficult to know whether an element is a modal or not, so we'll
|
||||
// have to add special cases here. Normally there shouldn't be many of
|
||||
// these.
|
||||
if (isInsideContainer(targetElement, 'emoji-picker')) return true;
|
||||
return false;
|
||||
};
|
||||
|
||||
const onKeyDown = useCallback((event: any) => {
|
||||
// Early exit if it's neither ENTER nor ESCAPE, because isInSubModal
|
||||
// function can be costly.
|
||||
if (event.keyCode !== 13 && event.keyCode !== 27) return;
|
||||
|
||||
if (!isTopDialog() || isInSubModal(event.target)) return;
|
||||
|
||||
if (event.keyCode === 13) {
|
||||
if (event.target.nodeName !== 'TEXTAREA') {
|
||||
props.onOkButtonClick();
|
||||
}
|
||||
} else if (event.keyCode === 27) {
|
||||
props.onCancelButtonClick();
|
||||
}
|
||||
}, [props.onOkButtonClick, props.onCancelButtonClick]);
|
||||
|
||||
useEffect(() => {
|
||||
document.addEventListener('keydown', onKeyDown);
|
||||
return () => {
|
||||
document.removeEventListener('keydown', onKeyDown);
|
||||
};
|
||||
}, [onKeyDown]);
|
||||
|
||||
return onKeyDown;
|
||||
};
|
||||
@@ -137,7 +137,7 @@ const EncryptionConfigScreen = (props: Props) => {
|
||||
return (
|
||||
<td style={theme.textStyle}>
|
||||
<input type="password" style={passwordStyle} value={password} onChange={event => onInputPasswordChange(mk, event.target.value)} />{' '}
|
||||
<button style={theme.buttonStyle} onClick={() => onSavePasswordClick(mk, { ...props.passwords, ...inputPasswords })}>
|
||||
<button style={theme.buttonStyle} onClick={() => onSavePasswordClick(mk, props.passwords)}>
|
||||
{_('Save')}
|
||||
</button>
|
||||
</td>
|
||||
@@ -268,7 +268,7 @@ const EncryptionConfigScreen = (props: Props) => {
|
||||
const buttonTitle = CommandService.instance().label('openMasterPasswordDialog');
|
||||
|
||||
const needPasswordMessage = !needMasterPassword ? null : (
|
||||
<p className="needpassword">{_('Your password is needed to decrypt some of your data.')}<br/>{_('Please click on "%s" to proceed, or set the passwords in the "%s" list below.', buttonTitle, _('Encryption keys'))}</p>
|
||||
<p className="needpassword">{_('Your master password is needed to decrypt some of your data.')}<br/>{_('Please click on "%s" to proceed', buttonTitle)}</p>
|
||||
);
|
||||
|
||||
return (
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
.manage-password-section > .status {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.manage-password-section > .needpassword {
|
||||
|
||||
@@ -2,7 +2,7 @@ import * as React from 'react';
|
||||
import versionInfo from '@joplin/lib/versionInfo';
|
||||
import PluginService from '@joplin/lib/services/plugins/PluginService';
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import restart from '../services/restart';
|
||||
import bridge from '../services/bridge';
|
||||
const packageInfo = require('../packageInfo.js');
|
||||
const ipcRenderer = require('electron').ipcRenderer;
|
||||
|
||||
@@ -75,7 +75,7 @@ export default class ErrorBoundary extends React.Component<Props, State> {
|
||||
const safeMode_click = async () => {
|
||||
Setting.setValue('isSafeMode', true);
|
||||
await Setting.saveAll();
|
||||
await restart();
|
||||
bridge().restart();
|
||||
};
|
||||
|
||||
try {
|
||||
|
||||
@@ -8,7 +8,7 @@ import NoteEditor from '../NoteEditor/NoteEditor';
|
||||
import NoteContentPropertiesDialog from '../NoteContentPropertiesDialog';
|
||||
import ShareNoteDialog from '../ShareNoteDialog';
|
||||
import CommandService from '@joplin/lib/services/CommandService';
|
||||
import { PluginHtmlContents, PluginStates, utils as pluginUtils } from '@joplin/lib/services/plugins/reducer';
|
||||
import { PluginStates, utils as pluginUtils } from '@joplin/lib/services/plugins/reducer';
|
||||
import Sidebar from '../Sidebar/Sidebar';
|
||||
import UserWebview from '../../services/plugins/UserWebview';
|
||||
import UserWebviewDialog from '../../services/plugins/UserWebviewDialog';
|
||||
@@ -37,10 +37,9 @@ import { localSyncInfoFromState } from '@joplin/lib/services/synchronizer/syncIn
|
||||
import { parseCallbackUrl } from '@joplin/lib/callbackUrlUtils';
|
||||
import ElectronAppWrapper from '../../ElectronAppWrapper';
|
||||
import { showMissingMasterKeyMessage } from '@joplin/lib/services/e2ee/utils';
|
||||
import { MasterKeyEntity } from '@joplin/lib/services/e2ee/types';
|
||||
import { MasterKeyEntity } from '../../../lib/services/e2ee/types';
|
||||
import commands from './commands/index';
|
||||
import invitationRespond from '../../services/share/invitationRespond';
|
||||
import restart from '../../services/restart';
|
||||
const { connect } = require('react-redux');
|
||||
const { PromptDialog } = require('../PromptDialog.min.js');
|
||||
const NotePropertiesDialog = require('../NotePropertiesDialog.min.js');
|
||||
@@ -54,7 +53,6 @@ interface LayerModalState {
|
||||
|
||||
interface Props {
|
||||
plugins: PluginStates;
|
||||
pluginHtmlContents: PluginHtmlContents;
|
||||
pluginsLoaded: boolean;
|
||||
hasNotesBeingSaved: boolean;
|
||||
dispatch: Function;
|
||||
@@ -268,22 +266,18 @@ class MainScreenComponent extends React.Component<Props, State> {
|
||||
if (this.waitForNotesSavedIID_) shim.clearInterval(this.waitForNotesSavedIID_);
|
||||
this.waitForNotesSavedIID_ = null;
|
||||
|
||||
const sendCanClose = async (canClose: boolean) => {
|
||||
if (canClose) {
|
||||
Setting.setValue('wasClosedSuccessfully', true);
|
||||
await Setting.saveAll();
|
||||
}
|
||||
ipcRenderer.send('asynchronous-message', 'appCloseReply', { canClose });
|
||||
};
|
||||
|
||||
await sendCanClose(!this.props.hasNotesBeingSaved);
|
||||
ipcRenderer.send('asynchronous-message', 'appCloseReply', {
|
||||
canClose: !this.props.hasNotesBeingSaved,
|
||||
});
|
||||
|
||||
if (this.props.hasNotesBeingSaved) {
|
||||
this.waitForNotesSavedIID_ = shim.setInterval(() => {
|
||||
if (!this.props.hasNotesBeingSaved) {
|
||||
shim.clearInterval(this.waitForNotesSavedIID_);
|
||||
this.waitForNotesSavedIID_ = null;
|
||||
void sendCanClose(true);
|
||||
ipcRenderer.send('asynchronous-message', 'appCloseReply', {
|
||||
canClose: true,
|
||||
});
|
||||
}
|
||||
}, 50);
|
||||
}
|
||||
@@ -562,13 +556,13 @@ class MainScreenComponent extends React.Component<Props, State> {
|
||||
const onRestartAndUpgrade = async () => {
|
||||
Setting.setValue('sync.upgradeState', Setting.SYNC_UPGRADE_STATE_MUST_DO);
|
||||
await Setting.saveAll();
|
||||
await restart();
|
||||
bridge().restart();
|
||||
};
|
||||
|
||||
const onDisableSafeModeAndRestart = async () => {
|
||||
Setting.setValue('isSafeMode', false);
|
||||
await Setting.saveAll();
|
||||
await restart();
|
||||
bridge().restart();
|
||||
};
|
||||
|
||||
const onInvitationRespond = async (shareUserId: string, folderId: string, masterKey: MasterKeyEntity, accept: boolean) => {
|
||||
@@ -729,13 +723,12 @@ class MainScreenComponent extends React.Component<Props, State> {
|
||||
}
|
||||
} else {
|
||||
const { view, plugin } = viewInfo;
|
||||
const html = this.props.pluginHtmlContents[plugin.id]?.[view.id] ?? '';
|
||||
|
||||
return <UserWebview
|
||||
key={view.id}
|
||||
viewId={view.id}
|
||||
themeId={this.props.themeId}
|
||||
html={html}
|
||||
html={view.html}
|
||||
scripts={view.scripts}
|
||||
pluginId={plugin.id}
|
||||
borderBottom={true}
|
||||
@@ -769,13 +762,12 @@ class MainScreenComponent extends React.Component<Props, State> {
|
||||
const { plugin, view } = info;
|
||||
if (view.containerType !== ContainerType.Dialog) continue;
|
||||
if (!view.opened) continue;
|
||||
const html = this.props.pluginHtmlContents[plugin.id]?.[view.id] ?? '';
|
||||
|
||||
output.push(<UserWebviewDialog
|
||||
key={view.id}
|
||||
viewId={view.id}
|
||||
themeId={this.props.themeId}
|
||||
html={html}
|
||||
html={view.html}
|
||||
scripts={view.scripts}
|
||||
pluginId={plugin.id}
|
||||
buttons={view.buttons}
|
||||
@@ -873,7 +865,6 @@ const mapStateToProps = (state: AppState) => {
|
||||
selectedNoteId: state.selectedNoteIds.length === 1 ? state.selectedNoteIds[0] : null,
|
||||
pluginsLegacy: state.pluginsLegacy,
|
||||
plugins: state.pluginService.plugins,
|
||||
pluginHtmlContents: state.pluginService.pluginHtmlContents,
|
||||
customCss: state.customCss,
|
||||
editorNoteStatuses: state.editorNoteStatuses,
|
||||
hasNotesBeingSaved: stateUtils.hasNotesBeingSaved(state),
|
||||
|
||||
@@ -2,7 +2,7 @@ import { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/
|
||||
import { _ } from '@joplin/lib/locale';
|
||||
import { createNewProfile, saveProfileConfig } from '@joplin/lib/services/profileConfig';
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import restart from '../../../services/restart';
|
||||
import bridge from '../../../services/bridge';
|
||||
|
||||
export const declaration: CommandDeclaration = {
|
||||
name: 'addProfile',
|
||||
@@ -19,10 +19,10 @@ export const runtime = (comp: any): CommandRuntime => {
|
||||
value: '',
|
||||
onClose: async (answer: string) => {
|
||||
if (answer) {
|
||||
const { newConfig, newProfile } = createNewProfile(context.state.profileConfig, answer);
|
||||
newConfig.currentProfileId = newProfile.id;
|
||||
const newConfig = await createNewProfile(context.state.profileConfig, answer);
|
||||
newConfig.currentProfile = newConfig.profiles.length - 1;
|
||||
await saveProfileConfig(`${Setting.value('rootProfileDir')}/profiles.json`, newConfig);
|
||||
await restart(false);
|
||||
bridge().restart();
|
||||
}
|
||||
|
||||
comp.setState({ promptOptions: null });
|
||||
|
||||
@@ -34,12 +34,6 @@ export default function(props: Props) {
|
||||
const [updatingPassword, setUpdatingPassword] = useState(false);
|
||||
const [mode, setMode] = useState<Mode>(Mode.Set);
|
||||
|
||||
const showCurrentPassword = useMemo(() => {
|
||||
if ([MasterPasswordStatus.NotSet, MasterPasswordStatus.Invalid].includes(status)) return false;
|
||||
if (mode === Mode.Reset) return false;
|
||||
return true;
|
||||
}, [status]);
|
||||
|
||||
const onClose = useCallback(() => {
|
||||
props.dispatch({
|
||||
type: 'DIALOG_CLOSE',
|
||||
@@ -69,7 +63,7 @@ export default function(props: Props) {
|
||||
setUpdatingPassword(true);
|
||||
try {
|
||||
if (mode === Mode.Set) {
|
||||
await updateMasterPassword(showCurrentPassword ? currentPassword : null, password1);
|
||||
await updateMasterPassword(currentPassword, password1);
|
||||
} else if (mode === Mode.Reset) {
|
||||
await resetMasterPassword(EncryptionService.instance(), KvStore.instance(), ShareService.instance(), password1);
|
||||
} else {
|
||||
@@ -121,7 +115,7 @@ export default function(props: Props) {
|
||||
}, [password1, password2, updatingPassword, needToRepeatPassword]);
|
||||
|
||||
useEffect(() => {
|
||||
setShowPasswordForm([MasterPasswordStatus.NotSet, MasterPasswordStatus.Invalid].includes(status));
|
||||
setShowPasswordForm(status === MasterPasswordStatus.NotSet);
|
||||
}, [status]);
|
||||
|
||||
useAsyncEffect(async (event: AsyncEffectEvent) => {
|
||||
@@ -137,7 +131,8 @@ export default function(props: Props) {
|
||||
|
||||
function renderPasswordForm() {
|
||||
const renderCurrentPassword = () => {
|
||||
if (!showCurrentPassword) return null;
|
||||
if (status === MasterPasswordStatus.NotSet) return null;
|
||||
if (mode === Mode.Reset) return null;
|
||||
|
||||
// If the master password is in the keychain we preload it into the
|
||||
// field and allow displaying it. That way if the user has forgotten
|
||||
|
||||
@@ -20,7 +20,7 @@ import bridge from '../services/bridge';
|
||||
import checkForUpdates from '../checkForUpdates';
|
||||
const { connect } = require('react-redux');
|
||||
import { reg } from '@joplin/lib/registry';
|
||||
import { ProfileConfig } from '@joplin/lib/services/profileConfig/types';
|
||||
import { ProfileConfig } from '../../lib/services/profileConfig/types';
|
||||
const packageInfo = require('../packageInfo.js');
|
||||
const { clipboard } = require('electron');
|
||||
const Menu = bridge().Menu;
|
||||
@@ -86,14 +86,14 @@ const useSwitchProfileMenuItems = (profileConfig: ProfileConfig, menuItemDic: an
|
||||
menuItem = {
|
||||
label: profile.name,
|
||||
click: () => {
|
||||
void CommandService.instance().execute('switchProfile', profile.id);
|
||||
void CommandService.instance().execute('switchProfile', i);
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
menuItem.label = profile.name;
|
||||
menuItem.type = 'checkbox';
|
||||
menuItem.checked = profileConfig.currentProfileId === profile.id;
|
||||
menuItem.checked = profileConfig.currentProfile === i;
|
||||
|
||||
switchProfileMenuItems.push(menuItem);
|
||||
}
|
||||
@@ -211,12 +211,6 @@ function useMenu(props: Props) {
|
||||
const [keymapLastChangeTime, setKeymapLastChangeTime] = useState(Date.now());
|
||||
const [modulesLastChangeTime, setModulesLastChangeTime] = useState(Date.now());
|
||||
|
||||
// We use a ref here because the plugin state can change frequently when
|
||||
// switching note since any plugin view might be rendered again. However we
|
||||
// need this plugin state only in a click handler when exporting notes, and
|
||||
// for that a ref is sufficient.
|
||||
const pluginsRef = useRef(props.plugins);
|
||||
|
||||
const onMenuItemClick = useCallback((commandName: string) => {
|
||||
void CommandService.instance().execute(commandName);
|
||||
}, []);
|
||||
@@ -377,7 +371,7 @@ function useMenu(props: Props) {
|
||||
(action: any) => props.dispatch(action),
|
||||
module,
|
||||
{
|
||||
plugins: pluginsRef.current,
|
||||
plugins: props.plugins,
|
||||
customCss: props.customCss,
|
||||
}
|
||||
);
|
||||
@@ -632,11 +626,9 @@ function useMenu(props: Props) {
|
||||
// editor or a regular text field.
|
||||
{
|
||||
role: 'undo',
|
||||
label: _('Undo'),
|
||||
},
|
||||
{
|
||||
role: 'redo',
|
||||
label: _('Redo'),
|
||||
},
|
||||
separator(),
|
||||
menuItemDic.textBold,
|
||||
@@ -913,6 +905,7 @@ function useMenu(props: Props) {
|
||||
modulesLastChangeTime,
|
||||
props['spellChecker.language'],
|
||||
props['spellChecker.enabled'],
|
||||
props.plugins,
|
||||
props.customCss,
|
||||
props.locale,
|
||||
props.profileConfig,
|
||||
|
||||
@@ -39,7 +39,7 @@ class NavigatorComponent extends Component {
|
||||
};
|
||||
|
||||
return (
|
||||
<div style={this.props.style} className={this.props.className}>
|
||||
<div style={this.props.style}>
|
||||
<Screen style={screenStyle} {...screenProps} />
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -465,10 +465,6 @@ function CodeMirror(props: NoteBodyEditorProps, ref: any) {
|
||||
color: ${theme.color};
|
||||
}
|
||||
|
||||
div.CodeMirror span.cm-variable-2, div.CodeMirror span.cm-variable-3, div.CodeMirror span.cm-keyword {
|
||||
color: ${theme.color};
|
||||
}
|
||||
|
||||
div.CodeMirror span.cm-quote {
|
||||
color: ${theme.color};
|
||||
opacity: ${theme.blockQuoteOpacity};
|
||||
@@ -483,6 +479,10 @@ function CodeMirror(props: NoteBodyEditorProps, ref: any) {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
div.CodeMirror span.cm-variable-2, div.CodeMirror span.cm-variable-3, div.CodeMirror span.cm-keyword {
|
||||
color: ${theme.color};
|
||||
}
|
||||
|
||||
div.CodeMirror span.cm-comment {
|
||||
color: ${theme.codeColor};
|
||||
}
|
||||
|
||||
@@ -4,54 +4,38 @@
|
||||
// use strict is necessary here so that typescript doesn't place "use strict" above the jest docblock
|
||||
// https://github.com/microsoft/TypeScript/issues/15819#issuecomment-782235619
|
||||
|
||||
// import { textToDataUri, svgUriToPng } from './contextMenuUtils';
|
||||
import { textToDataUri, svgUriToPng } from './contextMenuUtils';
|
||||
|
||||
// jest.mock('@joplin/lib/models/Resource');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// These tests are disabled because unfortunately they require the "canvas"
|
||||
// module, and it's yet another binary module that fails to compile half of the
|
||||
// time. Since it's only needed here it's not worth the trouble.
|
||||
jest.mock('@joplin/lib/models/Resource');
|
||||
|
||||
describe('contextMenu', () => {
|
||||
|
||||
it('should pass', () => {
|
||||
expect(1).toBe(1);
|
||||
it('should provide proper copy path', async () => {
|
||||
const testCase = [
|
||||
'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">test</svg>',
|
||||
'image/svg+xml',
|
||||
];
|
||||
const expectedText = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIj50ZXN0PC9zdmc+';
|
||||
expect(textToDataUri(testCase[0], testCase[1])).toBe(expectedText);
|
||||
});
|
||||
|
||||
// it('should provide proper copy path', async () => {
|
||||
// const testCase = [
|
||||
// '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">test</svg>',
|
||||
// 'image/svg+xml',
|
||||
// ];
|
||||
// const expectedText = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIj50ZXN0PC9zdmc+';
|
||||
// expect(textToDataUri(testCase[0], testCase[1])).toBe(expectedText);
|
||||
// });
|
||||
it('should convert to png binary', async () => {
|
||||
const testCase = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiIGhlaWdodD0iMTAwcHgiIHdpZHRoPSIxMDBweCI+CjxnPgoJPHBhdGggZD0iTTI4LjEsMzYuNmM0LjYsMS45LDEyLjIsMS42LDIwLjksMS4xYzguOS0wLjQsMTktMC45LDI4LjksMC45YzYuMywxLjIsMTEuOSwzLjEsMTYuOCw2Yy0xLjUtMTIuMi03LjktMjMuNy0xOC42LTMxLjMgICBjLTQuOS0wLjItOS45LDAuMy0xNC44LDEuNEM0Ny44LDE3LjksMzYuMiwyNS42LDI4LjEsMzYuNnoiLz4KCTxwYXRoIGQ9Ik03MC4zLDkuOEM1Ny41LDMuNCw0Mi44LDMuNiwzMC41LDkuNWMtMyw2LTguNCwxOS42LTUuMywyNC45YzguNi0xMS43LDIwLjktMTkuOCwzNS4yLTIzLjFDNjMuNywxMC41LDY3LDEwLDcwLjMsOS44eiIvPgoJPHBhdGggZD0iTTE2LjUsNTEuM2MwLjYtMS43LDEuMi0zLjQsMi01LjFjLTMuOC0zLjQtNy41LTctMTEtMTAuOGMtMi4xLDYuMS0yLjgsMTIuNS0yLjMsMTguN0M5LjYsNTEuMSwxMy40LDUwLjIsMTYuNSw1MS4zeiIvPgoJPHBhdGggZD0iTTksMzEuNmMzLjUsMy45LDcuMiw3LjYsMTEuMSwxMS4xYzAuOC0xLjYsMS43LTMuMSwyLjYtNC42YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC42Yy0yLjktMy4zLTMuMS05LjItMC42LTE3LjYgICBjMC44LTIuNywxLjgtNS4zLDIuNy03LjRjLTUuMiwzLjQtOS44LDgtMTMuMywxMy43QzEwLjgsMjcuOSw5LjgsMjkuNyw5LDMxLjZ6Ii8+Cgk8cGF0aCBkPSJNMTUuNCw1NC43Yy0yLjYtMS02LjEsMC43LTkuNywzLjRjMS4yLDYuNiwzLjksMTMsOCwxOC41QzEzLDY5LjMsMTMuNSw2MS44LDE1LjQsNTQuN3oiLz4KCTxwYXRoIGQ9Ik0zOS44LDU3LjZDNTQuMyw2Ni43LDcwLDczLDg2LjUsNzYuNGMwLjYtMC44LDEuMS0xLjYsMS43LTIuNWM0LjgtNy43LDctMTYuMyw2LjgtMjQuOGMtMTMuOC05LjMtMzEuMy04LjQtNDUuOC03LjcgICBjLTkuNSwwLjUtMTcuOCwwLjktMjMuMi0xLjdjLTAuMSwwLjEtMC4yLDAuMy0wLjMsMC40Yy0xLDEuNy0yLDMuNC0yLjksNS4xQzI4LjIsNDkuNywzMy44LDUzLjksMzkuOCw1Ny42eiIvPgoJPHBhdGggZD0iTTI2LjIsODguMmMzLjMsMiw2LjcsMy42LDEwLjIsNC43Yy0zLjUtNi4yLTYuMy0xMi42LTguOC0xOC41Yy0zLjEtNy4yLTUuOC0xMy41LTktMTcuMmMtMS45LDgtMiwxNi40LTAuMywyNC43ICAgQzIwLjYsODQuMiwyMy4yLDg2LjMsMjYuMiw4OC4yeiIvPgoJPHBhdGggZD0iTTMwLjksNzNjMi45LDYuOCw2LjEsMTQuNCwxMC41LDIxLjJjMTUuNiwzLDMyLTIuMyw0Mi42LTE0LjZDNjcuNyw3Niw1Mi4yLDY5LjYsMzcuOSw2MC43QzMyLDU3LDI2LjUsNTMsMjEuMyw0OC42ICAgYy0wLjYsMS41LTEuMiwzLTEuNyw0LjZDMjQuMSw1Ny4xLDI3LjMsNjQuNSwzMC45LDczeiIvPgo8L2c+Cjwvc3ZnPg==';
|
||||
const png = await svgUriToPng(document, testCase);
|
||||
expect(png).toBeInstanceOf(Uint8Array);
|
||||
});
|
||||
|
||||
// it('should convert to png binary', async () => {
|
||||
// const testCase = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMCAxMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiIGhlaWdodD0iMTAwcHgiIHdpZHRoPSIxMDBweCI+CjxnPgoJPHBhdGggZD0iTTI4LjEsMzYuNmM0LjYsMS45LDEyLjIsMS42LDIwLjksMS4xYzguOS0wLjQsMTktMC45LDI4LjksMC45YzYuMywxLjIsMTEuOSwzLjEsMTYuOCw2Yy0xLjUtMTIuMi03LjktMjMuNy0xOC42LTMxLjMgICBjLTQuOS0wLjItOS45LDAuMy0xNC44LDEuNEM0Ny44LDE3LjksMzYuMiwyNS42LDI4LjEsMzYuNnoiLz4KCTxwYXRoIGQ9Ik03MC4zLDkuOEM1Ny41LDMuNCw0Mi44LDMuNiwzMC41LDkuNWMtMyw2LTguNCwxOS42LTUuMywyNC45YzguNi0xMS43LDIwLjktMTkuOCwzNS4yLTIzLjFDNjMuNywxMC41LDY3LDEwLDcwLjMsOS44eiIvPgoJPHBhdGggZD0iTTE2LjUsNTEuM2MwLjYtMS43LDEuMi0zLjQsMi01LjFjLTMuOC0zLjQtNy41LTctMTEtMTAuOGMtMi4xLDYuMS0yLjgsMTIuNS0yLjMsMTguN0M5LjYsNTEuMSwxMy40LDUwLjIsMTYuNSw1MS4zeiIvPgoJPHBhdGggZD0iTTksMzEuNmMzLjUsMy45LDcuMiw3LjYsMTEuMSwxMS4xYzAuOC0xLjYsMS43LTMuMSwyLjYtNC42YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC42Yy0yLjktMy4zLTMuMS05LjItMC42LTE3LjYgICBjMC44LTIuNywxLjgtNS4zLDIuNy03LjRjLTUuMiwzLjQtOS44LDgtMTMuMywxMy43QzEwLjgsMjcuOSw5LjgsMjkuNyw5LDMxLjZ6Ii8+Cgk8cGF0aCBkPSJNMTUuNCw1NC43Yy0yLjYtMS02LjEsMC43LTkuNywzLjRjMS4yLDYuNiwzLjksMTMsOCwxOC41QzEzLDY5LjMsMTMuNSw2MS44LDE1LjQsNTQuN3oiLz4KCTxwYXRoIGQ9Ik0zOS44LDU3LjZDNTQuMyw2Ni43LDcwLDczLDg2LjUsNzYuNGMwLjYtMC44LDEuMS0xLjYsMS43LTIuNWM0LjgtNy43LDctMTYuMyw2LjgtMjQuOGMtMTMuOC05LjMtMzEuMy04LjQtNDUuOC03LjcgICBjLTkuNSwwLjUtMTcuOCwwLjktMjMuMi0xLjdjLTAuMSwwLjEtMC4yLDAuMy0wLjMsMC40Yy0xLDEuNy0yLDMuNC0yLjksNS4xQzI4LjIsNDkuNywzMy44LDUzLjksMzkuOCw1Ny42eiIvPgoJPHBhdGggZD0iTTI2LjIsODguMmMzLjMsMiw2LjcsMy42LDEwLjIsNC43Yy0zLjUtNi4yLTYuMy0xMi42LTguOC0xOC41Yy0zLjEtNy4yLTUuOC0xMy41LTktMTcuMmMtMS45LDgtMiwxNi40LTAuMywyNC43ICAgQzIwLjYsODQuMiwyMy4yLDg2LjMsMjYuMiw4OC4yeiIvPgoJPHBhdGggZD0iTTMwLjksNzNjMi45LDYuOCw2LjEsMTQuNCwxMC41LDIxLjJjMTUuNiwzLDMyLTIuMyw0Mi42LTE0LjZDNjcuNyw3Niw1Mi4yLDY5LjYsMzcuOSw2MC43QzMyLDU3LDI2LjUsNTMsMjEuMyw0OC42ICAgYy0wLjYsMS41LTEuMiwzLTEuNyw0LjZDMjQuMSw1Ny4xLDI3LjMsNjQuNSwzMC45LDczeiIvPgo8L2c+Cjwvc3ZnPg==';
|
||||
// const png = await svgUriToPng(document, testCase);
|
||||
// expect(png).toBeInstanceOf(Uint8Array);
|
||||
// });
|
||||
|
||||
// it('should throw error on invalid svg uri', async () => {
|
||||
// // We are mocking console.error since jsdom throws errors to console when we try to load an invalid img
|
||||
// // https://github.com/facebook/jest/pull/5267#issuecomment-356605468
|
||||
// const consoleError = console.error;
|
||||
// console.error = jest.fn();
|
||||
// const testCases: Array<string> = [
|
||||
// 'data:image/svg+xml;base64,error',
|
||||
// 'invalid',
|
||||
// ];
|
||||
// for (const testCase of testCases) {
|
||||
// await expect(svgUriToPng(document, testCase)).rejects.toBeInstanceOf(Error);
|
||||
// }
|
||||
// console.error = consoleError;
|
||||
// });
|
||||
it('should throw error on invalid svg uri', async () => {
|
||||
// We are mocking console.error since jsdom throws errors to console when we try to load an invalid img
|
||||
// https://github.com/facebook/jest/pull/5267#issuecomment-356605468
|
||||
const consoleError = console.error;
|
||||
console.error = jest.fn();
|
||||
const testCases: Array<string> = [
|
||||
'data:image/svg+xml;base64,error',
|
||||
'invalid',
|
||||
];
|
||||
for (const testCase of testCases) {
|
||||
await expect(svgUriToPng(document, testCase)).rejects.toBeInstanceOf(Error);
|
||||
}
|
||||
console.error = consoleError;
|
||||
});
|
||||
});
|
||||
|
||||
@@ -86,18 +86,18 @@ export function menuItems(dispatch: Function): ContextMenuItems {
|
||||
if (!filePath) return;
|
||||
await fs.copy(resourcePath, filePath);
|
||||
},
|
||||
// We handle images received as text separately as it can be saved in multiple formats
|
||||
// We handle images received as text seperately as it can be saved in multiple formats
|
||||
isActive: (itemType: ContextMenuItemType, options: ContextMenuOptions) => !options.textToCopy && (itemType === ContextMenuItemType.Image || itemType === ContextMenuItemType.Resource),
|
||||
},
|
||||
saveAsSvg: {
|
||||
label: _('Save as %s', 'SVG'),
|
||||
label: _('Save as SVG'),
|
||||
onAction: async (options: ContextMenuOptions) => {
|
||||
await saveFileData(options.textToCopy, options.filename);
|
||||
},
|
||||
isActive: (itemType: ContextMenuItemType, options: ContextMenuOptions) => !!options.textToCopy && itemType === ContextMenuItemType.Image && options.mime?.startsWith('image/svg'),
|
||||
},
|
||||
saveAsPng: {
|
||||
label: _('Save as %s', 'PNG'),
|
||||
label: _('Save as PNG'),
|
||||
onAction: async (options: ContextMenuOptions) => {
|
||||
// First convert it to png then save
|
||||
if (options.mime != 'image/svg+xml') {
|
||||
|
||||
@@ -30,11 +30,11 @@ export interface ContextMenuItems {
|
||||
[key: string]: ContextMenuItem;
|
||||
}
|
||||
|
||||
export async function resourceInfo(options: ContextMenuOptions) {
|
||||
export async function resourceInfo(options: ContextMenuOptions): Promise<any> {
|
||||
const resource = options.resourceId ? await Resource.load(options.resourceId) : null;
|
||||
const resourcePath = resource ? Resource.fullPath(resource) : null;
|
||||
const filePath = resource ? Resource.fullPath(resource) : null;
|
||||
const filename = resource ? (resource.filename ? resource.filename : resource.title) : options.filename ? options.filename : '';
|
||||
return { resource, resourcePath, filename };
|
||||
return { resource, filePath, filename };
|
||||
}
|
||||
|
||||
export function textToDataUri(text: string, mime: string): string {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import * as React from 'react';
|
||||
import { useMemo, useEffect, useState, useRef, useCallback } from 'react';
|
||||
import { AppState } from '../../app.reducer';
|
||||
import eventManager from '@joplin/lib/eventManager';
|
||||
import NoteListUtils from '../utils/NoteListUtils';
|
||||
@@ -13,12 +11,12 @@ import CommandService from '@joplin/lib/services/CommandService';
|
||||
import shim from '@joplin/lib/shim';
|
||||
import styled from 'styled-components';
|
||||
import { themeStyle } from '@joplin/lib/theme';
|
||||
const React = require('react');
|
||||
|
||||
const { ItemList } = require('../ItemList.min.js');
|
||||
const { connect } = require('react-redux');
|
||||
import Note from '@joplin/lib/models/Note';
|
||||
import Folder from '@joplin/lib/models/Folder';
|
||||
import { Props } from './types';
|
||||
import usePrevious from '../hooks/usePrevious';
|
||||
|
||||
const commands = [
|
||||
require('./commands/focusElementNoteList'),
|
||||
@@ -31,48 +29,50 @@ const StyledRoot = styled.div`
|
||||
border-right: 1px solid ${(props: any) => props.theme.dividerColor};
|
||||
`;
|
||||
|
||||
const itemAnchorRefs_: any = {
|
||||
current: {},
|
||||
};
|
||||
class NoteListComponent extends React.Component {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
export const itemAnchorRef = (itemId: string) => {
|
||||
if (itemAnchorRefs_.current[itemId] && itemAnchorRefs_.current[itemId].current) return itemAnchorRefs_.current[itemId].current;
|
||||
return null;
|
||||
};
|
||||
CommandService.instance().componentRegisterCommands(this, commands);
|
||||
|
||||
const NoteListComponent = (props: Props) => {
|
||||
const [dragOverTargetNoteIndex, setDragOverTargetNoteIndex] = useState(null);
|
||||
const [width, setWidth] = useState(0);
|
||||
const [, setHeight] = useState(0);
|
||||
this.itemHeight = 34;
|
||||
|
||||
useEffect(() => {
|
||||
itemAnchorRefs_.current = {};
|
||||
CommandService.instance().registerCommands(commands);
|
||||
|
||||
return () => {
|
||||
itemAnchorRefs_.current = {};
|
||||
CommandService.instance().unregisterCommands(commands);
|
||||
this.state = {
|
||||
dragOverTargetNoteIndex: null,
|
||||
width: 0,
|
||||
height: 0,
|
||||
};
|
||||
}, []);
|
||||
|
||||
const itemHeight = 34;
|
||||
this.noteListRef = React.createRef();
|
||||
this.itemListRef = React.createRef();
|
||||
this.itemAnchorRefs_ = {};
|
||||
|
||||
const focusItemIID_ = useRef<any>(null);
|
||||
const noteListRef = useRef(null);
|
||||
const itemListRef = useRef(null);
|
||||
this.renderItem = this.renderItem.bind(this);
|
||||
this.onKeyDown = this.onKeyDown.bind(this);
|
||||
this.noteItem_titleClick = this.noteItem_titleClick.bind(this);
|
||||
this.noteItem_noteDragOver = this.noteItem_noteDragOver.bind(this);
|
||||
this.noteItem_noteDrop = this.noteItem_noteDrop.bind(this);
|
||||
this.noteItem_checkboxClick = this.noteItem_checkboxClick.bind(this);
|
||||
this.noteItem_dragStart = this.noteItem_dragStart.bind(this);
|
||||
this.onGlobalDrop_ = this.onGlobalDrop_.bind(this);
|
||||
this.registerGlobalDragEndEvent_ = this.registerGlobalDragEndEvent_.bind(this);
|
||||
this.unregisterGlobalDragEndEvent_ = this.unregisterGlobalDragEndEvent_.bind(this);
|
||||
this.itemContextMenu = this.itemContextMenu.bind(this);
|
||||
this.resizableLayout_resize = this.resizableLayout_resize.bind(this);
|
||||
}
|
||||
|
||||
let globalDragEndEventRegistered_ = false;
|
||||
style() {
|
||||
if (this.styleCache_ && this.styleCache_[this.props.themeId]) return this.styleCache_[this.props.themeId];
|
||||
|
||||
const style = useMemo(() => {
|
||||
const theme = themeStyle(props.themeId);
|
||||
const theme = themeStyle(this.props.themeId);
|
||||
|
||||
return {
|
||||
const style = {
|
||||
root: {
|
||||
backgroundColor: theme.backgroundColor,
|
||||
},
|
||||
listItem: {
|
||||
maxWidth: '100%',
|
||||
height: itemHeight,
|
||||
height: this.itemHeight,
|
||||
boxSizing: 'border-box',
|
||||
display: 'flex',
|
||||
alignItems: 'stretch',
|
||||
@@ -99,71 +99,76 @@ const NoteListComponent = (props: Props) => {
|
||||
textDecoration: 'line-through',
|
||||
},
|
||||
};
|
||||
}, [props.themeId, itemHeight]);
|
||||
|
||||
const itemContextMenu = useCallback((event: any) => {
|
||||
this.styleCache_ = {};
|
||||
this.styleCache_[this.props.themeId] = style;
|
||||
|
||||
return style;
|
||||
}
|
||||
|
||||
itemContextMenu(event: any) {
|
||||
const currentItemId = event.currentTarget.getAttribute('data-id');
|
||||
if (!currentItemId) return;
|
||||
|
||||
let noteIds = [];
|
||||
if (props.selectedNoteIds.indexOf(currentItemId) < 0) {
|
||||
if (this.props.selectedNoteIds.indexOf(currentItemId) < 0) {
|
||||
noteIds = [currentItemId];
|
||||
} else {
|
||||
noteIds = props.selectedNoteIds;
|
||||
noteIds = this.props.selectedNoteIds;
|
||||
}
|
||||
|
||||
if (!noteIds.length) return;
|
||||
|
||||
const menu = NoteListUtils.makeContextMenu(noteIds, {
|
||||
notes: props.notes,
|
||||
dispatch: props.dispatch,
|
||||
watchedNoteFiles: props.watchedNoteFiles,
|
||||
plugins: props.plugins,
|
||||
inConflictFolder: props.selectedFolderId === Folder.conflictFolderId(),
|
||||
customCss: props.customCss,
|
||||
notes: this.props.notes,
|
||||
dispatch: this.props.dispatch,
|
||||
watchedNoteFiles: this.props.watchedNoteFiles,
|
||||
plugins: this.props.plugins,
|
||||
inConflictFolder: this.props.selectedFolderId === Folder.conflictFolderId(),
|
||||
customCss: this.props.customCss,
|
||||
});
|
||||
|
||||
menu.popup(bridge().window());
|
||||
}, [props.selectedNoteIds, props.notes, props.dispatch, props.watchedNoteFiles,props.plugins, props.selectedFolderId, props.customCss]);
|
||||
}
|
||||
|
||||
const onGlobalDrop_ = () => {
|
||||
unregisterGlobalDragEndEvent_();
|
||||
setDragOverTargetNoteIndex(null);
|
||||
};
|
||||
onGlobalDrop_() {
|
||||
this.unregisterGlobalDragEndEvent_();
|
||||
this.setState({ dragOverTargetNoteIndex: null });
|
||||
}
|
||||
|
||||
const registerGlobalDragEndEvent_ = () => {
|
||||
if (globalDragEndEventRegistered_) return;
|
||||
globalDragEndEventRegistered_ = true;
|
||||
document.addEventListener('dragend', onGlobalDrop_);
|
||||
};
|
||||
registerGlobalDragEndEvent_() {
|
||||
if (this.globalDragEndEventRegistered_) return;
|
||||
this.globalDragEndEventRegistered_ = true;
|
||||
document.addEventListener('dragend', this.onGlobalDrop_);
|
||||
}
|
||||
|
||||
const unregisterGlobalDragEndEvent_ = () => {
|
||||
globalDragEndEventRegistered_ = false;
|
||||
document.removeEventListener('dragend', onGlobalDrop_);
|
||||
};
|
||||
unregisterGlobalDragEndEvent_() {
|
||||
this.globalDragEndEventRegistered_ = false;
|
||||
document.removeEventListener('dragend', this.onGlobalDrop_);
|
||||
}
|
||||
|
||||
const dragTargetNoteIndex_ = (event: any) => {
|
||||
return Math.abs(Math.round((event.clientY - itemListRef.current.offsetTop() + itemListRef.current.offsetScroll()) / itemHeight));
|
||||
};
|
||||
dragTargetNoteIndex_(event: any) {
|
||||
return Math.abs(Math.round((event.clientY - this.itemListRef.current.offsetTop() + this.itemListRef.current.offsetScroll()) / this.itemHeight));
|
||||
}
|
||||
|
||||
const noteItem_noteDragOver = (event: any) => {
|
||||
if (props.notesParentType !== 'Folder') return;
|
||||
noteItem_noteDragOver(event: any) {
|
||||
if (this.props.notesParentType !== 'Folder') return;
|
||||
|
||||
const dt = event.dataTransfer;
|
||||
|
||||
if (dt.types.indexOf('text/x-jop-note-ids') >= 0) {
|
||||
event.preventDefault();
|
||||
const newIndex = dragTargetNoteIndex_(event);
|
||||
if (dragOverTargetNoteIndex === newIndex) return;
|
||||
registerGlobalDragEndEvent_();
|
||||
setDragOverTargetNoteIndex(newIndex);
|
||||
const newIndex = this.dragTargetNoteIndex_(event);
|
||||
if (this.state.dragOverTargetNoteIndex === newIndex) return;
|
||||
this.registerGlobalDragEndEvent_();
|
||||
this.setState({ dragOverTargetNoteIndex: newIndex });
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const noteItem_noteDrop = async (event: any) => {
|
||||
if (props.notesParentType !== 'Folder') return;
|
||||
async noteItem_noteDrop(event: any) {
|
||||
if (this.props.notesParentType !== 'Folder') return;
|
||||
|
||||
if (props.noteSortOrder !== 'order') {
|
||||
if (this.props.noteSortOrder !== 'order') {
|
||||
const doIt = await bridge().showConfirmMessageBox(_('To manually sort the notes, the sort order must be changed to "%s" in the menu "%s" > "%s"', _('Custom order'), _('View'), _('Sort notes by')), {
|
||||
buttons: [_('Do it now'), _('Cancel')],
|
||||
});
|
||||
@@ -176,17 +181,17 @@ const NoteListComponent = (props: Props) => {
|
||||
// TODO: check that parent type is folder
|
||||
|
||||
const dt = event.dataTransfer;
|
||||
unregisterGlobalDragEndEvent_();
|
||||
setDragOverTargetNoteIndex(null);
|
||||
this.unregisterGlobalDragEndEvent_();
|
||||
this.setState({ dragOverTargetNoteIndex: null });
|
||||
|
||||
const targetNoteIndex = dragTargetNoteIndex_(event);
|
||||
const targetNoteIndex = this.dragTargetNoteIndex_(event);
|
||||
const noteIds = JSON.parse(dt.getData('text/x-jop-note-ids'));
|
||||
|
||||
void Note.insertNotesAt(props.selectedFolderId, noteIds, targetNoteIndex);
|
||||
};
|
||||
void Note.insertNotesAt(this.props.selectedFolderId, noteIds, targetNoteIndex);
|
||||
}
|
||||
|
||||
|
||||
const noteItem_checkboxClick = async (event: any, item: any) => {
|
||||
async noteItem_checkboxClick(event: any, item: any) {
|
||||
const checked = event.target.checked;
|
||||
const newNote = {
|
||||
id: item.id,
|
||||
@@ -194,37 +199,37 @@ const NoteListComponent = (props: Props) => {
|
||||
};
|
||||
await Note.save(newNote, { userSideValidation: true });
|
||||
eventManager.emit('todoToggle', { noteId: item.id, note: newNote });
|
||||
};
|
||||
}
|
||||
|
||||
const noteItem_titleClick = async (event: any, item: any) => {
|
||||
async noteItem_titleClick(event: any, item: any) {
|
||||
if (event.ctrlKey || event.metaKey) {
|
||||
event.preventDefault();
|
||||
props.dispatch({
|
||||
this.props.dispatch({
|
||||
type: 'NOTE_SELECT_TOGGLE',
|
||||
id: item.id,
|
||||
});
|
||||
} else if (event.shiftKey) {
|
||||
event.preventDefault();
|
||||
props.dispatch({
|
||||
this.props.dispatch({
|
||||
type: 'NOTE_SELECT_EXTEND',
|
||||
id: item.id,
|
||||
});
|
||||
} else {
|
||||
props.dispatch({
|
||||
this.props.dispatch({
|
||||
type: 'NOTE_SELECT',
|
||||
id: item.id,
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const noteItem_dragStart = (event: any) => {
|
||||
noteItem_dragStart(event: any) {
|
||||
let noteIds = [];
|
||||
|
||||
// Here there is two cases:
|
||||
// - If multiple notes are selected, we drag the group
|
||||
// - If only one note is selected, we drag the note that was clicked on (which might be different from the currently selected note)
|
||||
if (props.selectedNoteIds.length >= 2) {
|
||||
noteIds = props.selectedNoteIds;
|
||||
if (this.props.selectedNoteIds.length >= 2) {
|
||||
noteIds = this.props.selectedNoteIds;
|
||||
} else {
|
||||
const clickedNoteId = event.currentTarget.getAttribute('data-id');
|
||||
if (clickedNoteId) noteIds.push(clickedNoteId);
|
||||
@@ -235,66 +240,61 @@ const NoteListComponent = (props: Props) => {
|
||||
event.dataTransfer.setDragImage(new Image(), 1, 1);
|
||||
event.dataTransfer.clearData();
|
||||
event.dataTransfer.setData('text/x-jop-note-ids', JSON.stringify(noteIds));
|
||||
};
|
||||
}
|
||||
|
||||
const renderItem = useCallback((item: any, index: number) => {
|
||||
renderItem(item: any, index: number) {
|
||||
const highlightedWords = () => {
|
||||
if (props.notesParentType === 'Search') {
|
||||
const query = BaseModel.byId(props.searches, props.selectedSearchId);
|
||||
if (this.props.notesParentType === 'Search') {
|
||||
const query = BaseModel.byId(this.props.searches, this.props.selectedSearchId);
|
||||
if (query) {
|
||||
return props.highlightedWords;
|
||||
return this.props.highlightedWords;
|
||||
}
|
||||
}
|
||||
return [];
|
||||
};
|
||||
|
||||
if (!itemAnchorRefs_.current[item.id]) itemAnchorRefs_.current[item.id] = React.createRef();
|
||||
const ref = itemAnchorRefs_.current[item.id];
|
||||
if (!this.itemAnchorRefs_[item.id]) this.itemAnchorRefs_[item.id] = React.createRef();
|
||||
const ref = this.itemAnchorRefs_[item.id];
|
||||
|
||||
return <NoteListItem
|
||||
ref={ref}
|
||||
key={item.id}
|
||||
style={style}
|
||||
style={this.style()}
|
||||
item={item}
|
||||
index={index}
|
||||
themeId={props.themeId}
|
||||
width={width}
|
||||
height={itemHeight}
|
||||
dragItemIndex={dragOverTargetNoteIndex}
|
||||
themeId={this.props.themeId}
|
||||
width={this.state.width}
|
||||
height={this.itemHeight}
|
||||
dragItemIndex={this.state.dragOverTargetNoteIndex}
|
||||
highlightedWords={highlightedWords()}
|
||||
isProvisional={props.provisionalNoteIds.includes(item.id)}
|
||||
isSelected={props.selectedNoteIds.indexOf(item.id) >= 0}
|
||||
isWatched={props.watchedNoteFiles.indexOf(item.id) < 0}
|
||||
itemCount={props.notes.length}
|
||||
onCheckboxClick={noteItem_checkboxClick}
|
||||
onDragStart={noteItem_dragStart}
|
||||
onNoteDragOver={noteItem_noteDragOver}
|
||||
onNoteDrop={noteItem_noteDrop}
|
||||
onTitleClick={noteItem_titleClick}
|
||||
onContextMenu={itemContextMenu}
|
||||
isProvisional={this.props.provisionalNoteIds.includes(item.id)}
|
||||
isSelected={this.props.selectedNoteIds.indexOf(item.id) >= 0}
|
||||
isWatched={this.props.watchedNoteFiles.indexOf(item.id) < 0}
|
||||
itemCount={this.props.notes.length}
|
||||
onCheckboxClick={this.noteItem_checkboxClick}
|
||||
onDragStart={this.noteItem_dragStart}
|
||||
onNoteDragOver={this.noteItem_noteDragOver}
|
||||
onNoteDrop={this.noteItem_noteDrop}
|
||||
onTitleClick={this.noteItem_titleClick}
|
||||
onContextMenu={this.itemContextMenu}
|
||||
/>;
|
||||
}, [style, props.themeId, width, itemHeight, dragOverTargetNoteIndex, props.provisionalNoteIds, props.selectedNoteIds, props.watchedNoteFiles,
|
||||
props.notes,
|
||||
props.notesParentType,
|
||||
props.searches,
|
||||
props.selectedSearchId,
|
||||
props.highlightedWords,
|
||||
]);
|
||||
}
|
||||
|
||||
const previousSelectedNoteIds = usePrevious(props.selectedNoteIds, []);
|
||||
const previousNotes = usePrevious(props.notes, []);
|
||||
const previousVisible = usePrevious(props.visible, false);
|
||||
itemAnchorRef(itemId: string) {
|
||||
if (this.itemAnchorRefs_[itemId] && this.itemAnchorRefs_[itemId].current) return this.itemAnchorRefs_[itemId].current;
|
||||
return null;
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (previousSelectedNoteIds !== props.selectedNoteIds && props.selectedNoteIds.length === 1) {
|
||||
const id = props.selectedNoteIds[0];
|
||||
const doRefocus = props.notes.length < previousNotes.length;
|
||||
componentDidUpdate(prevProps: any) {
|
||||
if (prevProps.selectedNoteIds !== this.props.selectedNoteIds && this.props.selectedNoteIds.length === 1) {
|
||||
const id = this.props.selectedNoteIds[0];
|
||||
const doRefocus = this.props.notes.length < prevProps.notes.length;
|
||||
|
||||
for (let i = 0; i < props.notes.length; i++) {
|
||||
if (props.notes[i].id === id) {
|
||||
itemListRef.current.makeItemIndexVisible(i);
|
||||
for (let i = 0; i < this.props.notes.length; i++) {
|
||||
if (this.props.notes[i].id === id) {
|
||||
this.itemListRef.current.makeItemIndexVisible(i);
|
||||
if (doRefocus) {
|
||||
const ref = itemAnchorRef(id);
|
||||
const ref = this.itemAnchorRef(id);
|
||||
if (ref) ref.focus();
|
||||
}
|
||||
break;
|
||||
@@ -302,24 +302,24 @@ const NoteListComponent = (props: Props) => {
|
||||
}
|
||||
}
|
||||
|
||||
if (previousVisible !== props.visible) {
|
||||
updateSizeState();
|
||||
if (prevProps.visible !== this.props.visible) {
|
||||
this.updateSizeState();
|
||||
}
|
||||
}, [previousSelectedNoteIds,previousNotes, previousVisible, props.selectedNoteIds, props.notes]);
|
||||
}
|
||||
|
||||
const scrollNoteIndex_ = (keyCode: any, ctrlKey: any, metaKey: any, noteIndex: any) => {
|
||||
scrollNoteIndex_(keyCode: any, ctrlKey: any, metaKey: any, noteIndex: any) {
|
||||
|
||||
if (keyCode === 33) {
|
||||
// Page Up
|
||||
noteIndex -= (itemListRef.current.visibleItemCount() - 1);
|
||||
noteIndex -= (this.itemListRef.current.visibleItemCount() - 1);
|
||||
|
||||
} else if (keyCode === 34) {
|
||||
// Page Down
|
||||
noteIndex += (itemListRef.current.visibleItemCount() - 1);
|
||||
noteIndex += (this.itemListRef.current.visibleItemCount() - 1);
|
||||
|
||||
} else if ((keyCode === 35 && ctrlKey) || (keyCode === 40 && metaKey)) {
|
||||
// CTRL+End, CMD+Down
|
||||
noteIndex = props.notes.length - 1;
|
||||
noteIndex = this.props.notes.length - 1;
|
||||
|
||||
} else if ((keyCode === 36 && ctrlKey) || (keyCode === 38 && metaKey)) {
|
||||
// CTRL+Home, CMD+Up
|
||||
@@ -334,31 +334,31 @@ const NoteListComponent = (props: Props) => {
|
||||
noteIndex += 1;
|
||||
}
|
||||
if (noteIndex < 0) noteIndex = 0;
|
||||
if (noteIndex > props.notes.length - 1) noteIndex = props.notes.length - 1;
|
||||
if (noteIndex > this.props.notes.length - 1) noteIndex = this.props.notes.length - 1;
|
||||
return noteIndex;
|
||||
};
|
||||
}
|
||||
|
||||
const onKeyDown = async (event: any) => {
|
||||
async onKeyDown(event: any) {
|
||||
const keyCode = event.keyCode;
|
||||
const noteIds = props.selectedNoteIds;
|
||||
const noteIds = this.props.selectedNoteIds;
|
||||
|
||||
if (noteIds.length > 0 && (keyCode === 40 || keyCode === 38 || keyCode === 33 || keyCode === 34 || keyCode === 35 || keyCode == 36)) {
|
||||
// DOWN / UP / PAGEDOWN / PAGEUP / END / HOME
|
||||
const noteId = noteIds[0];
|
||||
let noteIndex = BaseModel.modelIndexById(props.notes, noteId);
|
||||
let noteIndex = BaseModel.modelIndexById(this.props.notes, noteId);
|
||||
|
||||
noteIndex = scrollNoteIndex_(keyCode, event.ctrlKey, event.metaKey, noteIndex);
|
||||
noteIndex = this.scrollNoteIndex_(keyCode, event.ctrlKey, event.metaKey, noteIndex);
|
||||
|
||||
const newSelectedNote = props.notes[noteIndex];
|
||||
const newSelectedNote = this.props.notes[noteIndex];
|
||||
|
||||
props.dispatch({
|
||||
this.props.dispatch({
|
||||
type: 'NOTE_SELECT',
|
||||
id: newSelectedNote.id,
|
||||
});
|
||||
|
||||
itemListRef.current.makeItemIndexVisible(noteIndex);
|
||||
this.itemListRef.current.makeItemIndexVisible(noteIndex);
|
||||
|
||||
focusNoteId_(newSelectedNote.id);
|
||||
this.focusNoteId_(newSelectedNote.id);
|
||||
|
||||
event.preventDefault();
|
||||
}
|
||||
@@ -373,7 +373,7 @@ const NoteListComponent = (props: Props) => {
|
||||
// SPACE
|
||||
event.preventDefault();
|
||||
|
||||
const notes = BaseModel.modelsByIds(props.notes, noteIds);
|
||||
const notes = BaseModel.modelsByIds(this.props.notes, noteIds);
|
||||
const todos = notes.filter((n: any) => !!n.is_todo);
|
||||
if (!todos.length) return;
|
||||
|
||||
@@ -382,7 +382,7 @@ const NoteListComponent = (props: Props) => {
|
||||
await Note.save(toggledTodo);
|
||||
}
|
||||
|
||||
focusNoteId_(todos[0].id);
|
||||
this.focusNoteId_(todos[0].id);
|
||||
}
|
||||
|
||||
if (keyCode === 9) {
|
||||
@@ -400,63 +400,62 @@ const NoteListComponent = (props: Props) => {
|
||||
// Ctrl+A key
|
||||
event.preventDefault();
|
||||
|
||||
props.dispatch({
|
||||
this.props.dispatch({
|
||||
type: 'NOTE_SELECT_ALL',
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const focusNoteId_ = (noteId: string) => {
|
||||
focusNoteId_(noteId: string) {
|
||||
// - We need to focus the item manually otherwise focus might be lost when the
|
||||
// list is scrolled and items within it are being rebuilt.
|
||||
// - We need to use an interval because when leaving the arrow pressed, the rendering
|
||||
// of items might lag behind and so the ref is not yet available at this point.
|
||||
if (!itemAnchorRef(noteId)) {
|
||||
if (focusItemIID_.current) shim.clearInterval(focusItemIID_.current);
|
||||
focusItemIID_.current = shim.setInterval(() => {
|
||||
if (itemAnchorRef(noteId)) {
|
||||
itemAnchorRef(noteId).focus();
|
||||
shim.clearInterval(focusItemIID_.current);
|
||||
focusItemIID_.current = null;
|
||||
if (!this.itemAnchorRef(noteId)) {
|
||||
if (this.focusItemIID_) shim.clearInterval(this.focusItemIID_);
|
||||
this.focusItemIID_ = shim.setInterval(() => {
|
||||
if (this.itemAnchorRef(noteId)) {
|
||||
this.itemAnchorRef(noteId).focus();
|
||||
shim.clearInterval(this.focusItemIID_);
|
||||
this.focusItemIID_ = null;
|
||||
}
|
||||
}, 10);
|
||||
} else {
|
||||
itemAnchorRef(noteId).focus();
|
||||
this.itemAnchorRef(noteId).focus();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const updateSizeState = () => {
|
||||
setWidth(noteListRef.current.clientWidth);
|
||||
setHeight(noteListRef.current.clientHeight);
|
||||
};
|
||||
updateSizeState() {
|
||||
this.setState({
|
||||
width: this.noteListRef.current.clientWidth,
|
||||
height: this.noteListRef.current.clientHeight,
|
||||
});
|
||||
}
|
||||
|
||||
const resizableLayout_resize = () => {
|
||||
updateSizeState();
|
||||
};
|
||||
resizableLayout_resize() {
|
||||
this.updateSizeState();
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
props.resizableLayoutEventEmitter.on('resize', resizableLayout_resize);
|
||||
return () => {
|
||||
props.resizableLayoutEventEmitter.off('resize', resizableLayout_resize);
|
||||
};
|
||||
}, [props.resizableLayoutEventEmitter]);
|
||||
componentDidMount() {
|
||||
this.props.resizableLayoutEventEmitter.on('resize', this.resizableLayout_resize);
|
||||
this.updateSizeState();
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
updateSizeState();
|
||||
componentWillUnmount() {
|
||||
if (this.focusItemIID_) {
|
||||
shim.clearInterval(this.focusItemIID_);
|
||||
this.focusItemIID_ = null;
|
||||
}
|
||||
|
||||
return () => {
|
||||
if (focusItemIID_.current) {
|
||||
shim.clearInterval(focusItemIID_.current);
|
||||
focusItemIID_.current = null;
|
||||
}
|
||||
CommandService.instance().componentUnregisterCommands(commands);
|
||||
};
|
||||
}, []);
|
||||
this.props.resizableLayoutEventEmitter.off('resize', this.resizableLayout_resize);
|
||||
|
||||
const renderEmptyList = () => {
|
||||
if (props.notes.length) return null;
|
||||
CommandService.instance().componentUnregisterCommands(commands);
|
||||
}
|
||||
|
||||
const theme = themeStyle(props.themeId);
|
||||
renderEmptyList() {
|
||||
if (this.props.notes.length) return null;
|
||||
|
||||
const theme = themeStyle(this.props.themeId);
|
||||
const padding = 10;
|
||||
const emptyDivStyle = {
|
||||
padding: `${padding}px`,
|
||||
@@ -465,35 +464,39 @@ const NoteListComponent = (props: Props) => {
|
||||
backgroundColor: theme.backgroundColor,
|
||||
fontFamily: theme.fontFamily,
|
||||
};
|
||||
return <div style={emptyDivStyle}>{props.folders.length ? _('No notes in here. Create one by clicking on "New note".') : _('There is currently no notebook. Create one by clicking on "New notebook".')}</div>;
|
||||
};
|
||||
// emptyDivStyle.width = emptyDivStyle.width - padding * 2;
|
||||
// emptyDivStyle.height = emptyDivStyle.height - padding * 2;
|
||||
return <div style={emptyDivStyle}>{this.props.folders.length ? _('No notes in here. Create one by clicking on "New note".') : _('There is currently no notebook. Create one by clicking on "New notebook".')}</div>;
|
||||
}
|
||||
|
||||
const renderItemList = () => {
|
||||
if (!props.notes.length) return null;
|
||||
renderItemList(style: any) {
|
||||
if (!this.props.notes.length) return null;
|
||||
|
||||
return (
|
||||
<ItemList
|
||||
ref={itemListRef}
|
||||
disabled={props.isInsertingNotes}
|
||||
itemHeight={style.listItem.height}
|
||||
ref={this.itemListRef}
|
||||
disabled={this.props.isInsertingNotes}
|
||||
itemHeight={this.style().listItem.height}
|
||||
className={'note-list'}
|
||||
items={props.notes}
|
||||
style={props.size}
|
||||
itemRenderer={renderItem}
|
||||
onKeyDown={onKeyDown}
|
||||
items={this.props.notes}
|
||||
style={style}
|
||||
itemRenderer={this.renderItem}
|
||||
onKeyDown={this.onKeyDown}
|
||||
/>
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
if (!props.size) throw new Error('props.size is required');
|
||||
render() {
|
||||
if (!this.props.size) throw new Error('props.size is required');
|
||||
|
||||
return (
|
||||
<StyledRoot ref={noteListRef}>
|
||||
{renderEmptyList()}
|
||||
{renderItemList()}
|
||||
</StyledRoot>
|
||||
);
|
||||
};
|
||||
return (
|
||||
<StyledRoot ref={this.noteListRef}>
|
||||
{this.renderEmptyList()}
|
||||
{this.renderItemList(this.props.size)}
|
||||
</StyledRoot>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const mapStateToProps = (state: AppState) => {
|
||||
return {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService';
|
||||
import { _ } from '@joplin/lib/locale';
|
||||
import { stateUtils } from '@joplin/lib/reducer';
|
||||
import { itemAnchorRef } from '../NoteList';
|
||||
|
||||
export const declaration: CommandDeclaration = {
|
||||
name: 'focusElementNoteList',
|
||||
@@ -9,13 +8,13 @@ export const declaration: CommandDeclaration = {
|
||||
parentLabel: () => _('Focus'),
|
||||
};
|
||||
|
||||
export const runtime = (): CommandRuntime => {
|
||||
export const runtime = (comp: any): CommandRuntime => {
|
||||
return {
|
||||
execute: async (context: CommandContext, noteId: string = null) => {
|
||||
noteId = noteId || stateUtils.selectedNoteId(context.state);
|
||||
|
||||
if (noteId) {
|
||||
const ref = itemAnchorRef(noteId);
|
||||
const ref = comp.itemAnchorRef(noteId);
|
||||
if (ref) ref.focus();
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
import { FolderEntity, NoteEntity } from '@joplin/lib/services/database/types';
|
||||
import { PluginStates } from '@joplin/lib/services/plugins/reducer';
|
||||
|
||||
export interface Props {
|
||||
themeId: any;
|
||||
selectedNoteIds: string[];
|
||||
notes: NoteEntity[];
|
||||
dispatch: Function;
|
||||
watchedNoteFiles: any[];
|
||||
plugins: PluginStates;
|
||||
selectedFolderId: string;
|
||||
customCss: string;
|
||||
notesParentType: string;
|
||||
noteSortOrder: string;
|
||||
resizableLayoutEventEmitter: any;
|
||||
isInsertingNotes: boolean;
|
||||
folders: FolderEntity[];
|
||||
size: any;
|
||||
searches: any[];
|
||||
selectedSearchId: string;
|
||||
highlightedWords: string[];
|
||||
provisionalNoteIds: string[];
|
||||
visible: boolean;
|
||||
}
|
||||
@@ -110,7 +110,7 @@ function NoteListItem(props: NoteListItemProps, ref: any) {
|
||||
|
||||
let listItemTitleStyle = Object.assign({}, props.style.listItemTitle);
|
||||
listItemTitleStyle.paddingLeft = !item.is_todo ? hPadding : 4;
|
||||
if (item.is_shared) listItemTitleStyle.color = theme.colorWarn3;
|
||||
if (item.is_shared) listItemTitleStyle.color = theme.colorWarn2;
|
||||
if (item.is_todo && !!item.todo_completed) listItemTitleStyle = Object.assign(listItemTitleStyle, props.style.listItemTitleCompleted);
|
||||
|
||||
const displayTitle = Note.displayTitle(item);
|
||||
|
||||
@@ -228,7 +228,7 @@ class RootComponent extends React.Component<Props, any> {
|
||||
<StyleSheetContainer themeId={this.props.themeId}></StyleSheetContainer>
|
||||
<MenuBar/>
|
||||
<GlobalStyle/>
|
||||
<Navigator style={navigatorStyle} screens={screens} className={`profile-${this.props.profileConfigCurrentProfileId}`} />
|
||||
<Navigator style={navigatorStyle} screens={screens} />
|
||||
{this.renderModalMessage(this.modalDialogProps())}
|
||||
{this.renderDialogs()}
|
||||
</ThemeProvider>
|
||||
@@ -245,7 +245,6 @@ const mapStateToProps = (state: AppState) => {
|
||||
themeId: state.settings.theme,
|
||||
needApiAuth: state.needApiAuth,
|
||||
dialogs: state.dialogs,
|
||||
profileConfigCurrentProfileId: state.profileConfig.currentProfileId,
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import useSyncTargetUpgrade, { SyncTargetUpgradeResult } from '@joplin/lib/servi
|
||||
const { render } = require('react-dom');
|
||||
const ipcRenderer = require('electron').ipcRenderer;
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import restart from '../services/restart';
|
||||
const bridge = require('@electron/remote').require('./bridge').default;
|
||||
|
||||
function useAppCloseHandler(upgradeResult: SyncTargetUpgradeResult) {
|
||||
useEffect(function() {
|
||||
@@ -64,7 +64,7 @@ function useStyle() {
|
||||
function useRestartOnDone(upgradeResult: SyncTargetUpgradeResult) {
|
||||
useEffect(function() {
|
||||
if (upgradeResult.done && !upgradeResult.error) {
|
||||
void restart();
|
||||
bridge().restart();
|
||||
}
|
||||
}, [upgradeResult.done]);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import Button from './Button/Button';
|
||||
import { connect } from 'react-redux';
|
||||
import { AppState } from '../app.reducer';
|
||||
import { getEncryptionEnabled } from '@joplin/lib/services/synchronizer/syncInfoUtils';
|
||||
import SyncTargetRegistry from '@joplin/lib/SyncTargetRegistry';
|
||||
import SyncTargetRegistry from '../../lib/SyncTargetRegistry';
|
||||
const { clipboard } = require('electron');
|
||||
|
||||
interface Props {
|
||||
|
||||
@@ -275,5 +275,4 @@ Component-specific classes
|
||||
|
||||
.master-password-dialog .fa-times {
|
||||
color: var(--joplin-color-error);
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@joplin/app-desktop",
|
||||
"version": "2.8.7",
|
||||
"version": "2.7.14",
|
||||
"description": "Joplin for Desktop",
|
||||
"main": "main.js",
|
||||
"private": true,
|
||||
@@ -105,7 +105,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/laurent22/joplin#readme",
|
||||
"devDependencies": {
|
||||
"@joplin/tools": "~2.8",
|
||||
"@joplin/tools": "~2.7",
|
||||
"@testing-library/react-hooks": "^3.4.2",
|
||||
"@types/jest": "^26.0.15",
|
||||
"@types/node": "^14.14.6",
|
||||
@@ -116,6 +116,7 @@
|
||||
"app-builder-bin": "^1.9.11",
|
||||
"babel-cli": "^6.26.0",
|
||||
"babel-preset-react": "^6.24.1",
|
||||
"canvas": "^2.9.0",
|
||||
"electron": "14.1.0",
|
||||
"electron-builder": "^22.11.7",
|
||||
"electron-notarize": "^1.0.0",
|
||||
@@ -137,8 +138,8 @@
|
||||
"@electron/remote": "^2.0.1",
|
||||
"@fortawesome/fontawesome-free": "^5.13.0",
|
||||
"@joeattardi/emoji-button": "^4.6.0",
|
||||
"@joplin/lib": "~2.8",
|
||||
"@joplin/renderer": "~2.8",
|
||||
"@joplin/lib": "~2.7",
|
||||
"@joplin/renderer": "~2.7",
|
||||
"async-mutex": "^0.1.3",
|
||||
"codemirror": "^5.56.0",
|
||||
"color": "^3.1.2",
|
||||
|
||||
@@ -92,7 +92,7 @@ do
|
||||
echo "config sync.target 10" >> "$CMD_FILE"
|
||||
# echo "config sync.10.path http://api.joplincloud.local:22300" >> "$CMD_FILE"
|
||||
echo "config sync.10.username $USER_EMAIL" >> "$CMD_FILE"
|
||||
echo "config sync.10.password 111111" >> "$CMD_FILE"
|
||||
echo "config sync.10.password hunter1hunter2hunter3" >> "$CMD_FILE"
|
||||
|
||||
elif [[ $CMD == "e2ee" ]]; then
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import Logger from '@joplin/lib/Logger';
|
||||
import time from '@joplin/lib/time';
|
||||
|
||||
const logger = Logger.create('BackOffHandler');
|
||||
|
||||
@@ -10,39 +9,23 @@ const logger = Logger.create('BackOffHandler');
|
||||
// When a plugin needs to be throttled that way a warning is displayed so
|
||||
// that the author gets an opportunity to fix it.
|
||||
//
|
||||
// 2. If the plugin makes many simultaneous calls, the handler throws an
|
||||
// exception to stop the plugin. In that case the plugin will be broken, but
|
||||
// most plugins will not get this error anyway because call are usually made
|
||||
// in sequence. It might reveal a bug though - for example if the plugin
|
||||
// 2. If the plugin makes many simultaneous calls (over 100), the handler throws
|
||||
// an exception to stop the plugin. In that case the plugin will be broken,
|
||||
// but most plugins will not get this error anyway because call are usually
|
||||
// made in sequence. It might reveal a bug though - for example if the plugin
|
||||
// makes a call every 1 second, but does not wait for the response (or assume
|
||||
// the response will come in less than one second). In that case, the back
|
||||
// off intervals combined with the incorrect code will make the plugin fail.
|
||||
|
||||
export default class BackOffHandler {
|
||||
|
||||
// The current logic is:
|
||||
//
|
||||
// - Up to 1000 calls per 10 seconds without restrictions
|
||||
// - For calls 1000 to 2000, a 100 ms wait time is applied
|
||||
// - Over 2000 calls, a 200 ms wait time is applied
|
||||
// - After 10 seconds without making any call, the limits are reset (back to
|
||||
// 0 second between calls).
|
||||
//
|
||||
// If more than 5000 simultaneous calls are being throttled, it's a bug in
|
||||
// the plugin (not waiting for API responses), so we stop responding and
|
||||
// throw an error.
|
||||
|
||||
private backOffIntervals_ =
|
||||
Array(1000).fill(0).concat(
|
||||
Array(1000).fill(100)).concat(
|
||||
[200]);
|
||||
|
||||
private backOffIntervals_ = Array(100).fill(0).concat([0, 1, 1, 2, 3, 5, 8]);
|
||||
private lastRequestTime_ = 0;
|
||||
private pluginId_: string;
|
||||
private resetBackOffInterval_ = 10 * 1000;
|
||||
private resetBackOffInterval_ = (this.backOffIntervals_[this.backOffIntervals_.length - 1] + 1) * 1000;
|
||||
private backOffIndex_ = 0;
|
||||
private waitCount_ = 0;
|
||||
private maxWaitCount_ = 5000;
|
||||
private maxWaitCount_ = 100;
|
||||
|
||||
public constructor(pluginId: string) {
|
||||
this.pluginId_ = pluginId;
|
||||
@@ -68,13 +51,21 @@ export default class BackOffHandler {
|
||||
|
||||
this.waitCount_++;
|
||||
|
||||
logger.warn(`Plugin ${this.pluginId_}: Applying a backoff of ${interval} milliseconds due to frequent plugin API calls. Consider reducing the number of calls, caching the data, or requesting more data per call. API call was: `, path, args, `[Wait count: ${this.waitCount_}]`);
|
||||
// For now don't actually apply a backoff and don't abort.
|
||||
|
||||
if (this.waitCount_ > this.maxWaitCount_) throw new Error(`Plugin ${this.pluginId_}: More than ${this.maxWaitCount_} API calls are waiting - aborting. Please consider queuing the API calls in your plugins to reduce the load on the application.`);
|
||||
logger.warn(`Plugin ${this.pluginId_}: Applying a backoff of ${interval} seconds due to frequent plugin API calls. Consider reducing the number of calls, caching the data, or requesting more data per call. API call was: `, path, args, `[Wait count: ${this.waitCount_}]`);
|
||||
|
||||
await time.msleep(interval);
|
||||
if (this.waitCount_ > this.maxWaitCount_) logger.error(`Plugin ${this.pluginId_}: More than ${this.maxWaitCount_} API alls are waiting - aborting. Please consider queuing the API calls in your plugins to reduce the load on the application.`);
|
||||
|
||||
this.waitCount_--;
|
||||
|
||||
|
||||
|
||||
// if (this.waitCount_ > this.maxWaitCount_) throw new Error(`Plugin ${this.pluginId_}: More than ${this.maxWaitCount_} API alls are waiting - aborting. Please consider queuing the API calls in your plugins to reduce the load on the application.`);
|
||||
|
||||
// await time.sleep(interval);
|
||||
|
||||
// this.waitCount_--;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -157,8 +157,6 @@ export default class PluginRunner extends BasePluginRunner {
|
||||
const debugMappedArgs = fullPath.includes('setHtml') ? '<hidden>' : mappedArgs;
|
||||
logger.debug(`Got message (3): ${fullPath}`, debugMappedArgs);
|
||||
|
||||
this.recordCallStat(plugin.id);
|
||||
|
||||
try {
|
||||
await this.backOffHandler(plugin.id).wait(fullPath, debugMappedArgs);
|
||||
} catch (error) {
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import Setting from '@joplin/lib/models/Setting';
|
||||
import bridge from './bridge';
|
||||
|
||||
|
||||
export default async (linuxSafeRestart: boolean = true) => {
|
||||
Setting.setValue('wasClosedSuccessfully', true);
|
||||
await Setting.saveAll();
|
||||
|
||||
bridge().restart(linuxSafeRestart);
|
||||
};
|
||||
@@ -147,7 +147,7 @@ android {
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 2097667
|
||||
versionName "2.8.0"
|
||||
versionName "2.7.2"
|
||||
ndk {
|
||||
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ class Dropdown extends React.Component {
|
||||
if (this.props.labelTransform && this.props.labelTransform === 'trim') headerLabel = headerLabel.trim();
|
||||
|
||||
const closeList = () => {
|
||||
if (this.props.onClose) this.props.onClose();
|
||||
if (this.props.onClose()) this.props.onClose();
|
||||
this.setState({ listVisible: false });
|
||||
};
|
||||
|
||||
@@ -116,7 +116,7 @@ class Dropdown extends React.Component {
|
||||
onPress={() => {
|
||||
this.updateHeaderCoordinates();
|
||||
this.setState({ listVisible: true });
|
||||
if (this.props.onOpen) this.props.onOpen();
|
||||
if (this.props.onOpen()) this.props.onOpen();
|
||||
}}
|
||||
>
|
||||
<Text ellipsizeMode="tail" numberOfLines={1} style={headerStyle}>
|
||||
|
||||
@@ -41,7 +41,7 @@ class ConfigScreenComponent extends BaseScreenComponent {
|
||||
|
||||
this.scrollViewRef_ = React.createRef();
|
||||
|
||||
shared.init(this, reg);
|
||||
shared.init(this);
|
||||
|
||||
this.checkSyncConfig_ = async () => {
|
||||
// to ignore TLS erros we need to chage the global state of the app, if the check fails we need to restore the original state
|
||||
@@ -413,7 +413,12 @@ class ConfigScreenComponent extends BaseScreenComponent {
|
||||
if (md.isEnum) {
|
||||
value = value.toString();
|
||||
|
||||
const items = Setting.enumOptionsToValueLabels(md.options(), md.optionsOrder ? md.optionsOrder() : []);
|
||||
const items = [];
|
||||
const settingOptions = md.options();
|
||||
for (const k in settingOptions) {
|
||||
if (!settingOptions.hasOwnProperty(k)) continue;
|
||||
items.push({ label: settingOptions[k], value: k.toString() });
|
||||
}
|
||||
|
||||
return (
|
||||
<View key={key} style={{ flexDirection: 'column', borderBottomWidth: 1, borderBottomColor: theme.dividerColor }}>
|
||||
|
||||
@@ -176,7 +176,7 @@ class NoteTagsDialogComponent extends React.Component {
|
||||
this.setState({ newTags: value });
|
||||
}}
|
||||
style={this.styles().tagBoxInput}
|
||||
placeholder={_('tag1, tag2, ...')}
|
||||
placeholder={_('tag1,tag2,...')}
|
||||
/>
|
||||
</View>
|
||||
<View style={this.styles().tagBox}>
|
||||
|
||||
@@ -492,13 +492,13 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Joplin/Joplin.entitlements;
|
||||
CURRENT_PROJECT_VERSION = 81;
|
||||
CURRENT_PROJECT_VERSION = 80;
|
||||
DEVELOPMENT_TEAM = A9BXAFS6CT;
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Joplin/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
MARKETING_VERSION = 12.8.0;
|
||||
MARKETING_VERSION = 12.7.1;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
@@ -521,12 +521,12 @@
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_ENTITLEMENTS = Joplin/Joplin.entitlements;
|
||||
CURRENT_PROJECT_VERSION = 81;
|
||||
CURRENT_PROJECT_VERSION = 80;
|
||||
DEVELOPMENT_TEAM = A9BXAFS6CT;
|
||||
INFOPLIST_FILE = Joplin/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
MARKETING_VERSION = 12.8.0;
|
||||
MARKETING_VERSION = 12.7.1;
|
||||
OTHER_LDFLAGS = (
|
||||
"$(inherited)",
|
||||
"-ObjC",
|
||||
@@ -667,14 +667,14 @@
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 81;
|
||||
CURRENT_PROJECT_VERSION = 80;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEVELOPMENT_TEAM = A9BXAFS6CT;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
INFOPLIST_FILE = ShareExtension/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
MARKETING_VERSION = 12.8.0;
|
||||
MARKETING_VERSION = 12.7.1;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = net.cozic.joplin.ShareExtension;
|
||||
@@ -698,14 +698,14 @@
|
||||
CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 81;
|
||||
CURRENT_PROJECT_VERSION = 80;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = A9BXAFS6CT;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
INFOPLIST_FILE = ShareExtension/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
|
||||
MARKETING_VERSION = 12.8.0;
|
||||
MARKETING_VERSION = 12.7.1;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = net.cozic.joplin.ShareExtension;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "@joplin/app-mobile",
|
||||
"description": "Joplin for Mobile",
|
||||
"license": "MIT",
|
||||
"version": "2.8.0",
|
||||
"version": "0.8.9",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "react-native start --reset-cache",
|
||||
@@ -15,8 +15,8 @@
|
||||
"postinstall": "jetify && yarn run build"
|
||||
},
|
||||
"dependencies": {
|
||||
"@joplin/lib": "~2.8",
|
||||
"@joplin/renderer": "~2.8",
|
||||
"@joplin/lib": "~2.6",
|
||||
"@joplin/renderer": "~2.6",
|
||||
"@react-native-community/clipboard": "^1.5.0",
|
||||
"@react-native-community/datetimepicker": "^3.0.3",
|
||||
"@react-native-community/geolocation": "^2.0.2",
|
||||
@@ -75,7 +75,7 @@
|
||||
"@codemirror/lang-markdown": "^0.18.4",
|
||||
"@codemirror/state": "^0.18.7",
|
||||
"@codemirror/view": "^0.18.19",
|
||||
"@joplin/tools": "~2.8",
|
||||
"@joplin/tools": "~2.6",
|
||||
"@rollup/plugin-node-resolve": "^13.0.0",
|
||||
"@rollup/plugin-typescript": "^8.2.1",
|
||||
"@types/node": "^14.14.6",
|
||||
|
||||
@@ -507,7 +507,7 @@ async function initialize(dispatch: Function) {
|
||||
|
||||
// Setting.setValue('sync.target', 10);
|
||||
// Setting.setValue('sync.10.username', 'user1@example.com');
|
||||
// Setting.setValue('sync.10.password', '111111');
|
||||
// Setting.setValue('sync.10.password', 'hunter1hunter2hunter3');
|
||||
}
|
||||
|
||||
if (Setting.value('db.ftsEnabled') === -1) {
|
||||
|
||||
@@ -36,50 +36,6 @@ function shimInit() {
|
||||
return temp;
|
||||
};
|
||||
|
||||
// This function can be used to debug "Network Request Failed" errors. It
|
||||
// uses the native XMLHttpRequest which is more likely to get the proper
|
||||
// response and error message.
|
||||
|
||||
shim.debugFetch = async (url, options = null) => {
|
||||
options = {
|
||||
method: 'GET',
|
||||
headers: {},
|
||||
...options,
|
||||
};
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
const xhr = new XMLHttpRequest();
|
||||
xhr.open(options.method, url, true);
|
||||
|
||||
for (const [key, value] of Object.entries(options.headers)) {
|
||||
xhr.setRequestHeader(key, value);
|
||||
}
|
||||
|
||||
xhr.onload = function() {
|
||||
console.info('======================== XHR RESPONSE');
|
||||
console.info(xhr.getAllResponseHeaders());
|
||||
console.info('-------------------------------------');
|
||||
// console.info(xhr.responseText);
|
||||
console.info('======================== XHR RESPONSE');
|
||||
|
||||
resolve(xhr.responseText);
|
||||
};
|
||||
|
||||
xhr.onerror = function() {
|
||||
console.info('======================== XHR ERROR');
|
||||
console.info(xhr.getAllResponseHeaders());
|
||||
console.info('-------------------------------------');
|
||||
console.info(xhr.responseText);
|
||||
console.info('======================== XHR ERROR');
|
||||
|
||||
reject(new Error(xhr.responseText));
|
||||
};
|
||||
|
||||
// TODO: Send POST data here if needed
|
||||
xhr.send();
|
||||
});
|
||||
};
|
||||
|
||||
shim.fetch = async function(url, options = null) {
|
||||
// The native fetch() throws an uncatchable error that crashes the
|
||||
// app if calling it with an invalid URL such as '//.resource' or
|
||||
|
||||
@@ -15,7 +15,7 @@ import { Command } from './types';
|
||||
*
|
||||
* * [Main screen commands](https://github.com/laurent22/joplin/tree/dev/packages/app-desktop/gui/MainScreen/commands)
|
||||
* * [Global commands](https://github.com/laurent22/joplin/tree/dev/packages/app-desktop/commands)
|
||||
* * [Editor commands](https://github.com/laurent22/joplin/tree/dev/packages/app-desktop/gui/NoteEditor/editorCommandDeclarations.ts)
|
||||
* * [Editor commands](https://github.com/laurent22/joplin/tree/dev/packages/app-desktop/gui/NoteEditor/commands/editorCommandDeclarations.ts)
|
||||
*
|
||||
* To view what arguments are supported, you can open any of these files
|
||||
* and look at the `execute()` command.
|
||||
|
||||
@@ -16,12 +16,8 @@ interface ItemChangeEvent {
|
||||
interface SyncStartEvent {
|
||||
withErrors: boolean;
|
||||
}
|
||||
interface ResourceChangeEvent {
|
||||
id: string;
|
||||
}
|
||||
declare type ItemChangeHandler = (event: ItemChangeEvent)=> void;
|
||||
declare type SyncStartHandler = (event: SyncStartEvent)=> void;
|
||||
declare type ResourceChangeHandler = (event: ResourceChangeEvent)=> void;
|
||||
/**
|
||||
* The workspace service provides access to all the parts of Joplin that
|
||||
* are being worked on - i.e. the currently selected notes or notebooks as
|
||||
@@ -46,11 +42,6 @@ export default class JoplinWorkspace {
|
||||
* Called when the content of the current note changes.
|
||||
*/
|
||||
onNoteChange(handler: ItemChangeHandler): Promise<Disposable>;
|
||||
/**
|
||||
* Called when a resource is changed. Currently this handled will not be
|
||||
* called when a resource is added or deleted.
|
||||
*/
|
||||
onResourceChange(handler: ResourceChangeHandler): Promise<void>;
|
||||
/**
|
||||
* Called when an alarm associated with a to-do is triggered.
|
||||
*/
|
||||
|
||||
@@ -297,7 +297,7 @@ export interface MenuItem {
|
||||
/**
|
||||
* Set to "separator" to create a divider line
|
||||
*/
|
||||
type?: ('normal' | 'separator' | 'submenu' | 'checkbox' | 'radio');
|
||||
type?: string;
|
||||
|
||||
/**
|
||||
* Accelerator associated with the menu item
|
||||
@@ -364,12 +364,6 @@ export enum SettingItemType {
|
||||
Button = 6,
|
||||
}
|
||||
|
||||
export enum SettingItemSubType {
|
||||
FilePathAndArgs = 'file_path_and_args',
|
||||
FilePath = 'file_path', // Not supported on mobile!
|
||||
DirectoryPath = 'directory_path', // Not supported on mobile!
|
||||
}
|
||||
|
||||
export enum AppType {
|
||||
Desktop = 'desktop',
|
||||
Mobile = 'mobile',
|
||||
@@ -387,12 +381,6 @@ export interface SettingItem {
|
||||
value: any;
|
||||
type: SettingItemType;
|
||||
|
||||
/**
|
||||
* Currently only used to display a file or directory selector. Always set
|
||||
* `type` to `SettingItemType.String` when using this property.
|
||||
*/
|
||||
subType?: SettingItemSubType;
|
||||
|
||||
label: string;
|
||||
description?: string;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"id": "<%= pluginId %>",
|
||||
"app_min_version": "2.8",
|
||||
"app_min_version": "2.7",
|
||||
"version": "1.0.0",
|
||||
"name": "<%= pluginName %>",
|
||||
"description": "<%= pluginDescription %>",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "generator-joplin",
|
||||
"version": "2.8.1",
|
||||
"version": "2.7.3",
|
||||
"description": "Scaffolds out a new Joplin plugin",
|
||||
"homepage": "https://github.com/laurent22/joplin/tree/dev/packages/generator-joplin",
|
||||
"author": {
|
||||
|
||||
@@ -8,7 +8,7 @@ cd "$LIB_DIR"
|
||||
yarn run generatePluginTypes
|
||||
|
||||
cd "$SCRIPT_DIR"
|
||||
rsync -a --delete "$LIB_DIR/plugin_types/lib/services/plugins/api/" "$SCRIPT_DIR/generators/app/templates/api/"
|
||||
rsync -a --delete "$LIB_DIR/plugin_types/services/plugins/api/" "$SCRIPT_DIR/generators/app/templates/api/"
|
||||
cp "$LIB_DIR/services/plugins/api/types.ts" "$SCRIPT_DIR/generators/app/templates/api/"
|
||||
cp "$SCRIPT_DIR/generators/app/templates/api_index.ts" "$SCRIPT_DIR/generators/app/templates/api/index.ts"
|
||||
rm -f "$SCRIPT_DIR/generators/app/templates/api/types.d.ts"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@joplin/htmlpack",
|
||||
"version": "2.8.0",
|
||||
"version": "2.7.0",
|
||||
"description": "Pack an HTML file and all its linked resources into a single HTML file",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -738,7 +738,7 @@ export default class BaseApplication {
|
||||
Setting.setConstant('tempDir', tempDir);
|
||||
Setting.setConstant('pluginDataDir', `${profileDir}/plugin-data`);
|
||||
Setting.setConstant('cacheDir', cacheDir);
|
||||
Setting.setConstant('pluginDir', `${rootProfileDir}/plugins`);
|
||||
Setting.setConstant('pluginDir', `${profileDir}/plugins`);
|
||||
|
||||
SyncTargetRegistry.addClass(SyncTargetNone);
|
||||
SyncTargetRegistry.addClass(SyncTargetFilesystem);
|
||||
@@ -811,12 +811,8 @@ export default class BaseApplication {
|
||||
appLogger.info(`Client ID: ${Setting.value('clientId')}`);
|
||||
|
||||
if (Setting.value('firstStart')) {
|
||||
// If it's a sub-profile, the locale must come from the root
|
||||
// profile.
|
||||
if (!Setting.value('isSubProfile')) {
|
||||
const locale = shim.detectAndSetLocale(Setting);
|
||||
reg.logger().info(`First start: detected locale as ${locale}`);
|
||||
}
|
||||
const locale = shim.detectAndSetLocale(Setting);
|
||||
reg.logger().info(`First start: detected locale as ${locale}`);
|
||||
|
||||
Setting.skipDefaultMigrations();
|
||||
|
||||
@@ -829,10 +825,9 @@ export default class BaseApplication {
|
||||
Setting.setValue('firstStart', 0);
|
||||
} else {
|
||||
Setting.applyDefaultMigrations();
|
||||
setLocale(Setting.value('locale'));
|
||||
}
|
||||
|
||||
setLocale(Setting.value('locale'));
|
||||
|
||||
if (Setting.value('env') === Env.Dev) {
|
||||
// Setting.setValue('sync.10.path', 'https://api.joplincloud.com');
|
||||
// Setting.setValue('sync.10.userContentPath', 'https://joplinusercontent.com');
|
||||
|
||||
@@ -83,15 +83,16 @@ export default class SyncTargetRegistry {
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
public static optionsOrder(): string[] {
|
||||
return [
|
||||
'0', // None
|
||||
'10', // Joplin Cloud
|
||||
'7', // Dropbox
|
||||
'3', // OneDrive
|
||||
];
|
||||
}
|
||||
// const sorted: Record<string, string> = {};
|
||||
// for (const o of syncTargetOrder) {
|
||||
// sorted[o] = output[o];
|
||||
// }
|
||||
|
||||
// for (const [name, value] of Object.entries(output)) {
|
||||
// if (!sorted[name]) sorted[name] = value;
|
||||
// }
|
||||
|
||||
// return sorted;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import TaskQueue from './TaskQueue';
|
||||
import ItemUploader from './services/synchronizer/ItemUploader';
|
||||
import { FileApi, RemoteItem } from './file-api';
|
||||
import JoplinDatabase from './JoplinDatabase';
|
||||
import { fetchSyncInfo, getActiveMasterKey, localSyncInfo, mergeSyncInfos, saveLocalSyncInfo, setMasterKeyHasBeenUsed, SyncInfo, syncInfoEquals, uploadSyncInfo } from './services/synchronizer/syncInfoUtils';
|
||||
import { fetchSyncInfo, getActiveMasterKey, localSyncInfo, mergeSyncInfos, saveLocalSyncInfo, SyncInfo, syncInfoEquals, uploadSyncInfo } from './services/synchronizer/syncInfoUtils';
|
||||
import { getMasterPassword, setupAndDisableEncryption, setupAndEnableEncryption } from './services/e2ee/utils';
|
||||
import { generateKeyPair } from './services/e2ee/ppk';
|
||||
import syncDebugLog from './services/synchronizer/syncDebugLog';
|
||||
@@ -439,13 +439,10 @@ export default class Synchronizer {
|
||||
let remoteInfo = await fetchSyncInfo(this.api());
|
||||
logger.info('Sync target remote info:', remoteInfo);
|
||||
|
||||
let syncTargetIsNew = false;
|
||||
|
||||
if (!remoteInfo.version) {
|
||||
logger.info('Sync target is new - setting it up...');
|
||||
await this.migrationHandler().upgrade(Setting.value('syncVersion'));
|
||||
remoteInfo = await fetchSyncInfo(this.api());
|
||||
syncTargetIsNew = true;
|
||||
}
|
||||
|
||||
logger.info('Sync target is already setup - checking it...');
|
||||
@@ -458,16 +455,11 @@ export default class Synchronizer {
|
||||
|
||||
localInfo = await this.setPpkIfNotExist(localInfo, remoteInfo);
|
||||
|
||||
if (syncTargetIsNew && localInfo.activeMasterKeyId) {
|
||||
localInfo = setMasterKeyHasBeenUsed(localInfo, localInfo.activeMasterKeyId);
|
||||
}
|
||||
|
||||
// console.info('LOCAL', localInfo);
|
||||
// console.info('REMOTE', remoteInfo);
|
||||
|
||||
if (!syncInfoEquals(localInfo, remoteInfo)) {
|
||||
let newInfo = mergeSyncInfos(localInfo, remoteInfo);
|
||||
if (newInfo.activeMasterKeyId) newInfo = setMasterKeyHasBeenUsed(newInfo, newInfo.activeMasterKeyId);
|
||||
const newInfo = mergeSyncInfos(localInfo, remoteInfo);
|
||||
const previousE2EE = localInfo.e2ee;
|
||||
logger.info('Sync target info differs between local and remote - merging infos: ', newInfo.toObject());
|
||||
|
||||
|
||||
@@ -3,35 +3,15 @@ const SyncTargetRegistry = require('../../SyncTargetRegistry').default;
|
||||
const ObjectUtils = require('../../ObjectUtils');
|
||||
const { _ } = require('../../locale');
|
||||
const { createSelector } = require('reselect');
|
||||
const Logger = require('@joplin/lib/Logger').default;
|
||||
|
||||
const logger = Logger.create('config/lib');
|
||||
|
||||
const shared = {};
|
||||
|
||||
shared.onSettingsSaved = () => {};
|
||||
|
||||
shared.init = function(comp, reg) {
|
||||
shared.init = function(comp) {
|
||||
if (!comp.state) comp.state = {};
|
||||
comp.state.checkSyncConfigResult = null;
|
||||
comp.state.settings = {};
|
||||
comp.state.changedSettingKeys = [];
|
||||
comp.state.showAdvancedSettings = false;
|
||||
|
||||
shared.onSettingsSaved = (event) => {
|
||||
const savedSettingKeys = event.savedSettingKeys;
|
||||
|
||||
// After changing the sync settings we immediately trigger a sync
|
||||
// operation. This will ensure that the client gets the sync info as
|
||||
// early as possible, in particular the encryption state (encryption
|
||||
// keys, whether it's enabled, etc.). This should prevent situations
|
||||
// where the user tried to setup E2EE on the client even though it's
|
||||
// already been done on another client.
|
||||
if (savedSettingKeys.find(s => s.startsWith('sync.'))) {
|
||||
logger.info('Sync settings have been changed - scheduling a sync');
|
||||
void reg.scheduleSync();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
shared.advancedSettingsButton_click = (comp) => {
|
||||
@@ -99,8 +79,6 @@ shared.scheduleSaveSettings = function(comp) {
|
||||
};
|
||||
|
||||
shared.saveSettings = function(comp) {
|
||||
const savedSettingKeys = comp.state.changedSettingKeys.slice();
|
||||
|
||||
for (const key in comp.state.settings) {
|
||||
if (!comp.state.settings.hasOwnProperty(key)) continue;
|
||||
if (comp.state.changedSettingKeys.indexOf(key) < 0) continue;
|
||||
@@ -108,8 +86,6 @@ shared.saveSettings = function(comp) {
|
||||
}
|
||||
|
||||
comp.setState({ changedSettingKeys: [] });
|
||||
|
||||
shared.onSettingsSaved({ savedSettingKeys });
|
||||
};
|
||||
|
||||
shared.settingsToComponents = function(comp, device, settings) {
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
/* eslint-disable import/prefer-default-export */
|
||||
|
||||
export const isInsideContainer = (node: any, className: string): boolean => {
|
||||
while (node) {
|
||||
if (node.classList && node.classList.contains(className)) return true;
|
||||
node = node.parentNode;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
@@ -124,15 +124,8 @@ class FileApiDriverDropbox {
|
||||
if (!options.responseFormat) options.responseFormat = 'text';
|
||||
|
||||
try {
|
||||
// IMPORTANT:
|
||||
//
|
||||
// We cannot use POST here, because iOS (as of version 14?) doesn't
|
||||
// support POST requests with an empty body:
|
||||
//
|
||||
// https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/Error-1017-quot-cannot-parse-response-quot/td-p/589595
|
||||
|
||||
const response = await this.api().exec(
|
||||
'GET',
|
||||
'POST',
|
||||
'files/download',
|
||||
null,
|
||||
{
|
||||
|
||||
25
packages/lib/geolocation-node.js
Normal file
25
packages/lib/geolocation-node.js
Normal file
@@ -0,0 +1,25 @@
|
||||
const shim = require('./shim').default;
|
||||
|
||||
class GeolocationNode {
|
||||
static async currentPosition(options = null) {
|
||||
if (!options) options = {};
|
||||
|
||||
let response = await shim.fetch('https://freegeoip.app/json/');
|
||||
if (!response.ok) throw new Error(`Could not get geolocation: ${await response.text()}`);
|
||||
|
||||
response = await response.json();
|
||||
|
||||
if (!('latitude' in response) || !('longitude' in response)) throw new Error(`Invalid geolocation response: ${response ? JSON.stringify(response) : '<null>'}`);
|
||||
|
||||
return {
|
||||
timestamp: new Date().getTime(),
|
||||
coords: {
|
||||
longitude: response.longitude,
|
||||
altitude: 0,
|
||||
latitude: response.latitude,
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { GeolocationNode };
|
||||
@@ -1,76 +0,0 @@
|
||||
import Logger from './Logger';
|
||||
import shim from './shim';
|
||||
|
||||
const logger = Logger.create('geolocation-node');
|
||||
|
||||
interface CurrentPositionResponseCoordinates {
|
||||
longitude: number;
|
||||
latitude: number;
|
||||
altitude: number;
|
||||
}
|
||||
|
||||
interface CurrentPositionResponse {
|
||||
timestamp: number;
|
||||
coords: CurrentPositionResponseCoordinates;
|
||||
}
|
||||
|
||||
interface CurrentPositionOptions {}
|
||||
|
||||
type GeoipService = ()=> Promise<CurrentPositionResponse>;
|
||||
|
||||
const fetchJson = async (url: string): Promise<any> => {
|
||||
let r = await shim.fetch(url);
|
||||
if (!r.ok) throw new Error(`Could not get geolocation: ${await r.text()}`);
|
||||
r = await r.json();
|
||||
return r;
|
||||
};
|
||||
|
||||
const geoipServices: Record<string, GeoipService> = {
|
||||
|
||||
ipwhois: async (): Promise<CurrentPositionResponse> => {
|
||||
const r = await fetchJson('https://ipwho.is/');
|
||||
if (!('latitude' in r) || !('longitude' in r)) throw new Error(`Invalid geolocation response: ${r ? JSON.stringify(r) : '<null>'}`);
|
||||
|
||||
return {
|
||||
timestamp: Date.now(),
|
||||
coords: {
|
||||
longitude: r.longitude,
|
||||
altitude: 0,
|
||||
latitude: r.latitude,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
geoplugin: async (): Promise<CurrentPositionResponse> => {
|
||||
const r = await fetchJson('http://www.geoplugin.net/json.gp');
|
||||
if (!('geoplugin_latitude' in r) || !('geoplugin_longitude' in r)) throw new Error(`Invalid geolocation response: ${r ? JSON.stringify(r) : '<null>'}`);
|
||||
|
||||
return {
|
||||
timestamp: Date.now(),
|
||||
coords: {
|
||||
longitude: Number(r.geoplugin_longitude),
|
||||
altitude: 0,
|
||||
latitude: Number(r.geoplugin_latitude),
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
export default class {
|
||||
static async currentPosition(options: CurrentPositionOptions = null) {
|
||||
if (!options) options = {};
|
||||
|
||||
for (const [serviceName, handler] of Object.entries(geoipServices)) {
|
||||
try {
|
||||
const response = await handler();
|
||||
return response;
|
||||
} catch (error) {
|
||||
logger.warn(`Could not get geolocation from service "${serviceName}"`);
|
||||
logger.warn(error);
|
||||
}
|
||||
}
|
||||
|
||||
throw new Error('Could not get geolocation from any of the services');
|
||||
}
|
||||
}
|
||||
@@ -51,8 +51,6 @@
|
||||
"Add recipient:": "Afegeix un destinatari:",
|
||||
"Add title": "Afegeix títol",
|
||||
"Add to dictionary": "Afegeix al diccionari",
|
||||
"Admin": "Administració",
|
||||
"Admin dashboard": "Tauler d'administració",
|
||||
"Advanced options": "Opcions avançades",
|
||||
"Advanced tools": "Opcions avançades",
|
||||
"All notes": "Totes les notes",
|
||||
@@ -79,9 +77,7 @@
|
||||
"Authentication was not completed (did not receive an authentication token).": "No s'ha completat l'autenticació (no ha rebut el testimoni d'autenticació).",
|
||||
"Authorisation token:": "Testimoni d'autorització:",
|
||||
"Auto": "Automàtic",
|
||||
"Auto-add disabled accounts for deletion": "Afegeix automàticament per a eliminar els comptes deshabilitats",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Aparellament automàtic de claus, parèntesis, cites, etc.",
|
||||
"Automatically check for updates": "Comprova les actualitzacions automàticament",
|
||||
"Automatically switch theme to match system theme": "Canvia de tema automàticament per a coincidir amb el tema del sistema",
|
||||
"Back": "Enrere",
|
||||
"Bold": "Negreta",
|
||||
@@ -136,7 +132,6 @@
|
||||
"Completed": "Finalitzat",
|
||||
"Completed decryption.": "El desxifratge ha finalitzat.",
|
||||
"Completed: %s (%s)": "Completat: %s (%s)",
|
||||
"Compress old changes": "Comprimeix els canvis vells",
|
||||
"Configuration": "Configuració",
|
||||
"Confirm password cannot be empty": "El camp *Confirma la contrasenya* no pot ser buit",
|
||||
"Confirm password:": "Confirmeu la contrasenya:",
|
||||
@@ -150,7 +145,6 @@
|
||||
"Copy": "Copia",
|
||||
"Copy dev mode command to clipboard": "Copia l'ordre en mode de desenvolupament al porta-retalls",
|
||||
"Copy external link": "Copia l'enllaç extern",
|
||||
"Copy image": "Copia la imatge",
|
||||
"Copy Link Address": "Copia l'adreça de l'enllaç",
|
||||
"Copy Markdown link": "Copia l'enllaç Markdown",
|
||||
"Copy path to clipboard": "Copia el camí al porta-retalls",
|
||||
@@ -165,8 +159,6 @@
|
||||
"Could not upgrade master key: %s": "No s'ha pogut actualitzar la clau mestra: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "No s'ha pogut verificar l'estat de compartició d'aquest bloc de notes - s'està avortant. Torneu a provar quan tingueu connexió a Internet.",
|
||||
"Create a notebook": "Crea un bloc de notes nou",
|
||||
"Create notebook": "Crea un bloc de notes",
|
||||
"Create user": "Crea un usuari",
|
||||
"Created": "Creació",
|
||||
"created date": "data de creació",
|
||||
"Created local items: %d.": "Elements locals creats: %d.",
|
||||
@@ -188,7 +180,6 @@
|
||||
"Custom TLS certificates": "Certificats TLS personalitzats",
|
||||
"Cut": "Retalla",
|
||||
"Dark": "Fosc",
|
||||
"Dashboard": "Tauler de control",
|
||||
"Database v%s": "Base de dades v%s",
|
||||
"Date": "Data",
|
||||
"Date format": "Format de data",
|
||||
@@ -200,8 +191,6 @@
|
||||
"Default: %s": "Per defecte: %s",
|
||||
"Delete": "Suprimeix",
|
||||
"Delete attachment \"%s\"?": "Voleu suprimir l'adjunt \"%s\"?",
|
||||
"Delete expired sessions": "Suprimeix les sessions expirades",
|
||||
"Delete expired tokens": "Suprimeix els tokens expirats",
|
||||
"Delete line": "Suprimeix la línia",
|
||||
"Delete local data and re-download from sync target": "Suprimeix les dades locals i torna a baixar de la destinació de sincronització",
|
||||
"Delete note \"%s\"?": "Voleu suprimir la nota \"%s\"?",
|
||||
@@ -266,8 +255,6 @@
|
||||
"Editor monospace font family": "Lletra d'amplada fixa de l'editor",
|
||||
"Either \"text\" or \"json\"": "«text» o «json»",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "Correu electrònic",
|
||||
"Emails": "Correus electrònics",
|
||||
"emphasised text": "text ressaltat",
|
||||
"Enable": "Activa",
|
||||
"Enable ++insert++ syntax": "Activa la sintaxi ++insert++",
|
||||
@@ -374,7 +361,6 @@
|
||||
"Idle": "Ociós",
|
||||
"Ignore": "Ignora",
|
||||
"Ignore TLS certificate errors": "Ignora els errors de certificat TLS",
|
||||
"Images": "Imatges",
|
||||
"Import": "Importació",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "S'està important el format de «%s» a «%s». Espereu...",
|
||||
"Importing notes...": "S'estan important notes...",
|
||||
@@ -453,7 +439,6 @@
|
||||
"Login with Dropbox": "Inicia sessió amb Dropbox",
|
||||
"Login with OneDrive": "Inicia sessió amb OneDrive",
|
||||
"Logout": "Desconnecta",
|
||||
"Logs": "Registres",
|
||||
"Make a donation": "Donatius",
|
||||
"Manage master password": "Gestiona la contrasenya mestra",
|
||||
"Manage master password...": "Gestiona la contrasenya mestra...",
|
||||
@@ -554,7 +539,6 @@
|
||||
"Operation cancelled": "L'operació s'ha cancel·lat",
|
||||
"Options": "Opcions",
|
||||
"Or create an account.": "O creeu un compte.",
|
||||
"Other applications...": "Altres aplicacions",
|
||||
"Output format: %s": "Format destí: %s",
|
||||
"Page orientation for PDF export": "Orientació de la pàgina per exportació a PDF",
|
||||
"Page size for PDF export": "Mida de la pàgina per exportació a PDF",
|
||||
@@ -567,6 +551,7 @@
|
||||
"PDF File": "Fitxer PDF",
|
||||
"Permission needed": "Cal permís",
|
||||
"Permission to use camera": "Permís per a utilitzar la càmera",
|
||||
"Please click on \"%s\" to proceed": "Feu clic a \"%s\" per a continuar",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Confirmeu que voleu tornar a xifrar la vostra base de dades completa.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Entreu la vostra contrasenya en la llista de claus mestres d'aquí a sota abans d'actualitzar la clau.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Teniu en compte que si és un bloc de notes llarg, pot necessitar uns quants minuts fins que totes les notes es mostren al dispositiu del destinatari.",
|
||||
@@ -595,10 +580,6 @@
|
||||
"Previous versions of this note": "Versions prèvies d'aquesta nota",
|
||||
"Print": "Imprimeix",
|
||||
"Privacy Policy": "Política de privacitat",
|
||||
"Process failed payment subscriptions": "Processa els pagaments de subscripcions fallits",
|
||||
"Process oversized accounts": "Processa els comptes més grans del permés",
|
||||
"Process user deletions": "Processa les supressions d'usuaris",
|
||||
"Profile": "Perfil",
|
||||
"Profile Version: %s": "Versió del perfil: %s",
|
||||
"Properties": "Propietats",
|
||||
"Public-private key pair:": "Parell de claus pública-privada:",
|
||||
@@ -661,8 +642,6 @@
|
||||
"See the pre-release page for more details: %s": "Consulta la pàgina de prellançament per a més detalls: %s",
|
||||
"Select": "Selecciona",
|
||||
"Select all": "Seleccioneu tot",
|
||||
"Select emoji...": "Selecciona un emoji...",
|
||||
"Select file...": "Selecciona un fitxer...",
|
||||
"Server is already running on port %d": "El servidor ja està corrent en el port %d",
|
||||
"Server is not running.": "El servidor no està corrent.",
|
||||
"Server is running on port %d": "El servidor està corrent en el port %d",
|
||||
@@ -853,8 +832,6 @@
|
||||
"Unsupported link or message: %s": "Missatge o enllaç no suportat: %s",
|
||||
"Untitled": "Sense títol",
|
||||
"Update": "Actualització",
|
||||
"Update profile": "Actualitza el perfil",
|
||||
"Update total sizes": "Actualitza les mides totals",
|
||||
"Updated": "Actualització",
|
||||
"updated date": "data d'actualització",
|
||||
"Updated local items: %d.": "Elements locals actualitzats: %d.",
|
||||
@@ -874,7 +851,6 @@
|
||||
"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.": "Utilitzeu això per a reconstruir l'índex de cerca si hi ha un problema amb la cerca. Pot trigar molt en funció del nombre de notes.",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "S'utilitza per a la majoria de text a l'editor Markdown. Si no es troba, s'utilitza un tipus de lletra genèric proporcional (amplada variable).",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "S'utilitza quan es necessita un tipus de lletra d'amplada fixa per a mostrar text de manera llegible (p. ex. taules, caselles de selecció, codi). Si no es troba, s'utilitza un tipus de lletra genèric monoespai (amplada fixa).",
|
||||
"User deletions": "Supressions d'usuari",
|
||||
"Users": "Usuaris",
|
||||
"Valid": "Vàlid",
|
||||
"View": "Vista",
|
||||
@@ -905,6 +881,7 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Podeu utilitzar l'eina següent per tornar a xifrar les vostres dades, per exemple si sabeu que algunes de les vostres notes estan xifrades amb un mètode de xifratge obsolet.",
|
||||
"Your choice: ": "La vostra tria: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Les vostres dades es tornaran a xifrar i sincronitzar.",
|
||||
"Your master password is needed to decrypt some of your data.": "La contrasenya mestra és necessària per a desxifrar algunes dades.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "La contrasenya és necessària per a desxifrar algunes dades. Teclegeu `:e2ee decrypt` per definir-la.",
|
||||
"Your permission to use your camera is required.": "Es necessita el vostre permís per a utilitzar la càmera.",
|
||||
"Your version: %s": "La vostra versió: %s",
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
"Authentication was not completed (did not receive an authentication token).": "Godkendelse blev ikke fuldført (modtog ikke autorisationstoken).",
|
||||
"Authorisation token:": "Autoriseringstoken:",
|
||||
"Auto": "Auto",
|
||||
"Auto-add disabled accounts for deletion": "Føj automatisk deaktiverede konti til sletning",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Auto-par klammer, parenteser, citater, etc.",
|
||||
"Automatically check for updates": "Tjek automatisk efter opdateringer",
|
||||
"Automatically switch theme to match system theme": "Skifter automatisk tema så det matcher systemets tema",
|
||||
@@ -136,7 +135,6 @@
|
||||
"Completed": "Fuldført",
|
||||
"Completed decryption.": "Dekryptering færdig.",
|
||||
"Completed: %s (%s)": "Fuldført: %s (%s)",
|
||||
"Compress old changes": "Komprimér gamle ændringer",
|
||||
"Configuration": "Indstillinger",
|
||||
"Confirm password cannot be empty": "Bekræftelsen af adgangskode må ikke være tom",
|
||||
"Confirm password:": "Bekræft adgangskode:",
|
||||
@@ -200,8 +198,6 @@
|
||||
"Default: %s": "Standard: %s",
|
||||
"Delete": "Slet",
|
||||
"Delete attachment \"%s\"?": "Slet venhæftning \"%s\"?",
|
||||
"Delete expired sessions": "Slet udløbne sessioner",
|
||||
"Delete expired tokens": "Slet udløbne tokens",
|
||||
"Delete line": "Slet linje",
|
||||
"Delete local data and re-download from sync target": "Slet lokal data og download igen fra synkroniseringsmål",
|
||||
"Delete note \"%s\"?": "Slet noten \"%s\"?",
|
||||
@@ -266,8 +262,6 @@
|
||||
"Editor monospace font family": "Editor monospace skrifttypefamilie",
|
||||
"Either \"text\" or \"json\"": "Enten \"text\" eller \"json\"",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "E-mail",
|
||||
"Emails": "E-mails",
|
||||
"emphasised text": "fremhævet tekst",
|
||||
"Enable": "Aktivér",
|
||||
"Enable ++insert++ syntax": "Aktivér ++insert++ syntaks",
|
||||
@@ -374,7 +368,6 @@
|
||||
"Idle": "Ledig",
|
||||
"Ignore": "Ignorér",
|
||||
"Ignore TLS certificate errors": "Ignorer TLS certifikat-fejl",
|
||||
"Images": "Billeder",
|
||||
"Import": "Importer",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "Importerer fra \"%s\" som \"%s\"-format. Vent venligst...",
|
||||
"Importing notes...": "Importerer noter...",
|
||||
@@ -554,7 +547,6 @@
|
||||
"Operation cancelled": "Udførelse annulleret",
|
||||
"Options": "Indstillinger",
|
||||
"Or create an account.": "Eller opret en konto.",
|
||||
"Other applications...": "Andre applikationer...",
|
||||
"Output format: %s": "Output-format: %s",
|
||||
"Page orientation for PDF export": "Sideretning for PDF eksport",
|
||||
"Page size for PDF export": "Sidestørrelse for PDF eksport",
|
||||
@@ -567,6 +559,7 @@
|
||||
"PDF File": "PDF-fil",
|
||||
"Permission needed": "Tilladelse nødvendig",
|
||||
"Permission to use camera": "Tilladelse til at bruge kameraet",
|
||||
"Please click on \"%s\" to proceed": "Klik på \"%s\" for at fortsætte",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Bekræft venligst at du ønsker at genkryptere hele din database.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Indtast din adgangskode i hovednøglelisten nedenfor før opgradering af nøglen.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Bemærk, at hvis der er tale om en stor notesbog, kan det tage et par minutter, før alle noter vises på modtagerens enhed.",
|
||||
@@ -595,9 +588,6 @@
|
||||
"Previous versions of this note": "Tidligere udgaver af denne note",
|
||||
"Print": "Udskriv",
|
||||
"Privacy Policy": "Privatlivspolitik",
|
||||
"Process failed payment subscriptions": "Behandl mislykkede betalingsabonnementer",
|
||||
"Process oversized accounts": "Behandl for store konti",
|
||||
"Process user deletions": "Behandl brugersletninger",
|
||||
"Profile": "Profil",
|
||||
"Profile Version: %s": "Profil-version: %s",
|
||||
"Properties": "Egenskaber",
|
||||
@@ -661,8 +651,6 @@
|
||||
"See the pre-release page for more details: %s": "Se for-udgivelsessiden for yderligere information: %s",
|
||||
"Select": "Vælg",
|
||||
"Select all": "Vælg alt",
|
||||
"Select emoji...": "Vælg emoji...",
|
||||
"Select file...": "Vælg fil...",
|
||||
"Server is already running on port %d": "Serveren kører allerede på port %d",
|
||||
"Server is not running.": "Serveren kører ikke.",
|
||||
"Server is running on port %d": "Serveren kører på port %d",
|
||||
@@ -854,7 +842,6 @@
|
||||
"Untitled": "Uden titel",
|
||||
"Update": "Opdater",
|
||||
"Update profile": "Opdater profil",
|
||||
"Update total sizes": "Opdater samlede størrelser",
|
||||
"Updated": "Opdateret",
|
||||
"updated date": "opdateringsdato",
|
||||
"Updated local items: %d.": "Opdaterede lokale emner: %d.",
|
||||
@@ -905,6 +892,7 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Du kan bruge værktøjet nedenfor til at genkryptere dine data for eksempel hvis du ved at nogle af dine noter er krypteret med en forældet krypteringsmetode.",
|
||||
"Your choice: ": "Dit valg: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Dine data bliver genkrypteret og synkroniseret igen.",
|
||||
"Your master password is needed to decrypt some of your data.": "Din hovedadgangskode er nødvendig for at dekryptere nogle af dine data.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Din adgangskode er nødvendig for at dekryptere nogle af dine data. Tast `:e2ee decrypt` for at indstille den.",
|
||||
"Your permission to use your camera is required.": "Din tilladelse til at bruge kameraet er påkrævet.",
|
||||
"Your version: %s": "Din version: %s",
|
||||
|
||||
@@ -79,7 +79,6 @@
|
||||
"Authentication was not completed (did not receive an authentication token).": "Authentifizierung wurde nicht abgeschlossen (keinen Authentifizierung-Token erhalten).",
|
||||
"Authorisation token:": "Berechtigungstoken:",
|
||||
"Auto": "Automatisch",
|
||||
"Auto-add disabled accounts for deletion": "Automatisches Hinzufügen deaktivierter Accounts zur Löschliste",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Automatisches Hinzufügen von geschweiften Klammern, runden Klammern, Anführungszeichen usw.",
|
||||
"Automatically check for updates": "Automatisch auf Aktualisierungen prüfen",
|
||||
"Automatically switch theme to match system theme": "Automatisch das Design ändern, um es dem System-Design anzupassen",
|
||||
@@ -374,7 +373,6 @@
|
||||
"Idle": "Wartend",
|
||||
"Ignore": "Ignorieren",
|
||||
"Ignore TLS certificate errors": "TLS-Zertifikatfehler ignorieren",
|
||||
"Images": "Bilder",
|
||||
"Import": "Importieren",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "Aus „%s“ im Format „%s“ wird importiert. Bitte warten ...",
|
||||
"Importing notes...": "Notizen werden importiert ...",
|
||||
@@ -554,7 +552,6 @@
|
||||
"Operation cancelled": "Vorgang abgebrochen",
|
||||
"Options": "Optionen",
|
||||
"Or create an account.": "Oder erstelle ein Konto.",
|
||||
"Other applications...": "Andere Anwendungen...",
|
||||
"Output format: %s": "Ausgabeformat: %s",
|
||||
"Page orientation for PDF export": "Seitenausrichtung für den PDF-Export",
|
||||
"Page size for PDF export": "Seitengröße für den PDF-Export",
|
||||
@@ -567,6 +564,7 @@
|
||||
"PDF File": "PDF-Datei",
|
||||
"Permission needed": "Berechtigung benötigt",
|
||||
"Permission to use camera": "Berechtigung zur Verwendung der Kamera",
|
||||
"Please click on \"%s\" to proceed": "Klicke bitte auf \"%s\" um fortzufahren",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Bitte bestätige, dass du deine gesamte Datenbank neu verschlüsseln möchtest.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Bitte gib zuerst dein Passwort in der unten stehenden Liste der Hauptschlüssel ein, bevor du den Schlüssel aktualisierst.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Wenn das Notizbuch sehr groß ist, kann es ein paar Minuten dauern, bis alle Notizen auf dem Empfängergerät erscheinen.",
|
||||
@@ -661,8 +659,6 @@
|
||||
"See the pre-release page for more details: %s": "Weitere Informationen findest Du auf der Vorabversionsseite: %s",
|
||||
"Select": "Auswählen",
|
||||
"Select all": "Alles auswählen",
|
||||
"Select emoji...": "Emoji auswählen...",
|
||||
"Select file...": "Datei auswählen...",
|
||||
"Server is already running on port %d": "Server läuft bereits auf Port %d",
|
||||
"Server is not running.": "Server läuft nicht.",
|
||||
"Server is running on port %d": "Server läuft auf Port %d",
|
||||
@@ -905,6 +901,7 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Du kannst das folgende Werkzeug verwenden, um deine Daten erneut zu verschlüsseln, falls einige deiner Notizen mit einer veralteten Verschlüsselungsmethode verschlüsselt sein sollten.",
|
||||
"Your choice: ": "Deine Auswahl: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Deine Daten werden neu verschlüsselt und erneut synchronisiert.",
|
||||
"Your master password is needed to decrypt some of your data.": "Dein Master-Passwort ist nötig um einige deiner Daten zu entschlüsseln.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Dein Passwort ist nötig um einige deiner Daten zu entschlüsseln. Tippe „:e2ee decrypt“ um es zu setzen.",
|
||||
"Your permission to use your camera is required.": "Deine Zustimmung zur Verwendung deiner Kamera ist erforderlich.",
|
||||
"Your version: %s": "Deine Version: %s",
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
"%d notes match this pattern. Delete them?": "%d σημειώσεις ταιριάζουν. Θέλετε να διαγραφούν;",
|
||||
"%s %s (%s, %s)": "%s %s (%s, %s)",
|
||||
"%s (%s) could not be uploaded: %s": "%s (%s) δεν μπορούν να ανέβουν: %s",
|
||||
"%s (%s) would like to share a notebook with you.": "%s (%s) θα ήθελε να μοιραστεί μαζί σας ένα σημειωματάριο.",
|
||||
"%s (%s): %s": "%s (%s): %s",
|
||||
"%s (pre-release)": "%s (pre-release)",
|
||||
"%s - Copy": "%s - Αντίγραφο",
|
||||
@@ -27,7 +26,6 @@
|
||||
"&Tools": "&Εργαλεία",
|
||||
"&View": "&Εμφάνιση",
|
||||
"(%s)": "(%s)",
|
||||
"(None)": "(Κανένας)",
|
||||
"(wysiwyg: %s)": "(wysiwyg: %s)",
|
||||
"- Camera: to allow taking a picture and attaching it to a note.": "- Φωτογραφική μηχανή: για να μπορείτε να τραβήξετε μια φωτογραφία και να την προσαρτήσετε σε μια σημείωση.",
|
||||
"- Location: to allow attaching geo-location information to a note.": "- Τοποθεσία: να επιτρέπεται η επισύναψη πληροφοριών γεωγραφικής θέσης σε μια σημείωση.",
|
||||
@@ -41,18 +39,13 @@
|
||||
"accelerator": "επιταχυντής",
|
||||
"Accelerator \"%s\" is not valid.": "Ο επιταχυντής \"%s\" δεν είναι έγκυρος.",
|
||||
"Accelerator \"%s\" is used for \"%s\" and \"%s\" commands. This may lead to unexpected behaviour.": "Ο επιταχυντής \"%s\" χρησιμοποιείται για εντολές \"%s\" και \"%s\". Αυτό μπορεί να οδηγήσει σε απροσδόκητη συμπεριφορά.",
|
||||
"Accept": "Αποδοχή",
|
||||
"Action": "Ενέργεια",
|
||||
"Actions": "Ενέργειες",
|
||||
"Active": "Ενεργό",
|
||||
"Actual Size": "Πραγματικό μέγεθος",
|
||||
"Add body": "Προσθήκη σώματος κειμένου",
|
||||
"Add or remove tags:": "Προσθήκη ή διαγραφή ετικετών:",
|
||||
"Add recipient:": "Προσθήκη παραλήπτη:",
|
||||
"Add title": "Προσθήκη τίτλου",
|
||||
"Add to dictionary": "Add to dictionary",
|
||||
"Admin": "Διαχειριστής",
|
||||
"Admin dashboard": "Πίνακας ελέγχου διαχειριστή",
|
||||
"Advanced options": "Επιλογές για προχωρημένους",
|
||||
"Advanced tools": "Προηγμένα εργαλεία",
|
||||
"All notes": "Όλες οι σημειώσεις",
|
||||
@@ -70,7 +63,6 @@
|
||||
"Attach photo": "Επισυνάψτε μία φωτογραφία",
|
||||
"Attach...": "Επισύναψη...",
|
||||
"Attaches the given file to the note.": "Προσθέτει το καθορισμένο αρχείο στη σημείωση.",
|
||||
"attachment": "επισυναπτόμενο",
|
||||
"Attachment conflict: \"%s\"": "Διένεξη συνημμένου: \"%s\"",
|
||||
"Attachment download behaviour": "Συμπεριφορά λήψης συνημμένων",
|
||||
"Attachments": "Επισυναπτόμενα",
|
||||
@@ -79,9 +71,7 @@
|
||||
"Authentication was not completed (did not receive an authentication token).": "Ο έλεγχος ταυτότητας δεν ολοκληρώθηκε (δεν παρελήφθει κανένα authentication token).",
|
||||
"Authorisation token:": "Token εξουσιοδότησης:",
|
||||
"Auto": "Αυτόματα",
|
||||
"Auto-add disabled accounts for deletion": "Αυτόματη προσθήκη απενεργοποιημένων λογαριασμών για διαγραφή",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Αυτόματη-σύζευξη αγκίστρων, παρενθέσεων, εισαγωγικών, κ.λπ.",
|
||||
"Automatically check for updates": "Αυτόματος έλεγχος για ενημερώσεις",
|
||||
"Automatically switch theme to match system theme": "Αυτόματη εναλλαγή θέματος ώστε να ταιριάζει με το θέμα συστήματος",
|
||||
"Back": "Πίσω",
|
||||
"Bold": "Έντονη γραφή",
|
||||
@@ -102,9 +92,6 @@
|
||||
"Cannot move note to \"%s\" notebook": "Δεν είναι δυνατή η μετακίνηση της σημείωσης στο σημειωματάριο \"%s\"",
|
||||
"Cannot move notebook to this location": "Δεν είναι δυνατή η μετακίνηση του σημειωματάριου σε αυτήν τη θέση",
|
||||
"Cannot refresh token: authentication data is missing. Starting the synchronisation again may fix the problem.": "Δεν είναι δυνατή η ανανέωση του token: δεν υπάρχουν δεδομένα ελέγχου ταυτότητας. Η επανεκκίνηση του συγχρονισμού, μπορεί να διορθώσει το πρόβλημα.",
|
||||
"Cannot save %s \"%s\" because it is larger than the allowed limit (%s)": "Δεν είναι δυνατή η αποθήκευση του %s \"%s\" επειδή είναι μεγαλύτερο από το επιτρεπόμενο όριο (%s)",
|
||||
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) for this account": "Δεν είναι δυνατή η αποθήκευση του %s \"%s\" επειδή υπερβαίνει το συνολικό επιτρεπόμενο μέγεθος (%s) για αυτόν τον λογαριασμό",
|
||||
"Cannot share encrypted notebook with recipient %s because they have not enabled end-to-end encryption. They may do so from the screen Configuration > Encryption.": "Δεν είναι δυνατή η κοινή χρήση κρυπτογραφημένου σημειωματάριου με τον παραλήπτη %s επειδή δεν έχει ενεργοποιήσει την κρυπτογράφηση από άκρο σε άκρο. Μπορούν να το κάνουν από την οθόνη Διαμόρφωση > Κρυπτογράφηση.",
|
||||
"Change application layout": "Αλλαγή διάταξης εφαρμογής",
|
||||
"Change language": "Αλλαγή γλώσσας",
|
||||
"Characters": "Χαρακτήρες",
|
||||
@@ -126,31 +113,22 @@
|
||||
"Code": "Κώδικας",
|
||||
"Code Block": "Μπλοκ Κώδικα",
|
||||
"Code View": "Προβολή κώδικα",
|
||||
"Collaborate on notebooks with others": "Συνεργασία σε σημειωματάρια με άλλους",
|
||||
"Coming alarms": "Προσεχείς ειδοποιήσεις",
|
||||
"Comma-separated list of paths to directories to load the certificates from, or path to individual cert files. For example: /my/cert_dir, /other/custom.pem. Note that if you make changes to the TLS settings, you must save your changes before clicking on \"Check synchronisation configuration\".": "Λίστα διαδρομών από φακέλους, διαχωρισμένων με κόμμα, για τη φόρτωση των πιστοποιητικών, ή διαδρομή των μεμονωμένων αρχείων πιστοποιητικών. Για παράδειγμα: /my/cert_dir, /other/custom.pem. Σημειώστε ότι αν κάνετε αλλαγές στις ρυθμίσεις TLS, πρέπει να αποθηκεύσετε τις αλλαγές σας πριν κάνετε κλικ στο \"Έλεγχος ρύθμισης παραμέτρων συγχρονισμού\".",
|
||||
"command": "εντολή",
|
||||
"Command": "Εντολή",
|
||||
"Command palette": "Παλέτα εντολών",
|
||||
"Command palette...": "Παλέτα εντολών...",
|
||||
"Completed": "Ολοκληρώθηκε",
|
||||
"Completed decryption.": "Η αποκρυπτογράφηση ολοκληρώθηκε.",
|
||||
"Completed: %s (%s)": "Ολοκληρώθηκε: %s (%s)",
|
||||
"Compress old changes": "Συμπίεση παλαιών αλλαγών",
|
||||
"Configuration": "Ρυθμίσεις",
|
||||
"Confirm password cannot be empty": "Η επιβεβαίωση του κωδικού πρόσβασης δεν μπορεί να είναι κενή",
|
||||
"Confirm password:": "Επιβεβαίωση κωδικού πρόσβασης:",
|
||||
"Confirmation": "Επιβεβαίωση",
|
||||
"Conflicted: %d": "Με διένεξη: %d",
|
||||
"Conflicts": "Διενέξεις",
|
||||
"Conflicts (attachments)": "Διενέξεις (συνημμένα)",
|
||||
"Content provided by %s": "Περιεχόμενο που παρέχεται από %s",
|
||||
"Convert to note": "Μετατροπή σε σημείωση",
|
||||
"Convert to todo": "Μετατροπή σε to-do",
|
||||
"Copy": "Αντιγραφή",
|
||||
"Copy dev mode command to clipboard": "Αντιγραφή dev mode εντολής στο πρόχειρο",
|
||||
"Copy external link": "Αντιγραφή εξωτερικού συνδέσμου",
|
||||
"Copy image": "Αντιγραφή εικόνας",
|
||||
"Copy Link Address": "Αντιγραφή διεύθυνσης σύνδεσης",
|
||||
"Copy Markdown link": "Αντιγραφή συνδέσμου Markdown",
|
||||
"Copy path to clipboard": "Αντιγραφή διαδρομής στο πρόχειρο",
|
||||
@@ -158,21 +136,15 @@
|
||||
"Copy token": "Αντιγραφή token",
|
||||
"Could not authorise application:\n\n%s\n\nPlease try again.": "Δεν ήταν δυνατή η εξουσιοδότηση της εφαρμογής:\n\n%s\n\nΠαρακαλώ προσπαθήστε ξανά.",
|
||||
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": "Δεν ήταν δυνατή η σύνδεση με το διακομιστή Joplin. Ελέγξτε τις επιλογές συγχρονισμού στην οθόνη ρύθμισης παραμέτρων. Το πλήρες σφάλμα ήταν:\n\n%s",
|
||||
"Could not connect to plugin repository.": "Δεν ήταν δυνατή η σύνδεση στο plugin repository.",
|
||||
"Could not export notes: %s": "Δεν ήταν δυνατή η εξαγωγή σημειώσεων: %s",
|
||||
"Could not install plugin: %s": "Δεν ήταν δυνατή η εγκατάσταση του plugin: %s",
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Δεν μπόρεσε να ανταποκριθεί στην πρόσκληση. Προσπαθήστε ξανά ή επικοινωνήστε με τον ιδιοκτήτη του φορητού υπολογιστή, αν εξακολουθεί να το μοιράζεται.\n\nΤο σφάλμα ήταν: \"%s\"",
|
||||
"Could not upgrade master key: %s": "Δεν ήταν δυνατή η αναβάθμιση του master κλειδιού: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "Δεν ήταν δυνατή η επαλήθευση της κατάστασης κοινής χρήσης αυτού του φορητού υπολογιστή - διακοπή. Προσπαθήστε ξανά όταν συνδεθείτε στο διαδίκτυο.",
|
||||
"Create a notebook": "Δημιουργία σημειωματάριου",
|
||||
"Create notebook": "Δημιουργία σημειωματαρίου",
|
||||
"Create user": "Δημιουργία χρήστη",
|
||||
"Created": "Δημιουργήθηκε",
|
||||
"created date": "ημερομηνία δημιουργίας",
|
||||
"Created local items: %d.": "Δημιουργημένα τοπικά στοιχεία: %d.",
|
||||
"Created locally": "Δημιουργήθηκε τοπικά",
|
||||
"Created remote items: %d.": "Δημιουργημένα απομακρυσμένα στοιχεία: %d.",
|
||||
"Created: ": "Δημιουργήθηκε: ",
|
||||
"Created: %d.": "Δημιουργήθηκε: %d.",
|
||||
"Created: %s": "Δημιουργήθηκε: %s",
|
||||
"Creates a new note.": "Δημιουργεί μία νέα σημείωση.",
|
||||
@@ -188,9 +160,7 @@
|
||||
"Custom TLS certificates": "Custom πιστοποιητικά TLS",
|
||||
"Cut": "Αποκοπή",
|
||||
"Dark": "Dark",
|
||||
"Dashboard": "Οθόνη Διαχείρισης",
|
||||
"Database v%s": "Βάση Δεδομένων v%s",
|
||||
"Date": "Ημερομηνία",
|
||||
"Date format": "Μορφή ημερομηνίας",
|
||||
"days": "ημέρες",
|
||||
"Decrypted items: %d": "Αποκρυπτογραφημένα στοιχεία: %d",
|
||||
@@ -200,8 +170,6 @@
|
||||
"Default: %s": "Προεπιλογή: %s",
|
||||
"Delete": "Διαγραφή",
|
||||
"Delete attachment \"%s\"?": "Διαγραφή συνημμένου \"%s\";",
|
||||
"Delete expired sessions": "Διαγραφή ληγμένων συνεδριών",
|
||||
"Delete expired tokens": "Διαγραφή των ληγμένων token",
|
||||
"Delete line": "Διαγραφή γραμμής",
|
||||
"Delete local data and re-download from sync target": "Διαγραφή τοπικών δεδομένων και εκ νέου λήψη από τον προορισμό",
|
||||
"Delete note \"%s\"?": "Διαγραφή σημείωσης \"%s\";",
|
||||
@@ -210,7 +178,6 @@
|
||||
"Delete notebook? All notes and sub-notebooks within this notebook will also be deleted.": "Διαγραφή σημειωματάριου; Όλες οι σημειώσεις και τα υπο-σημειωματάρια θα διαγραφούν επίσης.",
|
||||
"Delete plugin \"%s\"?": "Διαγραφή plugin \"%s\";",
|
||||
"Delete these %d notes?": "Διαγραφή των σημειώσεων %d;",
|
||||
"Delete this invitation? The recipient will no longer have access to this shared notebook.": "Να διαγραφεί αυτή την πρόσκληση; Ο παραλήπτης δεν θα έχει πλέον πρόσβαση σε αυτό το κοινόχρηστο σημειωματάριο.",
|
||||
"Deleted local items: %d.": "Διαγραμμένα τοπικά στοιχεία: %d.",
|
||||
"Deleted remote items: %d.": "Διαγραμμένα απομακρυσμένα στοιχεία: %d.",
|
||||
"Deletes the given notebook.": "Διαγράφει το καθορισμένο σημειωματάριο.",
|
||||
@@ -220,7 +187,6 @@
|
||||
"Destination format: %s": "Μορφή προορισμού: %s",
|
||||
"Directory": "Φάκελος",
|
||||
"Directory to synchronise with (absolute path)": "Φάκελος για συγχρονισμό (absolute path)",
|
||||
"Disable": "Απενεργοποίηση",
|
||||
"Disable encryption": "Απενεργοποίηση κρυπτογράφησης",
|
||||
"Disable safe mode and restart": "Απενεργοποίηση ασφαλούς λειτουργίας και επανεκκίνηση",
|
||||
"Disable Web Clipper Service": "Απενεργοποίηση υπηρεσίας Web Clipper",
|
||||
@@ -239,7 +205,6 @@
|
||||
"Displays version information": "Εμφανίζει πληροφορίες έκδοσης",
|
||||
"Do it now": "Κάνε το τώρα",
|
||||
"Do not ask for confirmation.": "Χωρίς να ζητείται επιβεβαίωση.",
|
||||
"Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.": "Μην χάσετε τον κωδικό πρόσβασης, καθώς, για λόγους ασφαλείας, αυτός θα είναι ο *μόνος* τρόπος αποκρυπτογράφησης των δεδομένων! Για να ενεργοποιήσετε την κρυπτογράφηση, εισαγάγετε τον κωδικό πρόσβασής σας παρακάτω.",
|
||||
"Download": "Λήψη",
|
||||
"Download and install the relevant extension for your browser:": "Κάντε λήψη και εγκατάσταση της αντίστοιχης επέκτασης για το πρόγραμμα περιήγησής σας:",
|
||||
"Downloaded": "Έχουν ληφθεί",
|
||||
@@ -262,12 +227,9 @@
|
||||
"Editor font": "Γραμματοσειρά editor",
|
||||
"Editor font family": "Οικογένεια γραμματοσειράς editor",
|
||||
"Editor font size": "Μέγεθος γραμματοσειράς editor",
|
||||
"Editor maximum width": "Μέγιστο πλάτος editor",
|
||||
"Editor monospace font family": "Οικογένεια μονοδιαστημικών γραμματοσειρών επεξεργαστή",
|
||||
"Either \"text\" or \"json\"": "Είτε \"text\" ή \"json\"",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "Email",
|
||||
"Emails": "Emails",
|
||||
"emphasised text": "κείμενο με έμφαση",
|
||||
"Enable": "Ενεργό",
|
||||
"Enable ++insert++ syntax": "Ενεργοποίηση ++insert++ syntax",
|
||||
@@ -293,16 +255,12 @@
|
||||
"Enable Web Clipper Service": "Ενεργοποίηση υπηρεσίας Web Clipper",
|
||||
"Enable ~sub~ syntax": "Ενεργοποίηση ~sub~ syntax",
|
||||
"Enabled": "Ενεργοποιημένη",
|
||||
"Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target.": "Ενεργοποίηση κρυπτογράφησης σημαίνει *όλες* οι σημειώσεις και τα συνημμένα σας πρόκειται να συγχρονιστούν εκ νέου και να σταλούν κρυπτογραφημένα στο στόχο συγχρονισμού.",
|
||||
"Encrypted": "Κρυπτογραφημένο",
|
||||
"Encrypted items cannot be modified": "Δεν είναι δυνατή η τροποποίηση κρυπτογραφημένων στοιχείων",
|
||||
"Encrypted notebooks cannot be renamed": "Τα κρυπτογραφημένα σημειωματάρια δεν μπορούν να μετονομαστούν",
|
||||
"Encryption": "Κρυπτογράφηση",
|
||||
"Encryption Config": "Ρυθμίσεις κρυπτογράφησης",
|
||||
"Encryption is: %s": "Η κρυπτογράφηση είναι: %s",
|
||||
"Encryption keys": "Κλειδιά κρυπτογράφησης",
|
||||
"Encryption:": "Κρυπτογράφηση:",
|
||||
"End-to-end encryption": "Κρυπτογράφηση από άκρο σε άκρο",
|
||||
"Enter code here": "Βάλτε τον κωδικό εδώ",
|
||||
"Enter master password:": "Πληκτρολογήστε τον κωδικό πρόσβασης:",
|
||||
"Enter notebook title": "Δώστε τον τίτλο του σημειωματάριου",
|
||||
@@ -328,11 +286,10 @@
|
||||
"Fail-safe": "Ασφαλής",
|
||||
"Fail-safe: Do not wipe out local data when sync target is empty (often the result of a misconfiguration or bug)": "Ασφάλεια: Mην διαγράφετε τα τοπικά δεδομένα όταν ο προορισμός συγχρονισμού είναι κενός (συχνά το αποτέλεσμα μιας εσφαλμένης ρύθμισης παραμέτρων ή ενός σφάλματος)",
|
||||
"Fatal error:": "Ανεπανόρθωτο σφάλμα:",
|
||||
"Feature flags": "Feature flags",
|
||||
"Fetched items: %d/%d.": "Ληφθέντα στοιχεία: %d/%d.",
|
||||
"Fetching resources: %d/%d": "Λήψη πόρων: %d/%d",
|
||||
"File": "Αρχείο",
|
||||
"File system": "Σύστημα Αρχείων",
|
||||
"File system": "File system",
|
||||
"Firefox Extension": "Επέκταση Firefox",
|
||||
"Fix search index": "Διόρθωση ευρετηρίων αναζήτησης",
|
||||
"Fixing search index...": "Διόρθωση ευρετηρίων αναζήτησης...",
|
||||
@@ -344,27 +301,22 @@
|
||||
"For information on how to customise the shortcuts please visit %s": "Για πληροφορίες σχετικά με τον τρόπο προσαρμογής των συντομεύσεων, επισκεφτείτε το %s",
|
||||
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "Για περισσότερες πληροφορίες σχετικά με την κρυπτογράφηση End-To-End (E2EE) και συμβουλές σχετικά με τον τρόπο ενεργοποίησής της, ελέγξτε το εγχειρίδιο:",
|
||||
"For the list of keyboard shortcuts and config options, type `help keymap`": "Για τη λίστα των συντομεύσεων πληκτρολογίου και των ρυθμίσεων, πληκτρολογήστε `help keymap`",
|
||||
"Force path style": "Επιβολή path style",
|
||||
"Forward": "Μπροστά",
|
||||
"Found: %d.": "Βρέθηκε: %d.",
|
||||
"FTS enabled: %d": "FTS ενεργοποιημένο: %d",
|
||||
"Full changelog": "Πλήρες αρχείο αλλαγών",
|
||||
"General": "Γενικά",
|
||||
"Generated": "Δημιουργήθηκε",
|
||||
"Generating link...": "Δημιουργία συνδέσμου...",
|
||||
"Get it now:": "Λήψη τώρα:",
|
||||
"Get pre-releases when checking for updates": "Λήψη προεκδόσεων κατά τον έλεγχο για ενημερώσεις",
|
||||
"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.": "Αποκτά ή ορίζει την τιμή μιας παραμέτρου. Αν δεν υπάρχει [τιμή], θα εμφανιστεί το [όνομα]. Εάν δεν υπάρχει ούτε [όνομα] ούτε [τιμή], θα εμφανιστεί η τρέχουσα παράμετρος.",
|
||||
"Go to source URL": "Μεταβείτε στη διεύθυνση URL προέλευσης",
|
||||
"Goto Anything...": "Γρήγορη Μετακίνηση...",
|
||||
"Grant authorisation": "Έγκριση εξουσιοδότησης",
|
||||
"Heading": "Επικεφαλίδα",
|
||||
"Help": "Βοήθεια",
|
||||
"Hide %s": "Απόκρυψη %s",
|
||||
"Hide disabled keys": "Απόκρυψη απενεργοποιημένων κλειδιών",
|
||||
"Hide Joplin": "Κρύψε το Joplin",
|
||||
"Highlight": "Επισήμανση",
|
||||
"Home": "Home",
|
||||
"Horizontal Rule": "Οριζόντια Διαγράμμιση",
|
||||
"HTML Directory": "Φάκελος HTML",
|
||||
"HTML File": "Αρχείο HTML",
|
||||
@@ -374,7 +326,6 @@
|
||||
"Idle": "Αδρανής",
|
||||
"Ignore": "Παράβλεψη",
|
||||
"Ignore TLS certificate errors": "Παράβλεψη σφαλμάτων πιστοποιητικού TLS",
|
||||
"Images": "Εικόνες",
|
||||
"Import": "Εισαγωγή",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "Εισαγωγή από \"%s\" σε μορφή \"%s\". Παρακαλώ περιμένετε...",
|
||||
"Importing notes...": "Εισαγωγή σημειώσεων...",
|
||||
@@ -403,40 +354,30 @@
|
||||
"Invalid answer: %s": "Μη έγκυρη απάντηση: %s",
|
||||
"Invalid command: \"%s\"": "Ακυρη εντολή: \"%s\"",
|
||||
"Invalid option value: \"%s\". Possible values are: %s.": "Άκυρη τιμή: \" %s\". Οι πιθανές τιμές είναι: %s.",
|
||||
"Invalid password": "Μη έγκυρος κωδικός πρόσβασης",
|
||||
"Italic": "Πλάγια γραφή",
|
||||
"Item \"%s\" could not be downloaded: %s": "Το στοιχείο \"%s\" δεν μπορεί να κατέβει: %s",
|
||||
"Items": "Στοιχεία",
|
||||
"Items that cannot be decrypted": "Στοιχεία που δεν μπορούν αποκρυπτογραφηθούν",
|
||||
"Items that cannot be synchronised": "Στοιχεία που δεν μπορούν να συγχρονιστούν",
|
||||
"Joplin can synchronise your notes using various providers. Select one from the list below.": "Το Joplin μπορεί να συγχρονίσει τις σημειώσεις σας χρησιμοποιώντας διάφορους παρόχους. Επιλέξτε έναν από τον παρακάτω κατάλογο.",
|
||||
"Joplin Cloud": "Joplin Cloud",
|
||||
"Joplin Cloud email": "Joplin Cloud email",
|
||||
"Joplin Cloud password": "Joplin Cloud password",
|
||||
"Joplin Export Directory": "Φάκελος εξαγωγής Joplin",
|
||||
"Joplin Export File": "Αρχείο εξαγωγής Joplin",
|
||||
"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.": "Το Joplin απέτυχε να αποκρυπτογραφήσει αυτά τα στοιχεία πολλές φορές, πιθανώς επειδή είναι αλλοιωμένα ή πολύ μεγάλα. Αυτά τα στοιχεία θα παραμείνουν στη συσκευή, αλλά το Joplin δεν θα προσπαθήσει πλέον να τα αποκρυπτογραφήσει.",
|
||||
"Joplin Forum": "Joplin φόρουμ",
|
||||
"Joplin Server": "Joplin Server",
|
||||
"Joplin Server email": "Joplin Server email",
|
||||
"Joplin Server password": "Joplin Server password",
|
||||
"Joplin Server URL": "Joplin Server URL",
|
||||
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": "Το Joplin Web Clipper επιτρέπει την αποθήκευση ιστοσελίδων και screenshots από το πρόγραμμα περιήγησης στο Joplin.",
|
||||
"Joplin website": "Joplin website",
|
||||
"Joplin's own sync service. Also gives access to Joplin-specific features such as publishing notes or collaborating on notebooks with others.": "Η υπηρεσία συγχρονισμού του Joplin. Παρέχει επίσης πρόσβαση σε ειδικές λειτουργίες του Joplin, όπως η δημοσίευση σημειώσεων ή η συνεργασία σε σημειωματάρια με άλλους.",
|
||||
"Keep note history for": "Διατήρηση ιστορικού σημειώσεων για",
|
||||
"Keyboard Mode": "Λειτουργία πληκτρολογίου",
|
||||
"Keyboard Shortcut": "Συντόμευση πληκτρολογίου",
|
||||
"Keyboard Shortcuts": "Συντομεύσεις πληκτρολογίου",
|
||||
"Keychain Supported: %s": "Υποστηριζόμενη κλειδοθήκη: %s",
|
||||
"Keys that need upgrading": "Κλειδιά που χρειάζονται αναβάθμιση",
|
||||
"Landscape": "Οριζόντια",
|
||||
"Language": "Γλώσσα",
|
||||
"Last error: %s": "Τελευταίο σφάλμα: %s",
|
||||
"Later": "Αργότερα",
|
||||
"Layout": "Διάταξη",
|
||||
"Layout button sequence": "Ακολουθία κουμπιών διάταξης",
|
||||
"Leave notebook...": "Αφήστε το σημειωματάριο...",
|
||||
"Legal": "Legal",
|
||||
"Letter": "Letter",
|
||||
"Light": "Light",
|
||||
@@ -444,32 +385,20 @@
|
||||
"Link has been copied to clipboard!": "Ο σύνδεσμος έχει αντιγραφεί στο πρόχειρο!",
|
||||
"Links with protocol \"%s\" are not supported": "Σύνδεσμοι με πρωτόκολλο \"%s\" δεν υποστηρίζονται",
|
||||
"List item": "Στοιχείο λίστας",
|
||||
"Loaded": "Φορτωμένα",
|
||||
"Location": "Τοποθεσία",
|
||||
"Lock file is already being hold. If you know that no synchronisation is taking place, you may delete the lock file at \"%s\" and resume the operation.": "Το αρχείο κλειδώματος έχει ήδη δημιουργηθεί. Αν γνωρίζετε ότι δεν πραγματοποιείται συγχρονισμός, μπορείτε να διαγράψετε το αρχείο κλειδώματος στο \"%s\" και να συνεχίσετε τη λειτουργία.",
|
||||
"Log": "Log",
|
||||
"Login": "Σύνδεση",
|
||||
"Login below.": "Συνδέσου παρακάτω.",
|
||||
"Login with Dropbox": "Είσοδος με Dropbox",
|
||||
"Login with OneDrive": "Είσοδος με Onedrive",
|
||||
"Logout": "Αποσύνδεση",
|
||||
"Logs": "Αρχεία Καταγραφής",
|
||||
"Make a donation": "Κάντε μια δωρεά",
|
||||
"Manage master password": "Διαχείριση κύριου κωδικού πρόσβασης",
|
||||
"Manage master password...": "Διαχείριση κύριου κωδικού πρόσβασης...",
|
||||
"Manage your plugins": "Διαχείριση των επεκτάσεων",
|
||||
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": "Διαχειρίζεται τη διαμόρφωση E2EE. Οι εντολές είναι `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, και `target-status`.",
|
||||
"Manual": "Χειροκίνητα",
|
||||
"Markdown": "Markdown",
|
||||
"Markdown + Front Matter": "Markdown + Front Matter",
|
||||
"Marks a to-do as done.": "Επισημαίνει μία σημείωση to-do ως ολοκληρωμένη.",
|
||||
"Marks a to-do as non-completed.": "Σήμανση ενός to-do σε μη-ολοκληρωμένο.",
|
||||
"Markup": "Markup",
|
||||
"Master Key %s": "Κύριο Κλειδί %s",
|
||||
"Master password": "Κύριος κωδικός πρόσβασης",
|
||||
"Master password:": "Κύριος κωδικός πρόσβασης:",
|
||||
"Max concurrent connections": "Μέγιστος αριθμός ταυτόχρονων συνδέσεων",
|
||||
"Missing keys": "Απουσία κλειδιών",
|
||||
"Missing Master Keys": "Απουσία κυρίως κλειδιών",
|
||||
"Missing required argument: %s": "Λείπει το απαιτούμενο όρισμα: %s",
|
||||
"Mobile data - auto-sync disabled": "Δεδομένα κινητής τηλεφωνίας - ο αυτόματος συγχρονισμός απενεργοποιήθηκε",
|
||||
@@ -510,7 +439,6 @@
|
||||
"Nord": "Nord",
|
||||
"Not authentified with %s. Please provide any missing credentials.": "Δεν έγινε επαλήθευση με το %s. Παρακαλώ καταχωρίστε τα διαπιστευτήρια που λείπουν.",
|
||||
"Not downloaded": "Δεν έγινε λήψη",
|
||||
"Not generated": "Δεν δημιουργήθηκαν",
|
||||
"note": "σημείωση",
|
||||
"Note": "Σημείωση",
|
||||
"Note area growth factor": "Συντελεστής ανάπτυξης περιοχής σημειώσεων",
|
||||
@@ -525,15 +453,12 @@
|
||||
"Note list growth factor": "Συντελεστής ανάπτυξης λίστας σημειώσεων",
|
||||
"Note properties": "Ιδιότητες σημείωσης",
|
||||
"Note title": "Τίτλος σημειωματάριου",
|
||||
"Note&book": "Note&book",
|
||||
"Note: Does not work in all desktop environments.": "Σημείωση: Δεν λειτουργεί σε όλα τα γραφικά περιβάλλοντα.",
|
||||
"Note: When a note is shared, it will no longer be encrypted on the server.": "Σημείωση: Όταν μια σημείωση είναι κοινόχρηστη, δεν θα κρυπτογραφείται πλέον στο διακομιστή.",
|
||||
"Notebook": "Σημειωματάριo",
|
||||
"Notebook list growth factor": "Συντελεστής ανάπτυξης λίστας σημειωματάριων",
|
||||
"Notebook: %s": "Σημειωματάριο: %s",
|
||||
"Notebooks": "Σημειωματάρια",
|
||||
"Notebooks cannot be named \"%s\", which is a reserved title.": "Τα σημειωματάρια δεν μπορούν να ονομαστούν \"%s\", που είναι δεσμευμένος τίτλος.",
|
||||
"Notes": "Σημειώσεις",
|
||||
"Notes and settings are stored in: %s": "Οι σημειώσεις και οι ρυθμίσεις αποθηκεύονται στο: %s",
|
||||
"Notes can only be created within a notebook.": "Σημειώσεις μπορούν να δημιουργηθούν μόνο μέσα σε σημειωματάριο.",
|
||||
"Numbered List": "Αριθμημένη λίστα",
|
||||
@@ -549,12 +474,9 @@
|
||||
"Open": "Άνοιγμα",
|
||||
"Open %s": "Άνοιγμα %s",
|
||||
"Open profile directory": "Άνοιγμα φακέλου προφίλ",
|
||||
"Open Sync Wizard...": "Άνοιγμα Οδηγού συγχρονισμού...",
|
||||
"Open...": "Άνοιγμα...",
|
||||
"Operation cancelled": "Η λειτουργία ακυρώθηκε",
|
||||
"Options": "Επιλογές",
|
||||
"Or create an account.": "Ή δημιουργείστε ένα λογαριασμό.",
|
||||
"Other applications...": "Άλλες εφαρμογές...",
|
||||
"Output format: %s": "Μορφή εξόδου: %s",
|
||||
"Page orientation for PDF export": "Προσανατολισμός σελίδας για εξαγωγή PDF",
|
||||
"Page size for PDF export": "Μέγεθος σελίδας για εξαγωγή PDF",
|
||||
@@ -569,7 +491,6 @@
|
||||
"Permission to use camera": "Άδεια χρήσης κάμερας",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Επιβεβαιώστε ότι θέλετε να ξανακρυπτογραφήσετε την πλήρη βάση δεδομένων σας.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Εισαγάγετε τον κωδικό πρόσβασής σας στη λίστα του master κλειδιού πριν αναβαθμίσετε το κλειδί.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Λάβετε υπόψη ότι αν πρόκειται για ένα μεγάλο σημειωματάριο, μπορεί να χρειαστούν μερικά λεπτά για να εμφανιστούν όλες οι σημειώσεις στη συσκευή του παραλήπτη.",
|
||||
"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.": "Παρακαλώ ανοίξτε την ακόλουθη διεύθυνση URL στο πρόγραμμα περιήγησής σας για να πιστοποιήσετε την εφαρμογή. Η εφαρμογή θα δημιουργήσει έναν φάκελο στο \"Apps / Joplin\" και θα διαβάζει και θα γράφει μόνο αρχεία σε αυτόν. Δεν θα έχει πρόσβαση σε αρχεία εκτός αυτού του φακέλου ούτε σε άλλα προσωπικά δεδομένα. Δεν πρόκειται να κοινοποιηθούν δεδομένα σε τρίτους.",
|
||||
"Please select a notebook first.": "Παρακαλώ επιλέξτε πρώτα σημειωματάριο.",
|
||||
"Please select the note or notebook to be deleted first.": "Παρακαλώ πρώτα επιλέξτε τη σημείωση ή το σημειωματάριο που θέλετε να διαγραφτεί.",
|
||||
@@ -595,29 +516,16 @@
|
||||
"Previous versions of this note": "Προηγούμενες εκδόσεις αυτής της σημείωσης",
|
||||
"Print": "Εκτύπωση",
|
||||
"Privacy Policy": "Πολιτική Προστασίας Προσωπικών Δεδομένων",
|
||||
"Process failed payment subscriptions": "Επεξεργασία αποτυχημένων συνδρομών πληρωμής",
|
||||
"Process oversized accounts": "Επεξεργασία υπερμεγεθών λογαριασμών",
|
||||
"Process user deletions": "Επεξεργασία διαγραφών χρηστών",
|
||||
"Profile": "Προφιλ",
|
||||
"Profile Version: %s": "Έκδοση προφίλ: %s",
|
||||
"Properties": "Ιδιότητες",
|
||||
"Public-private key pair:": "Ζεύγος δημόσιου-ιδιωτικού κλειδιού:",
|
||||
"Publish note...": "Δημοσίευση σημείωσης...",
|
||||
"Publish Notes": "Δημοσίευση σημειώσεων",
|
||||
"Publish notes to the internet": "Δημοσίευση σημειώσεων στο διαδίκτυο",
|
||||
"Quit": "Έξοδος",
|
||||
"Re-encrypt data": "Επανακρυπτογράφηση δεδομένων",
|
||||
"Re-encryption": "Επανα-κρυπτογράφηση",
|
||||
"Re-upload local data to sync target": "Εκ νέου αποστολή τοπικών δεδομένων στον προορισμό για συγχρονισμό",
|
||||
"Read more about it": "Διαβάστε περισσότερα σχετικά με αυτό",
|
||||
"Read time: %s min": "Χρόνος ανάγνωσης: %s min",
|
||||
"Recipient has accepted the invitation": "Ο παραλήπτης αποδέχθηκε την πρόσκληση",
|
||||
"Recipient has not yet accepted the invitation": "Ο παραλήπτης δεν έχει ακόμη αποδεχθεί την πρόσκληση",
|
||||
"Recipient has rejected the invitation": "Ο παραλήπτης απέρριψε την πρόσκληση",
|
||||
"Recipients:": "Αποδέκτες:",
|
||||
"Redo": "Επανάληψη",
|
||||
"Refresh": "Ανανέωση",
|
||||
"Reject": "Απόρριψη",
|
||||
"Remove": "Κατάργηση",
|
||||
"Remove tag \"%s\" from all notes?": "Κατάργηση της ετικέτας \"%s\" από όλες τις σημειώσεις;",
|
||||
"Remove this search from the sidebar?": "Κατάργηση αυτής της αναζήτησης από την πλευρική μπάρα;",
|
||||
@@ -626,7 +534,6 @@
|
||||
"Rename tag:": "Μετονομασία ετικέτας:",
|
||||
"Renames the given <item> (note or notebook) to <name>.": "Μετονομάζει το καθορισμένο <item> (σημείωση ή σημειωματάριο) στο <name>.",
|
||||
"Renew token": "Ανανέωση token",
|
||||
"Reset master password": "Επαναφορά κύριου κωδικού πρόσβασης",
|
||||
"Resources: %d.": "Πόροι: %d.",
|
||||
"Restart and upgrade": "Επανεκκίνηση και αναβάθμιση",
|
||||
"Restart now": "Επανεκίνηση τώρα",
|
||||
@@ -639,12 +546,6 @@
|
||||
"Reverses the sorting order.": "Αντιστρέφει τη σειρά ταξινόμησης.",
|
||||
"Revision: %s (%s)": "Αναθεώρηση: %s (%s)",
|
||||
"Runs the commands contained in the text file. There should be one command per line.": "Εκτελεί τις εντολές που περιέχονται στο αρχείο κειμένου. Θα πρέπει να υπάρχει μία εντολή ανά γραμμή.",
|
||||
"S3": "S3",
|
||||
"S3 access key": "S3 access key",
|
||||
"S3 bucket": "S3 bucket",
|
||||
"S3 region": "S3 region",
|
||||
"S3 secret key": "S3 secret key",
|
||||
"S3 URL": "S3 URL",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "Η ασφαλής λειτουργία είναι ενεργή αυτήν τη στιγμή. Σημειώστε ότι η απόδοση και όλα τα πρόσθετα απενεργοποιούνται προσωρινά.",
|
||||
"Save": "Αποθήκευση",
|
||||
"Save alarm": "Αποθήκευση ειδοποίησης",
|
||||
@@ -659,33 +560,23 @@
|
||||
"Search:": "Εύρεση:",
|
||||
"Searches for the given <pattern> in all the notes.": "Αναζητά το καθορισμένο <pattern> σε όλες τις σημειώσεις.",
|
||||
"See the pre-release page for more details: %s": "Δείτε τη σελίδα προέκδοσης για περισσότερες λεπτομέρειες: %s",
|
||||
"Select": "Επιλογή",
|
||||
"Select all": "Επιλογή όλων",
|
||||
"Select emoji...": "Επιλογή emoji...",
|
||||
"Select file...": "Επιλογή φακέλου...",
|
||||
"Server is already running on port %d": "Ο διακομιστής εκτελείται ήδη στη θύρα %d",
|
||||
"Server is not running.": "Ο διακομιστής δεν εκτελείται.",
|
||||
"Server is running on port %d": "Ο διακομιστής εκτελείται στη θύρα %d",
|
||||
"Set alarm": "Ορισμός υπενθύμισης",
|
||||
"Set alarm:": "Ορισμός ειδοποίησης:",
|
||||
"Set it to 0 to make it take the complete available space. Recommended width is 600.": "Ορίστε την τιμή 0 για να καταλάβει όλο τον διαθέσιμο χώρο. Το συνιστώμενο πλάτος είναι 600.",
|
||||
"Set the password": "Ορισμός κωδικού πρόσβασης",
|
||||
"Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s": "Ορίζει την ιδιότητα <name> του καθορισμένου <note> στην καθορισμένη [τιμή]. Πιθανές ιδιότητες είναι:\n\n%s",
|
||||
"Share": "Κοινοποίηση",
|
||||
"Share Notebook": "Κοινοποίηση Σημειωματάριου",
|
||||
"Share notebook...": "Κοινοποίηση σημειωματάριου...",
|
||||
"Sharing notebook...": "Κοινοποίηση σημειωματάριου...",
|
||||
"Shortcuts are not available in CLI mode.": "Οι συντομεύσεις δεν είναι διαθέσιμες στη λειτουργία CLI.",
|
||||
"Show Advanced Settings": "Εμφάνιση επιλογών για προχωρημένους",
|
||||
"Show all": "Εμφάνιση όλων",
|
||||
"Show completed to-dos": "Εμφάνιση ολοκληρωμένων to-dos",
|
||||
"Show disabled keys": "Εμφάνιση απενεργοποιημένων κλειδιών",
|
||||
"Show note counts": "Εμφάνιση πλήθους σημειώσεων",
|
||||
"Show sort order buttons": "Εμφάνιση κουμπιών σειράς ταξινόμησης",
|
||||
"Show tray icon": "Εμφάνιση εικονιδίου στη γραμμή εργασιών",
|
||||
"Sidebar": "Πλευρική μπάρα",
|
||||
"Size": "Μέγεθος",
|
||||
"Skip this version": "Παραλείψτε αυτή την έκδοση",
|
||||
"Skipped items: %d (use --retry-failed-items to retry decrypting them)": "Στοιχεία που έχουν παραλειφθεί: %d (χρήσιμοποίησε --retry-failed-items για επανάληψη της αποκρυπτογράφησης τους)",
|
||||
"Skipped: %d.": "Παραλείφθηκε: %d.",
|
||||
"Solarised Dark": "Solarised Dark",
|
||||
@@ -698,7 +589,6 @@
|
||||
"Sort selected lines": "Ταξινόμηση επιλεγμένων γραμμών",
|
||||
"Sorts the item by <field> (eg. title, updated_time, created_time).": "Ταξινόμηση του στοιχείου με <field> (π.χ. τίτλος, ώρα_ενημέρωσης, ώρα_δημιουργίας).",
|
||||
"Source format: %s": "Μορφή προέλευσης: %s",
|
||||
"Source: ": "Πηγή: ",
|
||||
"Specify the port that should be used by the API server. If not set, a default will be used.": "Καθορίστε τη πόρτα που πρέπει να χρησιμοποιείται από το διακομιστή API. Εάν δεν οριστεί, θα χρησιμοποιηθεί μια προεπιλογή.",
|
||||
"Spell checker": "Ορθογράφος",
|
||||
"Split View": "Διαίρεση προβολής",
|
||||
@@ -736,7 +626,6 @@
|
||||
"Sync Target Upgrade": "Συγχρονισμός αναβάθμισης προορισμού",
|
||||
"Sync to provided target (defaults to sync.target config value)": "Συγχρονισμός με το ορισμένο προορισμό (προεπιλεγμένη τιμή συγχρονισμού sync.target)",
|
||||
"Sync Version: %s": "Έκδοση συγχρονισμού: %s",
|
||||
"Sync your notes": "Συγχρονισμός των σημειώσεών σας",
|
||||
"Synchronisation": "Συγχρονισμός",
|
||||
"Synchronisation interval": "Διάστημα συγχρονισμού",
|
||||
"Synchronisation is already in progress.": "Ο συγχρονισμός είναι ήδη σε εξέλιξη.",
|
||||
@@ -747,14 +636,11 @@
|
||||
"Synchronise only over WiFi connection": "Συγχρονισμός μόνο μέσω σύνδεσης WiFi",
|
||||
"Synchronises with remote storage.": "Συγχρονίζει με απομακρυσμένο αποθηκευτικό χώρο.",
|
||||
"Synchronising...": "Συγχρονισμός...",
|
||||
"Synchronizing...": "Συγχρονισμός...",
|
||||
"Tabloid": "Tabloid",
|
||||
"Tagged: %d.": "Με ετικέτα: %d.",
|
||||
"Tags": "Ετικέτες",
|
||||
"Take photo": "Βγάλτε μια φωτογραφία",
|
||||
"Tasks": "Εργασίες",
|
||||
"Text editor command": "Εντολή \"Επεξεργαστή κειμένου\"",
|
||||
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Ευχαριστώ! Ο λογαριασμός σας στο Joplin Cloud είναι τώρα ρυθμισμένος και έτοιμος για χρήση.",
|
||||
"The app is now going to close. Please relaunch it to complete the process.": "Η εφαρμογή θα κλείσει τώρα. Παρακαλώ ανοίξτε την ξανά για να ολοκληρώσετε τη διαδικασία.",
|
||||
"The application has been authorised - you may now close this browser tab.": "Η εφαρμογή έχει εξουσιοδοτηθεί - μπορείτε τώρα να κλείσετε αυτήν την καρτέλα του προγράμματος περιήγησης.",
|
||||
"The application has been authorised!": "Η εφαρμογή έχει εγκριθεί!",
|
||||
@@ -768,22 +654,16 @@
|
||||
"The editor command (may include arguments) that will be used to open a note. If none is provided it will try to auto-detect the default editor.": "Η εντολή του editor (που μπορεί να περιλαμβάνει ορίσματα) θα χρησιμοποιηθεί για το άνοιγμα μιας σημείωσης. Εάν δεν δωθεί καμία, θα προσπαθήσει να ανιχνεύσει αυτόματα το προεπιλεγμένο πρόγραμμα επεξεργασίας.",
|
||||
"The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes.": "Ο συντελεστής ανάπτυξης καθορίζει το πόσο θα αναπτυχθεί ή θα συρρίκνωθεί το αντικειμένο ώστε να χωρά στον διαθέσιμο χώρο σε σχέση με τα άλλα αντικείμενα. Έτσι, ένα στοιχείο με συντελεστή 2 θα πάρει διπλάσιο χώρο από ένα στοιχείο με συντελεστή 1. Επανεκκινήστε την εφαρμογή για να δείτε αλλαγές.",
|
||||
"The following attachments are being watched for changes:": "Τα ακόλουθα συνημμένα παρακολουθούνται για αλλαγές:",
|
||||
"The following keys use an out-dated encryption algorithm and it is recommended to upgrade them. The upgraded key will still be able to decrypt and encrypt your data as usual.": "Τα ακόλουθα κλειδιά χρησιμοποιούν έναν αλγόριθμο κρυπτογράφησης που είναι ξεπερασμένος και συνιστάται η αναβάθμισή τους. Το αναβαθμισμένο κλειδί θα εξακολουθεί να είναι σε θέση να αποκρυπτογραφήσει και να κρυπτογραφήσει τα δεδομένα σας ως συνήθως.",
|
||||
"The Joplin mobile app does not currently support this type of link: %s": "Η εφαρμογή Joplin για κινητά δεν υποστηρίζει αυτήν τη στιγμή αυτόν τον τύπο συνδέσμου: %s",
|
||||
"The Joplin team has vetted this plugin and it meets our standards for security and performance.": "Η ομάδα του Joplin έχει ελέγξει αυτό το πρόσθετο και πληροί τα πρότυπα ασφαλείας και επιδόσεων.",
|
||||
"The keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "Τα κλειδιά με αυτά τα ID χρησιμοποιούνται για την κρυπτογράφηση ορισμένων από τα στοιχεία σας, ωστόσο η εφαρμογή δεν έχει επί του παρόντος πρόσβαση σε αυτά. Είναι πιθανό να μεταφορτωθούν τελικά μέσω συγχρονισμού.",
|
||||
"The master key has been upgraded successfully!": "Το κλειδί master αναβαθμίστηκε με επιτυχία!",
|
||||
"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "Τα κύρια κλειδιά με αυτά τα αναγνωριστικά (ID) χρησιμοποιούνται για την κρυπτογράφηση ορισμένων αντικειμένων σας, ωστόσο η εφαρμογή δεν έχει αυτή τη στιγμή πρόσβαση σε αυτά. Είναι πιθανό τελικά να ληφθούν μέσω συγχρονισμού.",
|
||||
"The note \"%s\" has been successfully restored to the notebook \"%s\".": "Η σημείωση \"%s\" έχει επαναφερθεί με επιτυχία στο σημειωματάριο \"%s\".",
|
||||
"The notebook could not be saved: %s": "Αυτό το σημειωματάριο δεν μπορεί να σωθεί: %s",
|
||||
"The notes have been imported: %s": "Οι σημειώσεις έχουν εισαχθεί: %s",
|
||||
"The possible commands are:": "Οι πιθανές εντολές είναι:",
|
||||
"The recipient could not be removed from the list. Please try again.\n\nThe error was: \"%s\"": "Ο παραλήπτης δεν μπόρεσε να διαγραφεί από τη λίστα. Προσπαθήστε ξανά.\n\nΤο σφάλμα ήταν: \"%s\"",
|
||||
"The sync target needs to be upgraded before Joplin can sync. The operation may take a few minutes to complete and the app needs to be restarted. To proceed please click on the link.": "Ο στόχος συγχρονισμού πρέπει να αναβαθμιστεί πριν από το συγχρονισμό του Joplin. Η λειτουργία μπορεί να διαρκέσει λίγα λεπτά για να ολοκληρωθεί και η εφαρμογή πρέπει να επανεκκινηθεί. Για να προχωρήσετε κάντε κλικ στο σύνδεσμο.",
|
||||
"The sync target needs to be upgraded. Press this banner to proceed.": "Ο προορισμός συγχρονισμού πρέπει να αναβαθμιστεί. Πατήστε αυτό το banner για να προχωρήσετε.",
|
||||
"The tag \"%s\" already exists. Please choose a different name.": "Η ετικέτα \"%s\" υπάρχει ήδη. Επιλέξτε ένα διαφορετικό όνομα.",
|
||||
"The target to synchronise to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).": "Ο προορισμός συγχρονισμού. Κάθε προορισμός συγχρονισμού μπορεί να έχει πρόσθετες παραμέτρους οι οποίες ονομάζονται ως `sync.NUM.NAME` (οι οποίες αναφέρονται παρακάτω).",
|
||||
"The Web Clipper needs your authorisation to access your data.": "Το Web Clipper χρειάζεται την άδειά σας για να αποκτήσει πρόσβαση στα δεδομένα σας.",
|
||||
"The web clipper service is enabled and set to auto-start.": "Η υπηρεσία web clipper είναι ενεργοποιημένη και έχει ρυθμιστεί για αυτόματη εκκίνηση.",
|
||||
"The web clipper service is not enabled.": "Η υπηρεσία Web Clipper δεν είναι ενεργοποιημένη.",
|
||||
"Theme": "Θέμα",
|
||||
@@ -792,7 +672,6 @@
|
||||
"There is no data to export.": "Δεν υπάρχουν δεδομένα για εξαγωγή.",
|
||||
"There was a [conflict](%s) on the attachment below.\n\n%s": "Υπήρξε μια [διένεξη](%s) στο παρακάτω συνημμένο.\n\n%s",
|
||||
"There was an error downloading this attachment:": "Παρουσιάστηκε σφάλμα κατά τη λήψη αυτού του συνημμένου:",
|
||||
"There was an error setting up your Joplin Cloud account. Please verify your email and password and try again. Error was:\n\n%s": "Υπήρξε σφάλμα στη ρύθμιση του λογαριασμού σας στο Joplin Cloud. Παρακαλούμε επαληθεύστε το email και τον κωδικό πρόσβασής σας και δοκιμάστε ξανά. Το σφάλμα ήταν:\n\n%s",
|
||||
"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).": "Αυτά τα στοιχεία θα παραμείνουν στη συσκευή, αλλά δεν θα μεταφορτωθούν στο στόχο συγχρονισμού. Για να βρείτε αυτά τα στοιχεία, αναζητήστε είτε τον τίτλο είτε το αναγνωριστικό (το οποίο εμφανίζεται στις παραπάνω παρενθέσεις).",
|
||||
"These plugins enhance the Markdown renderer with additional features. Please note that, while these features might be useful, they are not standard Markdown and thus most of them will only work in Joplin. Additionally, some of them are *incompatible* with the WYSIWYG editor. If you open a note that uses one of these plugins in that editor, you will lose the plugin formatting. It is indicated below which plugins are compatible or not with the WYSIWYG editor.": "Αυτά τα πρόσθετα βελτιώνουν τον Markdown renderer με πρόσθετες δυνατότητες. Λάβετε υπόψη ότι, παρόλο που αυτές οι δυνατότητες μπορεί να είναι χρήσιμες, δεν είναι τυπικές Markdown και επομένως οι περισσότερες από αυτές θα λειτουργούν μόνο στο Joplin. Επιπλέον, ορισμένα από αυτά είναι *ασύμβατα* με το πρόγραμμα επεξεργασίας WYSIWYG. Εάν ανοίξετε μια σημείωση που χρησιμοποιεί ένα από αυτά τα πρόσθετα σε αυτόν τον επεξεργαστή, θα χάσετε τη μορφοποίηση της προσθήκης. Υποδεικνύεται παρακάτω ποια πρόσθετα είναι συμβατά ή όχι με τον επεξεργαστή WYSIWYG.",
|
||||
"This attachment is not downloaded or not decrypted yet": "Αυτό το συνημμένο δεν έχει ακόμη μεταφορτωθεί ή αποκρυπτογραφηθεί",
|
||||
@@ -807,12 +686,10 @@
|
||||
"This service allows the browser extension to communicate with Joplin. When enabling it your firewall may ask you to give permission to Joplin to listen to a particular port.": "Αυτή η υπηρεσία επιτρέπει στην επέκταση του προγράμματος περιήγησης να επικοινωνεί με το Joplin. Όταν την ενεργοποιήσετε, το τείχος προστασίας μπορεί να σας ζητήσει να δώσετε άδεια στο Joplin να επικοινωνεί μέσω της συγκεκριμένης πόρτας.",
|
||||
"This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronised, thus reducing the number of conflicts.": "Αυτό θα επιτρέψει στο Joplin να τρέξει στο παρασκήνιο. Συνιστάται να ενεργοποιήσετε αυτήν τη ρύθμιση έτσι ώστε οι σημειώσεις σας να συγχρονίζονται συνεχώς, μειώνοντας έτσι τον αριθμό των διενέξεων.",
|
||||
"This will open a new screen. Save your current changes?": "Αυτό θα ανοίξει μια νέα οθόνη. Να αποθηκευθούν οι τρέχουσες αλλαγές;",
|
||||
"This will remove the notebook from your collection and you will no longer have access to its content. Do you wish to continue?": "Αυτό θα αφαιρέσει το σημειωματάριο από τη συλλογή σας και δεν θα έχετε πλέον πρόσβαση στο περιεχόμενό του. Θέλετε να συνεχίσετε;",
|
||||
"Time format": "Μορφή ώρας",
|
||||
"title": "τίτλος",
|
||||
"Title": "Τίτλος",
|
||||
"To allow Joplin to synchronise with Dropbox, please follow the steps below:": "Για να επιτρέψετε στο Joplin να συγχρονιστεί με το Dropbox, ακολουθήστε τα παρακάτω βήματα:",
|
||||
"To continue, please enter your master password below.": "Για να συνεχίσετε, παρακαλώ πληκτρολογήστε τον κύριο κωδικό πρόσβασής σας παρακάτω.",
|
||||
"To delete a tag, untag the associated notes.": "Για να διαγράψετε μία ετικέτα, αφαιρέστε την πρώτα από τις σχετικές σημειώσεις.",
|
||||
"To delete: %d": "Προς διαγραφή: %d",
|
||||
"To enter command line mode, press \":\"": "Για να εισέλθετε στη λειτουργία γραμμής εντολών, πατήστε \":\"",
|
||||
@@ -829,14 +706,11 @@
|
||||
"Toggle editors": "Εναλλαγή επεξεργαστών κειμένου",
|
||||
"Toggle external editing": "Εναλλαγή εξωτερικής επεξεργασίας",
|
||||
"Toggle note list": "Εναλλαγή λίστας σημειώσεων",
|
||||
"Toggle own sort order": "Εναλλαγή της δικής σας σειράς ταξινόμησης",
|
||||
"Toggle safe mode": "Εναλλαγή ασφαλούς λειτουργίας",
|
||||
"Toggle sidebar": "Εναλλαγή πλευρικής μπάρας",
|
||||
"Toggle sort order field": "Εναλλαγή του πεδίου ταξινόμησης",
|
||||
"Token has been copied to the clipboard!": "Το Token έχει αντιγραφεί στο πρόχειρο!",
|
||||
"Tools": "Εργαλεία",
|
||||
"Total: %d/%d": "Σύνολο: %d/%d",
|
||||
"Try again": "Δοκιμάστε ξανά",
|
||||
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": "Πληκτρολογήστε `help [command]` για περισσότερες πληροφορίες σχετικά με μια εντολή, ή πληκτρολογήστε `help all` για όλες τις πληροφορίες χρήσης.",
|
||||
"Type `joplin help` for usage information.": "Πληκτρολογήστε `joplin help` για πληροφορίες χρήσης.",
|
||||
"Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.": "Πληκτρολογήστε έναν τίτλο σημείωσης ή μέρος του περιεχομένου του για να μεταβείτε σε αυτόν. Ή πληκτρολογήστε # ακολουθούμενο από ένα όνομα ετικέτας ή @ ακολουθούμενο από ένα σημειωματάριο. Ή πληκτρολογίστε : για να ψάξετε για εντολές.",
|
||||
@@ -846,20 +720,14 @@
|
||||
"Undo": "Αναίρεση",
|
||||
"Unknown flag: %s": "Άγνωστο flag: %s",
|
||||
"Unknown item type downloaded - please upgrade Joplin to the latest version": "Λήψη άγνωστου τύπου στοιχείου - αναβαθμίστε το Joplin στην πιο πρόσφατη έκδοση",
|
||||
"Unpublish note": "Αποδημοσίευση σημείωσης",
|
||||
"Unshare": "Κατάργηση κοινής χρήσης",
|
||||
"Unshare this notebook? The recipients will no longer have access to its content.": "Διακόψτε την κοινή χρήση σε αυτό το σημειωματάριο; Οι παραλήπτες δεν θα έχουν πλέον πρόσβαση στο περιεχόμενό του.",
|
||||
"Unsupported image type: %s": "Μη υποστηριζόμενος τύπος εικόνας: %s",
|
||||
"Unsupported link or message: %s": "Μη υποστηριζόμενος σύνδεσμος ή μήνυμα: %s",
|
||||
"Untitled": "Χωρίς τίτλο",
|
||||
"Update": "Ενημέρωση",
|
||||
"Update profile": "Ενημέρωση προφίλ",
|
||||
"Update total sizes": "Ενημέρωση συνολικών μεγεθών",
|
||||
"Updated": "Ενημερώθηκε",
|
||||
"updated date": "ημερομηνία ενημέρωσης",
|
||||
"Updated local items: %d.": "Ενημερωμένα τοπικά στοιχεία: %d.",
|
||||
"Updated remote items: %d.": "Ενημερωμένα απομακρυσμένα στοιχεία: %d.",
|
||||
"Updated: ": "Ενημερώθηκε: ",
|
||||
"Updated: %d.": "Ενημερώθηκε: %d.",
|
||||
"Updated: %s": "Ενημερώθηκε: %s",
|
||||
"Updating...": "Ενημέρωση...",
|
||||
@@ -874,9 +742,6 @@
|
||||
"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.": "Χρησιμοποιήστε το για να ξαναφτιάξετε το ευρετήριο αναζήτησης, εάν υπάρχει πρόβλημα με την αναζήτηση. Μπορεί να χρειαστεί πολύς χρόνος ανάλογα με τον αριθμό των σημειώσεων.",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Χρησιμοποιείται για το μεγαλύτερο μέρος του κειμένου στο πρόγραμμα επεξεργασίας σημειώσεων. Εάν δεν βρεθεί, χρησιμοποιείται μια γενική αναλογική γραμματοσειρά (μεταβλητού πλάτους).",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "Χρησιμοποιείται όταν απαιτείται γραμματοσειρά σταθερού πλάτους για την ευανάκριβη δημιουργία κειμένου (π.χ. πίνακες, πλαίσια ελέγχου, κωδικός). Εάν δεν βρεθεί, χρησιμοποιείται μια γενική μονοδιάστημα (σταθερού πλάτους).",
|
||||
"User deletions": "Διαγραφές χρήστη",
|
||||
"Users": "Χρήστες",
|
||||
"Valid": "Έγκυρo",
|
||||
"View": "Προβολή",
|
||||
"View on map": "Προβολή στο χάρτη",
|
||||
"View them now": "Προβολή τώρα",
|
||||
@@ -905,7 +770,6 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Μπορείτε να χρησιμοποιήσετε το παρακάτω εργαλείο για να κρυπτογραφήσετε εκ νέου τα δεδομένα σας, για παράδειγμα, εάν γνωρίζετε ότι ορισμένες από τις σημειώσεις σας είναι κρυπτογραφημένες με μια παρωχημένη μέθοδο κρυπτογράφησης.",
|
||||
"Your choice: ": "Η επιλογή σας: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Τα δεδομένα σας πρόκειται να κρυπτογραφηθούν και να συγχρονιστούν ξανά.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Ο κωδικός πρόσβασής σας είναι απαραίτητος για την αποκρυπτογράφηση ορισμένων δεδομένων σας. Πληκτρολογήστε `:e2ee decrypt` για να τον ορίσετε.",
|
||||
"Your permission to use your camera is required.": "Απαιτείται η άδειά σας για τη χρήση της φωτογραφικής σας μηχανής.",
|
||||
"Your version: %s": "Η έκδοσή σου: %s",
|
||||
"Zoom In": "Μεγέθυνση",
|
||||
|
||||
@@ -51,8 +51,6 @@
|
||||
"Add recipient:": "Agregar destinatario:",
|
||||
"Add title": "Añadir título",
|
||||
"Add to dictionary": "Agregar al diccionario",
|
||||
"Admin": "Administrador",
|
||||
"Admin dashboard": "Tablero de Mandos de Administrador",
|
||||
"Advanced options": "Opciones avanzadas",
|
||||
"Advanced tools": "Herramientas avanzadas",
|
||||
"All notes": "Todas las notas",
|
||||
@@ -79,9 +77,7 @@
|
||||
"Authentication was not completed (did not receive an authentication token).": "Autenticación no completada (no se recibió token de autenticación).",
|
||||
"Authorisation token:": "Token de autorización:",
|
||||
"Auto": "Automático",
|
||||
"Auto-add disabled accounts for deletion": "Añadir automáticamente las cuentas deshabilitadas para su eliminación",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Autoemparejar llaves, paréntesis, comillas, etc.",
|
||||
"Automatically check for updates": "Comprobar actualizaciones",
|
||||
"Automatically switch theme to match system theme": "Cambiar automáticamente el tema para que coincida con el tema del sistema",
|
||||
"Back": "Retroceder",
|
||||
"Bold": "Negrita",
|
||||
@@ -136,7 +132,6 @@
|
||||
"Completed": "Completada",
|
||||
"Completed decryption.": "Descifrado completado.",
|
||||
"Completed: %s (%s)": "Completado: %s (%s)",
|
||||
"Compress old changes": "Comprimir cambios antiguos",
|
||||
"Configuration": "Configuración",
|
||||
"Confirm password cannot be empty": "La contraseña de confirmación no puede estar vacía",
|
||||
"Confirm password:": "Confirmar contraseña:",
|
||||
@@ -150,7 +145,6 @@
|
||||
"Copy": "Copiar",
|
||||
"Copy dev mode command to clipboard": "Copiar comando del modo de desarrollador al portapapeles",
|
||||
"Copy external link": "Copiar enlace externo",
|
||||
"Copy image": "Copiar imagen",
|
||||
"Copy Link Address": "Copiar Enlace",
|
||||
"Copy Markdown link": "Copiar el enlace de Markdown",
|
||||
"Copy path to clipboard": "Copiar la ruta al portapapeles",
|
||||
@@ -165,8 +159,6 @@
|
||||
"Could not upgrade master key: %s": "No se pudo actualizar la clave maestra: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "No se ha podido verificar el estado de compartición de esta libreta - abortando. Por favor, inténtelo de nuevo cuando esté conectado a Internet.",
|
||||
"Create a notebook": "Crea una libreta",
|
||||
"Create notebook": "Crea libreta",
|
||||
"Create user": "Crear usuario",
|
||||
"Created": "Creada",
|
||||
"created date": "fecha de creación",
|
||||
"Created local items: %d.": "Elementos locales creados: %d.",
|
||||
@@ -188,7 +180,6 @@
|
||||
"Custom TLS certificates": "Certificados TLS personalizados",
|
||||
"Cut": "Cortar",
|
||||
"Dark": "Oscuro",
|
||||
"Dashboard": "Tablero de Mandos",
|
||||
"Database v%s": "Base de datos v%s",
|
||||
"Date": "Fecha",
|
||||
"Date format": "Formato de fecha",
|
||||
@@ -200,8 +191,6 @@
|
||||
"Default: %s": "Por defecto: %s",
|
||||
"Delete": "Borrar",
|
||||
"Delete attachment \"%s\"?": "¿Borrar adjunto «%s»?",
|
||||
"Delete expired sessions": "Borrar sesiones expiradas",
|
||||
"Delete expired tokens": "Borrar tokens expirados",
|
||||
"Delete line": "Borrar línea",
|
||||
"Delete local data and re-download from sync target": "Eliminar datos locales y volver a descargarlos desde el objetivo de sincronización",
|
||||
"Delete note \"%s\"?": "¿Borrar nota «%s»?",
|
||||
@@ -266,8 +255,6 @@
|
||||
"Editor monospace font family": "Familia de fuente monoespaciada del editor",
|
||||
"Either \"text\" or \"json\"": "Puede ser «text» o «json»",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "Email",
|
||||
"Emails": "Emails",
|
||||
"emphasised text": "texto en cursiva",
|
||||
"Enable": "Habilitar",
|
||||
"Enable ++insert++ syntax": "Activar sintaxis ++insert++",
|
||||
@@ -374,7 +361,6 @@
|
||||
"Idle": "En reposo",
|
||||
"Ignore": "Ignorar",
|
||||
"Ignore TLS certificate errors": "Ignorar errores en certificados TLS",
|
||||
"Images": "Imágenes",
|
||||
"Import": "Importar",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "Importando desde «%s» como formato «%s». Por favor espere...",
|
||||
"Importing notes...": "Importando notas...",
|
||||
@@ -453,7 +439,6 @@
|
||||
"Login with Dropbox": "Acceder con Dropbox",
|
||||
"Login with OneDrive": "Acceder con OneDrive",
|
||||
"Logout": "Cerrar sesión",
|
||||
"Logs": "Registros",
|
||||
"Make a donation": "Hacer una donación",
|
||||
"Manage master password": "Administrar contraseña maestra",
|
||||
"Manage master password...": "Administrar contraseña maestra...",
|
||||
@@ -554,7 +539,6 @@
|
||||
"Operation cancelled": "Operación cancelada",
|
||||
"Options": "Opciones",
|
||||
"Or create an account.": "Crea una nueva nota.O crea una cuenta.",
|
||||
"Other applications...": "Otras aplicaciones...",
|
||||
"Output format: %s": "Formato de destino: %s",
|
||||
"Page orientation for PDF export": "Orientación de la página al exportar como PDF",
|
||||
"Page size for PDF export": "Tamaño de página al exportar como PDF",
|
||||
@@ -567,6 +551,7 @@
|
||||
"PDF File": "Archivo PDF",
|
||||
"Permission needed": "Se necesita permiso",
|
||||
"Permission to use camera": "Permiso para usar la cámara",
|
||||
"Please click on \"%s\" to proceed": "Por favor, haga clic en \"%s\" para proceder",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Por favor, confirme que desea volver a cifrar su base de datos completa.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Por favor, ingrese su contraseña en la lista de claves maestras a continuación antes de actualizar la clave.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Tenga en cuenta de que si se trata de una libreta grande, puede tardar unos minutos para que todas las notas aparezcan en el dispositivo del destinatario.",
|
||||
@@ -595,10 +580,6 @@
|
||||
"Previous versions of this note": "Versiones anteriores de esta nota",
|
||||
"Print": "Imprimir",
|
||||
"Privacy Policy": "Política de Privacidad",
|
||||
"Process failed payment subscriptions": "Procesar las suscripciones de pago fallidas",
|
||||
"Process oversized accounts": "Procesar cuentas de gran tamaño",
|
||||
"Process user deletions": "Procesar eliminaciones de usuarios",
|
||||
"Profile": "Perfil",
|
||||
"Profile Version: %s": "Versión del Perfil: %s",
|
||||
"Properties": "Propiedades",
|
||||
"Public-private key pair:": "Par de claves públicas y privadas:",
|
||||
@@ -640,11 +621,6 @@
|
||||
"Revision: %s (%s)": "Revisión: %s (%s)",
|
||||
"Runs the commands contained in the text file. There should be one command per line.": "Ejecuta los comandos contenidos en el archivo de texto. Debe haber un comando por línea.",
|
||||
"S3": "S3",
|
||||
"S3 access key": "Clave de acceso de S3",
|
||||
"S3 bucket": "S3 bucket",
|
||||
"S3 region": "Región de S3",
|
||||
"S3 secret key": "Clave secreta de S3",
|
||||
"S3 URL": "URL de S3",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "El modo seguro está actualmente activo. El renderizado de notas y todos los plugins están temporalmente deshabilitados.",
|
||||
"Save": "Guardar",
|
||||
"Save alarm": "Establecer alarma",
|
||||
@@ -661,8 +637,6 @@
|
||||
"See the pre-release page for more details: %s": "Ver la página de prelanzamientos para más detalles: %s",
|
||||
"Select": "Seleccione",
|
||||
"Select all": "Seleccionar todo",
|
||||
"Select emoji...": "Seleccionar emoji...",
|
||||
"Select file...": "Seleccionar archivo...",
|
||||
"Server is already running on port %d": "El servidor ya esta ejecutándose en el puerto %d",
|
||||
"Server is not running.": "El servidor no se está ejecutando.",
|
||||
"Server is running on port %d": "El servidor se está ejecutando en el puerto %d",
|
||||
@@ -853,8 +827,6 @@
|
||||
"Unsupported link or message: %s": "Enlace o mensaje no soportado: %s",
|
||||
"Untitled": "Sin título",
|
||||
"Update": "Actualizar",
|
||||
"Update profile": "Actualizar perfil",
|
||||
"Update total sizes": "Actualizar tamaños totales",
|
||||
"Updated": "Actualizada",
|
||||
"updated date": "fecha de actualización",
|
||||
"Updated local items: %d.": "Elementos locales actualizados: %d.",
|
||||
@@ -874,7 +846,6 @@
|
||||
"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.": "Use esto para reparar el índice de búsqueda si hay un problema con la búsqueda. Puede tomar un largo tiempo dependiendo del número de notas.",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Se utiliza para la mayor parte del texto en el editor markdown. Si no se encuentra, se utiliza una fuente genérica proporcional (ancho variable).",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "Se utiliza donde se necesita una fuente de ancho fijo para presentar el texto de manera legible (por ejemplo, tablas, casillas de verificación, código). Si no se encuentra, se utiliza una fuente genérica monoespaciada (ancho fijo).",
|
||||
"User deletions": "Eliminaciones de usuarios",
|
||||
"Users": "Usuarios",
|
||||
"Valid": "Válido",
|
||||
"View": "Ver",
|
||||
@@ -905,6 +876,7 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Puede utilizar la siguiente herramienta para volver a cifrar sus datos, por ejemplo, si sabe que algunas de sus notas están cifradas con un método de cifrado obsoleto.",
|
||||
"Your choice: ": "Su elección: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Sus datos van a ser cifrados y sincronizados nuevamente.",
|
||||
"Your master password is needed to decrypt some of your data.": "Su contraseña maestra es necesaria para descifrar algunos de sus datos.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Su contraseña es necesaria para descrifrar algunos de sus datos. Escriba `:e2ee decrypt` para establecerla.",
|
||||
"Your permission to use your camera is required.": "Su permiso para usar su cámara es necesario.",
|
||||
"Your version: %s": "Su versión: %s",
|
||||
|
||||
@@ -51,8 +51,6 @@
|
||||
"Add recipient:": "Lisää vastaanottaja:",
|
||||
"Add title": "Lisää otsikko",
|
||||
"Add to dictionary": "Lisää sanakirjaan",
|
||||
"Admin": "Ylläpitäjä",
|
||||
"Admin dashboard": "Ylläpitäjän hallintapaneeli",
|
||||
"Advanced options": "Lisäasetukset",
|
||||
"Advanced tools": "Lisätyökalut",
|
||||
"All notes": "Kaikki muistiinpanot",
|
||||
@@ -68,7 +66,7 @@
|
||||
"Aritim Dark": "Aritim Dark",
|
||||
"Attach file": "Liitä tiedosto",
|
||||
"Attach photo": "Liitä valokuva",
|
||||
"Attach...": "Liittää...",
|
||||
"Attach...": "Liitä...",
|
||||
"Attaches the given file to the note.": "Liittää annetun tiedoston muistiinpanoon.",
|
||||
"attachment": "liite",
|
||||
"Attachment conflict: \"%s\"": "Liitteen ristiriita: \"%s\"",
|
||||
@@ -79,7 +77,6 @@
|
||||
"Authentication was not completed (did not receive an authentication token).": "Todennusta ei suoritettu loppuun (todennustunnusta ei saatu).",
|
||||
"Authorisation token:": "Valtuutuksen tunnus:",
|
||||
"Auto": "Automaattinen",
|
||||
"Auto-add disabled accounts for deletion": "Lisää käytöstä poistetut tilit automaattisesti poistettavaksi",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Yhdistä sulut, sulkeet, lainaukset jne.",
|
||||
"Automatically check for updates": "Tarkista päivitykset automaattisesti",
|
||||
"Automatically switch theme to match system theme": "Vaihda teema automaattisesti vastaamaan järjestelmän teemaa",
|
||||
@@ -104,7 +101,6 @@
|
||||
"Cannot refresh token: authentication data is missing. Starting the synchronisation again may fix the problem.": "Tunnusta ei voi päivittää: todennustiedot puuttuvat. Synkronoinnin aloittaminen uudelleen saattaa korjata ongelman.",
|
||||
"Cannot save %s \"%s\" because it is larger than the allowed limit (%s)": "Tallennus ei onnistu %s \"%s\" koska se on suurempi kuin sallittu raja (%s)",
|
||||
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) for this account": "Kohdetta %s \"%s\" ei voida tallentaa, koska se ylittäisi tämän tilin sallitun kokonaiskoon (%s)",
|
||||
"Cannot share encrypted notebook with recipient %s because they have not enabled end-to-end encryption. They may do so from the screen Configuration > Encryption.": "Salattua muistikirjaa ei voi jakaa vastaanottajan %s kanssa, koska hän ei ole ottanut päästä päähän -salausta käyttöön. Sen voi tehdä Asetukset> Salauksen määritys.",
|
||||
"Change application layout": "Sovelluksen asettelun muuttaminen",
|
||||
"Change language": "Vaihda kieltä",
|
||||
"Characters": "Merkit",
|
||||
@@ -136,20 +132,17 @@
|
||||
"Completed": "Valmis",
|
||||
"Completed decryption.": "Salaus on valmis.",
|
||||
"Completed: %s (%s)": "Valmis: %s (%s)",
|
||||
"Compress old changes": "Pakkaa vanhat muutokset",
|
||||
"Configuration": "Asetukset",
|
||||
"Configuration": "Konfigurointi",
|
||||
"Confirm password cannot be empty": "Vahvista salasana ei voi olla tyhjä",
|
||||
"Confirm password:": "Vahvista salasana:",
|
||||
"Confirmation": "Vahvistus",
|
||||
"Conflicted: %d": "Ristiriitainen: %d",
|
||||
"Conflicts": "Ristiriitoja",
|
||||
"Conflicts (attachments)": "Ristiriidat (liitteet)",
|
||||
"Content provided by %s": "Sisällön toimittaa %s",
|
||||
"Convert to note": "Muunna muistiinpanoksi",
|
||||
"Convert to todo": "Muunna tehtäväksi",
|
||||
"Copy": "Kopioi",
|
||||
"Copy dev mode command to clipboard": "Kopioi kehitystila komento leikepöydälle",
|
||||
"Copy external link": "Kopioi ulkoinen linkki",
|
||||
"Copy image": "Kopioi kuva",
|
||||
"Copy Link Address": "Kopioi linkin osoite",
|
||||
"Copy Markdown link": "Kopioi Merkinnän linkki",
|
||||
@@ -158,12 +151,9 @@
|
||||
"Copy token": "Kopioi tunnus",
|
||||
"Could not authorise application:\n\n%s\n\nPlease try again.": "Sovelluksen valtuuttaminen epäonnistui:\n\n%s\n\nYritä uudelleen.",
|
||||
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": "Yhteyden muodostaminen Joplinin palvelimelle epäonnistui. Tarkista synkronoinnin asetukset. Koko virhe oli:\n\n%s",
|
||||
"Could not connect to plugin repository.": "Yhteyden muodostaminen laajennusten arkistoon epäonnistui.",
|
||||
"Could not export notes: %s": "Muistiinpanoja ei voitu viedä: %s",
|
||||
"Could not install plugin: %s": "Laajennuksen asentaminen epäonnistui: %s",
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Kutsuun ei voitu vastata. Yritä uudelleen tai tarkista muistikirjan omistajalta, jakaako hän sitä edelleen.\n\nVirhe oli: \"%s\"",
|
||||
"Could not upgrade master key: %s": "Pääavainta ei voitu päivittää: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "Tämän muistikirjan jaon tilaa ei voitu vahvistaa - keskeytetään. Yritä uudelleen, kun olet muodostanut yhteyden Internetiin.",
|
||||
"Create a notebook": "Luo muistikirja",
|
||||
"Create notebook": "Luo muistikirja",
|
||||
"Create user": "Luo käyttäjä",
|
||||
@@ -188,7 +178,6 @@
|
||||
"Custom TLS certificates": "Mukautetut TLS varmenteet",
|
||||
"Cut": "Leikkaa",
|
||||
"Dark": "Tumma",
|
||||
"Dashboard": "Koontinäyttö",
|
||||
"Database v%s": "Tietokanta v%s",
|
||||
"Date": "Päivämäärä",
|
||||
"Date format": "Päivämäärän muoto",
|
||||
@@ -200,8 +189,6 @@
|
||||
"Default: %s": "Oletus: %s",
|
||||
"Delete": "Poista",
|
||||
"Delete attachment \"%s\"?": "Poista muistiinpano \"%s\"?",
|
||||
"Delete expired sessions": "Poista vanhentuneet istunnot",
|
||||
"Delete expired tokens": "Poista vanhentuneet tunnukset",
|
||||
"Delete line": "Poista rivi",
|
||||
"Delete local data and re-download from sync target": "Poista paikalliset tiedot ja lataa uudelleen synkronointikohteesta",
|
||||
"Delete note \"%s\"?": "Poista muistiinpano \"%s\"?",
|
||||
@@ -239,7 +226,6 @@
|
||||
"Displays version information": "Näyttää versiotiedot",
|
||||
"Do it now": "Hae se nyt",
|
||||
"Do not ask for confirmation.": "Älä kysy vahvistusta.",
|
||||
"Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.": "Älä kadota salasanaa, sillä tämä on turvallisuussyistä *ainoa* tapa purkaa tietojen salaus! Voit ottaa salauksen käyttöön kirjoittamalla salasanasi alle.",
|
||||
"Download": "Lataa",
|
||||
"Download and install the relevant extension for your browser:": "Lataa ja asenna laajennus selaimeesi:",
|
||||
"Downloaded": "Ladattu",
|
||||
@@ -255,7 +241,7 @@
|
||||
"Duplicate line": "Rivin kaksoiskappale",
|
||||
"Duplicates the notes matching <note> to [notebook]. If no notebook is specified the note is duplicated in the current notebook.": "Kopioi muistiinpanot, jotka vastaavat <note> arvoon [notebook]. Jos mitään muistikirjaa ei ole määritetty, muistiinpano kopioidaan nykyiseen muistikirjaan.",
|
||||
"Edit": "Muokkaa",
|
||||
"Edit in external editor": "Muokkaa ulkoisessa tekstieditorissa",
|
||||
"Edit in external editor": "Muokkaa ulkoisessa editorissa",
|
||||
"Edit note.": "Muokkaa muistiinpanoa.",
|
||||
"Edit notebook": "Muokkaa muistikirjaa",
|
||||
"Editor": "Editoija",
|
||||
@@ -293,7 +279,6 @@
|
||||
"Enable Web Clipper Service": "Ota käyttöön Web Clipper työkalu",
|
||||
"Enable ~sub~ syntax": "Ota käyttöön ~sub~ syntax",
|
||||
"Enabled": "Käytössä",
|
||||
"Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target.": "Salauksen ottaminen käyttöön tarkoittaa, että *kaikki* muistiinpanosi ja liitteesi synkronoidaan uudelleen ja lähetetään salattuina synkronointikohteeseen.",
|
||||
"Encrypted": "Salattu",
|
||||
"Encrypted items cannot be modified": "Salattuja kohteita ei voi muokata",
|
||||
"Encrypted notebooks cannot be renamed": "Salattuja muistikirjoja ei voi nimetä uudelleen",
|
||||
@@ -302,9 +287,8 @@
|
||||
"Encryption is: %s": "Salaus on: %s",
|
||||
"Encryption keys": "Salausavaimet",
|
||||
"Encryption:": "Salaus:",
|
||||
"End-to-end encryption": "Päästä päähän salaus",
|
||||
"Enter code here": "Syötä koodi tähän",
|
||||
"Enter master password:": "Kirjoita pääsalasana:",
|
||||
"Enter master password:": "Syötä pääsalasana:",
|
||||
"Enter notebook title": "Anna muistikirjan otsikko",
|
||||
"Enum": "Enum",
|
||||
"Error": "Virhe",
|
||||
@@ -344,13 +328,11 @@
|
||||
"For information on how to customise the shortcuts please visit %s": "Lisätietoja pikavalintojen mukauttamisesta on osoitteessa %s",
|
||||
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "Lisätietoja E2EE (End-To-End Encryption) -salauksesta ja sen käyttöönottoon liittyvistä ohjeista saat seuraavista ohjeista:",
|
||||
"For the list of keyboard shortcuts and config options, type `help keymap`": "Saat luettelon pikanäppäimistä ja config vaihtoehtoja, kirjoita `help keymap`",
|
||||
"Force path style": "Pakota polun tyyli",
|
||||
"Forward": "Eteenpäin",
|
||||
"Found: %d.": "Löytyi: %d.",
|
||||
"FTS enabled: %d": "Koko tekstin haku (FTS) Käytössä: %d",
|
||||
"Full changelog": "Täysi muutosloki",
|
||||
"General": "Yleiset",
|
||||
"Generated": "Luotu",
|
||||
"Generating link...": "Luodaan linkki...",
|
||||
"Get it now:": "Hae se nyt:",
|
||||
"Get pre-releases when checking for updates": "Hanki ennakkojulkaisuja, kun etsit päivityksiä",
|
||||
@@ -361,10 +343,8 @@
|
||||
"Heading": "Otsikko",
|
||||
"Help": "Apua",
|
||||
"Hide %s": "Piilota %s",
|
||||
"Hide disabled keys": "Piilota käytöstä poistetut avaimet",
|
||||
"Hide Joplin": "Piilota Joplin",
|
||||
"Highlight": "Korosta",
|
||||
"Home": "Koti",
|
||||
"Horizontal Rule": "Vaakaviiva",
|
||||
"HTML Directory": "HTML hakemisto",
|
||||
"HTML File": "HTML tiedosto",
|
||||
@@ -403,10 +383,9 @@
|
||||
"Invalid answer: %s": "Virheellinen vastaus: %s",
|
||||
"Invalid command: \"%s\"": "Virheellinen komento: \"%s\"",
|
||||
"Invalid option value: \"%s\". Possible values are: %s.": "Virheellinen asetusarvo: \"%s\". Mahdolliset arvot ovat: %s.",
|
||||
"Invalid password": "Väärä salasana",
|
||||
"Invalid password": "Virheellinen salasana",
|
||||
"Italic": "Kursiivi",
|
||||
"Item \"%s\" could not be downloaded: %s": "Kohdetta \"%s\" ei voitu ladata: %s",
|
||||
"Items": "Kohteet",
|
||||
"Items that cannot be decrypted": "Kohteet, joita ei voi purkaa",
|
||||
"Items that cannot be synchronised": "Kohteet, joita ei voi synkronoida",
|
||||
"Joplin can synchronise your notes using various providers. Select one from the list below.": "Joplin voi synkronoida muistiinpanosi eri palveluntarjoajien avulla. Valitse yksi alla olevasta luettelosta.",
|
||||
@@ -429,14 +408,12 @@
|
||||
"Keyboard Shortcut": "Pikanäppäin",
|
||||
"Keyboard Shortcuts": "Pikanäppäimet",
|
||||
"Keychain Supported: %s": "Avainnippu tuettu: %s",
|
||||
"Keys that need upgrading": "Päivitystä vaativat avaimet",
|
||||
"Landscape": "Vaakasuunta",
|
||||
"Language": "Kieli",
|
||||
"Last error: %s": "Viimeinen virhe: %s",
|
||||
"Later": "Myöhemmin",
|
||||
"Layout": "Ulkoasu",
|
||||
"Layout button sequence": "Aseta painike järjestys",
|
||||
"Leave notebook...": "Poistu muistikirjasta...",
|
||||
"Legal": "Legal",
|
||||
"Letter": "Letter",
|
||||
"Light": "Vaalea",
|
||||
@@ -444,7 +421,6 @@
|
||||
"Link has been copied to clipboard!": "Linkki on kopioitu leikepöydälle!",
|
||||
"Links with protocol \"%s\" are not supported": "Linkkejä protokollaan \"%s\" ei tueta",
|
||||
"List item": "Luettelon kohde",
|
||||
"Loaded": "Ladattu",
|
||||
"Location": "Sijainti",
|
||||
"Lock file is already being hold. If you know that no synchronisation is taking place, you may delete the lock file at \"%s\" and resume the operation.": "Lukitustiedosto on jo pidossa. Jos tiedät, että synkronointia ei tapahdu, voit poistaa lukitustiedoston kohdasta \"%s\" ja jatkaa toimintaa.",
|
||||
"Log": "Loki",
|
||||
@@ -452,16 +428,12 @@
|
||||
"Login below.": "Kirjaudu sisään alla.",
|
||||
"Login with Dropbox": "Kirjaudu sisään Dropbox",
|
||||
"Login with OneDrive": "Kirjaudu sisään OneDrive",
|
||||
"Logout": "Uloskirjaus",
|
||||
"Logs": "Lokit",
|
||||
"Make a donation": "Tee lahjoitus",
|
||||
"Manage master password": "Pääsalasanan hallinta",
|
||||
"Manage master password...": "Hallitse pääsalasanaa...",
|
||||
"Manage master password...": "Pääsalasanan hallinta...",
|
||||
"Manage your plugins": "Hallitse laajennuksia",
|
||||
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": "Hallitse E2EE määrityksiä. Komennot ovat `enable`, `disable`, `decrypt`, `status`, `decrypt-file` ja `target-status`.",
|
||||
"Manual": "Manuaalinen",
|
||||
"Markdown": "Markdown",
|
||||
"Markdown + Front Matter": "Markdown + Front Matter",
|
||||
"Marks a to-do as done.": "Merkitsee tehtävän valmiiksi.",
|
||||
"Marks a to-do as non-completed.": "Merkitsee tehtävän keskeneräiseksi.",
|
||||
"Markup": "Merkintä",
|
||||
@@ -469,7 +441,6 @@
|
||||
"Master password": "Pääsalasana",
|
||||
"Master password:": "Pääsalasana:",
|
||||
"Max concurrent connections": "Samanaikaiset yhteydet enintään",
|
||||
"Missing keys": "Puuttuvat avaimet",
|
||||
"Missing Master Keys": "Puuttuvat pääavaimet",
|
||||
"Missing required argument: %s": "Vaadittu argumentti puuttuu: %s",
|
||||
"Mobile data - auto-sync disabled": "Mobiilidata - automaattinen synkronointi poistettu käytöstä",
|
||||
@@ -510,7 +481,6 @@
|
||||
"Nord": "Nord",
|
||||
"Not authentified with %s. Please provide any missing credentials.": "Ei todennettu %s. Anna puuttuvat tunnistetiedot.",
|
||||
"Not downloaded": "Ei ladattu",
|
||||
"Not generated": "Ei luotu",
|
||||
"note": "merkintä",
|
||||
"Note": "Huomautus",
|
||||
"Note area growth factor": "Huomautus alueen kasvutekijä",
|
||||
@@ -519,7 +489,7 @@
|
||||
"Note body": "Muistiinpanon kappale",
|
||||
"Note does not exist: \"%s\". Create it?": "Huomautusta ei ole: \"%s\". Luodaanko se?",
|
||||
"Note has been saved.": "Huomautus on tallennettu.",
|
||||
"Note History": "Muistiinpano historia",
|
||||
"Note History": "Muistiinpanohistoria",
|
||||
"Note is not a to-do: \"%s\"": "Huomautus ei ole tehtävä: \"%s\"",
|
||||
"Note list": "Muistiinpanot",
|
||||
"Note list growth factor": "Huomautus luettelon kasvutekijä",
|
||||
@@ -554,7 +524,6 @@
|
||||
"Operation cancelled": "Toiminto peruutettu",
|
||||
"Options": "Asetukset",
|
||||
"Or create an account.": "Tai luo tili.",
|
||||
"Other applications...": "Muut sovellukset...",
|
||||
"Output format: %s": "Esitysmuoto: %s",
|
||||
"Page orientation for PDF export": "Sivun suunta PDF vientiä varten",
|
||||
"Page size for PDF export": "PDF viennin sivukoko",
|
||||
@@ -569,7 +538,6 @@
|
||||
"Permission to use camera": "Lupa käyttää kameraa",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Varmista, että haluat salata koko tietokannan uudelleen.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Kirjoita salasana alla olevaan pääavainluetteloon ennen avaimen päivittämistä.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Huomaa, että jos kyseessä on suuri muistikirja, voi kestää minuutteja, ennen kuin kaikki muistiinpanot näkyvät vastaanottajan laitteessa.",
|
||||
"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.": "Todenna sovellus avaamalla selaimessasi seuraava URL-osoite. Sovellus luo hakemiston \"Sovellukset / Joplin\" ja lukee ja kirjoittaa vain tiedostoja tähän hakemistoon. Sillä ei ole pääsyä tämän hakemiston ulkopuolisiin tiedostoihin eikä muihin henkilötietoihin. Tietoja ei jaeta kolmannen osapuolen kanssa.",
|
||||
"Please select a notebook first.": "Valitse ensin muistikirja.",
|
||||
"Please select the note or notebook to be deleted first.": "Valitse ensin poistettava muistiinpano tai muistikirja.",
|
||||
@@ -595,13 +563,8 @@
|
||||
"Previous versions of this note": "Tämän muistiinpanon aiemmat versiot",
|
||||
"Print": "Tulosta",
|
||||
"Privacy Policy": "Tietosuojakäytäntö",
|
||||
"Process failed payment subscriptions": "Käsittele epäonnistuneet maksutilaukset",
|
||||
"Process oversized accounts": "Käsittele ylisuuria tilejä",
|
||||
"Process user deletions": "Käsittele käyttäjien poistot",
|
||||
"Profile": "Profiili",
|
||||
"Profile Version: %s": "Profiilin versio: %s",
|
||||
"Properties": "Ominaisuudet",
|
||||
"Public-private key pair:": "Julkinen ja yksityinen avainpari:",
|
||||
"Publish note...": "Muistiinpanon julkaiseminen...",
|
||||
"Publish Notes": "Julkaise muistiinpanot",
|
||||
"Publish notes to the internet": "Julkaise muistiinpanot Internetissä",
|
||||
@@ -626,7 +589,6 @@
|
||||
"Rename tag:": "Nimeä tunniste uudelleen:",
|
||||
"Renames the given <item> (note or notebook) to <name>.": "Nimeää annetun <item> (muistiinpano tai muistikirja) nimeksi <name>.",
|
||||
"Renew token": "Uusi tunnus",
|
||||
"Reset master password": "Pääsalasanan vaihtaminen",
|
||||
"Resources: %d.": "Resursseja: %d.",
|
||||
"Restart and upgrade": "Käynnistä uudelleen ja päivitä",
|
||||
"Restart now": "Käynnistä uudelleen nyt",
|
||||
@@ -639,12 +601,6 @@
|
||||
"Reverses the sorting order.": "Kääntää lajittelujärjestyksen.",
|
||||
"Revision: %s (%s)": "Versio: %s (%s)",
|
||||
"Runs the commands contained in the text file. There should be one command per line.": "Suorittaa tekstitiedoston komennot. Riviä kohden pitäisi olla yksi komento.",
|
||||
"S3": "S3",
|
||||
"S3 access key": "S3 access key",
|
||||
"S3 bucket": "S3 bucket",
|
||||
"S3 region": "S3 region",
|
||||
"S3 secret key": "S3 secret key",
|
||||
"S3 URL": "S3 URL",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "Turvallinen tila on tällä hetkellä aktiivinen. Huomautusten renderöinti ja kaikki laajennukset on tilapäisesti poistettu käytöstä.",
|
||||
"Save": "Tallenna",
|
||||
"Save alarm": "Tallenna hälytys",
|
||||
@@ -661,14 +617,12 @@
|
||||
"See the pre-release page for more details: %s": "Lisätietoja on ennakkojulkaisusivulla: %s",
|
||||
"Select": "Valitse",
|
||||
"Select all": "Valitse kaikki",
|
||||
"Select emoji...": "Valitse emoji...",
|
||||
"Select file...": "Valitse tiedosto...",
|
||||
"Server is already running on port %d": "Palvelin on jo käynnissä portissa %d",
|
||||
"Server is not running.": "Palvelin ei ole käynnissä.",
|
||||
"Server is running on port %d": "Palvelin on käynnissä portissa %d",
|
||||
"Set alarm": "Aseta hälytys",
|
||||
"Set alarm:": "Aseta hälytys:",
|
||||
"Set it to 0 to make it take the complete available space. Recommended width is 600.": "Aseta se arvoksi 0, jotta se vie koko käytettävissä olevan tilan. Suositeltu leveys on 600.",
|
||||
"Set the password": "Aseta salasana",
|
||||
"Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s": "Asettaa ominaisuuden <name> annetusta <note> annettuun [arvoon]. Mahdolliset ominaisuudet ovat:\n\n%s",
|
||||
"Share": "Jaa",
|
||||
@@ -679,9 +633,7 @@
|
||||
"Show Advanced Settings": "Näytä lisäasetukset",
|
||||
"Show all": "Näytä kaikki",
|
||||
"Show completed to-dos": "Näytä valmiit tehtävät",
|
||||
"Show disabled keys": "Näytä käytöstä poistetut avaimet",
|
||||
"Show note counts": "Näytä muistiinpanojen määrä",
|
||||
"Show sort order buttons": "Näytä lajittelujärjestyspainikkeet",
|
||||
"Show tray icon": "Näytä kuvake tehtäväpalkissa",
|
||||
"Sidebar": "Sivupalkki",
|
||||
"Size": "Koko",
|
||||
@@ -717,7 +669,7 @@
|
||||
"Step 2: Enter the code provided by Dropbox:": "Vaihe 2: Kirjoita Dropboxin tarjoama koodi:",
|
||||
"Step 2: Install the extension": "Vaihe 2: Asenna laajennus",
|
||||
"Stop": "Seis",
|
||||
"Stop external editing": "Lopeta ulkoisen tekstieditorin muokkaus",
|
||||
"Stop external editing": "Lopeta ulkoinen muokkaus",
|
||||
"Strikethrough": "Yliviivaus",
|
||||
"strong text": "vahva teksti",
|
||||
"Submit": "Lähetä",
|
||||
@@ -752,7 +704,6 @@
|
||||
"Tagged: %d.": "Merkityt: %d.",
|
||||
"Tags": "Tunnisteet",
|
||||
"Take photo": "Ota valokuva",
|
||||
"Tasks": "Tehtävät",
|
||||
"Text editor command": "Tekstieditorin komento",
|
||||
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Kiitos! Your Joplin Cloud tilisi on nyt määritetty ja käyttövalmis.",
|
||||
"The app is now going to close. Please relaunch it to complete the process.": "Sovellus suljetaan nyt. Käynnistä se uudelleen prosessin loppuun saamiseksi.",
|
||||
@@ -768,19 +719,14 @@
|
||||
"The editor command (may include arguments) that will be used to open a note. If none is provided it will try to auto-detect the default editor.": "Editorikomento (voi sisältää argumentteja), jota käytetään muistiinpanon avaamiseen. Jos mitään ei ole annettu, se yrittää tunnistaa oletuseditorin automaattisesti.",
|
||||
"The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes.": "Kerroin ominaisuus määrittää, miten kohde kasvaa tai kutistuu niin, että se sopii säiliössä olevaan tilaan suhteessa muihin kohteisiin. Näin ollen kohde, jonka kerroin on 2, vie kaksi kertaa enemmän tilaa kuin kohde, jonka kerroin on 1.Restart sovellus muutosten näkemistä varten.",
|
||||
"The following attachments are being watched for changes:": "Seuraavia liitteitä tarkkaillaan muutosten vuoksi:",
|
||||
"The following keys use an out-dated encryption algorithm and it is recommended to upgrade them. The upgraded key will still be able to decrypt and encrypt your data as usual.": "Seuraavat avaimet käyttävät vanhentunutta salausalgoritmia, ja ne on suositeltavaa päivittää. Päivitetty avain pystyy edelleen purkamaan ja salaamaan tietosi tavalliseen tapaan.",
|
||||
"The Joplin mobile app does not currently support this type of link: %s": "Joplin mobiilisovellus ei tällä hetkellä tue tämän tyyppistä linkkiä: %s",
|
||||
"The Joplin team has vetted this plugin and it meets our standards for security and performance.": "Joplin tiimi on käynyt läpi tämän laajennuksen ja se täyttää turvallisuus- ja suorituskykystandardimme.",
|
||||
"The keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "Näillä tunnuksilla varustettuja avaimia käytetään joidenkin kohteiden salaamiseen, mutta sovelluksella ei tällä hetkellä ole pääsyä niihin. On todennäköistä, että ne lopulta ladataan synkronoinnin avulla.",
|
||||
"The master key has been upgraded successfully!": "Pääavain on päivitetty onnistuneesti!",
|
||||
"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "Näillä tunnuksilla varustettuja pääavaimia käytetään joidenkin kohteiden salaamiseen, mutta sovelluksella ei tällä hetkellä ole pääsyä niihin. On todennäköistä, että ne lopulta ladataan synkronoinnin avulla.",
|
||||
"The note \"%s\" has been successfully restored to the notebook \"%s\".": "Muistiinpano \"%s\" on palautettu muistikirjaan \"%s\".",
|
||||
"The notebook could not be saved: %s": "Muistikirjaa ei voitu tallentaa: %s",
|
||||
"The notes have been imported: %s": "Muistiinpanot on tuotu: %s",
|
||||
"The possible commands are:": "Mahdolliset komennot ovat:",
|
||||
"The recipient could not be removed from the list. Please try again.\n\nThe error was: \"%s\"": "Vastaanottajaa ei voitu poistaa luettelosta. Yritä uudelleen.\n\nVirhe oli: \"%s\"",
|
||||
"The sync target needs to be upgraded before Joplin can sync. The operation may take a few minutes to complete and the app needs to be restarted. To proceed please click on the link.": "Synkronointikohde on päivitettävä, ennen kuin Joplin voidaan synkronoida. Toiminnon suorittamiseen voi mennä muutama minuutti, ja sovellus on käynnistettävä uudelleen. Jatka napsauttamalla linkkiä.",
|
||||
"The sync target needs to be upgraded. Press this banner to proceed.": "Synkronointikohde on päivitettävä. Jatka painamalla tätä banneria.",
|
||||
"The tag \"%s\" already exists. Please choose a different name.": "Tunniste \"%s\" on jo olemassa. Valitse toinen nimi.",
|
||||
"The target to synchronise to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).": "Kohde, johon synkronoidaan. Jokaisella synkronointikohteella voi olla muita parametreja, jotka on nimetty `sync.NUM.NAME` (kaikki dokumentoitu jäljempänä).",
|
||||
"The Web Clipper needs your authorisation to access your data.": "Web Clipper tarvitsee valtuutuksen tietojen käyttöön.",
|
||||
@@ -807,12 +753,10 @@
|
||||
"This service allows the browser extension to communicate with Joplin. When enabling it your firewall may ask you to give permission to Joplin to listen to a particular port.": "Tämän palvelun avulla selainlaajennus voi olla yhteydessä Jopliniin. Kun se otetaan käyttöön, palomuuri voi pyytää sinua antamaan Joplinille luvan kuunnella tiettyä porttia.",
|
||||
"This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronised, thus reducing the number of conflicts.": "Antaa Joplinille mahdollisuuden toimia taustalla. On suositeltavaa ottaa tämä asetus käyttöön, jotta muistiinpanoja synkronoidaan jatkuvasti, näin vähennetään ristiriitojen määrää.",
|
||||
"This will open a new screen. Save your current changes?": "Tämä avaa uuden ikkunan. Tallennetaanko nykyiset muutokset?",
|
||||
"This will remove the notebook from your collection and you will no longer have access to its content. Do you wish to continue?": "Tämä poistaa muistikirjan kokoelmasta, etkä voi enää käyttää sen sisältöä. Haluatko jatkaa?",
|
||||
"Time format": "Ajan muoto",
|
||||
"title": "otsikko",
|
||||
"Title": "Otsikko",
|
||||
"To allow Joplin to synchronise with Dropbox, please follow the steps below:": "Jos haluat, että Joplin voi synkronoida Dropboxin kanssa, toimi seuraavasti:",
|
||||
"To continue, please enter your master password below.": "Jatka kirjoittamalla pääsalasanasi alle.",
|
||||
"To delete a tag, untag the associated notes.": "Tunnisteen poistaminen, poista merkinnät muistiinpanoista.",
|
||||
"To delete: %d": "Poistettu: %d",
|
||||
"To enter command line mode, press \":\"": "Siirry komentorivitilaan painamalla \":\"",
|
||||
@@ -827,12 +771,10 @@
|
||||
"Toggle development tools": "Vaihda kehitystyökalut",
|
||||
"Toggle editor layout": "Vaihda editorin asettelua",
|
||||
"Toggle editors": "Vaihda editoria",
|
||||
"Toggle external editing": "Vaihda ulkoiseen tekstieditoriin",
|
||||
"Toggle external editing": "Vaihda ulkoiseen muokkaukseen",
|
||||
"Toggle note list": "Muistiinpanoluettelon vaihtaminen",
|
||||
"Toggle own sort order": "Vaihda omaa lajittelujärjestystä",
|
||||
"Toggle safe mode": "Vaihda turvalliseen tilaan",
|
||||
"Toggle sidebar": "Näytä sivupalkki",
|
||||
"Toggle sort order field": "Vaihda lajittelujärjestyskenttää",
|
||||
"Token has been copied to the clipboard!": "Tunnus on kopioitu leikepöydälle!",
|
||||
"Tools": "Työkalut",
|
||||
"Total: %d/%d": "Yhteensä: %d/%d",
|
||||
@@ -853,8 +795,6 @@
|
||||
"Unsupported link or message: %s": "Linkkiä tai viestiä ei tueta: %s",
|
||||
"Untitled": "Nimetön",
|
||||
"Update": "Päivitä",
|
||||
"Update profile": "Päivitä profiili",
|
||||
"Update total sizes": "Päivitä kokonaismäärät",
|
||||
"Updated": "Päivitetty",
|
||||
"updated date": "päivitetty päivämäärä",
|
||||
"Updated local items: %d.": "Päivitetyt paikalliset kohteet: %d.",
|
||||
@@ -874,7 +814,6 @@
|
||||
"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.": "Tämän avulla voit muodostaa hakuindeksin uudelleen, jos haussa on ongelma. Se voi kestää kauan muistiinpanojen määrästä riippuen.",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Käytetään useimmissa teksteissä markdown editorissa. Jos sitä ei löydy, käytetään yleistä suhteellista fonttia (vaihtelevaa leveyttä).",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "Käytetään, kun tekstiin tarvitaan kiinteäleveyksinen fontti (esim. taulukot, valintaruudut, koodi). Jos sitä ei löydy, käytetään yleistä monospace fonttia (kiinteäleveyksinen).",
|
||||
"User deletions": "Käyttäjien poisto",
|
||||
"Users": "Käyttäjät",
|
||||
"Valid": "Kelvollinen",
|
||||
"View": "Näytä",
|
||||
@@ -905,7 +844,6 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Voit käyttää alla olevaa työkalua tietojen salaamiseen uudelleen, esimerkiksi jos tiedät, että osa muistiinpanoistasi on salattu vanhentuneella salausmenetelmällä.",
|
||||
"Your choice: ": "Sinun valintasi: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Tietosi salataan ja synkronoidaan uudelleen.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Salasanaa tarvitaan joidenkin tietojen salauksen purkamiseen. Aseta se kirjoittamalla `:e2ee decrypt`.",
|
||||
"Your permission to use your camera is required.": "Tarvitset luvan käyttää kameraa.",
|
||||
"Your version: %s": "Sinun versiosi: %s",
|
||||
"Zoom In": "Lähennä",
|
||||
|
||||
@@ -58,7 +58,6 @@
|
||||
"All notes": "Toutes les notes",
|
||||
"All potential ports are in use - please report the issue at %s": "Tous les ports sont en cours d'utilisation. Veuillez signaler ce problème sur %s",
|
||||
"Also displays unset and hidden config variables.": "Afficher également les variables cachées.",
|
||||
"Also publish linked notes": "Publier également les notes liées",
|
||||
"Always": "Toujours",
|
||||
"An update is available, do you want to download it now?": "Une mise à jour est disponible, souhaitez vous la télécharger maintenant ?",
|
||||
"Appearance": "Apparence",
|
||||
@@ -165,9 +164,7 @@
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Impossible de répondre à l'invitation. Veuillez réessayer, ou demandez au propriétaire du carnet s'il le partage toujours.\n\nL'erreur était : \"%s\"",
|
||||
"Could not upgrade master key: %s": "Impossible de mettre la clef à niveau : %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "Impossible de vérifier l'état du partage du carnet - annulation. Veuillez réessayer lorsque vous serez connecté à internet.",
|
||||
"Create": "Créer",
|
||||
"Create a notebook": "Créer un carnet",
|
||||
"Create new profile...": "Créer un nouveau profil...",
|
||||
"Create notebook": "Créer un carnet",
|
||||
"Create user": "Créer utilisateur",
|
||||
"Created": "Créé",
|
||||
@@ -261,14 +258,12 @@
|
||||
"Edit in external editor": "Ouvrir dans un éditeur externe",
|
||||
"Edit note.": "Éditer la note.",
|
||||
"Edit notebook": "Éditer le carnet",
|
||||
"Edit profile configuration...": "Editer la configuration des profils...",
|
||||
"Editor": "Éditeur",
|
||||
"Editor font": "Police de l'éditeur",
|
||||
"Editor font family": "Police de l'éditeur",
|
||||
"Editor font size": "Taille police éditeur",
|
||||
"Editor maximum width": "Largeur maximale de l'éditeur",
|
||||
"Editor monospace font family": "Police monospace de l'éditeur",
|
||||
"Editor: %s": "Éditeur : %s",
|
||||
"Either \"text\" or \"json\"": "Soit \"text\" soit \"json\"",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "Email",
|
||||
@@ -338,7 +333,6 @@
|
||||
"Fetching resources: %d/%d": "Tél. ressources : %d/%d",
|
||||
"File": "Fichier",
|
||||
"File system": "Système de fichier",
|
||||
"Filter tags": "Filtrer les étiquettes",
|
||||
"Firefox Extension": "Module Firefox",
|
||||
"Fix search index": "Corriger index de recherche",
|
||||
"Fixing search index...": "Correction de l'index…",
|
||||
@@ -573,7 +567,7 @@
|
||||
"PDF File": "Fichier PDF",
|
||||
"Permission needed": "Permission requise",
|
||||
"Permission to use camera": "Permission d'utiliser l'appareil photo",
|
||||
"Please click on \"%s\" to proceed, or set the passwords in the \"%s\" list below.": "Veuillez cliquer sur \"%s\" pour continuer, ou entrez les mots de passe dans la liste \"%s\" ci-dessous.",
|
||||
"Please click on \"%s\" to proceed": "Veuillez cliquer sur \"%s\" pour continuer",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Veuillez confirmer que vous souhaitez ré‑encrypter la base de données complète.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Veuillez entrer le mot de passe de la clef maître ci‑dessous avant de mettre la clef à niveau.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Veuillez noter que les carnets de grande taille peuvent mettre plusieurs minutes pour que toutes les notes apparaissent sur l'appareil du destinataire.",
|
||||
@@ -606,7 +600,6 @@
|
||||
"Process oversized accounts": "Traiter les comptes ayant excédé leur limite",
|
||||
"Process user deletions": "Traiter la suppression d'utilisateurs",
|
||||
"Profile": "Profil",
|
||||
"Profile name:": "Nom du profil :",
|
||||
"Profile Version: %s": "Version du profil : %s",
|
||||
"Properties": "Propriétés",
|
||||
"Public-private key pair:": "Paire de clefs publiques privées :",
|
||||
@@ -656,7 +649,6 @@
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "Le mode sans échec est actif. Le rendu des notes et les modules sont temporairement désactivés.",
|
||||
"Save": "Enregistrer",
|
||||
"Save alarm": "Enregistrer alarme",
|
||||
"Save as %s": "Enregistrer comme %s",
|
||||
"Save as...": "Enregistrer sous…",
|
||||
"Save changes": "Enregistrer les changements",
|
||||
"Save geo-location with notes": "Enregistrer les informations de géolocalisation des notes",
|
||||
@@ -736,9 +728,7 @@
|
||||
"Swap line down": "Déplacer la ligne vers le bas",
|
||||
"Swap line up": "Déplacer la ligne vers le haut",
|
||||
"Switch between note and to-do type": "Alterner entre note et tâche",
|
||||
"Switch profile": "Changer de profil",
|
||||
"Switch to note type": "Convertir en note",
|
||||
"Switch to profile %d": "Basculer vers le profil %d",
|
||||
"Switch to to-do type": "Convertir en tâche",
|
||||
"Switches to [notebook] - all further operations will happen within this notebook.": "Changer de carnet – toutes les opérations à venir se feront dans ce carnet.",
|
||||
"Sync Status": "État synchronisation",
|
||||
@@ -760,7 +750,6 @@
|
||||
"Synchronising...": "Synchronisation…",
|
||||
"Synchronizing...": "Synchronisation…",
|
||||
"Tabloid": "Tabloïde",
|
||||
"tag1, tag2, ...": "étiquette1, étiquette2, ...",
|
||||
"Tagged: %d.": "Étiquettes : %d.",
|
||||
"Tags": "Étiquettes",
|
||||
"Take photo": "Prendre une photo",
|
||||
@@ -768,7 +757,6 @@
|
||||
"Text editor command": "Commande de l'éditeur de texte",
|
||||
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Merci ! Votre compte Joplin Cloud est maintenant configuré et prêt à être utilisé.",
|
||||
"The app is now going to close. Please relaunch it to complete the process.": "L'application va maintenant se fermer. Veuillez la relancer pour terminer l'opération.",
|
||||
"The application did not close properly. Would you like to start in safe mode?": "L'application ne s'est pas fermée correctement. Voulez-vous démarrer en mode sans échec ?",
|
||||
"The application has been authorised - you may now close this browser tab.": "Le logiciel a été autorisé. Vous pouvez maintenant fermer cet onglet.",
|
||||
"The application has been authorised!": "Le logiciel a été autorisé !",
|
||||
"The application has been successfully authorised.": "Le logiciel a été autorisé.",
|
||||
@@ -918,7 +906,7 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Vous pouvez utiliser l'outil ci‑dessous pour re‑chiffrer vos données, par exemple si vous savez que certaines de vos notes sont chiffrées avec une méthode de chiffrage obsolète.",
|
||||
"Your choice: ": "Votre choix : ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Vos données vont être chiffrées et synchronisées à nouveau.",
|
||||
"Your password is needed to decrypt some of your data.": "Votre mot de passe maître est requis pour déchiffrer une partie de vos données.",
|
||||
"Your master password is needed to decrypt some of your data.": "Votre mot de passe maître est requis pour déchiffrer une partie de vos données.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Votre mot de passe maître est requis pour déchiffrer une partie de vos données. Tapez `:e2ee decrypt` pour entrer le mot de passe.",
|
||||
"Your permission to use your camera is required.": "Votre permission est requise pour utiliser l'appareil photo.",
|
||||
"Your version: %s": "Votre version : %s",
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
"(%s)": "(%s)",
|
||||
"(None)": "(Ništa)",
|
||||
"(wysiwyg: %s)": "(wysiwyg: %s)",
|
||||
"- Camera: to allow taking a picture and attaching it to a note.": "- Kamera: za dozvoljavanje snimanja slike i prilaganje slike bilješci.",
|
||||
"- Camera: to allow taking a picture and attaching it to a note.": "- Kamera: dozvoli snimanje slike i priloži je bilješci.",
|
||||
"- Location: to allow attaching geo-location information to a note.": "- Mjesto: dozvoli prilaganje geografskih podataka mjesta bilješci.",
|
||||
"- Storage: to allow attaching files to notes and to enable filesystem synchronisation.": "- Spremište: za dozvoljavanje prilaganja datoteka bilješkama i aktiviranje sinkronizacije datotečnog sustava.",
|
||||
"- Storage: to allow attaching files to notes and to enable filesystem synchronisation.": "- Spremište: dozvoli prilaganje datoteka bilješkama i aktiviraj sinkronizaciju datotečnog sustava.",
|
||||
"<tag-command> can be \"add\", \"remove\", \"list\", or \"notetags\" to assign or remove [tag] from [note], to list notes associated with [tag], or to list tags associated with [note]. The command `tag list` can be used to list all the tags (use -l for long option).": "Naredba za oznaku <tag-command> može biti „add”, „remove”, „list” ili „notetags” za dodavanje ili uklanjanje oznake [tag] bilješci [note], za popis bilježaka povezanih s oznakom [tag] ili za popis oznaka povezanih s bilješkom [note]. Naredba `tag list` može se koristiti za popis svih oznaka (koristi -l za dugačku opciju).",
|
||||
"<todo-command> can either be \"toggle\" or \"clear\". Use \"toggle\" to toggle the given to-do between completed and uncompleted state (If the target is a regular note it will be converted to a to-do). Use \"clear\" to convert the to-do back to a regular note.": "Naredba za zadatak <todo-command> može biti „toggle” ili „clear”. Koristi „toggle” za prebacivanje zadanog zadatka između završenog i nezavršenog stanja (ako je cilj uobičajena bilješka, pretvorit će se u zadatak). Koristi „clear” za pretvaranje zadatka u uobičajenu bilješku.",
|
||||
"A3": "A3",
|
||||
@@ -51,20 +51,17 @@
|
||||
"Add recipient:": "Dodaj primaoca:",
|
||||
"Add title": "Dodaj naslov",
|
||||
"Add to dictionary": "Dodaj u rječnik",
|
||||
"Admin": "Administrator",
|
||||
"Admin dashboard": "Pregledna ploča administratora",
|
||||
"Advanced options": "Napredne opcije",
|
||||
"Advanced tools": "Napredni alati",
|
||||
"All notes": "Sve bilješke",
|
||||
"All potential ports are in use - please report the issue at %s": "Svi mogući priključci se koriste – prijavi problem na %s",
|
||||
"All potential ports are in use - please report the issue at %s": "Svi mogući priključci su zauzeti – prijavi problem na %s",
|
||||
"Also displays unset and hidden config variables.": "Također prikazuje nepostavljene i skrivene varijable konfiguracije.",
|
||||
"Also publish linked notes": "Također objavi povezane bilješke",
|
||||
"Always": "Uvijek",
|
||||
"An update is available, do you want to download it now?": "Dostupna je nova verzija. Želiš li je sada preuzeti?",
|
||||
"Appearance": "Izgled",
|
||||
"Application": "Program",
|
||||
"Apply": "Primijeni",
|
||||
"Are you sure you want to renew the authorisation token?": "Stvarno želiš obnoviti ključ autorizacije?",
|
||||
"Are you sure you want to renew the authorisation token?": "Stvarno želiš obnoviti ključ za autorizaciju?",
|
||||
"Arguments:": "Argumenti:",
|
||||
"Aritim Dark": "Aritim tamna",
|
||||
"Attach file": "Priloži datoteku",
|
||||
@@ -73,16 +70,14 @@
|
||||
"Attaches the given file to the note.": "Prilaže zadanu datoteku bilješci.",
|
||||
"attachment": "privitak",
|
||||
"Attachment conflict: \"%s\"": "Konflikt s privitkom: „%s”",
|
||||
"Attachment download behaviour": "Preuzimanje privitaka",
|
||||
"Attachment download behaviour": "Način preuzimanja privitaka",
|
||||
"Attachments": "Privici",
|
||||
"Attachments that could not be downloaded": "Privici koji se nisu mogli preuzeti",
|
||||
"Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: %s": "Oprez: Ako promijeniš ovo mjesto, pazi da kopiraš sav svoj sadržaj na to mjesto prije sinkronizacije, jer će se inače ukloniti sve datoteke! Saznaj više na ČPP-stranici: %s",
|
||||
"Authentication was not completed (did not receive an authentication token).": "Autentifikacija nije završena (nije dobiven ključ autentifikacije).",
|
||||
"Authorisation token:": "Ključ autorizacije:",
|
||||
"Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: %s": "Oprez: Ako promijeniš ovo mjesto, pazi da kopiraš sav tvoj sadržaj na to mjesto prije sinkronizacije, jer će se inače ukloniti sve datoteke! Saznaj više na ČPP-stranici: %s",
|
||||
"Authentication was not completed (did not receive an authentication token).": "Autentifikacija nije završena (nije dobiven ključ za autentifikaciju).",
|
||||
"Authorisation token:": "Ključ za autorizaciju:",
|
||||
"Auto": "Automatski",
|
||||
"Auto-add disabled accounts for deletion": "Automatski dodaj deaktivirane račune za brisanje",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Automatski uskladi zagrade, navodnike itd.",
|
||||
"Automatically check for updates": "Automatski traži nove verzije",
|
||||
"Automatically switch theme to match system theme": "Automatski promijeni temu na temu sustava",
|
||||
"Back": "Natrag",
|
||||
"Bold": "Podebljano",
|
||||
@@ -90,7 +85,7 @@
|
||||
"Browse...": "Pregledaj …",
|
||||
"Bulleted List": "Popis s predznakom",
|
||||
"Cancel": "Odustani",
|
||||
"Cancelling background synchronisation... Please wait.": "Prekida se sinkronizacija u pozadini … Pričekaj.",
|
||||
"Cancelling background synchronisation... Please wait.": "Prekidanje sinkronizacije u pozadini … Pričekaj.",
|
||||
"Cancelling...": "Prekida se …",
|
||||
"Cancelling... Please wait.": "Prekida se … Pričekaj.",
|
||||
"Cannot access %s": "Nije moguće pristupiti %s",
|
||||
@@ -102,10 +97,10 @@
|
||||
"Cannot load \"%s\" module for format \"%s\" and target \"%s\"": "Nije moguće učitati modul „%s” za format „%s” i cilj „%s”",
|
||||
"Cannot move note to \"%s\" notebook": "Nije moguće premjestiti bilješku u bilježnicu „%s”",
|
||||
"Cannot move notebook to this location": "Nije moguće premjestiti bilježnicu na ovo mjesto",
|
||||
"Cannot refresh token: authentication data is missing. Starting the synchronisation again may fix the problem.": "Nije moguće aktualizirati ključ: nedostaju podaci autentifikacije. Ponovno pokretanje sinkronizacije može ispraviti problem.",
|
||||
"Cannot save %s \"%s\" because it is larger than the allowed limit (%s)": "Nije moguće spremiti %s „%s” jer je veći od dozvoljene granice (%s)",
|
||||
"Cannot refresh token: authentication data is missing. Starting the synchronisation again may fix the problem.": "Nije moguće aktualizirati ključ: nedostaju podaci za autentifikaciju. Ponovno pokretanje sinkronizacije može ispraviti problem.",
|
||||
"Cannot save %s \"%s\" because it is larger than the allowed limit (%s)": "Nije moguće spremiti %s „%s\\” jer je veći od dozvoljene granice (%s)",
|
||||
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) for this account": "Nije moguće spremiti %s „%s” jer bi se prekoračila ukupna dozvoljena veličina (%s) za ovaj račun",
|
||||
"Cannot share encrypted notebook with recipient %s because they have not enabled end-to-end encryption. They may do so from the screen Configuration > Encryption.": "Nije moguće dijeliti šifriranu bilježnicu s primateljem %s, jer obostrano šifriranje nije aktivirano. To se može riješiti putem Konfiguracija > Šifriranje.",
|
||||
"Cannot share encrypted notebook with recipient %s because they have not enabled end-to-end encryption. They may do so from the screen Configuration > Encryption.": "Šifriranu bilježnicu nije moguće dijeliti s primateljem %s jer nije omogućio/la obostrano šifriranje. Primatelji to mogu učiniti putem Konfiguracija > Šifriranje.",
|
||||
"Change application layout": "Promijeni raspored programa",
|
||||
"Change language": "Promijeni jezik",
|
||||
"Characters": "Broj znakova",
|
||||
@@ -113,10 +108,10 @@
|
||||
"Check for updates...": "Traži nove verzije …",
|
||||
"Check synchronisation configuration": "Provjeri konfiguraciju sinkronizacije",
|
||||
"Checkbox": "Označivo polje",
|
||||
"Checkbox list": "Označivi popis",
|
||||
"Checkbox list": "Označiv popis",
|
||||
"Checking... Please wait.": "Provjeravanje … Pričekaj.",
|
||||
"Choose an option": "Odaberi jednu opciju",
|
||||
"Chrome Web Store": "Chrome web-trgovina",
|
||||
"Chrome Web Store": "Chrome Web Store",
|
||||
"Clear": "Poništi",
|
||||
"Clear alarm": "Poništi upozorenje",
|
||||
"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.": "Za obnavljanje bilješke pritisni „%s”. Kopirat će se u bilježnicu „%s”. Trenutačna verzija bilješke neće se zamijeniti niti promijeniti.",
|
||||
@@ -137,9 +132,8 @@
|
||||
"Completed": "Završeno",
|
||||
"Completed decryption.": "Dešifriranje je završeno.",
|
||||
"Completed: %s (%s)": "Završeno: %s (%s)",
|
||||
"Compress old changes": "Komprimiraj stare promjene",
|
||||
"Configuration": "Konfiguracija",
|
||||
"Confirm password cannot be empty": "Lozinka potvrde ne smije biti prazna",
|
||||
"Confirm password cannot be empty": "Potvrda lozinke ne smije biti prazna",
|
||||
"Confirm password:": "Potvrdi lozinku:",
|
||||
"Confirmation": "Potvrda",
|
||||
"Conflicted: %d": "S konfliktom: %d",
|
||||
@@ -151,25 +145,19 @@
|
||||
"Copy": "Kopiraj",
|
||||
"Copy dev mode command to clipboard": "Kopiraj programersku naredbu u međuspremnik",
|
||||
"Copy external link": "Kopiraj vanjsku poveznicu",
|
||||
"Copy image": "Kopiraj sliku",
|
||||
"Copy Link Address": "Kopiraj adresu poveznice",
|
||||
"Copy Markdown link": "Kopiraj Markdown poveznicu",
|
||||
"Copy path to clipboard": "Kopiraj putanju u međuspremnik",
|
||||
"Copy Shareable Link": "Kopiraj dijeljivu poveznicu",
|
||||
"Copy token": "Kopiraj ključ",
|
||||
"Could not authorise application:\n\n%s\n\nPlease try again.": "Neuspjelo autoriziranje programa:\n\n%s\n\nPokušaj ponovo.",
|
||||
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": "Neuspjelo povezivanje s Joplin poslužiteljem. Provjeri opcije sinkronizacije u prozoru konfiguracije. Potpuna greška glasi:\n\n%s",
|
||||
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": "Nije bilo moguće povezati se s Joplin Nextcloud programom. Provjeri konfiguraciju u prozoru za konfiguraciju sinkronizacije. Potpuna greška glasi:\n\n%s",
|
||||
"Could not connect to plugin repository.": "Neuspjelo povezivanje s repozitorijem dodataka.",
|
||||
"Could not export notes: %s": "Neuspio izvoz bilježaka: %s",
|
||||
"Could not install plugin: %s": "Neuspjelo instaliranje dodatka: %s",
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Neuspjelo odgovaranje na poziv. Pokušaj ponovo ili provjeri s vlasnikom prijenosnog računala je li ga još uvijek dijeli.\n\nGreška je bila: „% s”",
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Nije bilo moguće odgovoriti na poziv. Pokušaj ponovo ili provjeri s vlasnikom prijenosnog računala ako ga još uvijek dijele.\n\nGreška je bila: „% s”",
|
||||
"Could not upgrade master key: %s": "Neuspjela nadogradnja glavnog ključa: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "Neuspjela provjera stanja dijeljenja ove bilježnice – prekida se. Pokušaj ponovo kad uspostaviš vezu s internetom.",
|
||||
"Create": "Stvori",
|
||||
"Create a notebook": "Stvori bilježnicu",
|
||||
"Create new profile...": "Stvori novi profil …",
|
||||
"Create notebook": "Stvori bilježnicu",
|
||||
"Create user": "Stvori korisnika",
|
||||
"Created": "Stvoreno",
|
||||
"created date": "datum stvaranja",
|
||||
"Created local items: %d.": "Stvoreni lokalni elementi: %d.",
|
||||
@@ -181,7 +169,7 @@
|
||||
"Creates a new note.": "Stvara novu bilješku.",
|
||||
"Creates a new notebook.": "Stvara novu bilježnicu.",
|
||||
"Creates a new to-do.": "Stvara novi zadatak.",
|
||||
"Creating new %s...": "Stvara se %s …",
|
||||
"Creating new %s...": "Stvara se novi/nova %s …",
|
||||
"Creating report...": "Stvaranje izvještaja …",
|
||||
"Current version is up-to-date.": "Trenutačna verzija je najnovija verzija.",
|
||||
"custom order": "prilagođeni redoslijed",
|
||||
@@ -191,7 +179,6 @@
|
||||
"Custom TLS certificates": "Prilagođeni TLS certifikati",
|
||||
"Cut": "Izreži",
|
||||
"Dark": "Tamna",
|
||||
"Dashboard": "Pregledna ploča",
|
||||
"Database v%s": "Baza podataka v%s",
|
||||
"Date": "Datum",
|
||||
"Date format": "Format datuma",
|
||||
@@ -203,8 +190,6 @@
|
||||
"Default: %s": "Standardno: %s",
|
||||
"Delete": "Izbriši",
|
||||
"Delete attachment \"%s\"?": "Izbrisati privitak „%s”?",
|
||||
"Delete expired sessions": "Izbriši istekle sesije",
|
||||
"Delete expired tokens": "Izbriši istekle tokene",
|
||||
"Delete line": "Izbriši redak",
|
||||
"Delete local data and re-download from sync target": "Izbriši lokalne podatke i ponovo preuzmi iz izvora sinronizacije",
|
||||
"Delete note \"%s\"?": "Izbrisati bilješku „%s”?",
|
||||
@@ -237,10 +222,10 @@
|
||||
"Displays summary about the notes and notebooks.": "Prikazuje sažetak o bilješkama i bilježnicama.",
|
||||
"Displays the complete information about note.": "Prikazuje potpune podatke o bilješci.",
|
||||
"Displays the given note.": "Prikazuje zadanu bilješku.",
|
||||
"Displays the notes in the current notebook. Use `ls /` to display the list of notebooks.": "Prikazuje bilješke u trenutačnoj bilježnici. Upiši `ls /` za prikaz popisa bilježnica.",
|
||||
"Displays the notes in the current notebook. Use `ls /` to display the list of notebooks.": "Prikazuje bilješke u trenutačnoj bilježnici. Upiši `ls/` za prikaz popisa bilježnica.",
|
||||
"Displays usage information.": "Prikazuje podatke o korištenju.",
|
||||
"Displays version information": "Prikazuje podatke verzije",
|
||||
"Do it now": "Učini to sada",
|
||||
"Do it now": "Odradi sada",
|
||||
"Do not ask for confirmation.": "Nemoj zatražiti potvrdu.",
|
||||
"Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.": "Nemoj izgubiti lozinku, jer će to iz sigurnosnih razloga biti *jedini* način za dešifriranje podataka! Za aktiviranje šifriranja dolje upiši svoju lozinku.",
|
||||
"Download": "Preuzmi",
|
||||
@@ -261,18 +246,14 @@
|
||||
"Edit in external editor": "Uredi u vanjskom uređivaču",
|
||||
"Edit note.": "Uredi bilješku.",
|
||||
"Edit notebook": "Uredi bilježnicu",
|
||||
"Edit profile configuration...": "Uredi konfiguraciju profila …",
|
||||
"Editor": "Uređivač",
|
||||
"Editor font": "Font uređivača",
|
||||
"Editor font family": "Obitelj fontova uređivača",
|
||||
"Editor font size": "Veličina fonta uređivača",
|
||||
"Editor maximum width": "Maksimala širina uređivača",
|
||||
"Editor monospace font family": "Obitelj fontova fiksne širine uređivača",
|
||||
"Editor: %s": "Uređivač: %s",
|
||||
"Either \"text\" or \"json\"": "„text” ili „json”",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "E-mail",
|
||||
"Emails": "E-mailovi",
|
||||
"emphasised text": "istaknuti tekst",
|
||||
"Enable": "Aktiviraj",
|
||||
"Enable ++insert++ syntax": "Aktiviraj sintaksu za umetanje ++insert++",
|
||||
@@ -327,7 +308,7 @@
|
||||
"Export profile": "Izvezi profil",
|
||||
"Exporting profile...": "Izvoz profila …",
|
||||
"Exporting to \"%s\" as \"%s\" format. Please wait...": "Izvoz u „%s” kao „%s” format. Pričekaj …",
|
||||
"Exports Joplin data to the given path. By default, it will export the complete database including notebooks, notes, tags and resources.": "Izvozi Joplin podatke u zadanu putanju. Standardno izvozi kompletnu bazu podataka uključujući bilježnice, bilješke, oznake i resurse.",
|
||||
"Exports Joplin data to the given path. By default, it will export the complete database including notebooks, notes, tags and resources.": "Izvozi Joplin podatke u zadanu putanju. Standardno izvozi cijelu bazu podataka uključujući bilježnice, bilješke, zadatke i resurse.",
|
||||
"Exports only the given note.": "Izvozi samo zadanu bilješku.",
|
||||
"Exports only the given notebook.": "Izvozi samo zadanu bilježnicu.",
|
||||
"Fail-safe": "Sigurnosni mehanizam",
|
||||
@@ -338,7 +319,6 @@
|
||||
"Fetching resources: %d/%d": "Dohvaćanje resursa: %d/%d",
|
||||
"File": "Datoteka",
|
||||
"File system": "Datotečni sustav",
|
||||
"Filter tags": "Filtriraj oznake",
|
||||
"Firefox Extension": "Firefox proširenje",
|
||||
"Fix search index": "Ispravi popis rezultata pretrage",
|
||||
"Fixing search index...": "Ispravljanje popisa rezultata pretrage …",
|
||||
@@ -350,7 +330,6 @@
|
||||
"For information on how to customise the shortcuts please visit %s": "Za informacije o prilagođavanju prečaca pogledaj %s",
|
||||
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "Za daljnje informacije o obostranom šifriranju (E2EE) i savjete o tome kako ga aktivirati, pogledaj dokumentaciju:",
|
||||
"For the list of keyboard shortcuts and config options, type `help keymap`": "Za popis tipkovnih prečaca i opcija konfiguracije, upiši `help keymap`",
|
||||
"Force path style": "Prisili stil putanje",
|
||||
"Forward": "Naprijed",
|
||||
"Found: %d.": "Pronađeno: %d.",
|
||||
"FTS enabled: %d": "Pretraživanje cijelog teksta je aktivirano: %d",
|
||||
@@ -360,27 +339,23 @@
|
||||
"Generating link...": "Generiranje poveznice …",
|
||||
"Get it now:": "Nabavi sada:",
|
||||
"Get pre-releases when checking for updates": "Preuzmi predizdanja prilikom traženja novih verzija",
|
||||
"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.": "Nabavlja ili postavlja vrijednost konfiguracije. Ako vrijednost [value] nije zadana, prikazat će vrijednost imena [name]. Ako ime [name] niti vrijednost [value] nisu zadani, ispisat će trenutačnu konfiguraciju.",
|
||||
"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.": "Nabavlja ili postavlja vrijednost konfiguracije. Ako vrijednost [value] nije zadana, prikazat će vrijednost imena [name]. Ako [name] niti [value] nisu zadani, ispisat će trenutačnu konfiguraciju.",
|
||||
"Go to source URL": "Idi na URL izvora",
|
||||
"Goto Anything...": "Idi na …",
|
||||
"Grant authorisation": "Odobri autorizaciju",
|
||||
"Heading": "Naslov",
|
||||
"Help": "Pomoć",
|
||||
"Hide %s": "Sakrij %s",
|
||||
"Hide disabled keys": "Sakrij deaktivirane ključeve",
|
||||
"Hide Joplin": "Sakrij Joplin",
|
||||
"Highlight": "Istaknuto",
|
||||
"Home": "Početak",
|
||||
"Horizontal Rule": "Vodoravna crta",
|
||||
"HTML Directory": "HTML mapa",
|
||||
"HTML File": "HTML datoteka",
|
||||
"Hyperlink": "Poveznica",
|
||||
"Icon": "Ikona",
|
||||
"ID": "ID",
|
||||
"Idle": "Bez aktivnosti",
|
||||
"Ignore": "Zanemari",
|
||||
"Ignore TLS certificate errors": "Zanemari greške TLS certifikata",
|
||||
"Images": "Slike",
|
||||
"Import": "Uvezi",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "Uvoz iz „%s” kao „%s” format. Pričekaj …",
|
||||
"Importing notes...": "Uvoz bilježaka …",
|
||||
@@ -409,10 +384,8 @@
|
||||
"Invalid answer: %s": "Neispravan odgovor: %s",
|
||||
"Invalid command: \"%s\"": "Neispravna naredba: „%s”",
|
||||
"Invalid option value: \"%s\". Possible values are: %s.": "Neispravna vrijednost opcije: „%s”. Moguće vrijednosti su: %s.",
|
||||
"Invalid password": "Neispravna lozinka",
|
||||
"Italic": "Kurziv",
|
||||
"Item \"%s\" could not be downloaded: %s": "Nije bilo moguće preuzeti element „%s”: %s",
|
||||
"Items": "Elementi",
|
||||
"Items that cannot be decrypted": "Elementi koji se ne mogu dešifrirati",
|
||||
"Items that cannot be synchronised": "Elementi koje se ne mogu sinkronizirati",
|
||||
"Joplin can synchronise your notes using various providers. Select one from the list below.": "Joplin može sinkronizirati tvoje bilješke koristeći različite davatelje usluga. Odaberi jednog iz donjeg popisa.",
|
||||
@@ -424,9 +397,9 @@
|
||||
"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.": "Joplin nije uspio višestruko dešifrirati ove elemente jer su vjerojatno oštećeni ili preveliki. Ti će elementi ostati na uređaju, ali ih Joplin više neće pokušati dešifrirati.",
|
||||
"Joplin Forum": "Joplin forum",
|
||||
"Joplin Server": "Joplin poslužitelj",
|
||||
"Joplin Server email": "Joplin poslužitelj email",
|
||||
"Joplin Server password": "Joplin poslužitelj lozinka",
|
||||
"Joplin Server URL": "Joplin poslužitelj URL",
|
||||
"Joplin Server email": "Joplin Server email",
|
||||
"Joplin Server password": "Joplin Server lozinka",
|
||||
"Joplin Server URL": "Joplin Server URL",
|
||||
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": "Joplin Web Clipper omogućuje spremanje web-stranica i slika ekrana iz tvog preglednika u Joplin.",
|
||||
"Joplin website": "Joplin web-stranica",
|
||||
"Joplin's own sync service. Also gives access to Joplin-specific features such as publishing notes or collaborating on notebooks with others.": "Joplinova vlastita usluga sinkronizacije. Također daje pristup Joplinskim funkcijama kao što su objavljivanje bilježaka ili suradnja na bilježnicama s drugima.",
|
||||
@@ -458,8 +431,6 @@
|
||||
"Login below.": "Prijavi se ispod.",
|
||||
"Login with Dropbox": "Prijavi se s Dropbox",
|
||||
"Login with OneDrive": "Prijavi se s OneDrive",
|
||||
"Logout": "Odjava",
|
||||
"Logs": "Dnevnici",
|
||||
"Make a donation": "Doniraj",
|
||||
"Manage master password": "Upravjaj glavnom lozinkom",
|
||||
"Manage master password...": "Upravjaj glavnom lozinkom …",
|
||||
@@ -482,7 +453,7 @@
|
||||
"More info": "Daljnje informacije",
|
||||
"More information": "Daljnje informacije",
|
||||
"More than one item match \"%s\". Please narrow down your query.": "Više elemenata se poklapaju s „%s”. Ograniči pretragu.",
|
||||
"Move %d notes to notebook \"%s\"?": "Premjestiti %d bilješke u bilježnicu „%s”?",
|
||||
"Move %d notes to notebook \"%s\"?": "Premjesti %d bilješke u bilježnicu „%s”?",
|
||||
"Move to notebook": "Premjesti u bilježnicu",
|
||||
"Move to notebook...": "Premjesti u bilježnicu...",
|
||||
"Move to notebook:": "Premjesti u bilježnicu:",
|
||||
@@ -534,12 +505,10 @@
|
||||
"Note&book": "Biljež&nica",
|
||||
"Note: Does not work in all desktop environments.": "Napomena: Ne radi u svim radnim okruženjima.",
|
||||
"Note: When a note is shared, it will no longer be encrypted on the server.": "Napomena: Kad se bilješka dijeli, više neće biti šifrirana na poslužitelju.",
|
||||
"Notebook": "Bilježnica",
|
||||
"Notebook list growth factor": "Faktor povećanja popisa bilježnice",
|
||||
"Notebook: %s": "Bilježnica: %s",
|
||||
"Notebooks": "Bilježnice",
|
||||
"Notebooks cannot be named \"%s\", which is a reserved title.": "Naslov „%s” je rezerviran i ne može se koristiti za bilježnice.",
|
||||
"Notes": "Bilješke",
|
||||
"Notes and settings are stored in: %s": "Bilješke i postavke spremaju se u: %s",
|
||||
"Notes can only be created within a notebook.": "Bilješke se mogu stvoriti samo unutar bilježnice.",
|
||||
"Numbered List": "Numerirani popis",
|
||||
@@ -560,7 +529,6 @@
|
||||
"Operation cancelled": "Operacija je prekinuta",
|
||||
"Options": "Opcije",
|
||||
"Or create an account.": "Ili stvori novi račun.",
|
||||
"Other applications...": "Drugi programi …",
|
||||
"Output format: %s": "Format rezultata: %s",
|
||||
"Page orientation for PDF export": "Položaj stranice za izvoz u PDF",
|
||||
"Page size for PDF export": "Veličina stranice za izvoz u PDF",
|
||||
@@ -573,7 +541,7 @@
|
||||
"PDF File": "PDF datoteka",
|
||||
"Permission needed": "Potrebna je dozvola",
|
||||
"Permission to use camera": "Dozvola za korištenje kamere",
|
||||
"Please click on \"%s\" to proceed, or set the passwords in the \"%s\" list below.": "Nastavi pritiskom na „%s” ili postavi lozinke u donjem popisu „%s”.",
|
||||
"Please click on \"%s\" to proceed": "Za nastavljanje pritisni „%s”",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Potvrdi da želiš ponovo šifrirati tvoju cijelu bazu podataka.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Upiši lozinku u donji popis glavnih ključeva prije nadograđivanja ključa.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Imaj na umu, da ako je velika bilježnica, može potrajati nekoliko minuta dok se sve bilješke pojave na uređaju primatelja.",
|
||||
@@ -602,11 +570,6 @@
|
||||
"Previous versions of this note": "Prethodne verzije ove bilješke",
|
||||
"Print": "Ispiši",
|
||||
"Privacy Policy": "Politika privatnosti",
|
||||
"Process failed payment subscriptions": "Obradi neuspjela plaćanja pretplata",
|
||||
"Process oversized accounts": "Obradi prevelike račune",
|
||||
"Process user deletions": "Obradi brisanja korisnika",
|
||||
"Profile": "Profil",
|
||||
"Profile name:": "Ime profila:",
|
||||
"Profile Version: %s": "Verzija profila: %s",
|
||||
"Properties": "Svojstva",
|
||||
"Public-private key pair:": "Javno-privatan par ključa:",
|
||||
@@ -647,16 +610,9 @@
|
||||
"Reverses the sorting order.": "Preokreće redoslijed.",
|
||||
"Revision: %s (%s)": "Revizija: %s (%s)",
|
||||
"Runs the commands contained in the text file. There should be one command per line.": "Pokreće naredbe koje se nalaze u tekstualnoj datoteci. Naredbe se moraju zapisti pojedinačno u zasebne retke.",
|
||||
"S3": "S3",
|
||||
"S3 access key": "S3 pristupni ključ",
|
||||
"S3 bucket": "S3 bucket",
|
||||
"S3 region": "S3 područje",
|
||||
"S3 secret key": "S3 tajni ključ",
|
||||
"S3 URL": "S3 URL",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "Trenutačno je aktivan sigurni modus. Prikaz bilježaka i svi dodaci privremeno su deaktivirani.",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "Trenutačno je aktivan siguran način. Prikaz bilježaka i svi dodaci privremeno su deaktivirani.",
|
||||
"Save": "Spremi",
|
||||
"Save alarm": "Spremi upozorenje",
|
||||
"Save as %s": "Spremi kao %s",
|
||||
"Save as...": "Spremi kao …",
|
||||
"Save changes": "Spremi promjene",
|
||||
"Save geo-location with notes": "Spremi geografske podatke mjesta s bilješkama",
|
||||
@@ -670,14 +626,12 @@
|
||||
"See the pre-release page for more details: %s": "Pregledaj pojedinosti na stranici predizdanja: %s",
|
||||
"Select": "Označi",
|
||||
"Select all": "Označi sve",
|
||||
"Select emoji...": "Odaberi emoji …",
|
||||
"Select file...": "Odaberi datoteku …",
|
||||
"Server is already running on port %d": "Poslužitelj je već pokrenut na priključku %d",
|
||||
"Server is not running.": "Poslužitelj ne radi.",
|
||||
"Server is running on port %d": "Poslužitelj se pokreće na priključku %d",
|
||||
"Set alarm": "Postavi upozorenje",
|
||||
"Set alarm:": "Postavi upozorenje:",
|
||||
"Set it to 0 to make it take the complete available space. Recommended width is 600.": "Postavi na 0 kako bi zauzeo sav raspoloživi prostor. Preporučena širina je 600.",
|
||||
"Set it to 0 to make it take the complete available space. Recommended width is 600.": "Postavi na 0 kako bi zauzeo cijeli raspoloživi prostor. Preporučena širina je 600.",
|
||||
"Set the password": "Postavi lozinku",
|
||||
"Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s": "Postavlja svojstvo imena <name> zadane bilješke <note> na zadanu vrijednost [value]. Moguća svojstva su:\n\n%s",
|
||||
"Share": "Dijeli",
|
||||
@@ -690,7 +644,6 @@
|
||||
"Show completed to-dos": "Prikaži završene zadatke",
|
||||
"Show disabled keys": "Prikaži deaktivirane ključeve",
|
||||
"Show note counts": "Prikaži broj bilježaka",
|
||||
"Show sort order buttons": "Prikaži gumbe redoslijeda",
|
||||
"Show tray icon": "Prikaži ikonu u programskoj traci",
|
||||
"Sidebar": "Bočna traka",
|
||||
"Size": "Veličina",
|
||||
@@ -702,15 +655,15 @@
|
||||
"Some items cannot be decrypted.": "Neki se elementi ne mogu dešifrirati.",
|
||||
"Some items cannot be synchronised.": "Neki se elementi ne mogu sinkronizirati.",
|
||||
"Some items cannot be synchronised. Press for more info.": "Neki elementi se ne mogu sinkronizirati. Pritisni za daljnje inormacije.",
|
||||
"Sort notebooks by": "Redoslijed bilježnica",
|
||||
"Sort notes by": "Redoslijed bilježaka",
|
||||
"Sort notebooks by": "Razvrstaj bilježnice po",
|
||||
"Sort notes by": "Razvrstaj bilješke po",
|
||||
"Sort selected lines": "Razvrstaj odabrane retke",
|
||||
"Sorts the item by <field> (eg. title, updated_time, created_time).": "Razrstava element na osnovi polja <field>, npr. naslov (title), vrijeme aktualiziranja (updated_time), vrijeme stvaranja (created_time).",
|
||||
"Sorts the item by <field> (eg. title, updated_time, created_time).": "Razrstava element po polju <field>, npr. naslov (title), vrijeme aktualiziranja (updated_time), vrijeme stvaranja (created_time).",
|
||||
"Source format: %s": "Format izvora: %s",
|
||||
"Source: ": "Izvor: ",
|
||||
"Specify the port that should be used by the API server. If not set, a default will be used.": "Odredi priključak za API poslužitelja. Ako nije postavljeno, koristit će se standardna vrijednost.",
|
||||
"Spell checker": "Provjera pravopisa",
|
||||
"Split View": "Razdvojeni prikaz",
|
||||
"Split View": "Podijeljen prikaz",
|
||||
"Start application minimised in the tray icon": "Pokreni program u sklopljenom stanju u programskoj traci",
|
||||
"Start, stop or check the API server. To specify on which port it should run, set the api.port config variable. Commands are (%s).": "Pokreni, prekini ili provjeri API poslužitelj. Za određivanje priključka na kojem se pokreće, postavi konfiguracijsku varijablu api.port. Naredbe su (%s).",
|
||||
"Starting decryption... Please wait as it may take several minutes depending on how much there is to decrypt.": "Pokretanje dešifriranja … Pričekaj, jer može potrajati nekoliko minuta, ovisno o količini dešifriranja.",
|
||||
@@ -735,12 +688,10 @@
|
||||
"Superscript": "Eksponent",
|
||||
"Swap line down": "Zamijeni s retkom ispod",
|
||||
"Swap line up": "Zamijeni s retkom iznad",
|
||||
"Switch between note and to-do type": "Promijeni u bilješku ili zadatak",
|
||||
"Switch profile": "Promijeni profil",
|
||||
"Switch between note and to-do type": "Mijenjaj između bilješke i zadatka",
|
||||
"Switch to note type": "Promijeni u bilješku",
|
||||
"Switch to profile %d": "Promijeni u profil %d",
|
||||
"Switch to to-do type": "Promijeni u zadatak",
|
||||
"Switches to [notebook] - all further operations will happen within this notebook.": "Mijenja se u bilježnicu [notebook] – sve daljnje operacije izvode se u toj bilježnici.",
|
||||
"Switches to [notebook] - all further operations will happen within this notebook.": "Prebacuje na bilježnicu [notebook] – sve daljnje operacije izvode se u toj bilježnici.",
|
||||
"Sync Status": "Stanje sinkronizacije",
|
||||
"Sync status (synced items / total items)": "Stanje sinkronizacije (sinkronizirani elementi/ukupni broj elemenata)",
|
||||
"Sync target must be upgraded! Run `%s` to proceed.": "Cilj sinkronizacije se mora nadograditi! Nastavi, pokretanjem `%s`.",
|
||||
@@ -760,21 +711,18 @@
|
||||
"Synchronising...": "Sinkroniziranje …",
|
||||
"Synchronizing...": "Sinkroniziranje …",
|
||||
"Tabloid": "Tabloid",
|
||||
"tag1, tag2, ...": "oznaka1, oznaka2, …",
|
||||
"Tagged: %d.": "Označeno: %d.",
|
||||
"Tags": "Oznake",
|
||||
"Take photo": "Snimi sliku",
|
||||
"Tasks": "Zadaci",
|
||||
"Text editor command": "Naredba za uređivača teksta",
|
||||
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Hvala! Tvoj Joplin Cloud račun je sada postavljen i spreman za korištenje.",
|
||||
"The app is now going to close. Please relaunch it to complete the process.": "Program će se sada zatvoriti. Za završavanje postupka ponovo pokreni program.",
|
||||
"The application did not close properly. Would you like to start in safe mode?": "Program se nije pravilno zatvorio. Želiš li početi u sigurnom načinu rada?",
|
||||
"The application has been authorised - you may now close this browser tab.": "Program je autoriziran – sada možeš zatvoriti karticu preglednika.",
|
||||
"The application has been authorised!": "Program je autoriziran!",
|
||||
"The application has been successfully authorised.": "Program je uspješno autoriziran.",
|
||||
"The application must be restarted for these changes to take effect.": "Za primjenu promjena, program se mora ponovo pokrenuti.",
|
||||
"The attachments will no longer be watched when you switch to a different note.": "Privici se više neće pratiti kad se prebaciš na jednu drugu bilješku.",
|
||||
"The command \"%s\" is only available in GUI mode": "Naredba „%s” dostupna je samo u modusu korisničkog grafičkog sučelja",
|
||||
"The command \"%s\" is only available in GUI mode": "Naredba „%s” dostupna je samo u modusu grafičkog sučelja",
|
||||
"The default admin password is insecure and has not been changed! [Change it now](%s)": "Standardna administratorska lozinka nije sigurna i nije promijenjena! [Promijeni je sada](%s)",
|
||||
"The default encryption method has been changed to a more secure one and it is recommended that you apply it to your data.": "Standardna metoda šifriranja promijenjena je u sigurniju metodu. Preporučujemo da je primijeniš na tvoje podatke.",
|
||||
"The default encryption method has been changed, you should re-encrypt your data.": "Standardna metoda šifriranja je promijenjena. Preporučujemo da ponovo šifriraš tvoje podatke.",
|
||||
@@ -828,13 +776,13 @@
|
||||
"To continue, please enter your master password below.": "Za nastavljanje, dolje upiši glavnu lozinku.",
|
||||
"To delete a tag, untag the associated notes.": "Za brisanje oznake, ukloni oznaku s povezanih bilježaka.",
|
||||
"To delete: %d": "Za brisanje: %d",
|
||||
"To enter command line mode, press \":\"": "Za otvaranje naredbenog retka, pritisni tipku dvotočke (:)",
|
||||
"To exit command line mode, press ESCAPE": "Za zatvaranje naredbenog retka, pritisni tipku ESCAPE",
|
||||
"To enter command line mode, press \":\"": "Za otvaranje naredbenog retka, pritisni „:”",
|
||||
"To exit command line mode, press ESCAPE": "Zatvori naredbeni redak pomoću tipke „Escape”",
|
||||
"To manually sort the notes, the sort order must be changed to \"%s\" in the menu \"%s\" > \"%s\"": "Za ručno razvrstavanje bilježaka, redoslijed se mora promijeniti u „%s” u izborniku „%s” > „%s”",
|
||||
"To maximise/minimise the console, press \"tc\".": "Za rasklapljanje/sklapljanje konzole, pritisni „tc”.",
|
||||
"To move from one pane to another, press Tab or Shift+Tab.": "Za prijelaz iz jednog prozora u drugi, pritisni Tab ili Shift+Tab.",
|
||||
"To retry decryption of these items. Run `e2ee decrypt --retry-failed-items`": "Za ponovno dešifriranje ovih elemenata, pokreni `e2ee decrypt --retry-failed-items`",
|
||||
"To work correctly, the app needs the following permissions. Please enable them in your phone settings, in Apps > Joplin > Permissions": "Za ispravan rad programa potrebne su sljedeće dozvole. Aktiviraj ih u postavkama mobitela, u Aplikacije > Joplin > Dozvole",
|
||||
"To work correctly, the app needs the following permissions. Please enable them in your phone settings, in Apps > Joplin > Permissions": "Za ispravno pokretanje, program treba sljedeće dozvole. Aktiviraj ih u postavkama mobitela, u Aplikacije > Joplin > Dozvole",
|
||||
"to-do": "zadatak",
|
||||
"Toggle comment": "Uključi/Isključi komentar",
|
||||
"Toggle development tools": "Uključi/isključi alate za programere",
|
||||
@@ -842,15 +790,13 @@
|
||||
"Toggle editors": "Uključi/Isključi uređivače",
|
||||
"Toggle external editing": "Uključi/Isključi vanjsko uređivanje",
|
||||
"Toggle note list": "Uključi/Isključi popis bilježaka",
|
||||
"Toggle own sort order": "Uključi/Isključi vlastiti redoslijed",
|
||||
"Toggle safe mode": "Uključi/Isključi sigurni modus",
|
||||
"Toggle sidebar": "Uključi/Isključi bočnu traku",
|
||||
"Toggle sort order field": "Uključi/Isključi polje redoslijeda",
|
||||
"Token has been copied to the clipboard!": "Ključ je kopiran u međuspremnik!",
|
||||
"Tools": "Alati",
|
||||
"Total: %d/%d": "Ukupno: %d/%d",
|
||||
"Try again": "Pokušaj ponovo",
|
||||
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": "Upiši `help [command]` (zadaj naredbu) za daljnje informacije o naredbi ili `help all` za sve informacije o korištenju naredbi.",
|
||||
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": "Upiši `help [naredba]` za daljnje informacije o naredbi ili `help all` za sve informacije o korištenju naredbi.",
|
||||
"Type `joplin help` for usage information.": "Za informacije o korištenju upiši `joplin help`.",
|
||||
"Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.": "Prijeđi na bilješku upisom naslova bilješke ili dijela sadržaja bilješke. Alternativno koristi znak „#” s imenom oznake ili „@” s imenom bilježnice. Traži naredbe pomoću „:”.",
|
||||
"Type new tags or select from list": "Upiši nove oznake ili odaberi iz popisa",
|
||||
@@ -866,8 +812,6 @@
|
||||
"Unsupported link or message: %s": "Nepodržana poveznica ili poruka: %s",
|
||||
"Untitled": "Bez naslova",
|
||||
"Update": "Aktualiziraj",
|
||||
"Update profile": "Aktualiziraj profil",
|
||||
"Update total sizes": "Aktualiziraj ukupne veličine",
|
||||
"Updated": "Aktualizirano",
|
||||
"updated date": "datum aktualiziranja",
|
||||
"Updated local items: %d.": "Aktualizirani lokalni elementi: %d.",
|
||||
@@ -887,8 +831,6 @@
|
||||
"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.": "Koristi ovo za ponovnu izgradnju popisa rezultata pretrage, ako postoji problem s pretragom. Ovisno o broju bilježaka, može potrajati.",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Koristi se za većinu teksta u markdown uređivaču. Ako se ne pronađe, koristi se generički font proporcijalne širine.",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "Koristi se za tekst fiksne širine (npr. tablice, potvrdni okivi, programski kod). Ako se ne pronađe, koristi se generički font fiksne širine.",
|
||||
"User deletions": "Brisanja korisnika",
|
||||
"Users": "Korisnici",
|
||||
"Valid": "Ispravno",
|
||||
"View": "Prikaz",
|
||||
"View on map": "Pogledaj na karti",
|
||||
@@ -911,17 +853,16 @@
|
||||
"Y": "D",
|
||||
"yes": "da",
|
||||
"Yes": "Da",
|
||||
"You are about to attach a large image (%dx%d pixels). Would you like to resize it down to %d pixels before attaching it?": "Priložit ćeš veliku sliku (%d × %d piksela). Želiš li je smanjiti na %d piksela prije prilaganja slike?",
|
||||
"You are about to attach a large image (%dx%d pixels). Would you like to resize it down to %d pixels before attaching it?": "Priložit ćeš veliku sliku (%d × %d piksela). Želiš li je smanjiti na %d piksela?",
|
||||
"You currently have no notebooks.": "Trenutačno nemaš bilježnica.",
|
||||
"You do not have any installed plugin.": "Nemaš nijedan instalirani dodatak.",
|
||||
"You may also type `status` for more information.": "Za daljnje informacije upiši `status`.",
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Za ponovno šifriranje tvojih podataka koristi dolje navedeni alat, na primjer kad znaš da su neke tvoje bilješke šifrirane zastarjelom metodom šifriranja.",
|
||||
"Your choice: ": "Tvoj izbor: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Tvoji će se podaci ponovo šifrirati i sinkronizirati.",
|
||||
"Your password is needed to decrypt some of your data.": "Tvoja lozinka je potrebna za dešifriranje nekih tvojih podataka.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Tvoja lozinka je potrebna za dešifriranje nekih tvojih podataka. Za postavljanje utipkaj `:e2ee decrypt`.",
|
||||
"Your master password is needed to decrypt some of your data.": "Tvoja glavna lozinka je potrebna za dešifriranje nekih tvojih podataka.",
|
||||
"Your permission to use your camera is required.": "Za korištenje kamere potrebna je tvoja dozvola.",
|
||||
"Your version: %s": "Tvoja verzija: %s",
|
||||
"Zoom In": "Uvećaj prikaz",
|
||||
"Zoom Out": "Umanji prikaz"
|
||||
"Zoom In": "Uvećaj",
|
||||
"Zoom Out": "Umanji"
|
||||
}
|
||||
@@ -41,45 +41,45 @@ locales['uk_UA'] = require('./uk_UA.json');
|
||||
locales['vi'] = require('./vi.json');
|
||||
locales['zh_CN'] = require('./zh_CN.json');
|
||||
locales['zh_TW'] = require('./zh_TW.json');
|
||||
stats['ar'] = {"percentDone":89};
|
||||
stats['eu'] = {"percentDone":25};
|
||||
stats['bs_BA'] = {"percentDone":64};
|
||||
stats['bg_BG'] = {"percentDone":50};
|
||||
stats['ca'] = {"percentDone":98};
|
||||
stats['hr_HR'] = {"percentDone":100};
|
||||
stats['cs_CZ'] = {"percentDone":86};
|
||||
stats['ar'] = {"percentDone":90};
|
||||
stats['eu'] = {"percentDone":26};
|
||||
stats['bs_BA'] = {"percentDone":65};
|
||||
stats['bg_BG'] = {"percentDone":51};
|
||||
stats['ca'] = {"percentDone":97};
|
||||
stats['hr_HR'] = {"percentDone":94};
|
||||
stats['cs_CZ'] = {"percentDone":87};
|
||||
stats['da_DK'] = {"percentDone":98};
|
||||
stats['de_DE'] = {"percentDone":98};
|
||||
stats['et_EE'] = {"percentDone":49};
|
||||
stats['de_DE'] = {"percentDone":99};
|
||||
stats['et_EE'] = {"percentDone":50};
|
||||
stats['en_GB'] = {"percentDone":100};
|
||||
stats['en_US'] = {"percentDone":100};
|
||||
stats['es_ES'] = {"percentDone":98};
|
||||
stats['eo'] = {"percentDone":28};
|
||||
stats['fi_FI'] = {"percentDone":98};
|
||||
stats['es_ES'] = {"percentDone":96};
|
||||
stats['eo'] = {"percentDone":29};
|
||||
stats['fi_FI'] = {"percentDone":92};
|
||||
stats['fr_FR'] = {"percentDone":100};
|
||||
stats['gl_ES'] = {"percentDone":32};
|
||||
stats['id_ID'] = {"percentDone":88};
|
||||
stats['it_IT'] = {"percentDone":86};
|
||||
stats['hu_HU'] = {"percentDone":75};
|
||||
stats['nl_BE'] = {"percentDone":88};
|
||||
stats['nl_NL'] = {"percentDone":98};
|
||||
stats['nb_NO'] = {"percentDone":98};
|
||||
stats['gl_ES'] = {"percentDone":33};
|
||||
stats['id_ID'] = {"percentDone":90};
|
||||
stats['it_IT'] = {"percentDone":87};
|
||||
stats['hu_HU'] = {"percentDone":76};
|
||||
stats['nl_BE'] = {"percentDone":89};
|
||||
stats['nl_NL'] = {"percentDone":83};
|
||||
stats['nb_NO'] = {"percentDone":88};
|
||||
stats['fa'] = {"percentDone":62};
|
||||
stats['pl_PL'] = {"percentDone":81};
|
||||
stats['pt_BR'] = {"percentDone":98};
|
||||
stats['pt_PT'] = {"percentDone":81};
|
||||
stats['pl_PL'] = {"percentDone":82};
|
||||
stats['pt_BR'] = {"percentDone":91};
|
||||
stats['pt_PT'] = {"percentDone":82};
|
||||
stats['ro'] = {"percentDone":57};
|
||||
stats['sl_SI'] = {"percentDone":90};
|
||||
stats['sv'] = {"percentDone":98};
|
||||
stats['sl_SI'] = {"percentDone":91};
|
||||
stats['sv'] = {"percentDone":96};
|
||||
stats['th_TH'] = {"percentDone":41};
|
||||
stats['vi'] = {"percentDone":87};
|
||||
stats['tr_TR'] = {"percentDone":96};
|
||||
stats['uk_UA'] = {"percentDone":80};
|
||||
stats['el_GR'] = {"percentDone":98};
|
||||
stats['ru_RU'] = {"percentDone":89};
|
||||
stats['sr_RS'] = {"percentDone":72};
|
||||
stats['zh_CN'] = {"percentDone":98};
|
||||
stats['zh_TW'] = {"percentDone":87};
|
||||
stats['ja_JP'] = {"percentDone":98};
|
||||
stats['ko'] = {"percentDone":86};
|
||||
stats['vi'] = {"percentDone":88};
|
||||
stats['tr_TR'] = {"percentDone":98};
|
||||
stats['uk_UA'] = {"percentDone":81};
|
||||
stats['el_GR'] = {"percentDone":84};
|
||||
stats['ru_RU'] = {"percentDone":91};
|
||||
stats['sr_RS'] = {"percentDone":73};
|
||||
stats['zh_CN'] = {"percentDone":99};
|
||||
stats['zh_TW'] = {"percentDone":88};
|
||||
stats['ja_JP'] = {"percentDone":96};
|
||||
stats['ko'] = {"percentDone":87};
|
||||
module.exports = { locales: locales, stats: stats };
|
||||
@@ -51,8 +51,6 @@
|
||||
"Add recipient:": "受信者を追加:",
|
||||
"Add title": "題名を追加",
|
||||
"Add to dictionary": "辞書に追加",
|
||||
"Admin": "管理者",
|
||||
"Admin dashboard": "管理者ダッシュボード",
|
||||
"Advanced options": "詳細な設定",
|
||||
"Advanced tools": "高度なツール",
|
||||
"All notes": "すべてのノート",
|
||||
@@ -79,9 +77,7 @@
|
||||
"Authentication was not completed (did not receive an authentication token).": "認証は完了していません(認証トークンが得られませんでした)",
|
||||
"Authorisation token:": "認証トークン:",
|
||||
"Auto": "自動",
|
||||
"Auto-add disabled accounts for deletion": "無効アカウントを削除に自動追加",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "始めの括弧や引用符入力時に終わりの括弧や引用符を自動入力する。",
|
||||
"Automatically check for updates": "アップデートを自動的に確認する",
|
||||
"Automatically switch theme to match system theme": "システムのテーマにあわせて自動設定",
|
||||
"Back": "戻る",
|
||||
"Bold": "太字",
|
||||
@@ -136,7 +132,6 @@
|
||||
"Completed": "完了",
|
||||
"Completed decryption.": "復号が完了しました。",
|
||||
"Completed: %s (%s)": "完了: %s (%s)",
|
||||
"Compress old changes": "古い変更を圧縮する",
|
||||
"Configuration": "設定",
|
||||
"Confirm password cannot be empty": "パスワード(確認用)は空にできません",
|
||||
"Confirm password:": "パスワード(確認用):",
|
||||
@@ -150,7 +145,6 @@
|
||||
"Copy": "コピー",
|
||||
"Copy dev mode command to clipboard": "開発モードコマンドをクリップボードにコピー",
|
||||
"Copy external link": "外部リンクをコピー",
|
||||
"Copy image": "画像のコピー",
|
||||
"Copy Link Address": "リンクアドレスをコピー",
|
||||
"Copy Markdown link": "Markdownのリンクをコピー",
|
||||
"Copy path to clipboard": "クリップボードにパスを保存",
|
||||
@@ -165,8 +159,6 @@
|
||||
"Could not upgrade master key: %s": "マスターキーをアップグレードできませんでした: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "このノートブックの共有状態を確認できなかったため処理を中断します。インターネット接続を確認してから再度お試しください。",
|
||||
"Create a notebook": "ノートブックを作成します",
|
||||
"Create notebook": "ノートブックの作成",
|
||||
"Create user": "ユーザーを作成",
|
||||
"Created": "作成日時",
|
||||
"created date": "作成日",
|
||||
"Created local items: %d.": "ローカルアイテムの作成: %d.",
|
||||
@@ -188,7 +180,6 @@
|
||||
"Custom TLS certificates": "TLS証明書のカスタマイズ",
|
||||
"Cut": "切り取り",
|
||||
"Dark": "暗い",
|
||||
"Dashboard": "ダッシュボード",
|
||||
"Database v%s": "データベース v%s",
|
||||
"Date": "日時",
|
||||
"Date format": "日付の形式",
|
||||
@@ -200,8 +191,6 @@
|
||||
"Default: %s": "既定値: %s",
|
||||
"Delete": "削除",
|
||||
"Delete attachment \"%s\"?": "添付ファイル \"%s\" を削除しますか?",
|
||||
"Delete expired sessions": "期限切れセッションを削除",
|
||||
"Delete expired tokens": "期限切れトークンを削除",
|
||||
"Delete line": "行を削除",
|
||||
"Delete local data and re-download from sync target": "ローカルデータを削除して同期先から再ダウンロードする",
|
||||
"Delete note \"%s\"?": "ノート \"%s\" を削除しますか?",
|
||||
@@ -266,8 +255,6 @@
|
||||
"Editor monospace font family": "エディターの等幅フォントファミリー",
|
||||
"Either \"text\" or \"json\"": "\"text\"または\"json\"",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "Eメール",
|
||||
"Emails": "Eメール",
|
||||
"emphasised text": "強調したいテキスト",
|
||||
"Enable": "有効",
|
||||
"Enable ++insert++ syntax": "++追加++構文を有効にする",
|
||||
@@ -344,7 +331,6 @@
|
||||
"For information on how to customise the shortcuts please visit %s": "ショートカットのカスタマイズ方法は %s をご覧ください",
|
||||
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "エンドツーエンド暗号化(E2EE)に関する詳細な情報と有効化の手順については、次のドキュメントをご覧ください:",
|
||||
"For the list of keyboard shortcuts and config options, type `help keymap`": "キーボードショートカットと設定オプションを表示するには、`help shortcuts`と入力してください",
|
||||
"Force path style": "パス形式を強制する",
|
||||
"Forward": "進む",
|
||||
"Found: %d.": "総数: %d.",
|
||||
"FTS enabled: %d": "FTS有効: %d",
|
||||
@@ -364,7 +350,6 @@
|
||||
"Hide disabled keys": "無効化したキーを表示しない",
|
||||
"Hide Joplin": "Joplinを隠す",
|
||||
"Highlight": "ハイライト",
|
||||
"Home": "ホーム",
|
||||
"Horizontal Rule": "横線",
|
||||
"HTML Directory": "HTMLディレクトリ",
|
||||
"HTML File": "HTMLファイル",
|
||||
@@ -374,7 +359,6 @@
|
||||
"Idle": "待機中",
|
||||
"Ignore": "無視",
|
||||
"Ignore TLS certificate errors": "TLS証明書のエラーを無視",
|
||||
"Images": "画像",
|
||||
"Import": "インポート",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "\"%s\" を \"%s\" フォーマットとしてインポート中。しばらくお待ちください...",
|
||||
"Importing notes...": "ノートのインポート中...",
|
||||
@@ -406,7 +390,6 @@
|
||||
"Invalid password": "無効なパスワード",
|
||||
"Italic": "斜体",
|
||||
"Item \"%s\" could not be downloaded: %s": "アイテム \"%s\" はダウンロードできませんでした:%s",
|
||||
"Items": "アイテム",
|
||||
"Items that cannot be decrypted": "復号ができなかったアイテム",
|
||||
"Items that cannot be synchronised": "同期ができなかったアイテム",
|
||||
"Joplin can synchronise your notes using various providers. Select one from the list below.": "Joplinではノートの同期先としてさまざまなクラウドプロバイダーを利用できます。下の一覧から1つお選びください。",
|
||||
@@ -452,8 +435,6 @@
|
||||
"Login below.": "以下からログイン。",
|
||||
"Login with Dropbox": "Dropboxでログイン",
|
||||
"Login with OneDrive": "OneDriveログイン",
|
||||
"Logout": "ログアウト",
|
||||
"Logs": "ログ",
|
||||
"Make a donation": "寄付する",
|
||||
"Manage master password": "マスターパスワードの管理",
|
||||
"Manage master password...": "マスターパスワードの管理...",
|
||||
@@ -554,7 +535,6 @@
|
||||
"Operation cancelled": "操作をキャンセルしました",
|
||||
"Options": "オプション",
|
||||
"Or create an account.": "またはアカウントを作成。",
|
||||
"Other applications...": "その他のアプリケーション...",
|
||||
"Output format: %s": "出力フォーマット: %s",
|
||||
"Page orientation for PDF export": "PDFページの向き",
|
||||
"Page size for PDF export": "エクスポートするPDFのページサイズ",
|
||||
@@ -567,6 +547,7 @@
|
||||
"PDF File": "PDF ファイル",
|
||||
"Permission needed": "許可が必要",
|
||||
"Permission to use camera": "カメラ使用の許可",
|
||||
"Please click on \"%s\" to proceed": "続行するには \"%s\" をクリックしてください",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "データベース全体を暗号化しなおしてもよろしいですか。",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "下記マスターキーをアップグレードするには、マスターキーのパスワードを入力してください。",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "ノートブックに大量のノートが含まれる場合、受信者側にすべてのノートが見えるようになるまで数分かかることがあります。",
|
||||
@@ -595,10 +576,6 @@
|
||||
"Previous versions of this note": "このノートの以前のバージョン",
|
||||
"Print": "印刷",
|
||||
"Privacy Policy": "プライバシーポリシー",
|
||||
"Process failed payment subscriptions": "サブスクリプションの支払い処理に失敗しました",
|
||||
"Process oversized accounts": "容量オーバーのアカウントを処理する",
|
||||
"Process user deletions": "ユーザー削除を実施する",
|
||||
"Profile": "プロファイル",
|
||||
"Profile Version: %s": "プロファイルバージョン: %s",
|
||||
"Properties": "プロパティ",
|
||||
"Public-private key pair:": "公開鍵・秘密鍵ペア:",
|
||||
@@ -640,11 +617,6 @@
|
||||
"Revision: %s (%s)": "リビジョン: %s (%s)",
|
||||
"Runs the commands contained in the text file. There should be one command per line.": "テキストファイルに含まれるコマンドを実行します。テキストファイルには1行1コマンドで記述する必要があります。",
|
||||
"S3": "S3",
|
||||
"S3 access key": "S3 アクセスキー",
|
||||
"S3 bucket": "S3 バケット",
|
||||
"S3 region": "S3 リージョン",
|
||||
"S3 secret key": "S3 シークレットアクセスキー",
|
||||
"S3 URL": "S3 URL",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "セーフモードで実行中。ノートのレンダリングとすべてのプラグインを一時的に無効化しています。",
|
||||
"Save": "保存",
|
||||
"Save alarm": "アラームの保存",
|
||||
@@ -661,8 +633,6 @@
|
||||
"See the pre-release page for more details: %s": "詳細についてはプレリリースページを参照してください: %s",
|
||||
"Select": "選択",
|
||||
"Select all": "すべて選択",
|
||||
"Select emoji...": "絵文字の選択...",
|
||||
"Select file...": "ファイルの選択...",
|
||||
"Server is already running on port %d": "サーバーはすでにポート %d で実行中です",
|
||||
"Server is not running.": "サーバーは実行されていません。",
|
||||
"Server is running on port %d": "サーバーはポート %d で実行中です",
|
||||
@@ -752,7 +722,6 @@
|
||||
"Tagged: %d.": "タグ付き: %d.",
|
||||
"Tags": "タグ",
|
||||
"Take photo": "写真を撮影する",
|
||||
"Tasks": "タスク",
|
||||
"Text editor command": "テキストエディターのコマンド",
|
||||
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "ありがとうございます! Joplin Cloudアカウントのセットアップが完了し、利用できる状態になりました。",
|
||||
"The app is now going to close. Please relaunch it to complete the process.": "まもなくアプリケーションは終了します。もう一度起動して処理を完了させてください。",
|
||||
@@ -812,7 +781,7 @@
|
||||
"title": "題名",
|
||||
"Title": "題名",
|
||||
"To allow Joplin to synchronise with Dropbox, please follow the steps below:": "DropboxでJoplinを同期する場合は、次のステップを実行してください:",
|
||||
"To continue, please enter your master password below.": "続行するには、マスターパスワードを入力してください。",
|
||||
"To continue, please enter your master password below.": "続行するには、マスターパスワードを入力してください",
|
||||
"To delete a tag, untag the associated notes.": "タグを削除するには、関連するノートからタグを外してください。",
|
||||
"To delete: %d": "削除予定: %d",
|
||||
"To enter command line mode, press \":\"": "コマンドラインモードに入るには、\":\"を入力してください",
|
||||
@@ -853,8 +822,6 @@
|
||||
"Unsupported link or message: %s": "次のリンクまたはメッセージはサポートしていません: %s",
|
||||
"Untitled": "名称未設定",
|
||||
"Update": "アップデート",
|
||||
"Update profile": "プロファイルの更新",
|
||||
"Update total sizes": "総容量を更新する",
|
||||
"Updated": "アップデート日時",
|
||||
"updated date": "アップデート日",
|
||||
"Updated local items: %d.": "ローカルアイテムの更新: %d.",
|
||||
@@ -874,8 +841,6 @@
|
||||
"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.": "検索に問題がある場合は、これを利用して検索インデックスの再構築を行います。ノートの数に依存して、時間がかかる場合があります。",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Markdownエディター上の大部分のテキストに使用。指定フォントが見つからない場合は一般的なプロポーショナル(可変幅)フォントを使用します。",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "表、チェックボックス、コードなど、等幅フォントのほうが読みやすい場所に使用。指定フォントが見つからない場合は一般的な等幅フォントを使用します。",
|
||||
"User deletions": "ユーザー削除",
|
||||
"Users": "ユーザー",
|
||||
"Valid": "正当性",
|
||||
"View": "表示",
|
||||
"View on map": "地図上に表示",
|
||||
@@ -905,6 +870,7 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "ここでは既存データの再暗号化を行えます。たとえば、旧式のアルゴリズムで暗号化されたノートがあるとわかっているような場合に新しいアルゴリズムで暗号化しなおすことが可能です。",
|
||||
"Your choice: ": "選択: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "既存データを暗号化しなおし、再同期します。",
|
||||
"Your master password is needed to decrypt some of your data.": "一部のデータを復号化するためにあなたのマスターパスワードが必要です。",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "一部のデータを復号化するためにあなたのパスワードが必要です。`:e2ee decrypt`と入力し設定してください。",
|
||||
"Your permission to use your camera is required.": "カメラを使用するには権限が必要です。",
|
||||
"Your version: %s": "あなたのバージョン: %s",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"\"%s\" is missing the required \"%s\" property.": "\"%s\" mangler den nødvendige \"%s\"-verdien.",
|
||||
"\"%s\" is missing the required \"%s\" property.": "\"%s\" mangler den nødvendige \"%s\" verdien.",
|
||||
"%d days": "%d dager",
|
||||
"%d hour": "%d time",
|
||||
"%d hours": "%d timer",
|
||||
"%d minutes": "%d minutter",
|
||||
"%d notes match this pattern. Delete them?": "%d notater passer dette mønsteret. Vil du slette dem?",
|
||||
"%d notes match this pattern. Delete them?": "%d notater passer dette mønsteret. Vil du slette de?",
|
||||
"%s %s (%s, %s)": "%s %s (%s, %s)",
|
||||
"%s (%s) could not be uploaded: %s": "%s (%s) ble ikke lastet opp: %s",
|
||||
"%s (%s) could not be uploaded: %s": "%s (%s) ble ikke opplasted: %s",
|
||||
"%s (%s) would like to share a notebook with you.": "%s (%s) ønsker å dele en notatbok med deg.",
|
||||
"%s (%s): %s": "%s (%s): %s",
|
||||
"%s (pre-release)": "%s (førutgivelse)",
|
||||
@@ -27,12 +27,11 @@
|
||||
"&Tools": "&Verktøy",
|
||||
"&View": "&Vis",
|
||||
"(%s)": "(%s)",
|
||||
"(None)": "(Ingen)",
|
||||
"(wysiwyg: %s)": "(wysiwyg: %s)",
|
||||
"- Camera: to allow taking a picture and attaching it to a note.": "- Kamera: for å ta bilde og legge det ved et notat.",
|
||||
"- Location: to allow attaching geo-location information to a note.": "- Sted: for å legge ved stedsinformasjon til notatet.",
|
||||
"- Storage: to allow attaching files to notes and to enable filesystem synchronisation.": "- Lagring: tillatelse til å legge ved filer til notater og aktivere filsynkronisering.",
|
||||
"<tag-command> can be \"add\", \"remove\", \"list\", or \"notetags\" to assign or remove [tag] from [note], to list notes associated with [tag], or to list tags associated with [note]. The command `tag list` can be used to list all the tags (use -l for long option).": "<tag-command> kan være \"add\", \"remove\", \"list\" eller \"notetags\" for å sette eller fjerne [tag] fra [note], eller å liste notater forbundet med [tag]. Kommandoen `tag list` kan brukes til å vise alle merkelappene. (bruk -l for full visning.",
|
||||
"- Location: to allow attaching geo-location information to a note.": "- Sted: for å legge ved stedsinformation til notatet.",
|
||||
"- Storage: to allow attaching files to notes and to enable filesystem synchronisation.": "-Lagring: for å tillate å legge ved filer til notater og aktivere filsynkronisering.",
|
||||
"<tag-command> can be \"add\", \"remove\", \"list\", or \"notetags\" to assign or remove [tag] from [note], to list notes associated with [tag], or to list tags associated with [note]. The command `tag list` can be used to list all the tags (use -l for long option).": "<tag-command> kan være \"add\", \"remove\", \"list\" eller \"notetags\" forå sette eller fjerne [tag] fra [note], eller å liste notater forbundet med [tag]. Kommandoen `tag list` kan brukes til å vise alle merkelappene. (bruk -l for full visning.",
|
||||
"<todo-command> can either be \"toggle\" or \"clear\". Use \"toggle\" to toggle the given to-do between completed and uncompleted state (If the target is a regular note it will be converted to a to-do). Use \"clear\" to convert the to-do back to a regular note.": "<todo-command> kan enten være \"bytt\" eller \"fjern\". Bruk \"bytt\" for å veksle et gitt gjøremål mellom fullført og ikke fullført status (hvis målet er et vanlig notat det vil bli konvertert til et gjøremål). Bruk \"Clear\" for å konvertere gjøremålet tilbake til et vanlig notat.",
|
||||
"A3": "A3",
|
||||
"A4": "A4",
|
||||
@@ -43,7 +42,6 @@
|
||||
"Accelerator \"%s\" is used for \"%s\" and \"%s\" commands. This may lead to unexpected behaviour.": "Akselerator \"%s\" er i bruk for \"%s\" og \"%s\" kommandoer. Dette kan føre til uforutsett oppførsel.",
|
||||
"Accept": "Aksepter",
|
||||
"Action": "Handling",
|
||||
"Actions": "Handlinger",
|
||||
"Active": "Aktiv",
|
||||
"Actual Size": "Faktisk størrelse",
|
||||
"Add body": "Legg til brødtekst",
|
||||
@@ -51,22 +49,20 @@
|
||||
"Add recipient:": "Legg til mottaker:",
|
||||
"Add title": "Legg til tittel",
|
||||
"Add to dictionary": "Legg til ordbok",
|
||||
"Admin": "Administrator",
|
||||
"Admin dashboard": "Administrators kontrollpanel",
|
||||
"Advanced options": "Avanserte innstillinger",
|
||||
"Advanced tools": "Avanserte verktøy",
|
||||
"All notes": "Alle notater",
|
||||
"All potential ports are in use - please report the issue at %s": "Alle potensielle porter er i bruk - vennligst rapporter saken ved %s",
|
||||
"Also displays unset and hidden config variables.": "Viser også ikke-satte og skjulte konfigurasjonsvariabler.",
|
||||
"Always": "Alltid",
|
||||
"An update is available, do you want to download it now?": "En oppdatering er tilgjengelig. Vil du laste den ned nå?",
|
||||
"An update is available, do you want to download it now?": "En oppdatering er tilgjengelig, vil du laste den ned nå?",
|
||||
"Appearance": "Utseende",
|
||||
"Application": "Applikasjon",
|
||||
"Apply": "Bruk",
|
||||
"Are you sure you want to renew the authorisation token?": "Er du sikker på at du vil fornye autorisasjonstokenet?",
|
||||
"Are you sure you want to renew the authorisation token?": "Er du sikker på at du vil fornye autorisasjons tokenet?",
|
||||
"Arguments:": "Argumenter:",
|
||||
"Aritim Dark": "Aritim mørk",
|
||||
"Attach file": "Legg ved en fil",
|
||||
"Attach file": "Legg ved fil",
|
||||
"Attach photo": "Legg ved et bilde",
|
||||
"Attach...": "Legg ved...",
|
||||
"Attaches the given file to the note.": "Legger ved den valgte filen til notatet.",
|
||||
@@ -75,13 +71,11 @@
|
||||
"Attachment download behaviour": "Nedlastningsoppførsel for vedlegg",
|
||||
"Attachments": "Vedlegg",
|
||||
"Attachments that could not be downloaded": "Vedlegg som ikke kunne lastes ned",
|
||||
"Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: %s": "Viktig: Dersom du endrer denne lokasjonen må du sørge for å kopierer alt innholdet ditt før du synkroniserer. Hvis ikke blir alle filer fjernet! Se FAQ for flere detaljer: %s",
|
||||
"Authentication was not completed (did not receive an authentication token).": "Godkjenningen ble ikke fullført (mottok ikke et autoriseringsbevis).",
|
||||
"Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: %s": "Viktig: Dersom du endrer denne lokasjonen, sørg for at du kopierer alt innhold dit før du synkroniserer. Hvis ikke blir alle filer fjernet! Se FAQ for flere detaljer: %s",
|
||||
"Authentication was not completed (did not receive an authentication token).": "Godkjenning ble ikke fullført (mottok ikke et autoriseringsbevis).",
|
||||
"Authorisation token:": "Autoriseringsbevis:",
|
||||
"Auto": "Auto",
|
||||
"Auto-add disabled accounts for deletion": "Legg automatisk til deaktiverte kontoer for sletting",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Automatisk lukk klammer, paranteser, fnutter, etc.",
|
||||
"Automatically check for updates": "Se etter oppdateringer automatisk",
|
||||
"Automatically switch theme to match system theme": "Bytt tema automatisk for å matche systemtema",
|
||||
"Back": "Tilbake",
|
||||
"Bold": "Fet",
|
||||
@@ -94,23 +88,21 @@
|
||||
"Cancelling... Please wait.": "Avbryter… Vennligst vent.",
|
||||
"Cannot access %s": "Får ikke tilgang til %s",
|
||||
"Cannot change encrypted item": "Kan ikke endre kryptert element",
|
||||
"Cannot copy note to \"%s\" notebook": "Kan ikke kopiere notat til notatboken \"%s\"",
|
||||
"Cannot copy note to \"%s\" notebook": "Kan ikke kopiere notat til notatenboken \"%s\"",
|
||||
"Cannot find \"%s\".": "Finner ikke \"%s\".",
|
||||
"Cannot initialise synchroniser.": "Kan ikke starte synkronisering.",
|
||||
"Cannot load \"%s\" module for format \"%s\" and output \"%s\"": "Kan ikke laste modulen \"%s\" for formatet \"%s\" og utgang \"%s\"",
|
||||
"Cannot load \"%s\" module for format \"%s\" and target \"%s\"": "Kan ikke laste modulen \"%s\" for formatet \"%s\" og målet \"%s\"",
|
||||
"Cannot move note to \"%s\" notebook": "Kan ikke flytte notatet til notatboken \"%s\"",
|
||||
"Cannot move notebook to this location": "Kan ikke flytte notatboken til denne plasseringen",
|
||||
"Cannot refresh token: authentication data is missing. Starting the synchronisation again may fix the problem.": "Kan ikke oppdatere beviset: autentiseringsdata mangler. Hvis du starter synkroniseringen på nytt kan dette løse problemet.",
|
||||
"Cannot save %s \"%s\" because it is larger than the allowed limit (%s)": "Kan ikke lagre %s \"%s\" fordi det er større en tillatt grense (%s)",
|
||||
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) for this account": "Kan ikke lagre %s \"%s\" fordi det vil overgå maks tillatt grense (%s) for denne kontoen",
|
||||
"Cannot share encrypted notebook with recipient %s because they have not enabled end-to-end encryption. They may do so from the screen Configuration > Encryption.": "Kan ikke dele kryptert notatbok med mottakeren %s fordi vedkommende ikke har aktivert ende-til-ende-kryptering. Dette kan gjøres på siden Innstillinger > Kryptering.",
|
||||
"Cannot refresh token: authentication data is missing. Starting the synchronisation again may fix the problem.": "Kan ikke oppdatere token: autentiseringsdata mangler. Hvis du starter synkroniseringen på nytt kan dette løse problemet.",
|
||||
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) for this account": "Kan ikke lagre %s \"%s\" fordi det vil gå over total tillat grense (%s) for denne kontoen",
|
||||
"Change application layout": "Endre applikasjonsoppsett",
|
||||
"Change language": "Endre språk",
|
||||
"Characters": "Tegn",
|
||||
"Characters excluding spaces": "Tegn uten mellomrom",
|
||||
"Check for updates...": "Se etter oppdateringer…",
|
||||
"Check synchronisation configuration": "Sjekk synkroniseringsinnstillinger",
|
||||
"Check for updates...": "Se etter oppdatering...",
|
||||
"Check synchronisation configuration": "Sjekk synkroniseringskonfigurasjon",
|
||||
"Checkbox": "Avmerkingsboks",
|
||||
"Checkbox list": "Avmerkingsliste",
|
||||
"Checking... Please wait.": "Sjekker… Vennligst vent.",
|
||||
@@ -125,54 +117,41 @@
|
||||
"Close Window": "Lukk vindu",
|
||||
"Code": "Kode",
|
||||
"Code Block": "Kodeblokk",
|
||||
"Code View": "Kodevisning",
|
||||
"Collaborate on notebooks with others": "Samarbeid på notatbøker med andre",
|
||||
"Code View": "Kode visning",
|
||||
"Coming alarms": "Kommende alarmer",
|
||||
"Comma-separated list of paths to directories to load the certificates from, or path to individual cert files. For example: /my/cert_dir, /other/custom.pem. Note that if you make changes to the TLS settings, you must save your changes before clicking on \"Check synchronisation configuration\".": "Kommaseparert liste over stier til mapper å laste sertifikater fra, eller sti til individuelle sertifikatfiler. For eksempel: /my/cert_dir, /other/custom.perm. Merk at dersom du gjør endringer til TLS-innstillingene må du lagre endringer før du velger \"Sjekk synkroniseringsinnstilling».",
|
||||
"Comma-separated list of paths to directories to load the certificates from, or path to individual cert files. For example: /my/cert_dir, /other/custom.pem. Note that if you make changes to the TLS settings, you must save your changes before clicking on \"Check synchronisation configuration\".": "Kommaseparert liste over stier til mapper å laste sertifikater fra, eller sti til individuelle sertifikatfiler. For eksempel: /my/cert_dir, /other/custom.perm. Merk at dersom du gjør endringer til TLS-innstillingene må du lagre endringer før du velger \"Sjekk synkroniseringskonfigurasjon\".",
|
||||
"command": "kommando",
|
||||
"Command": "Kommando",
|
||||
"Command palette": "Kommandomeny",
|
||||
"Command palette...": "Kommandomeny…",
|
||||
"Completed": "Fullført",
|
||||
"Completed decryption.": "Dekryptering fullført.",
|
||||
"Completed: %s (%s)": "Fullført: %s (%s)",
|
||||
"Compress old changes": "Komprimer gamle endringer",
|
||||
"Configuration": "Konfigurasjon",
|
||||
"Confirm password cannot be empty": "Bekreftet passord kan ikke være tomt",
|
||||
"Confirm password:": "Bekreft passord:",
|
||||
"Confirmation": "Bekreftelse",
|
||||
"Conflicted: %d": "Konflikter: %d",
|
||||
"Conflicts": "Konflikter",
|
||||
"Conflicts (attachments)": "Konflikt (notatvedlegg)",
|
||||
"Content provided by %s": "Innhold levert av %s",
|
||||
"Convert to note": "Konverter til notat",
|
||||
"Convert to todo": "Konverter til gjøremål",
|
||||
"Copy": "Kopier",
|
||||
"Copy dev mode command to clipboard": "Kopier kommandoen for utviklingsmodus til utklippstavlen",
|
||||
"Copy external link": "Kopier ekstern lenke",
|
||||
"Copy image": "Kopier bilde",
|
||||
"Copy Link Address": "Kopier lenkeadresse",
|
||||
"Copy Markdown link": "Kopier Markdown-lenke",
|
||||
"Copy dev mode command to clipboard": "Kopier utvikler modus kommando til utklippstavlen",
|
||||
"Copy Link Address": "Kopier linkadresse",
|
||||
"Copy Markdown link": "Kopier Markdown-link",
|
||||
"Copy path to clipboard": "Kopier sti til utklippstavlen",
|
||||
"Copy Shareable Link": "Kopier delbar lenke",
|
||||
"Copy Shareable Link": "Kopier delbar link",
|
||||
"Copy token": "Kopier bevis",
|
||||
"Could not authorise application:\n\n%s\n\nPlease try again.": "Kunne ikke autorisere applikasjon:\n\n%s\n\nVennligst prøv igjen.",
|
||||
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": "Kunne ikke koble til Joplin Server. Sjekk synkroniseringvalg under Innstillinger. Hele feilmeldingen var:\n\n%s",
|
||||
"Could not connect to plugin repository.": "Kan ikke koble til utvidelsesbiblioteket.",
|
||||
"Could not export notes: %s": "Kunne ikke eksportere notater: %s",
|
||||
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": "Kunne ikke koble til Joplin Server. Vennligst sjekk Synkroniseringsvalget i konfigurasjonssknermen. Hele feilmeldingen var:\n\n%s",
|
||||
"Could not export notes: %s": "Kunne ikke eksponere notater: %s",
|
||||
"Could not install plugin: %s": "Kunne ikke installere utvidelse: %s",
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Kunne ikke svare på invitasjonen. Prøv igjen eller sjekk med eieren av notatboken om vedkommende fortsatt deler den.\n\nFeilen var: «%s»",
|
||||
"Could not upgrade master key: %s": "Kunne ikke oppgradere mesternøkkelen: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "Kunne ikke bekrefte delingsstatusen for denne notatboken – avbryter. Prøv igjen når du er koblet til internett.",
|
||||
"Could not upgrade master key: %s": "Kunne ikke oppgradere mesternøkler: %s",
|
||||
"Create a notebook": "Opprett en notatbok",
|
||||
"Create notebook": "Opprett notatbok",
|
||||
"Create user": "Opprett bruker",
|
||||
"Created": "Opprettet",
|
||||
"created date": "dato opprettet",
|
||||
"Created local items: %d.": "Opprettet lokale elementer: %d.",
|
||||
"Created locally": "Opprettet lokalt",
|
||||
"Created remote items: %d.": "Opprettet eksterne elementer: %d.",
|
||||
"Created: ": "Opprettet: ",
|
||||
"Created remote items: %d.": "Opprettede eksterne elementer: %d.",
|
||||
"Created: %d.": "Opprettet: %d.",
|
||||
"Created: %s": "Opprettet: %s",
|
||||
"Creates a new note.": "Oppretter et nytt notat.",
|
||||
@@ -181,16 +160,14 @@
|
||||
"Creating new %s...": "Oppretter nytt %s...",
|
||||
"Creating report...": "Oppretter rapport...",
|
||||
"Current version is up-to-date.": "Nåværende versjon er den siste tilgjengelige.",
|
||||
"custom order": "tilpasset rekkefølge",
|
||||
"custom order": "tilpasset rekkefølgee",
|
||||
"Custom order": "Tilpasset rekkefølge",
|
||||
"Custom stylesheet for Joplin-wide app styles": "Eget stilark for Joplin sin appstil",
|
||||
"Custom stylesheet for rendered Markdown": "Eget stilark for rendret Markdown",
|
||||
"Custom TLS certificates": "Egendefinerte TLS-sertifikater",
|
||||
"Cut": "Klipp ut",
|
||||
"Dark": "Mørk",
|
||||
"Dashboard": "Kontrollpanel",
|
||||
"Database v%s": "Database v%s",
|
||||
"Date": "Dato",
|
||||
"Date format": "Datoformat",
|
||||
"days": "dager",
|
||||
"Decrypted items: %d": "Dekrypterte elementer: %d",
|
||||
@@ -200,29 +177,26 @@
|
||||
"Default: %s": "Standard: %s",
|
||||
"Delete": "Slett",
|
||||
"Delete attachment \"%s\"?": "Slett vedlegg \"%s\"?",
|
||||
"Delete expired sessions": "Slett utløpte økter",
|
||||
"Delete expired tokens": "Slett utløpte bevis",
|
||||
"Delete line": "Slett linje",
|
||||
"Delete local data and re-download from sync target": "Slett lokale date og last ned på nytt fra synkroniseringsmålet",
|
||||
"Delete note \"%s\"?": "Slette notatet \"%s\"?",
|
||||
"Delete note \"%s\"?": "Slette notat \"%s\"?",
|
||||
"Delete note?": "Slett notat?",
|
||||
"Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.": "Slette notatboka \"%s\"?\n\nAlle notater og underliggende notatbøker i denne notatboken vil også bli slettet.",
|
||||
"Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.": "Slette notatbok \"%s\"?\n\nAlle notater og underliggende notatbøker i denne notatboken vil også bli slettet.",
|
||||
"Delete notebook? All notes and sub-notebooks within this notebook will also be deleted.": "Slette notatbok? Alle notater og underliggende notatbøker i denne notatboken vil også bli slettet.",
|
||||
"Delete plugin \"%s\"?": "Slett utvidelse \"%s\"?",
|
||||
"Delete these %d notes?": "Slett disse %d notatene?",
|
||||
"Delete this invitation? The recipient will no longer have access to this shared notebook.": "Slett invitasjonen? Mottaker vil ikke lenger ha tilgang til denne delte notatboka.",
|
||||
"Delete this invitation? The recipient will no longer have access to this shared notebook.": "Slett invitasjonen? Mottaker vil ikke lenger ha tilgang til denne delte notatboken.",
|
||||
"Deleted local items: %d.": "Slett lokale elementer: %d.",
|
||||
"Deleted remote items: %d.": "Slettet eksterne elementer: %d.",
|
||||
"Deletes the given notebook.": "Sletter den valgte notatboka.",
|
||||
"Deletes the notebook without asking for confirmation.": "Sletter notatboka uten å spørre om bekreftelse.",
|
||||
"Deletes the given notebook.": "Sletter den valgte notatboken.",
|
||||
"Deletes the notebook without asking for confirmation.": "Sletter notatboken uten å spørre om bekreftelse.",
|
||||
"Deletes the notes matching <note-pattern>.": "Sletter notatene som samsvarer med <note-pattern>.",
|
||||
"Deletes the notes without asking for confirmation.": "Sletter notatene uten bekreftelse.",
|
||||
"Destination format: %s": "Målformat: %s",
|
||||
"Directory": "Katalog",
|
||||
"Directory to synchronise with (absolute path)": "Katalog å synkronisere med (absolutt sti)",
|
||||
"Disable": "Deaktivere",
|
||||
"Disable encryption": "Deaktiver kryptering",
|
||||
"Disable safe mode and restart": "Deaktiver sikker modus og omstart",
|
||||
"Disable safe mode and restart": "Deaktiver sikker modus og restart",
|
||||
"Disable Web Clipper Service": "Deaktiver Web Clipper-tjeneste",
|
||||
"Disabled": "Deaktivitert",
|
||||
"Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?": "Deaktivering av kryptering betyr at *alle* notatene og vedleggene synkroniseres på nytt og sendes ukryptert til synkroniseringsmålet. Vil du fortsette?",
|
||||
@@ -230,16 +204,15 @@
|
||||
"Dismiss": "Ignorer",
|
||||
"Displays a geolocation URL for the note.": "Viser den komplette stedsinformasjonen for notatet.",
|
||||
"Displays only the first top <num> notes.": "Viser kun de første <num> notatene.",
|
||||
"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 `-tnt` would display notes and to-dos.": "Viser kun elementene av den spesifikke typen. Kan være `n` for notater, `t` for gjøremål eller `nt` for notater og gjøremål (f.eks.` -tt` vil kun vise gjøremål, mens `-tnt` vil vise notater og gjøremål.)",
|
||||
"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 `-tnt` would display notes and to-dos.": "Viser kun elementene av den spesifikke typen. Kan være `n` for notater, `t` for gjøremål eller `nt` for notater og gjøremål (f.eks.` -tt` vile kun vise gjøremål, mens `-tnt` vil vise notater og gjøremål.)",
|
||||
"Displays summary about the notes and notebooks.": "Viser sammendrag om notatene og notatbøkene.",
|
||||
"Displays the complete information about note.": "Viser den komplette informasjonen om notatet.",
|
||||
"Displays the given note.": "Viser det valgte notatet.",
|
||||
"Displays the notes in the current notebook. Use `ls /` to display the list of notebooks.": "Viser notatene i gjeldende notatbok. Bruk `ls /` for å vise listen over notatbøker.",
|
||||
"Displays usage information.": "Viser bruksinformasjon.",
|
||||
"Displays version information": "Viser versjonsinformasjon",
|
||||
"Displays usage information.": "Vis brukerinformasjon.",
|
||||
"Displays version information": "Vis versjonsinformasjon",
|
||||
"Do it now": "Gjør det nå",
|
||||
"Do not ask for confirmation.": "Ikke spør om bekreftelse.",
|
||||
"Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.": "Ikke mist passordet som, av sikkerhetsmessige grunner, vil være den *eneste* måten å dekryptere data på! Skriv inn passordet nedenfor for å aktivere kryptering.",
|
||||
"Download": "Nedlasting",
|
||||
"Download and install the relevant extension for your browser:": "Last ned og installer den relevante utvidelsen for din nettleser:",
|
||||
"Downloaded": "Nedlastet",
|
||||
@@ -259,15 +232,12 @@
|
||||
"Edit note.": "Rediger notat.",
|
||||
"Edit notebook": "Rediger notatbok",
|
||||
"Editor": "Editor",
|
||||
"Editor font": "Skrift i editor",
|
||||
"Editor font family": "Skriftfamilie i editor",
|
||||
"Editor font size": "Skriftstørrelse i editor",
|
||||
"Editor maximum width": "Maksimal bredde på editor",
|
||||
"Editor monospace font family": "Monospace-skriftfamilie i editor",
|
||||
"Editor font": "Editorskrift",
|
||||
"Editor font family": "Editorskriftfamilie",
|
||||
"Editor font size": "Editorskriftstørrelse",
|
||||
"Editor monospace font family": "Editor monospace font famile",
|
||||
"Either \"text\" or \"json\"": "Enten \"text\" eller \"json\"",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "E-post",
|
||||
"Emails": "E-poster",
|
||||
"emphasised text": "framhevet tekst",
|
||||
"Enable": "Aktiver",
|
||||
"Enable ++insert++ syntax": "Aktiver ++insert++-syntaks",
|
||||
@@ -278,38 +248,34 @@
|
||||
"Enable deflist syntax": "Aktiver deflist-syntaks",
|
||||
"Enable encryption": "Aktiver kryptering",
|
||||
"Enable footnotes": "Aktiver fotnoter",
|
||||
"Enable Fountain syntax support": "Aktiver syntaksstøtte til Fountain",
|
||||
"Enable Fountain syntax support": "Aktiver Fountain syntaksstøtte",
|
||||
"Enable Linkify": "Aktiver Linkify",
|
||||
"Enable markdown emoji": "Aktiver markdown-emoji",
|
||||
"Enable math expressions": "Aktiver matteuttrykk",
|
||||
"Enable Mermaid diagrams support": "Aktiver støtte for Mermaid-diagrammer",
|
||||
"Enable Mermaid diagrams support": "Aktiver Mermaid-diagramsupport",
|
||||
"Enable multimarkdown table extension": "Aktiver multimarkdown-tabellutvidelse",
|
||||
"Enable note history": "Aktiver notathistorikk",
|
||||
"Enable PDF viewer": "Aktiver PDF-visning",
|
||||
"Enable PDF viewer": "Aktiver PDF visning",
|
||||
"Enable soft breaks": "Aktiver myke linjeskift",
|
||||
"Enable table of contents extension": "Aktiver utvidelse for innholdsfortegnelse",
|
||||
"Enable typographer support": "Aktiver typografstøtte",
|
||||
"Enable table of contents extension": "Aktiver liste over innhold-utvidelse",
|
||||
"Enable typographer support": "Aktiver typografsupport",
|
||||
"Enable video player": "Aktiver videoavspiller",
|
||||
"Enable Web Clipper Service": "Aktiver Web Clipper-tjeneste",
|
||||
"Enable ~sub~ syntax": "Aktiver ~sub~-syntaks",
|
||||
"Enabled": "Aktivert",
|
||||
"Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target.": "Aktivering av kryptering betyr at *alle* dine notater og vedlegg synkroniseres på nytt og sendes kryptert til synkroniseringsmålet.",
|
||||
"Encrypted": "Kryptert",
|
||||
"Encrypted items cannot be modified": "Krypterte elementer kan ikke modifiseres",
|
||||
"Encrypted notebooks cannot be renamed": "Krypterte notatbøker kan ikke endre navnet",
|
||||
"Encrypted notebooks cannot be renamed": "Krypterte elementer kan ikke få endret navn",
|
||||
"Encryption": "Kryptering",
|
||||
"Encryption Config": "Krypteringsinnstillinger",
|
||||
"Encryption is: %s": "Kryptering er: %s",
|
||||
"Encryption keys": "Krypteringsnøkler",
|
||||
"Encryption:": "Kryptering:",
|
||||
"End-to-end encryption": "Ende-til-ende-kryptering",
|
||||
"Enter code here": "Skriv inn kode her",
|
||||
"Enter master password:": "Skriv inn masterpassordet:",
|
||||
"Enter notebook title": "Angi tittel på notatbok",
|
||||
"Enum": "Enum",
|
||||
"Error": "Feil",
|
||||
"Error opening note in editor: %s": "Feil ved åpning av notat i editor: %s",
|
||||
"Error. Please check that URL, username, password, etc. are correct and that the sync target is accessible. The reported error was:": "Feil. Sjekk at URL, brukernavn, passord, etc. er korrekt og at synkroniseringsmålet er tilgjengelig. Feilmeldingen var:",
|
||||
"Error. Please check that URL, username, password, etc. are correct and that the sync target is accessible. The reported error was:": "Feil. Vennligst sjekk at URL, brukernavn, passord, etc. er korrekt og at synkroniseringsmålet er tilgjengelig. Feilmeldingen var:",
|
||||
"Error: %s": "Feil: %s",
|
||||
"Errors only": "Kun feilmeldinger",
|
||||
"Evernote Export File (as HTML)": "Evernote-eksportert fil (HTML)",
|
||||
@@ -321,8 +287,8 @@
|
||||
"Export Debug Report": "Eksporter feilsøkingsrapport",
|
||||
"Export profile": "Eksporter profil",
|
||||
"Exporting profile...": "Eksporterer profil...",
|
||||
"Exporting to \"%s\" as \"%s\" format. Please wait...": "Eksporterer til \"%s\" i \"%s\"-format. Vennligst vent...",
|
||||
"Exports Joplin data to the given path. By default, it will export the complete database including notebooks, notes, tags and resources.": "Eksporterer Joplin-data til angitt sti. Standarden er eksport av den komplette database inkludert notatbøker, notater, merkelapper og ressurser.",
|
||||
"Exporting to \"%s\" as \"%s\" format. Please wait...": "Eksporterer til \"%s\" i \"%s\" format. Vennligst vent...",
|
||||
"Exports Joplin data to the given path. By default, it will export the complete database including notebooks, notes, tags and resources.": "Eksporterer Joplin-data til angitt sti. Standard er eksport av den komplette database inkludert notatbøker, notater, merkelapper og ressurser.",
|
||||
"Exports only the given note.": "Eksporterer kun valgt notat.",
|
||||
"Exports only the given notebook.": "Eksporterer kun valgt notatbok.",
|
||||
"Fail-safe": "Feilsikker",
|
||||
@@ -340,31 +306,27 @@
|
||||
"Focus body": "Fokuser på brødtekst",
|
||||
"Focus title": "Fokuser på tittel",
|
||||
"Folders": "Kataloger",
|
||||
"For debugging purpose only: export your profile to an external SD card.": "Kun av hensyn til feilsøking: eksporter din profil til et eksternt SD-kort.",
|
||||
"For information on how to customise the shortcuts please visit %s": "For informasjon om hvordan tilpasse snarveier kan du besøke %s",
|
||||
"For debugging purpose only: export your profile to an external SD card.": "For debugginghensyn: eksporter din profil til et eksternt SD-kort.",
|
||||
"For information on how to customise the shortcuts please visit %s": "For informasjon om hvordan tilpasse snarveier, vennligst besøk %s",
|
||||
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "For mer informasjon om ende-til-ende-kryptering (E2EE) og råd om hvordan du aktiverer det kan du sjekke dokumentasjonen:",
|
||||
"For the list of keyboard shortcuts and config options, type `help keymap`": "For å få listen over hurtigtaster og konfigurasjonsalternativer så kan du skrive `help keymap`",
|
||||
"Force path style": "Tving stistil",
|
||||
"For the list of keyboard shortcuts and config options, type `help keymap`": "For listen over hurtigtaster og konfigurasjonsalternativer skriver `help keymap`",
|
||||
"Forward": "Fremover",
|
||||
"Found: %d.": "Funnet: %d.",
|
||||
"FTS enabled: %d": "Fulltekstsøk aktivert: %d",
|
||||
"Full changelog": "Komplett endringslogg",
|
||||
"General": "Generelle innstillinger",
|
||||
"Generated": "Generert",
|
||||
"Generating link...": "Genererer lenke…",
|
||||
"Generating link...": "Genererer link...",
|
||||
"Get it now:": "Få den nå:",
|
||||
"Get pre-releases when checking for updates": "Få førutgivelse når du sjekker etter oppdateringer",
|
||||
"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.": "Skaffer eller setter en konfigurasjonsverdi. Hvis [value] ikke er angitt vil den vise verdien av [name]. Hvis hverken [name] eller [value] er angitt, vil den vise den gjeldende konfigurasjonen.",
|
||||
"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.": "Skaffer eller setter en konfigurasjonsverdi. Hvis [value] ikke er angitt vil den vise verdien av [name]. Hvis hverken [name] eller [value] ikke er angitt, vil den vise den gjeldende konfigurasjonen.",
|
||||
"Go to source URL": "Gå til kilde-URL",
|
||||
"Goto Anything...": "Hopp til...",
|
||||
"Grant authorisation": "Tillat autorisasjon",
|
||||
"Heading": "Overskrift",
|
||||
"Help": "Hjelp",
|
||||
"Hide %s": "Skjul %s",
|
||||
"Hide disabled keys": "Skjul deaktiverte taster",
|
||||
"Hide Joplin": "Skjul Joplin",
|
||||
"Highlight": "Fremhev",
|
||||
"Home": "Hjem",
|
||||
"Highlight": "Fremheve",
|
||||
"Horizontal Rule": "Horisontal strek",
|
||||
"HTML Directory": "HTML-katalog",
|
||||
"HTML File": "HTML-fil",
|
||||
@@ -374,16 +336,15 @@
|
||||
"Idle": "Inaktiv",
|
||||
"Ignore": "Ignorer",
|
||||
"Ignore TLS certificate errors": "Ignorer TLS-sertifikatfeil",
|
||||
"Images": "Bilder",
|
||||
"Import": "Importer",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "Importerer fra \"%s\" i \"%s\"-format. Vennligst vent...",
|
||||
"Importing notes...": "Importerer notater...",
|
||||
"Imports data into Joplin.": "Importerer data til Joplin.",
|
||||
"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.": "I \"Manuell\" modus blir vedlegg kun lastet ned når du klikker på dem. I \"Auto\" blir de lastet ned når du åpner notatet. I \"Alltid\" blir vedleggene lastet ned uansett om du åpner notatet eller ikke.",
|
||||
"Importing notes...": "Importer notater...",
|
||||
"Imports data into Joplin.": "Importer data til Joplin.",
|
||||
"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.": "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.",
|
||||
"In any command, a note or notebook can be referred to by title or ID, or using the shortcuts `$n` or `$b` for, respectively, the currently selected note or notebook. `$c` can be used to refer to the currently selected item.": "I alle kommandoer kan et notat eller en notatbok kun refereres til etter tittel eller ID, eller ved hjelp av snarveiene `$n` (notat) eller `$b` (notatbok). `$c` kan brukes til å referere til nåværende merket element.",
|
||||
"In order to associate a geo-location with the note, the app needs your permission to access your location.\n\nYou may turn off this option at any time in the Configuration screen.": "For å knytte geolokasjon til dette notatet, trenger applikasjonen din tillatelse for å få tilgang til din lokasjon.\n\nDu kan slå av dette valget når som helst under Innstillinger.",
|
||||
"In order to do so, your entire data set will have to be encrypted and synchronised, so it is best to run it overnight.\n\nTo start, please follow these instructions:\n\n1. Synchronise all your devices.\n2. Click \"%s\".\n3. Let it run to completion. While it runs, avoid changing any note on your other devices, to avoid conflicts.\n4. Once sync is done on this device, sync all your other devices and let it run to completion.\n\nImportant: you only need to run this ONCE on one device.": "For å gjøre dette, må hele ditt datasett krypteres og synkroniseres, derfor er det best å gjøre dette over natten.\n\nFølg instruksjonene for å starte :\n\n1. Synkroniser alle dine enheter.\n2. Klikk \"%s\".\n3. La prosessen fullføre. Mens den kjører, unngå endringer på notatene dine på andre enheter, for å unngå konflikt.\n4. Når synkroniseringen er fullført på denne enheten så synkroniserer du dine andre enheter og lar dem fullføre prosessen.\n\nViktig: Du trenger kun å gjøre dette ÉN gang per enhet.",
|
||||
"In order to use file system synchronisation your permission to write to external storage is required.": "For å kunne bruke filsystemsynkronisering behøves din tillatelse til å kunne skrive til ekstern lagring.",
|
||||
"In order to associate a geo-location with the note, the app needs your permission to access your location.\n\nYou may turn off this option at any time in the Configuration screen.": "For å knytte geolokasjon til dette notatet, trenger applikasjonen din tillatelse for å få tilgang til din lokasjon.\n\nDu kan slå av dette valget når som hels i Konfigurasjonsskjermen.",
|
||||
"In order to do so, your entire data set will have to be encrypted and synchronised, so it is best to run it overnight.\n\nTo start, please follow these instructions:\n\n1. Synchronise all your devices.\n2. Click \"%s\".\n3. Let it run to completion. While it runs, avoid changing any note on your other devices, to avoid conflicts.\n4. Once sync is done on this device, sync all your other devices and let it run to completion.\n\nImportant: you only need to run this ONCE on one device.": "For å gjøre dette, må hele ditt datasett krypteres og synkroniseres, derfor er det best å gjøre dette over natten.\n\nFor å starte, vennligst følg instruksjonene:\n\n1. Synkroniser alle dine enheter.\n2. Klikk \"%s\".\n3. La prosessen fullføre. Mens den kjører, unngå endringer på notatene dine på andre enheter, for å unngå konflikt.\n4. Når synkroniseringen er fullført på denne enheten, synkroniser dine andre enheter og la dem fullføre prosessen.\n\nViktig: Du trenger kun å gjøre dette EN gang per enhet.",
|
||||
"In order to use file system synchronisation your permission to write to external storage is required.": "For å kunne bruke filsystemsynkronisering behøves din tillatelse til å kunne skrive til ekstern lagrging.",
|
||||
"In order to use the web clipper, you need to do the following:": "For å kunne bruke Web Clipper må du gjøre følgende:",
|
||||
"In progress": "Pågår",
|
||||
"In: %s": "I: %s",
|
||||
@@ -403,79 +364,61 @@
|
||||
"Invalid answer: %s": "Ugyldig svar: %s",
|
||||
"Invalid command: \"%s\"": "Ugyldig kommando: \"%s\"",
|
||||
"Invalid option value: \"%s\". Possible values are: %s.": "Ugyldig verdi: \"%s\". Mulige verdier er: %s.",
|
||||
"Invalid password": "Ugyldig passord",
|
||||
"Italic": "Kursiv",
|
||||
"Item \"%s\" could not be downloaded: %s": "Element \"%s\" ble ikke lastet ned: %s",
|
||||
"Items": "Elementer",
|
||||
"Item \"%s\" could not be downloaded: %s": "Element \"%s\" ble ikke nedlastet: %s",
|
||||
"Items that cannot be decrypted": "Elementer som ikke kan dekrypteres",
|
||||
"Items that cannot be synchronised": "Elementer som ikke vil synkronisere",
|
||||
"Joplin can synchronise your notes using various providers. Select one from the list below.": "Joplin kan synkronisere notatene dine ved hjelp av ulike leverandører. Velg en fra listen nedenfor.",
|
||||
"Joplin Cloud": "Joplin Cloud",
|
||||
"Joplin Cloud email": "Joplin Cloud-e-post",
|
||||
"Joplin Cloud password": "Joplin Cloud-passord",
|
||||
"Joplin Cloud": "Joplin Sky",
|
||||
"Joplin Cloud email": "Joplins Sky e-post",
|
||||
"Joplin Cloud password": "Joplin Sky passord",
|
||||
"Joplin Export Directory": "Joplin-eksportert katalog",
|
||||
"Joplin Export File": "Joplin-eksportert fil",
|
||||
"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.": "Joplin feilet flere ganger i å dekryptere disse elementene, muligens fordi de er korrupte eller for store. Disse elementene vil forbli på enheten men Joplin vil ikke lenger forsøke å dekryptere de.",
|
||||
"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.": "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.",
|
||||
"Joplin Forum": "Joplin Forum",
|
||||
"Joplin Server": "Joplin Server",
|
||||
"Joplin Server email": "Joplin Server-e-post",
|
||||
"Joplin Server password": "Joplin Server-passord",
|
||||
"Joplin Server": "Joplins Server",
|
||||
"Joplin Server email": "Joplin Server e-post",
|
||||
"Joplin Server password": "Joplin Server passord",
|
||||
"Joplin Server URL": "Joplin Server URL",
|
||||
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": "Joplin Web Clipper gjør det mulig å lagre nettsteder og skjermbilder fra din nettleser til Joplin.",
|
||||
"Joplin website": "Joplins nettsted",
|
||||
"Joplin's own sync service. Also gives access to Joplin-specific features such as publishing notes or collaborating on notebooks with others.": "Joplins egen synkroniseringstjeneste. Gir også tilgang til Joplin-spesifikke funksjoner som å publisere notater eller samarbeide om notatbøker med andre.",
|
||||
"Keep note history for": "Behold notathistorikk i",
|
||||
"Keyboard Mode": "Tastaturmodus",
|
||||
"Keyboard Shortcut": "Hurtigtaster",
|
||||
"Keyboard Shortcuts": "Hurtigtaster",
|
||||
"Keychain Supported: %s": "Nøkkelring støttet: %s",
|
||||
"Keys that need upgrading": "Nøkler som må oppgraderes",
|
||||
"Keychain Supported: %s": "Nøkkelkjede støttet: %s",
|
||||
"Landscape": "Landskap",
|
||||
"Language": "Språk",
|
||||
"Last error: %s": "Siste feil: %s",
|
||||
"Later": "Senere",
|
||||
"Layout": "Visning",
|
||||
"Layout button sequence": "Visning av knapperekkefølge",
|
||||
"Leave notebook...": "Forlat notatbok...",
|
||||
"Legal": "Juridisk",
|
||||
"Letter": "Bokstav",
|
||||
"Layout button sequence": "Visning knapperekkefølge",
|
||||
"Legal": "Legal",
|
||||
"Letter": "Letter",
|
||||
"Light": "Lys",
|
||||
"Lines": "Linjer",
|
||||
"Link has been copied to clipboard!": "Lenken har blitt kopiert til utklippstavlen!",
|
||||
"Links with protocol \"%s\" are not supported": "Lenker med protokoll \"%s\" er ikke støttet",
|
||||
"Link has been copied to clipboard!": "Linken har blitt kopiert til utklippstavlen!",
|
||||
"Links with protocol \"%s\" are not supported": "Linker med protokoll \"%s\" er ikke støttet",
|
||||
"List item": "Listeelement",
|
||||
"Loaded": "Lastet inn",
|
||||
"Location": "Lokasjon",
|
||||
"Lock file is already being hold. If you know that no synchronisation is taking place, you may delete the lock file at \"%s\" and resume the operation.": "Den låste filen er allerede sperret. Hvis du vet at det ikke pågår noen synkronisering kan du slette den låste filen på \"%s\" og fortsette operasjonen.",
|
||||
"Log": "Logg",
|
||||
"Login": "Innlogging",
|
||||
"Login below.": "Innlogging nedenfor.",
|
||||
"Login with Dropbox": "Innlogging med Dropbox",
|
||||
"Login with OneDrive": "Innlogging med OneDrive",
|
||||
"Logout": "Logg ut",
|
||||
"Logs": "Logger",
|
||||
"Make a donation": "Gi et bidrag",
|
||||
"Manage master password": "Skriv inn masterpassordet",
|
||||
"Manage master password...": "Skriv inn masterpassordet…",
|
||||
"Manage your plugins": "Administrer dine utvidelser",
|
||||
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": "Håndter E2EE-konfigurasjon. Tilgjengelige kommandoer er: `enable`(aktiver), `disable`(lukk), `decrypt`(dekrypter), `status` og `target-status` (mottager-status).",
|
||||
"Manual": "Manuell",
|
||||
"Markdown": "Markdown",
|
||||
"Markdown + Front Matter": "Markdown + Front Matter",
|
||||
"Marks a to-do as done.": "Markerer et gjøremål som ferdig.",
|
||||
"Marks a to-do as non-completed.": "Markerer et gjøremål som ikke fullført.",
|
||||
"Marks a to-do as non-completed.": "Merker et gjøremål som ikke fullført.",
|
||||
"Markup": "Markup",
|
||||
"Master Key %s": "Masternøkkel: %s",
|
||||
"Master password": "Skriv inn masterpassordet",
|
||||
"Master password:": "Masterpassord:",
|
||||
"Max concurrent connections": "Maksimalt samtidige tilkoblinger",
|
||||
"Missing keys": "Mangler nøkler",
|
||||
"Missing Master Keys": "Mangler masternøkler",
|
||||
"Missing required argument: %s": "Mangler nødvendig argument: %s",
|
||||
"Mobile data - auto-sync disabled": "Mobildata - autosynkronisering deaktivert",
|
||||
"More info": "Mer info",
|
||||
"More info": "Mer informasjon",
|
||||
"More information": "Mer informasjon",
|
||||
"More than one item match \"%s\". Please narrow down your query.": "Mer enn ett treff for \"%s\". Gjør søket mer spesifikt.",
|
||||
"More than one item match \"%s\". Please narrow down your query.": "Mer enn ett treff for \"%s\". Vennligst gjør søket mer spesifikt.",
|
||||
"Move %d notes to notebook \"%s\"?": "Flytt %d notater til notatbok \"%s\"?",
|
||||
"Move to notebook": "Flytt til notatbok",
|
||||
"Move to notebook...": "Flytt til notatbok...",
|
||||
@@ -508,53 +451,47 @@
|
||||
"No suggestions": "Ingen forslag",
|
||||
"No text editor is defined. Please set it using `config editor <editor-path>`": "Ingen teksteditor er valgt. Velg en ved å bruke `config editor <editor-path>`",
|
||||
"Nord": "Nord",
|
||||
"Not authentified with %s. Please provide any missing credentials.": "Ikke autentisert med %s. Fyll inn manglende detaljer.",
|
||||
"Not downloaded": "Ikke lastet ned",
|
||||
"Not generated": "Ikke generert",
|
||||
"Not authentified with %s. Please provide any missing credentials.": "Ikke autentisert med %s. Vennligst fyll inn manglende detaljer.",
|
||||
"Not downloaded": "Ikke nedlastet",
|
||||
"note": "notat",
|
||||
"Note": "Notat",
|
||||
"Note area growth factor": "Notatområde vekstverdi",
|
||||
"Note attachments": "Notatvedlegg",
|
||||
"Note attachments...": "Notatvedlegg...",
|
||||
"Note body": "Notatbrødtekst",
|
||||
"Note does not exist: \"%s\". Create it?": "Notatet eksisterer ikke: \"%s\". Vil du opprette det?",
|
||||
"Note has been saved.": "Notatet har blitt lagret.",
|
||||
"Note does not exist: \"%s\". Create it?": "Notat eksisterer ikke: \"%s\". Vil du opprette det?",
|
||||
"Note has been saved.": "Notat har blitt lagret.",
|
||||
"Note History": "Notathistorikk",
|
||||
"Note is not a to-do: \"%s\"": "Notat er ikke et gjøremål: \"%s\"",
|
||||
"Note list": "Notatliste",
|
||||
"Note list": "Notatlist",
|
||||
"Note list growth factor": "Notatliste vekstverdi",
|
||||
"Note properties": "Notategenskaper",
|
||||
"Note title": "Tittel på notat",
|
||||
"Note&book": "Notat&bok",
|
||||
"Note: Does not work in all desktop environments.": "Merk: Fungerer ikke i alle skrivebordsmiljøer.",
|
||||
"Note: Does not work in all desktop environments.": "Merk: fungerer ikke i alle skrivebordsmiljøer.",
|
||||
"Note: When a note is shared, it will no longer be encrypted on the server.": "Merk: Når et notat blir delt vil det ikke lenger være kryptert på serveren.",
|
||||
"Notebook": "Notatbok",
|
||||
"Notebook list growth factor": "Notatbok liste vekst verdi",
|
||||
"Notebook: %s": "Notatbok: %s",
|
||||
"Notebooks": "Notatbøker",
|
||||
"Notebooks cannot be named \"%s\", which is a reserved title.": "Notatbøker kan ikke hete %s, som er en reservert tittel.",
|
||||
"Notes": "Notater",
|
||||
"Notes and settings are stored in: %s": "Notater og innstillinger er lagret i: %s",
|
||||
"Notes can only be created within a notebook.": "Notater kan kun opprettes inne i en notatbok.",
|
||||
"Notes can only be created within a notebook.": "Notater kan kun lages inne i en notatbok.",
|
||||
"Numbered List": "Nummerert liste",
|
||||
"OK": "Ok",
|
||||
"OK": "OK",
|
||||
"OLED Dark": "OLED mørk",
|
||||
"On %s: %s": "På %s: %s",
|
||||
"One of your master keys use an obsolete encryption method.": "En eller flere masternøkler bruker en utdatert krypteringsmetode.",
|
||||
"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.": "Ett eller flere elementer er kryptert. Du må muligens oppgi hovedpassordet. For å gjøre dette skriver du `e2ee decrypt`. Hvis du allerede har oppgitt passordet dekrypteres de krypterte elementene i bakgrunnen og vil snart være tilgjengelige.",
|
||||
"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.": "Ett eller flere elementer er kryptert, og du må mulig oppgi hovedpassord. For å gjøre dette, vennligst skriv `e2ee decrypt`. Hvis du allerede har oppgitt passordet dekrypteres de krypterte elementene i bakgrunnen og vil snart være tilgjengelige.",
|
||||
"One or more master keys need a password.": "En eller flere masternøkler trenger et passord.",
|
||||
"OneDrive": "OneDrive",
|
||||
"OneDrive Login": "Innlogging med OneDrive",
|
||||
"Only one note can be printed at a time.": "Kun ett notat kan bli printet om gangen.",
|
||||
"Open": "Åpne",
|
||||
"Open %s": "Åpne %s",
|
||||
"Open profile directory": "Åpne profilmappen",
|
||||
"Open Sync Wizard...": "Åpne Sync Wizard…",
|
||||
"Open profile directory": "Åpne profil mappen",
|
||||
"Open...": "Åpne...",
|
||||
"Operation cancelled": "Operasjon avbrutt",
|
||||
"Options": "Generelle innstillinger",
|
||||
"Or create an account.": "Eller opprett en konto.",
|
||||
"Other applications...": "Andre programmer…",
|
||||
"Output format: %s": "Utformat: %s",
|
||||
"Page orientation for PDF export": "Sideorientering for PDF-eksport",
|
||||
"Page size for PDF export": "Sidestørrelse for PDF-eksport",
|
||||
@@ -567,17 +504,16 @@
|
||||
"PDF File": "PDF-fil",
|
||||
"Permission needed": "Tillatelse kreves",
|
||||
"Permission to use camera": "Tillatelse til å bruke kamera",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Bekreft at du vil forsøke å rekryptere hele din database.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Skriv inn ditt passord i mesternøkkellisten under før du oppgraderer nøkkelen.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Hvis det er en stor notatbok må du være oppmerksom på at det kan ta noen minutter før alle notatene vises på mottakerens enhet.",
|
||||
"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.": "Åpne URL-en i din nettleser for autorisasjon. Programmet vil opprette en mappe i \"Apps/Joplin\" og vil kun lese og skrive filer i denne mappen. Den vil ikke ha tilgang til filer utenfor denne katalogen eller annen personlig data. Ingen data vil bli delt med noen tredjepart.",
|
||||
"Please select a notebook first.": "Velg en notatbok først.",
|
||||
"Please select the note or notebook to be deleted first.": "Velg notatet eller notatboken som skal slettes først.",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Vennligst bekreft at du vil forsøke å rekryptere hele din database.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Vennligst skriv inn ditt passor i mesternøkkellisten under før du opppgraderer nøkkelen.",
|
||||
"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.": "Vennligst åpne URL-en i din nettleser for autorisasjon. Programmet vil opprette en mappe i \"Apps/Joplin\" og vil kun lese og skrive filer i denne mappen. Den ikke ha tilgang til filer utenfor denne katalogen eller annen personlig data. Ingen data vil bli delt med noen tredjepart.",
|
||||
"Please select a notebook first.": "Vennligst velg en notatbok først.",
|
||||
"Please select the note or notebook to be deleted first.": "Vennligst velg notatet eller notatboken som skal slettes først.",
|
||||
"Please select where the sync status should be exported to": "Velg hvor synkroniseringsstatusen skal eksporteres til",
|
||||
"Please specify import format for %s": "Velg importformat for %s",
|
||||
"Please specify import format for %s": "Vennligst velg importformat for %s",
|
||||
"Please specify the notebook where the notes should be imported to.": "Velg notatbok som notatene skal importeres til.",
|
||||
"Please upgrade Joplin to use this plugin": "Oppgrader Joplin for å bruke denne utvidelsen",
|
||||
"Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.": "Vent til at alle vedleggene er lastet ned og dekryptert. Du kan også bytte til %s for å redigere notatet.",
|
||||
"Please upgrade Joplin to use this plugin": "Vennligst oppgrader Joplin for å bruke denne utvidelsen",
|
||||
"Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.": "Vennligst vent til at alle vedleggene er lastet ned og dekryptert. Du kan også bytte til %s for å redigere notatet.",
|
||||
"Please wait...": "Vennligst vent...",
|
||||
"Plugin tools": "Utvidelsesverktøy",
|
||||
"Plugins": "Utvidelser",
|
||||
@@ -590,25 +526,19 @@
|
||||
"Preferred light theme": "Foretrukket lyst tema",
|
||||
"Press Ctrl+D or type \"exit\" to exit the application": "Trykk Ctrl+D eller skriv \"exit\" for å avslutte programmet",
|
||||
"Press the shortcut": "Trykk for hurtigtast",
|
||||
"Press the shortcut and then press ENTER. Or, press BACKSPACE to clear the shortcut.": "Trykk for hurtigtast og trykk så ENTER. Eller trykk BACKSPACE for å slette hurtigtasten.",
|
||||
"Press the shortcut and then press ENTER. Or, press BACKSPACE to clear the shortcut.": "Trykk for hurtigtast og trykk så ENTER. Eller, trykk BACKSPACE for å slette hurtigtasten.",
|
||||
"Press to set the decryption password.": "Trykk for å sette dekrypteringspassordet.",
|
||||
"Previous versions of this note": "Forrige versjon av dette notatet",
|
||||
"Print": "Skriv ut",
|
||||
"Privacy Policy": "Personvernerklæring",
|
||||
"Process failed payment subscriptions": "Behandle feilende betalingsavtaler",
|
||||
"Process oversized accounts": "Prosesser for store brukerkontoer",
|
||||
"Process user deletions": "Behandle brukerslettinger",
|
||||
"Profile": "Profil",
|
||||
"Profile Version: %s": "Profilversjon: %s",
|
||||
"Properties": "Egenskaper",
|
||||
"Public-private key pair:": "Offentlig-privat nøkkelpar:",
|
||||
"Publish note...": "Publiser notat...",
|
||||
"Publish Notes": "Publiser notater",
|
||||
"Publish notes to the internet": "Publiser notater på internett",
|
||||
"Publish Notes": "Publiser notat",
|
||||
"Quit": "Avslutt",
|
||||
"Re-encrypt data": "Rekrypter data",
|
||||
"Re-encryption": "Omkryptering",
|
||||
"Re-upload local data to sync target": "Last på nytt opp lokale data til synkroniseringsmål",
|
||||
"Re-upload local data to sync target": "Last opp på nytt lokale data til synkroniseringsmål",
|
||||
"Read more about it": "Les mer om det",
|
||||
"Read time: %s min": "Lesetid: %s min",
|
||||
"Recipient has accepted the invitation": "Mottaker har akseptert invitasjonen",
|
||||
@@ -625,8 +555,7 @@
|
||||
"Rename notebook:": "Gi nytt navn til notatbok:",
|
||||
"Rename tag:": "Gi nytt navn til merkelapp:",
|
||||
"Renames the given <item> (note or notebook) to <name>.": "Gir nytt navn til <item> (notat eller notatbok) til <name>.",
|
||||
"Renew token": "Forny beviset",
|
||||
"Reset master password": "Tilbakestill masterpassordet",
|
||||
"Renew token": "Forny tokenet",
|
||||
"Resources: %d.": "Ressurser: %d.",
|
||||
"Restart and upgrade": "Omstart og oppgrader",
|
||||
"Restart now": "Omstart nå",
|
||||
@@ -639,13 +568,7 @@
|
||||
"Reverses the sorting order.": "Reverserer sorteringsrekkefølgen.",
|
||||
"Revision: %s (%s)": "Revisjon: %s (%s)",
|
||||
"Runs the commands contained in the text file. There should be one command per line.": "Kjør kommandoene som finnes i denne tekstfilen. En kommando per linje.",
|
||||
"S3": "S3",
|
||||
"S3 access key": "AWS-nøkkel",
|
||||
"S3 bucket": "S3-bøtte",
|
||||
"S3 region": "S3-region",
|
||||
"S3 secret key": "S3-hemmelig-nøkkel",
|
||||
"S3 URL": "S3-URL",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "Sikker modus er aktiv. Notatrendring og alle utvidelser er midlertidig deaktivert.",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "Sikker mode er aktiv. Notatrendring og alle utvidelser er midlertidig deaktivert.",
|
||||
"Save": "Lagre",
|
||||
"Save alarm": "Angi alarm",
|
||||
"Save as...": "Lagre som...",
|
||||
@@ -659,29 +582,23 @@
|
||||
"Search:": "Søk:",
|
||||
"Searches for the given <pattern> in all the notes.": "Søker etter angitt <pattern> i alle notatene.",
|
||||
"See the pre-release page for more details: %s": "Se førutgivelsessiden for flere detaljer: %s",
|
||||
"Select": "Marker",
|
||||
"Select all": "Marker alt",
|
||||
"Select emoji...": "Velg emoji…",
|
||||
"Select file...": "Velg fil…",
|
||||
"Server is already running on port %d": "Serveren kjører allerede på port %d",
|
||||
"Server is not running.": "Serveren kjører ikke.",
|
||||
"Server is running on port %d": "Serveren kjører på port %d",
|
||||
"Set alarm": "Angi alarm",
|
||||
"Set alarm:": "Angi alarm:",
|
||||
"Set it to 0 to make it take the complete available space. Recommended width is 600.": "Sett den til 0 for å få den til å ta maks tilgjengelig plass. Anbefalt bredde er 600.",
|
||||
"Set the password": "Sett passord",
|
||||
"Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s": "Setter egenskapen <name> for angitt <note> til angitt [verdi]. Mulige valg er: \n\n%s",
|
||||
"Share": "Del",
|
||||
"Share Notebook": "Del notatbok",
|
||||
"Share Notebook": "Del Notatbok",
|
||||
"Share notebook...": "Del notatbok...",
|
||||
"Sharing notebook...": "Deler notatbok...",
|
||||
"Shortcuts are not available in CLI mode.": "Snarveier er ikke tilgjengelig i CLI-modus.",
|
||||
"Show Advanced Settings": "Vis avanserte innstillinger",
|
||||
"Show all": "Vis alle",
|
||||
"Show completed to-dos": "Vis fullførte gjøremål",
|
||||
"Show disabled keys": "Vis deaktiverte taster",
|
||||
"Show note counts": "Vis antall notater",
|
||||
"Show sort order buttons": "Vis sorteringsrekkefølgeknapper",
|
||||
"Show tray icon": "Vis systemmenyikon",
|
||||
"Sidebar": "Sidepanel",
|
||||
"Size": "Størrelse",
|
||||
@@ -693,17 +610,16 @@
|
||||
"Some items cannot be decrypted.": "Noen elementer kan ikke dekrypteres.",
|
||||
"Some items cannot be synchronised.": "Noen elementer kan ikke synkroniseres.",
|
||||
"Some items cannot be synchronised. Press for more info.": "Noen elementer kan ikke synkroniseres. Press for mer info.",
|
||||
"Sort notebooks by": "Sorter notatbøker etter",
|
||||
"Sort notebooks by": "Sorter notater etter",
|
||||
"Sort notes by": "Sorter notater etter",
|
||||
"Sort selected lines": "Sorter valgte linjer",
|
||||
"Sorts the item by <field> (eg. title, updated_time, created_time).": "Sorter etter <field> (f.eks. title, updated_time, created_time).",
|
||||
"Source format: %s": "Kildeformat: %s",
|
||||
"Source: ": "Kilde: ",
|
||||
"Specify the port that should be used by the API server. If not set, a default will be used.": "Spesifiser porten som skal brukes av API-serveren. Hvis ikke satt vil en standardport brukes.",
|
||||
"Spell checker": "Stavekontroll",
|
||||
"Split View": "Splitvisning",
|
||||
"Start application minimised in the tray icon": "Start applikasjonen minimert som systemmenyikon",
|
||||
"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, stopp eller sjekk API-serveren. For å angi på hvilken port den skal kjøre, angi api.port-konfigurasjonsvariablen. Kommandoer er (%s).",
|
||||
"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, stopp eller sjekk API-serveren. For å angi på hvilken port den skal kjøre,sett api.port konfigurasjonsvariablen. Kommandoer er (%s).",
|
||||
"Starting decryption... Please wait as it may take several minutes depending on how much there is to decrypt.": "Starter dekryptering... Vennligst vent da det kan ta flere minutter avhengig av mengden som skal dekrypteres.",
|
||||
"Starting synchronisation...": "Starter synkronisering...",
|
||||
"Starting to edit note. Close the editor to get back to the prompt.": "Notatredigering startet. Lukk editoren for å komme tilbake til kommandolinjen.",
|
||||
@@ -713,8 +629,8 @@
|
||||
"Status: %s": "Status: %s",
|
||||
"Status: Started on port %d": "Status: Startet på port %d",
|
||||
"Step 1: Enable the clipper service": "Steg 1: Aktiver Web Clipper-tjenesten",
|
||||
"Step 1: Open this URL in your browser to authorise the application:": "Steg 1: Åpne denne URL-en i din nettleser for å autorisere applikasjonen:",
|
||||
"Step 2: Enter the code provided by Dropbox:": "Steg 2: Skriv inn koden du fikk av Dropbox:",
|
||||
"Step 1: Open this URL in your browser to authorise the application:": "Steg 1: Åpne denne URL i din nettleser for å autorisere applikasjonen:",
|
||||
"Step 2: Enter the code provided by Dropbox:": "Steg 2: Sett inn koden du fikk av Dropbox:",
|
||||
"Step 2: Install the extension": "Steg 2: Installer utvidelsen",
|
||||
"Stop": "Stopp",
|
||||
"Stop external editing": "Stopp ekstern redigering",
|
||||
@@ -734,17 +650,16 @@
|
||||
"Sync status (synced items / total items)": "Synkroniseringsstatus (synkroniserte elementer / totale elementer)",
|
||||
"Sync target must be upgraded! Run `%s` to proceed.": "Synkroniseringsmålet må oppgraderes! Kjør '%s' for å fortsette.",
|
||||
"Sync Target Upgrade": "Oppgrader synkroniseringsmål",
|
||||
"Sync to provided target (defaults to sync.target config value)": "Synkroniser til oppgitt mål (standard til sync.target config-verdi)",
|
||||
"Sync Version: %s": "Synkroniseringsversjon: %s",
|
||||
"Sync your notes": "Synkroniser notatene dine",
|
||||
"Sync to provided target (defaults to sync.target config value)": "Sync å forsynt mål (uteblivelsene å sync. target config-verdi)",
|
||||
"Sync Version: %s": "Synkroniser versjon: %s",
|
||||
"Synchronisation": "Synkronisering",
|
||||
"Synchronisation interval": "Synkroniserinsintervall",
|
||||
"Synchronisation is already in progress.": "Synkroniseringen er allerede i gang.",
|
||||
"Synchronisation is already in progress.": "Synkronisering er allerede i gang.",
|
||||
"Synchronisation Status": "Synkroniseringsstatus",
|
||||
"Synchronisation target": "Synkroniseringsmål",
|
||||
"Synchronisation target: %s (%s)": "Synkroniseringsmål: %s (%s)",
|
||||
"Synchronise": "Synkroniser",
|
||||
"Synchronise only over WiFi connection": "Synkroniser kun over WIFI-tilkobling",
|
||||
"Synchronise only over WiFi connection": "Synkroniser kun over WIFI tilkobling",
|
||||
"Synchronises with remote storage.": "Synkroniser med fjernlagring.",
|
||||
"Synchronising...": "Synkroniserer...",
|
||||
"Synchronizing...": "Synkroniserer...",
|
||||
@@ -752,67 +667,57 @@
|
||||
"Tagged: %d.": "Merket: %d.",
|
||||
"Tags": "Merkelapper",
|
||||
"Take photo": "Ta bilde",
|
||||
"Tasks": "Oppgaver",
|
||||
"Text editor command": "Teksteditorkommando",
|
||||
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Takk skal du ha! Joplin Cloud-kontoen din er nå konfigurert og klar til bruk.",
|
||||
"The app is now going to close. Please relaunch it to complete the process.": "Programmet vil lukkes nå. Start det på nytt for å fullføre prosessen.",
|
||||
"Text editor command": "Teksteditor",
|
||||
"The app is now going to close. Please relaunch it to complete the process.": "Programmet vil lukkes nå. Vennligst restarte det for å fullføre prosessen.",
|
||||
"The application has been authorised - you may now close this browser tab.": "Applikasjonen er autorisert - du kan nå lukke denne nettleserenfanen.",
|
||||
"The application has been authorised!": "Applikasjonen har blitt godkjent!",
|
||||
"The application has been successfully authorised.": "Applikasjonen har blitt godkjent.",
|
||||
"The application must be restarted for these changes to take effect.": "Applikasjonen må startes på nytt for at endringene skal tre i kraft.",
|
||||
"The application must be restarted for these changes to take effect.": "Applikasjonen må restarte for at endringer skal tre i kraft.",
|
||||
"The attachments will no longer be watched when you switch to a different note.": "Følgende vedlegg vil ikke lenger overvåkes når du bytter til et annet notat.",
|
||||
"The command \"%s\" is only available in GUI mode": "Kommandoen \"%s\" er kun tilgjengelig i GUI-modus",
|
||||
"The default admin password is insecure and has not been changed! [Change it now](%s)": "Standard administratorpassord er usikkert og har ikke blitt endret! [Bytt det nå](%s)",
|
||||
"The default admin password is insecure and has not been changed! [Change it now](%s)": "Standard admin passord er usikkert og har ikke blitt endret! [Bytt det nå](%s)",
|
||||
"The default encryption method has been changed to a more secure one and it is recommended that you apply it to your data.": "Standard krypteringsmetode har blitt endret til en mer sikker en og det er anbefalt at du velger den for ditt innhold.",
|
||||
"The default encryption method has been changed, you should re-encrypt your data.": "Standard krypteringsmetode har blitt endret. Du bør rekryptere ditt innhold.",
|
||||
"The editor command (may include arguments) that will be used to open a note. If none is provided it will try to auto-detect the default editor.": "Teksteditor som skal brukes til å åpne et notat. Hvis det ikke er satt vil den prøve å automatisk velge standardprogram.",
|
||||
"The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes.": "Faktoregenskapen angir hvordan elementet vil vokse eller krympe for å passe den tilgjengelige plassen i beholderen i forhold til de andre elementene. Dermed vil et element med faktor 2 ta dobbelt så mye plass som et element med faktor 1. Start appen på nytt for å se endringer.",
|
||||
"The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes.": "Verdi egenskapen setter hvordan et element vil vokse eller krympe for å passe inn i det tilgjengelige rommet i sin kontainer med tanke på andre elementer. Derfor vil et element med verdien 2 oppta dobbelt så mye plass enn et element med verdien 1. Omstart applikasjonen for å se endringer.",
|
||||
"The following attachments are being watched for changes:": "Følgende vedlegg overvåkes for endringer:",
|
||||
"The following keys use an out-dated encryption algorithm and it is recommended to upgrade them. The upgraded key will still be able to decrypt and encrypt your data as usual.": "De følgende mesternøklene bruker en utdatert krypteringsalgoritme. Det er anbefalt å oppgradere dem. Den oppgraderte nøkkelen vil fortsatt la deg dekryptere og kryptere ditt innhold som vanlig.",
|
||||
"The Joplin mobile app does not currently support this type of link: %s": "Joplins mobilapp støtter for tiden ikke denne type lenker: %s",
|
||||
"The Joplin team has vetted this plugin and it meets our standards for security and performance.": "Joplin-teamet har kontrollert denne plugin-en og den oppfyller våre standarder for sikkerhet og ytelse.",
|
||||
"The keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "Nøklene med disse ID-ene brukes til å kryptere noen av elementene, men programmet har for øyeblikket ikke tilgang til dem. Sannsynligvis vil de etterhvert bli lastet ned via synkronisering.",
|
||||
"The Joplin mobile app does not currently support this type of link: %s": "Joplins mobilapp støtter for tiden ikke denne type linker: %s",
|
||||
"The master key has been upgraded successfully!": "Mesternøkkelen har blitt oppgradert!",
|
||||
"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "Masternøklene med disse ID-ene brukes til å kryptere noen av elementene, men programmet har for øyeblikket ikke tilgang til dem. Sannsynligvis vil de etterhvert bli lastet ned via synkronisering.",
|
||||
"The note \"%s\" has been successfully restored to the notebook \"%s\".": "Notatet \"%s\" har blitt gjenopprettet i notatboken \"%s\".",
|
||||
"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "Masternøklene med disse ID-ene brukes til å kryptere noen av elementene, men programmet har for øyeblikket ikke tilgang til dem. Det er sannsynlig at de vil siden bli lastet ned via synkronisering.",
|
||||
"The note \"%s\" has been successfully restored to the notebook \"%s\".": "Notatet \"%s\" has blitt vellykket gjenopprettet i notatboken \"%s\".",
|
||||
"The notebook could not be saved: %s": "Denne notatboken kunne ikke lagres: %s",
|
||||
"The notes have been imported: %s": "Notatene som har blitt importert: %s",
|
||||
"The possible commands are:": "De mulige kommandoene er:",
|
||||
"The recipient could not be removed from the list. Please try again.\n\nThe error was: \"%s\"": "Mottakeren kunne ikke fjernes fra listen. Prøv på nytt.\n\nFeilen var: \"%s\"",
|
||||
"The sync target needs to be upgraded before Joplin can sync. The operation may take a few minutes to complete and the app needs to be restarted. To proceed please click on the link.": "Synkroniseringsmålet må være oppgradert før Joplin kan synkronisere. Det kan ta noen minutter å fullføre operasjonen og applikasjonen trenger å startes på nytt. Trykk på lenken for å fortsette.",
|
||||
"The sync target needs to be upgraded. Press this banner to proceed.": "Synkroniseringsmålet må oppgraderes. Trykk på dette banneret for å fortsette.",
|
||||
"The tag \"%s\" already exists. Please choose a different name.": "Merkelappen \"%s\" eksiterer allerede. Velg et annet navn.",
|
||||
"The sync target needs to be upgraded before Joplin can sync. The operation may take a few minutes to complete and the app needs to be restarted. To proceed please click on the link.": "Synkroniseringsmålet må være oppgradert før Joplin kan synkronisere. Denne operasjonen kan ta noen minutter for å fullføre og applikasjonen trenger å restarte. For å fortsette trykk på linken.",
|
||||
"The tag \"%s\" already exists. Please choose a different name.": "Merkelappen \"%s\" eksiterer allerede. Vennligst velg et annet navn.",
|
||||
"The target to synchronise to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).": "Målet å synkronisere til. Hvert synkroniseringsmål kan ha tilleggsparametere som er navngitt som `sync.NUM.NAME` (dokumentert nedenfor).",
|
||||
"The Web Clipper needs your authorisation to access your data.": "Webklipperen trenger din autorisasjon for å få tilgang til dine data.",
|
||||
"The web clipper service is enabled and set to auto-start.": "Web Clipper-tjenesten er aktivert og satt til å starte opp automatisk.",
|
||||
"The web clipper service is not enabled.": "Web Clipper-tjenesten er ikke aktivert.",
|
||||
"Theme": "Tema",
|
||||
"There are currently no notes. Create one by clicking on the (+) button.": "For øyeblikket finnes det ingen notater. Lag et ved å klikke på (+)-knappen.",
|
||||
"There is currently no notebook. Create one by clicking on \"New notebook\".": "For øyeblikket finnes det ingen notatbok. Lag en ved å klikke på \"Ny notatbok\".",
|
||||
"There is no data to export.": "Det er ingen data å eksportere.",
|
||||
"There are currently no notes. Create one by clicking on the (+) button.": "Det finnes enda ingen notater. Lag en ved å klikke på (+)-knappen.",
|
||||
"There is currently no notebook. Create one by clicking on \"New notebook\".": "Det er for tiden ingen notatbok. Lag en ved å klikke på \"Ny notatbok\".",
|
||||
"There is no data to export.": "Det er ingen data for eksportering.",
|
||||
"There was a [conflict](%s) on the attachment below.\n\n%s": "Det var en [konflikt](%s) i vedlegget under.\n\n%s",
|
||||
"There was an error downloading this attachment:": "Det oppstod en feil ved nedlastingen av dette vedlegget:",
|
||||
"There was an error setting up your Joplin Cloud account. Please verify your email and password and try again. Error was:\n\n%s": "Det oppsto en feil under oppsett av Joplin Cloud-kontoen din. Bekreft e-postadressen og passordet ditt og prøv igjen. Feilen var:\n\n%s",
|
||||
"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).": "Disse elementene blir værende på enheten, men vil ikke bli lastet opp til synkroniseringsmålet. For å finne disse elementene, enten søk etter tittel eller ID (som vises i parentes over).",
|
||||
"These plugins enhance the Markdown renderer with additional features. Please note that, while these features might be useful, they are not standard Markdown and thus most of them will only work in Joplin. Additionally, some of them are *incompatible* with the WYSIWYG editor. If you open a note that uses one of these plugins in that editor, you will lose the plugin formatting. It is indicated below which plugins are compatible or not with the WYSIWYG editor.": "Disse utvidelsene forbedrer Markdown-renderen med utvidet funksjonalitet. Vær oppmerksom på at, selv om funksjonaliteten kan være nyttig, så er det ikke standard Markdown og vil dermed kun virke i Joplin. I tillegg er noen av dem *inkompatible* med WYIWYG editoren. Hvis du åpner et notat og benytter en av disse utvidelsene, vil du miste utvidelsesformatering. Det er angitt under hvilke utvidelser som er kompatible eller ikke med WYSIWYG editoren.",
|
||||
"These plugins enhance the Markdown renderer with additional features. Please note that, while these features might be useful, they are not standard Markdown and thus most of them will only work in Joplin. Additionally, some of them are *incompatible* with the WYSIWYG editor. If you open a note that uses one of these plugins in that editor, you will lose the plugin formatting. It is indicated below which plugins are compatible or not with the WYSIWYG editor.": "Disse utvidelsene forbedrer Markdown senderen med utvidet funksjonalitet. Vær oppmerksom på at, selv om funksjonaliteten kan være nyttig, så er det ikke standard Markdown og vil dermed kun virke i Joplin. Videre, noen av dem er *inkompatible* med WYIWYG editoren. Hvis du åpner et notat og benytter et av disse utvidelsene, vil du miste utvidelsesformatering. Det er angitt under hvilke utvidelser som er kompatible eller ikke med WYSIWYG editoren.",
|
||||
"This attachment is not downloaded or not decrypted yet": "Dette vedlegget er ikke lastet ned eller dekryptert enda",
|
||||
"This attachment is not downloaded or not decrypted yet.": "Dette vedlegget er enda ikke lastet ned eller dekryptert.",
|
||||
"This authorisation token is only needed to allow third-party applications to access Joplin.": "Denne autoriseringsbeviset er det eneste nødvendige for å gi tredjepartsapplikasjoner tilgang til Joplin.",
|
||||
"This is an advanced tool to show the attachments that are linked to your notes. Please be careful when deleting one of them as they cannot be restored afterwards.": "Dette er et avansert verktøy for å vise vedlegg som er lenket til dine notater. Vær forsiktig når du sletter et av dem da de ikke kan gjenopprettes etterpå.",
|
||||
"This is an advanced tool to show the attachments that are linked to your notes. Please be careful when deleting one of them as they cannot be restored afterwards.": "Dette er et avansert verktøy for å vise vedlegg som er linket til dine notater. Vennligst vær forsiktig når du sletter et av dem da de ikke kan gjenopprettes etterpå.",
|
||||
"This note does not have geolocation information.": "Dette notatet har ingen stedsinformasjon.",
|
||||
"This note has been modified:": "Dette notatet har blitt endret:",
|
||||
"This note has no content. Click on \"%s\" to toggle the editor and edit the note.": "Dette notatet har ikke noe innhold. Klikk på \"%s\" for å redigere notatet.",
|
||||
"This note has no history": "Dette notatet har ingen historikk",
|
||||
"This Rich Text editor has a number of limitations and it is recommended to be aware of them before using it.": "Denne riktekst-editoren har en rekke begrensinger og det er anbefalt at man er oppmerksom på dette før man benytter den.",
|
||||
"This Rich Text editor has a number of limitations and it is recommended to be aware of them before using it.": "Denne riktekst editoren har en rekke begrensinger og det er anbefalt at man er oppmerksom på dette før man benytter den.",
|
||||
"This service allows the browser extension to communicate with Joplin. When enabling it your firewall may ask you to give permission to Joplin to listen to a particular port.": "Denne tjenesten tillater nettleserutvidelser å kommunisere med Joplin. Når du aktiverer den kan brannmuren spørre om du vil gi Joplin tillatelse til å lytte på en bestemt port.",
|
||||
"This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronised, thus reducing the number of conflicts.": "Dette vil tillatte Joplin å kjøre i bakgrunnen. Det er anbefalt å aktivere denne innstillingen så notatene dine blir synkronisert konstant, slik at du reduserer mulige konflikter.",
|
||||
"This will open a new screen. Save your current changes?": "Dette vil åpne et nytt vindu. Vil du lagre nåværende endringer?",
|
||||
"This will remove the notebook from your collection and you will no longer have access to its content. Do you wish to continue?": "Dette vil fjerne notatblokken fra samlingen din, og du vil ikke lenger ha tilgang til innholdet. Ønsker du å fortsette?",
|
||||
"Time format": "Tidsformat",
|
||||
"title": "tittel",
|
||||
"Title": "Tittel",
|
||||
"To allow Joplin to synchronise with Dropbox, please follow the steps below:": "For å få Joplin til å synkronisere med Dropbox må du følge trinnene under:",
|
||||
"To continue, please enter your master password below.": "For å fortsette må du skrive inn masterpassordet ditt nedenfor.",
|
||||
"To allow Joplin to synchronise with Dropbox, please follow the steps below:": "For å få Joplin til å synkronisere med Dropbox, vennligst følg trinnene under her:",
|
||||
"To delete a tag, untag the associated notes.": "For å slette en merkelapp, fjern merkelappen fra merkede notater.",
|
||||
"To delete: %d": "Slettes: %d",
|
||||
"To enter command line mode, press \":\"": "For å gå inn i kommandolinjemodus, trykk \":\"",
|
||||
@@ -820,19 +725,17 @@
|
||||
"To manually sort the notes, the sort order must be changed to \"%s\" in the menu \"%s\" > \"%s\"": "For manuelt å sortere notatene, må sorteringsrekkefølgen endres til \"%s\" i meny \"%s\" > \"%s\"",
|
||||
"To maximise/minimise the console, press \"tc\".": "For å maksimere/minimere konsollet, trykk \"tc\".",
|
||||
"To move from one pane to another, press Tab or Shift+Tab.": "Hvis du vil flytte fra en fane til en annen, trykk Tab eller Shift+Tab.",
|
||||
"To retry decryption of these items. Run `e2ee decrypt --retry-failed-items`": "For å prøve å dekryptere disse elementene på nytt, kjør 'e2ee decrypt --retry-failed-items'",
|
||||
"To work correctly, the app needs the following permissions. Please enable them in your phone settings, in Apps > Joplin > Permissions": "For å fungere riktig behøver applikasjonen følgende tillatelser. Aktiver disse tillatelsene i telefoninnstillingene, i Apps > Joplin > Tillatelser",
|
||||
"To retry decryption of these items. Run `e2ee decrypt --retry-failed-items`": "For å prøve dekryptering på nytt på disse elementene. Kjør 'e2ee decrypt --retry-failed-items'",
|
||||
"To work correctly, the app needs the following permissions. Please enable them in your phone settings, in Apps > Joplin > Permissions": "For å fungere riktig behøver applikasjonen følgende tillatelser. Vennligst aktiver de i telefoninnstillingene, i Apps > Joplin > Tillatelser",
|
||||
"to-do": "gjøremål",
|
||||
"Toggle comment": "Vis/skjul kommentar",
|
||||
"Toggle development tools": "Vis/skjul utviklingsverktøy",
|
||||
"Toggle development tools": "Skru på/av utviklingsverktøy",
|
||||
"Toggle editor layout": "Bytt editorvisning",
|
||||
"Toggle editors": "Bytt editorer",
|
||||
"Toggle external editing": "Vis/skjul ekstern redigering",
|
||||
"Toggle note list": "Vis/skjul notatliste",
|
||||
"Toggle own sort order": "Vis/skjul egen sorteringsrekkefølge",
|
||||
"Toggle note list": "Skru på/av notatliste",
|
||||
"Toggle safe mode": "Vis/skjul sikker modus",
|
||||
"Toggle sidebar": "Vis/skjul sidepanel",
|
||||
"Toggle sort order field": "Vis/skjul feltet for sorteringsrekkefølge",
|
||||
"Token has been copied to the clipboard!": "Bevis har blitt kopiert til utklippstavlen!",
|
||||
"Tools": "Verktøy",
|
||||
"Total: %d/%d": "Totalt: %d/%d",
|
||||
@@ -845,21 +748,18 @@
|
||||
"Uncompleted to-dos on top": "Uferdige gjøremål på topp",
|
||||
"Undo": "Angre",
|
||||
"Unknown flag: %s": "Ukjent flagg: %s",
|
||||
"Unknown item type downloaded - please upgrade Joplin to the latest version": "Ukjent elementtype lastet ned. Oppgrader Joplin til siste versjon",
|
||||
"Unpublish note": "Avpubliser notat",
|
||||
"Unknown item type downloaded - please upgrade Joplin to the latest version": "Ukjent elementtype lastet ned - vennligst oppgrader Joplin til siste versjon",
|
||||
"Unpublish note": "Opphev delt notat",
|
||||
"Unshare": "Opphev deling",
|
||||
"Unshare this notebook? The recipients will no longer have access to its content.": "Slutt å dele notatbok? Mottakerne vil ikke lenger har tilgang til innholdet.",
|
||||
"Unsupported image type: %s": "Bildetypen er ikke støttet: %s",
|
||||
"Unsupported link or message: %s": "Lenke eller melding er ikke støttet: %s",
|
||||
"Unsupported link or message: %s": "Usupportert lenke eller melding: %s",
|
||||
"Untitled": "Uten navn",
|
||||
"Update": "Oppdater",
|
||||
"Update profile": "Oppdater profil",
|
||||
"Update total sizes": "Oppdater total størrelse: %d",
|
||||
"Updated": "Oppdatert",
|
||||
"updated date": "sist oppdatert",
|
||||
"Updated local items: %d.": "Oppdaterte lokale elementer: %d.",
|
||||
"Updated remote items: %d.": "Oppdaterte eksterne elementer: %d.",
|
||||
"Updated: ": "Oppdatert: ",
|
||||
"Updated: %d.": "Oppdatert: %d.",
|
||||
"Updated: %s": "Oppdatert: %s",
|
||||
"Updating...": "Oppdaterer...",
|
||||
@@ -869,18 +769,15 @@
|
||||
"Usage: %s": "Bruk: %s",
|
||||
"Use long list format. Format is ID, NOTE_COUNT (for notebook), DATE, TODO_CHECKED (for to-dos), TITLE": "Bruk langt listeformat. Format er ID, NOTE_COUNT (for notatbok), DATE, TODO_CHECKED (for gjøremål), TITLE",
|
||||
"Use spell checker": "Bruk stavekontroll",
|
||||
"Use the arrows and page up/down to scroll the lists and text areas (including this console).": "Bruk pilene på tastaturet og page up/down for å navigere i lister og tekstområder (inkludert dette konsollet).",
|
||||
"Use the arrows and page up/down to scroll the lists and text areas (including this console).": "Bruk pilene på tastaturet og Page up/down for å navigere i lister og tekstområder (inkludert dette konsollet).",
|
||||
"Use the arrows to move the layout items. Press \"Escape\" to exit.": "Bruk piltastene for å flytte oppsettselementene. Trykk \"Escape\" for å lukke.",
|
||||
"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.": "Velg dette for å gjenoppbygge søkeindeksen dersom du har problemer med søk. Det kan ta lang tid avhengig av antall notater.",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Brukt for mesteparten av tekst i markdown editoren. Hvis ikke funnet vil en generell proposjonal (variabelbredde) font benyttes.",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "Brukt hvor en fastbreddefont er behøvd for å ordne tekst(i.e tabeller, avmerkingsbokser, kode). Hvis ikke funnet, vil en generell monospace(fast bredde)-font benyttes.",
|
||||
"User deletions": "Brukerslettinger",
|
||||
"Users": "Brukere",
|
||||
"Valid": "Gyldig",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Brukt for mesteparten av tekst i markdown editoren. Hvis ikke funnet, vil en generell proposjonal (variabel bredde) font benyttes.",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "Brukt hvor en fastbredde font er behøvd for å ordne tekst(i.e tabeller, sjekkbokser, kode). Hvis ikke funnet, vil en generell monospace (fast bredde) font benyttes.",
|
||||
"View": "Visning",
|
||||
"View on map": "Vis på kart",
|
||||
"View them now": "Vis nå",
|
||||
"Viewer": "Betrakter",
|
||||
"Viewer": "Visning",
|
||||
"Vim": "Vim",
|
||||
"Warning": "Advarsel",
|
||||
"Warning: not all resources shown for performance reasons (limit: %s).": "Advarsel: ikke alle ressurser vist av ytelseshensyn (grense: %s).",
|
||||
@@ -891,21 +788,20 @@
|
||||
"WebDAV username": "WebDAV-brukernavn",
|
||||
"Website and documentation": "Nettsted og dokumentasjon",
|
||||
"Welcome to Joplin!\n\nType `:help shortcuts` for the list of keyboard shortcuts, or just `:help` for usage information.\n\nFor example, to create a notebook press `mb`; to create a note press `mn`.": "Velkommen til Joplin!\n\nSkriv `:help shortcuts` for listen over hurtigtaster eller kun `:help` for brukerinformasjon.\n\nHvis du for eksempel vil opprette en notatbok trykker du `mb`; for å opprette et notat, trykk `mn`.",
|
||||
"When creating a new note:": "Når et nytt notat opprettes:",
|
||||
"When creating a new to-do:": "Når et nytt gjøremål opprettes:",
|
||||
"When creating a new note:": "Når du oppretter et nytt notat:",
|
||||
"When creating a new to-do:": "Når nytt gjøremål opprettes:",
|
||||
"Words": "Ord",
|
||||
"y": "y",
|
||||
"Y": "Y",
|
||||
"yes": "ja",
|
||||
"Yes": "Ja",
|
||||
"You are about to attach a large image (%dx%d pixels). Would you like to resize it down to %d pixels before attaching it?": "Du er i ferd med å legge ved et stort bilde (%dx%d piksler). Ønsker du å skalere dette ned til %d piksler før du legger det ved?",
|
||||
"You are about to attach a large image (%dx%d pixels). Would you like to resize it down to %d pixels before attaching it?": "Du er i ferd med å knytte et stort bilde (%dx%d piksler). Ønsker du å skalere dette ned til %d piksler før til knytter det til?",
|
||||
"You currently have no notebooks.": "Du har ingen notatbøker.",
|
||||
"You do not have any installed plugin.": "Du har ikke installert noen utvidelser.",
|
||||
"You may also type `status` for more information.": "Du kan også skrive 'status' for mer informasjon.",
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Du kan bruke verktøyet under for å rekryptere ditt innhold, for eksempel hvis du vet at noen av dine notater er kryptert med en utdatert krypteringsmetode.",
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Du kan bruke verktøyet under for å rekryptere ditt innhold, for eksempel hvis du vet at noen av dine notater er kryptert med en utdatert krypteringsmetode.",
|
||||
"Your choice: ": "Ditt valg: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Ditt innhold vil bli rekryptert og synkronisert igjen.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Passordet ditt er nødvendig for å dekryptere noen av dataene dine. Skriv `:e2ee decrypt` for å angi den.",
|
||||
"Your permission to use your camera is required.": "Tillatelse til å bruke kamera er nødvendig.",
|
||||
"Your version: %s": "Din versjon: %s",
|
||||
"Zoom In": "Zoom inn",
|
||||
|
||||
@@ -507,6 +507,7 @@
|
||||
"PDF File": "PDF Bestand",
|
||||
"Permission needed": "Toestemming vereist",
|
||||
"Permission to use camera": "Toestemming camera te gebruiken",
|
||||
"Please click on \"%s\" to proceed": "Gelieve op \"%s\" te klikken om verder te gaan",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Gelieve te bevestigen dat u uw hele databank opnieuw wil encrypteren.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Gelieve uw paswoord in te geven in de lijst hoofdsleutels hieronder, alvorens de sleutel te upgraden.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Gelieve er rekening mee te houden dat bij grote notitieboeken het enkele minuten kan duren vooraleer de notities op het apparaat van de ontvanger verschijnen.",
|
||||
@@ -809,6 +810,7 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "U kunt het onderstaande hulpmiddel gebruiken om uw gegevens opnieuw te encrypteren, bijvoorbeeld als u weet dat sommige van uw notities geëncrypteerd zijn met een verouderde encryptiemethode.",
|
||||
"Your choice: ": "Uw keuze: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Uw data zullen opnieuw geëncrypteerd en gesynchroniseerd worden.",
|
||||
"Your master password is needed to decrypt some of your data.": "Je masterwachtwoord is nodig om een deel van je gegevens te decrypteren.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Je wachtwoord is nodig om een deel van je gegevens te decrypteren. Typ :e2ee decrypt` om je wachtwoord in te stellen.",
|
||||
"Your permission to use your camera is required.": "Uw toestemming om de camera te gebruiken is vereist.",
|
||||
"Your version: %s": "Uw versie: %s",
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
"%d notes match this pattern. Delete them?": "Er komen %d notities overeen met dit patroon. Wilt u ze verwijderen?",
|
||||
"%s %s (%s, %s)": "%s %s (%s, %s)",
|
||||
"%s (%s) could not be uploaded: %s": "%s (%s) kon niet worden geupload: %s",
|
||||
"%s (%s) would like to share a notebook with you.": "%s (%s) wil graag een notitieboek met je delen.",
|
||||
"%s (%s): %s": "%s (%s): %s",
|
||||
"%s (pre-release)": "%s (pre-release)",
|
||||
"%s - Copy": "%s - kopiëren",
|
||||
@@ -27,7 +26,6 @@
|
||||
"&Tools": "E&xtra",
|
||||
"&View": "Beel&d",
|
||||
"(%s)": "(%s)",
|
||||
"(None)": "(Geen)",
|
||||
"(wysiwyg: %s)": "(wuziwuk: %s)",
|
||||
"- Camera: to allow taking a picture and attaching it to a note.": "- Camera: zodat u een foto kunt maken en deze bij een notitie kunt voegen.",
|
||||
"- Location: to allow attaching geo-location information to a note.": "- Locatie: zodat u locatie-informatie kunt toevoegen aan een notitie.",
|
||||
@@ -41,18 +39,13 @@
|
||||
"accelerator": "versneller",
|
||||
"Accelerator \"%s\" is not valid.": "Versneller \"%s\" is niet geldig.",
|
||||
"Accelerator \"%s\" is used for \"%s\" and \"%s\" commands. This may lead to unexpected behaviour.": "Versneller \"%s\" wordt gebruikt voor \"%s\" en \"%s\" commando's. Dit kan tot onverwacht gedrag leiden.",
|
||||
"Accept": "Accepteren",
|
||||
"Action": "Actie",
|
||||
"Actions": "Acties",
|
||||
"Active": "Actief",
|
||||
"Actual Size": "Ware Grootte",
|
||||
"Add body": "Inhoud toevoegen",
|
||||
"Add or remove tags:": "Labels toevoegen of verwijderen:",
|
||||
"Add recipient:": "Voeg ontvanger toe:",
|
||||
"Add title": "Toevoegen titel",
|
||||
"Add to dictionary": "Toevoegen aan woordenboek",
|
||||
"Admin": "Admin",
|
||||
"Admin dashboard": "Admin dashboard",
|
||||
"Advanced options": "Geavanceerde opties",
|
||||
"All notes": "Alle notities",
|
||||
"All potential ports are in use - please report the issue at %s": "Alle potentiële poorten zijn in gebruik - Meld het probleem op %s",
|
||||
@@ -69,7 +62,6 @@
|
||||
"Attach photo": "Foto bijvoegen",
|
||||
"Attach...": "Bijvoegen...",
|
||||
"Attaches the given file to the note.": "Voegt het opgegeven bestand bij de notitie.",
|
||||
"attachment": "bijlagen",
|
||||
"Attachment conflict: \"%s\"": "Conflict in bijlage: \"%s\"",
|
||||
"Attachment download behaviour": "Bijlage downloadgedrag",
|
||||
"Attachments": "Bijlagen",
|
||||
@@ -78,9 +70,7 @@
|
||||
"Authentication was not completed (did not receive an authentication token).": "Authenticatie is niet voltooid (geen authenticatiesleutel ontvangen).",
|
||||
"Authorisation token:": "Autorisatie-token:",
|
||||
"Auto": "Auto",
|
||||
"Auto-add disabled accounts for deletion": "Voeg uitgeschakelde account automatisch toe voor verwijdering",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Auto-paar accolades, haakjes, citaten, enz.",
|
||||
"Automatically check for updates": "Automatisch controleren op updates",
|
||||
"Automatically switch theme to match system theme": "Automatisch omschakelen thema op basis van systeemthema",
|
||||
"Back": "Terug",
|
||||
"Bold": "Vetgedrukt",
|
||||
@@ -101,9 +91,6 @@
|
||||
"Cannot move note to \"%s\" notebook": "Kan notitie niet verplaatsen naar notitieboek \"%s\"",
|
||||
"Cannot move notebook to this location": "Kan notitieboek niet verplaatsen naar deze locatie",
|
||||
"Cannot refresh token: authentication data is missing. Starting the synchronisation again may fix the problem.": "Kan toegangssleutel niet verversen: de authenticatiegegevens ontbreken. Probeer de synchronisatie opnieuw te starten.",
|
||||
"Cannot save %s \"%s\" because it is larger than the allowed limit (%s)": "%s \"%s\" kan niet worden opgeslagen omdat het groter is dan de limiet (%s)",
|
||||
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) for this account": "%s \"%s\" kan niet worden opgeslagen omdat de totale grootte van dit account (%s) overschreid",
|
||||
"Cannot share encrypted notebook with recipient %s because they have not enabled end-to-end encryption. They may do so from the screen Configuration > Encryption.": "Kan een gecodeerd notitieblok niet delen met %s van de ontvanger omdat deze geen end-to-end-codering heeft ingeschakeld. Ze kunnen dit doen via het scherm Configuratie > Encryptie.",
|
||||
"Change application layout": "Wijzig de layout van de applicatie",
|
||||
"Change language": "Taal veranderen",
|
||||
"Characters": "Karakters",
|
||||
@@ -125,31 +112,22 @@
|
||||
"Code": "Code",
|
||||
"Code Block": "Code Blok",
|
||||
"Code View": "Codeweergave",
|
||||
"Collaborate on notebooks with others": "Samenwerken aan notitieblokken met anderen",
|
||||
"Coming alarms": "Aankomende alarmen",
|
||||
"Comma-separated list of paths to directories to load the certificates from, or path to individual cert files. For example: /my/cert_dir, /other/custom.pem. Note that if you make changes to the TLS settings, you must save your changes before clicking on \"Check synchronisation configuration\".": "Kommagescheiden lijst van paden naar mappen waaruit de certificaten moeten worden geladen, of paden naar individuele bestanden. Bijvoorbeeld: /mijn/cert_map, /overig/aangepast.pem. Let op: als u wijzigingen aanbrengt, dan moet u ze opslaan voordat u klik op \"Synchronisatie-configuratie controleren.",
|
||||
"command": "commando",
|
||||
"Command": "Commando",
|
||||
"Command palette": "Opdrachtpalet",
|
||||
"Command palette...": "Opdrachtpalet...",
|
||||
"Completed": "Voltooid",
|
||||
"Completed decryption.": "Decryptie voltooid.",
|
||||
"Completed: %s (%s)": "Voltooid: %s (%s)",
|
||||
"Compress old changes": "Comprimeer oude wijzigingen",
|
||||
"Configuration": "Configuratie",
|
||||
"Confirm password cannot be empty": "Wachtwoord bevestigen mag niet blanco zijn",
|
||||
"Confirm password:": "Bevestig wachtwoord:",
|
||||
"Confirmation": "Bevestiging",
|
||||
"Conflicted: %d": "Conflicten: %d",
|
||||
"Conflicts": "Conflicten",
|
||||
"Conflicts (attachments)": "Conflicten (bijlagen)",
|
||||
"Content provided by %s": "Inhoud geleverd door %s",
|
||||
"Convert to note": "Omzetten naar notitie",
|
||||
"Convert to todo": "Omzetten naar taak",
|
||||
"Copy": "Kopiëren",
|
||||
"Copy dev mode command to clipboard": "Ontwikkelaarsmodus commando kopiëren naar klembord",
|
||||
"Copy external link": "Kopieer externe link",
|
||||
"Copy image": "Kopieer afbeelding",
|
||||
"Copy Link Address": "Linkadres kopiëren",
|
||||
"Copy Markdown link": "Markdownlink kopiëren",
|
||||
"Copy path to clipboard": "Pad kopiëren naar klembord",
|
||||
@@ -157,21 +135,15 @@
|
||||
"Copy token": "Kopieer token",
|
||||
"Could not authorise application:\n\n%s\n\nPlease try again.": "Kon applicatie niet autoriseren:\n\n%s\n\nProbeer opnieuw.",
|
||||
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": "Kon niet verbinden met de Joplin Server. Controleer uw instellingen in het Synchronisatie configuratiescherm. Volledige foutmelding was:\n\n%s",
|
||||
"Could not connect to plugin repository.": "Kan geen verbinding maken met de plugin bibliotheek.",
|
||||
"Could not export notes: %s": "Kon geen notities exporteren: %s",
|
||||
"Could not install plugin: %s": "Kon plugin niet installeren: %s",
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Kon niet reageren op de uitnodiging. Probeer het opnieuw of neem contact op met de eigenaar van het notitieblok of deze het nog steeds deelt.\n\n De fout was: \"%s\"",
|
||||
"Could not upgrade master key: %s": "Kon hoofdsleutel niet bijwerken: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "Kan de sharestatus van dit notitieblok - aborteren - niet controleren. Probeer het opnieuw wanneer u verbonden bent met internet.",
|
||||
"Create a notebook": "Creëer een notitieboek",
|
||||
"Create notebook": "Creëer notitieboek",
|
||||
"Create user": "Maak gebruiker aan",
|
||||
"Created": "Gecreëerd",
|
||||
"created date": "gecreëerd op",
|
||||
"Created local items: %d.": "Lokale items gecreëerd: %d.",
|
||||
"Created locally": "Lokale items gecreëerd",
|
||||
"Created remote items: %d.": "Externe items gecreëerd: %d.",
|
||||
"Created: ": "Gecreëerd: ",
|
||||
"Created: %d.": "Gecreëerd: %d.",
|
||||
"Created: %s": "Gecreëerd op: %s",
|
||||
"Creates a new note.": "Creëert een nieuwe notitie.",
|
||||
@@ -183,13 +155,10 @@
|
||||
"custom order": "aangepaste volgorde",
|
||||
"Custom order": "Aangepaste volgorde",
|
||||
"Custom stylesheet for Joplin-wide app styles": "Aangepaste stylesheet voor Joplin-brede app-stijlen",
|
||||
"Custom stylesheet for rendered Markdown": "Aangepaste stylesheet voor gerenderde Markdown",
|
||||
"Custom TLS certificates": "Aangepaste TLS-certificaten",
|
||||
"Cut": "Knippen",
|
||||
"Dark": "Donker",
|
||||
"Dashboard": "Dashboard",
|
||||
"Database v%s": "Database v%s",
|
||||
"Date": "Datum",
|
||||
"Date format": "Datumopmaak",
|
||||
"days": "dagen",
|
||||
"Decrypted items: %d": "Ontsleutelde items: %d",
|
||||
@@ -199,17 +168,13 @@
|
||||
"Default: %s": "Standaard: %s",
|
||||
"Delete": "Verwijderen",
|
||||
"Delete attachment \"%s\"?": "Bijlage “%s” verwijderen?",
|
||||
"Delete expired sessions": "Verwijder verlopen sessies",
|
||||
"Delete expired tokens": "Verwijder verlopen tokens",
|
||||
"Delete line": "Regel verwijderen",
|
||||
"Delete local data and re-download from sync target": "Lokale gegevens verwijderen en opnieuw downloaden van het synchronisatiedoel",
|
||||
"Delete note \"%s\"?": "Notitie “%s” verwijderen?",
|
||||
"Delete note?": "Notitie verwijderen?",
|
||||
"Delete notebook \"%s\"?\n\nAll notes and sub-notebooks within this notebook will also be deleted.": "Notitieboek “%s” verwijderen?\n\nAlle notities en sub-notitieboeken in dit notitieboek worden eveneens verwijderd.",
|
||||
"Delete notebook? All notes and sub-notebooks within this notebook will also be deleted.": "Notitieboek verwijderen? Alle notities en sub-notitieboeken worden eveneens verwijderd.",
|
||||
"Delete plugin \"%s\"?": "Plugin “%s” verwijderen?",
|
||||
"Delete these %d notes?": "Deze %d notities verwijderen?",
|
||||
"Delete this invitation? The recipient will no longer have access to this shared notebook.": "Deze uitnodiging verwijderen? De ontvanger heeft geen toegang meer tot dit gedeelde notitieblok.",
|
||||
"Deleted local items: %d.": "Lokale items verwijderd: %d.",
|
||||
"Deleted remote items: %d.": "Externe items verwijderd: %d.",
|
||||
"Deletes the given notebook.": "Verwijdert het opgegeven notitieboek.",
|
||||
@@ -219,9 +184,7 @@
|
||||
"Destination format: %s": "Bestemmingsformaat: %s",
|
||||
"Directory": "Map",
|
||||
"Directory to synchronise with (absolute path)": "Map waarnaar gesynchroniseerd moet worden (absoluut pad)",
|
||||
"Disable": "Uitgeschakeld",
|
||||
"Disable encryption": "Encryptie uitschakelen",
|
||||
"Disable safe mode and restart": "Schakel de veilige modus uit en start opnieuw op",
|
||||
"Disable Web Clipper Service": "Webclipper-dienst uitschakelen",
|
||||
"Disabled": "Uitgeschakeld",
|
||||
"Disabling encryption means *all* your notes and attachments are going to be re-synchronised and sent unencrypted to the sync target. Do you wish to continue?": "Door encryptie uit te schakelen worden *alle* notities en bijlagen opnieuw gesynchroniseerd, maar dan onversleuteld. Wilt u doorgaan?",
|
||||
@@ -238,7 +201,6 @@
|
||||
"Displays version information": "Toont versie-informatie",
|
||||
"Do it now": "Doe het nu",
|
||||
"Do not ask for confirmation.": "Niet vragen om bevestiging.",
|
||||
"Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.": "Verlies het wachtwoord niet, want voor veiligheidsdoeleinden is dit de * enige * manier om de gegevens te decoderen! Voer hieronder uw wachtwoord in om versleuteling in te schakelen.",
|
||||
"Download": "Downloaden",
|
||||
"Download and install the relevant extension for your browser:": "Download en installeer de bijbehorende extensie in uw browser:",
|
||||
"Downloaded": "Gedownload",
|
||||
@@ -251,7 +213,6 @@
|
||||
"Dropbox": "Dropbox",
|
||||
"Dropbox Login": "Inloggen op Dropbox",
|
||||
"Duplicate": "Dupliceren",
|
||||
"Duplicate line": "Dupliceer regel",
|
||||
"Duplicates the notes matching <note> to [notebook]. If no notebook is specified the note is duplicated in the current notebook.": "Dupliceert de notities die overeenkomen met <note> tot [notebook]. Als geen notitieboek wordt opgegeven, dan wordt de notitie gedupliceerd in het huidige notitieboek.",
|
||||
"Edit": "Bewerken",
|
||||
"Edit in external editor": "Bewerken in externe editor",
|
||||
@@ -261,12 +222,8 @@
|
||||
"Editor font": "Lettertype van editor",
|
||||
"Editor font family": "Lettertype van editor",
|
||||
"Editor font size": "Lettergrootte van editor",
|
||||
"Editor maximum width": "Maximale breedte van editor",
|
||||
"Editor monospace font family": "Editor monospace lettertypefamilie",
|
||||
"Either \"text\" or \"json\"": "\"text\" of \"json\"",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "E-mail",
|
||||
"Emails": "E-mails",
|
||||
"emphasised text": "benadrukte tekst",
|
||||
"Enable": "Inschakelen",
|
||||
"Enable ++insert++ syntax": "++insert++ syntaxis inschakelen",
|
||||
@@ -292,16 +249,12 @@
|
||||
"Enable Web Clipper Service": "Webclipper-dienst inschakelen",
|
||||
"Enable ~sub~ syntax": "~sub~ syntaxis inschakelen",
|
||||
"Enabled": "Ingeschakeld",
|
||||
"Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target.": "Het inschakelen van codering betekent dat * al uw * notities en bijlagen opnieuw worden gesynchroniseerd en gecodeerd naar het synchronisatiedoel worden verzonden.",
|
||||
"Encrypted": "Versleuteld",
|
||||
"Encrypted items cannot be modified": "Versleutelde items kunnen niet worden bewerkt",
|
||||
"Encrypted notebooks cannot be renamed": "Versleutelde notitieboeken kunnen niet worden hernoemd",
|
||||
"Encryption": "Encryptie",
|
||||
"Encryption Config": "Encryptie-configuratie",
|
||||
"Encryption is: %s": "Gebruikte encryptie: %s",
|
||||
"Encryption keys": "Encryptie sleutels",
|
||||
"Encryption:": "Encryptie:",
|
||||
"End-to-end encryption": "End-to end encryptie",
|
||||
"Enter code here": "Code hier invoeren",
|
||||
"Enter master password:": "Voer het hoofdwachtwoord in:",
|
||||
"Enter notebook title": "Invoeren titel notitieboek",
|
||||
@@ -316,7 +269,6 @@
|
||||
"Exits the application.": "Sluit de applicatie af.",
|
||||
"Export": "Exporteren",
|
||||
"Export all": "Alles exporteren",
|
||||
"Export debug report": "Foutopsporingsrapportage exporteren",
|
||||
"Export Debug Report": "Foutopsporingsrapportage exporteren",
|
||||
"Export profile": "Exporteer profiel",
|
||||
"Exporting profile...": "Profiel exporteren...",
|
||||
@@ -327,7 +279,6 @@
|
||||
"Fail-safe": "Faalveilig",
|
||||
"Fail-safe: Do not wipe out local data when sync target is empty (often the result of a misconfiguration or bug)": "Fail-safe: Wis lokale gegevens niet wanneer synchronisatiedoel leeg is (vaak het gevolg van een misconfiguratie of softwarefout)",
|
||||
"Fatal error:": "Fatale fout:",
|
||||
"Feature flags": "Optie vlaggen",
|
||||
"Fetched items: %d/%d.": "Items opgehaald: %d/%d.",
|
||||
"Fetching resources: %d/%d": "Bronnen ophalen: %d/%d",
|
||||
"File": "Bestand",
|
||||
@@ -343,27 +294,21 @@
|
||||
"For information on how to customise the shortcuts please visit %s": "Ga voor meer informatie over het aanpassen van sneltoetsen naar %s",
|
||||
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "Bekijk, voor meer informatie over End-To-End Encryptie (E2EE) en hulp bij het inschakelen hiervan, onze documentatie:",
|
||||
"For the list of keyboard shortcuts and config options, type `help keymap`": "Typ `help keymap` om de lijst met sneltoetsen en configuratie-opties te bekijken",
|
||||
"Force path style": "Forceer pad-stijl",
|
||||
"Forward": "Vooruit",
|
||||
"Found: %d.": "Gevonden: %d.",
|
||||
"FTS enabled: %d": "FTS ingeschakeld: %d",
|
||||
"Full changelog": "Volledige changelog",
|
||||
"General": "Algemeen",
|
||||
"Generated": "Gegenereerd",
|
||||
"Generating link...": "Nieuwe link genereren...",
|
||||
"Get it now:": "Download nu:",
|
||||
"Get pre-releases when checking for updates": "Verkrijg pre-releases bij controleren op updates",
|
||||
"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.": "Verkrijgt of stelt een configuratiewaarde in. Als [value] niet is opgegeven, dan wordt de waarde van [name] getoond. Als zowel [name] als [value] niet zijn opgegeven, dan wordt de huidige configuratie getoond.",
|
||||
"Go to source URL": "Ga naar bron-URL",
|
||||
"Goto Anything...": "Ga naar Alles...",
|
||||
"Grant authorisation": "Authorisatie verlenen",
|
||||
"Heading": "Kop",
|
||||
"Help": "Help",
|
||||
"Hide %s": "%s verbergen",
|
||||
"Hide disabled keys": "Verberg uitgeschakelde sleutels",
|
||||
"Hide Joplin": "Joplin verbergen",
|
||||
"Highlight": "Arceren",
|
||||
"Home": "Begin",
|
||||
"Horizontal Rule": "Horizontale regel",
|
||||
"HTML Directory": "HTML-map",
|
||||
"HTML File": "HTML-bestand",
|
||||
@@ -373,7 +318,6 @@
|
||||
"Idle": "Inactief",
|
||||
"Ignore": "Negeren",
|
||||
"Ignore TLS certificate errors": "TLS-certificaatfouten negeren",
|
||||
"Images": "Afbeeldingen",
|
||||
"Import": "Importeren",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "Bezig met importeren van \"%s\" in het formaat \"%s\". Een ogenblik geduld...",
|
||||
"Importing notes...": "Notities importeren...",
|
||||
@@ -402,40 +346,30 @@
|
||||
"Invalid answer: %s": "Ongeldig antwoord: %s",
|
||||
"Invalid command: \"%s\"": "Ongeldige opdracht: \"%s\"",
|
||||
"Invalid option value: \"%s\". Possible values are: %s.": "Ongeldige optie: \"%s\". Geldige waarden zijn: %s.",
|
||||
"Invalid password": "Ongeldig wachtwoord",
|
||||
"Italic": "Cursief",
|
||||
"Item \"%s\" could not be downloaded: %s": "Item “%s” kan niet worden gedownload: %s",
|
||||
"Items": "Items",
|
||||
"Items that cannot be decrypted": "Items die niet kunnen worden ontsleuteld",
|
||||
"Items that cannot be synchronised": "Items die niet kunnen worden gesynchroniseerd",
|
||||
"Joplin can synchronise your notes using various providers. Select one from the list below.": "Joplin kan uw notities synchroniseren met behulp van verschillende providers. Selecteer er een uit de onderstaande lijst.",
|
||||
"Joplin Cloud": "Joplin Cloud",
|
||||
"Joplin Cloud email": "Joplin Cloud email",
|
||||
"Joplin Cloud password": "Joplin Cloud wachtwoord",
|
||||
"Joplin Export Directory": "Joplin-exportmap",
|
||||
"Joplin Export File": "Joplin-exportbestand",
|
||||
"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.": "Joplin kon deze items meermaals niet ontsleutelen, mogelijk omdat ze beschadigd of te groot zijn. Deze items blijven op het apparaat, maar Joplin zal niet langer proberen ze te ontsleutelen.",
|
||||
"Joplin Forum": "Joplin-forum",
|
||||
"Joplin Server": "Joplin Server",
|
||||
"Joplin Server email": "Joplin Server e-mail",
|
||||
"Joplin Server password": "Joplin Server Wachtwoord",
|
||||
"Joplin Server URL": "Joplin Server URL",
|
||||
"Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin.": "Joplin Webclipper stelt u in staat om webpagina's en schermafbeeldingen van uw browser op te slaan in Joplin.",
|
||||
"Joplin website": "Joplin-website",
|
||||
"Joplin's own sync service. Also gives access to Joplin-specific features such as publishing notes or collaborating on notebooks with others.": "Joplin's eigen synchronisatieservice. Geeft ook toegang tot Joplin-specifieke functies zoals het publiceren van notities of samenwerken aan notitieblokken met anderen.",
|
||||
"Keep note history for": "Bewaar geschiedenis van notities voor",
|
||||
"Keyboard Mode": "Toetsenbordmodus",
|
||||
"Keyboard Shortcut": "Sneltoets",
|
||||
"Keyboard Shortcuts": "Sneltoetsen",
|
||||
"Keychain Supported: %s": "Ondersteunde Sleutelhanger: %s",
|
||||
"Keys that need upgrading": "Hoofdsleutels die moeten worden bijgewerkt",
|
||||
"Landscape": "Landschap",
|
||||
"Language": "Taal",
|
||||
"Last error: %s": "Laatst gemelde fout: %s",
|
||||
"Later": "Later",
|
||||
"Layout": "Indeling",
|
||||
"Layout button sequence": "Knopindelingreeks",
|
||||
"Leave notebook...": "Verlaat notitie...",
|
||||
"Legal": "Wettelijk",
|
||||
"Letter": "Brief",
|
||||
"Light": "Licht",
|
||||
@@ -443,32 +377,20 @@
|
||||
"Link has been copied to clipboard!": "De link is naar het klembord gekopieerd!",
|
||||
"Links with protocol \"%s\" are not supported": "Links met protocol “%s” worden niet ondersteund",
|
||||
"List item": "Lijstitem",
|
||||
"Loaded": "Geladen",
|
||||
"Location": "Locatie",
|
||||
"Lock file is already being hold. If you know that no synchronisation is taking place, you may delete the lock file at \"%s\" and resume the operation.": "Het vergrendelbestand wordt al vastgehouden. Als u zeker weet dat er geen synchronisatie plaatsvindt, kunt u uw bestand verwijderen in \"%s\" en de actie hervatten.",
|
||||
"Log": "Log",
|
||||
"Login": "Login",
|
||||
"Login below.": "Log hieronder in.",
|
||||
"Login with Dropbox": "Inloggen met Dropbox",
|
||||
"Login with OneDrive": "Inloggen met OneDrive",
|
||||
"Logout": "Log uit",
|
||||
"Logs": "Logs",
|
||||
"Make a donation": "Doneren",
|
||||
"Manage master password": "Beheer hoofdwachtwoord",
|
||||
"Manage master password...": "Beheer hoofdwachtwoord...",
|
||||
"Manage your plugins": "Beheer plugins",
|
||||
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": "Beheert de E2EE-configuratie. Opdrachten zijn: `enable`, `disable`, `decrypt`, `status`, `decrypt-file` en `target-status`.",
|
||||
"Manual": "Handmatig",
|
||||
"Markdown": "Markdown",
|
||||
"Markdown + Front Matter": "Markdown + Front Matter",
|
||||
"Marks a to-do as done.": "Markeert een taak als afgerond.",
|
||||
"Marks a to-do as non-completed.": "Markeert een taak als niet-afgerond.",
|
||||
"Markup": "Opmaak",
|
||||
"Master Key %s": "Hoofdsleutel %s",
|
||||
"Master password": "Hoofdwachtwoord",
|
||||
"Master password:": "Hoofdwachtwoord:",
|
||||
"Max concurrent connections": "Max gelijktijdige verbindingen",
|
||||
"Missing keys": "Ontbrekende hoofdsleutels",
|
||||
"Missing Master Keys": "Ontbrekende hoofdsleutels",
|
||||
"Missing required argument: %s": "Vereist argument ontbreekt: %s",
|
||||
"Mobile data - auto-sync disabled": "Mobiele data - automatische synchronisatie uitgeschakeld",
|
||||
@@ -509,7 +431,6 @@
|
||||
"Nord": "Nord",
|
||||
"Not authentified with %s. Please provide any missing credentials.": "Niet geauthenticeerd met %s. Voer ontbrekende inloggegevens in.",
|
||||
"Not downloaded": "Niet gedownload",
|
||||
"Not generated": "Niet gegenereerd",
|
||||
"note": "notitie",
|
||||
"Note": "Notitie",
|
||||
"Note area growth factor": "Notitiegebied groeifactor",
|
||||
@@ -524,15 +445,12 @@
|
||||
"Note list growth factor": "Notitielijst groeifactor",
|
||||
"Note properties": "Eigenschappen van notitie",
|
||||
"Note title": "Titel van notitie",
|
||||
"Note&book": "Notitie&boek",
|
||||
"Note: Does not work in all desktop environments.": "Let op: dit werkt niet in alle desktop-omgevingen.",
|
||||
"Note: When a note is shared, it will no longer be encrypted on the server.": "Let op: wanneer een notitie wordt gedeeld, zal deze niet langer versleuteld zijn.",
|
||||
"Notebook": "Notitieboek",
|
||||
"Notebook list growth factor": "Notitieboeklijst groeifactor",
|
||||
"Notebook: %s": "Notitieboek: %s",
|
||||
"Notebooks": "Notitieboeken",
|
||||
"Notebooks cannot be named \"%s\", which is a reserved title.": "Notitieboeken mogen niet \"%s\" heten; dit is een gereserveerde titel.",
|
||||
"Notes": "Notities",
|
||||
"Notes and settings are stored in: %s": "Notities en instellingen worden opgeslagen in: %s",
|
||||
"Notes can only be created within a notebook.": "Notities kunnen alleen worden gecreëerd in een notitieboek.",
|
||||
"Numbered List": "Genummerde lijst",
|
||||
@@ -548,12 +466,9 @@
|
||||
"Open": "Openen",
|
||||
"Open %s": "Open %s",
|
||||
"Open profile directory": "Open profiel map",
|
||||
"Open Sync Wizard...": "Open Sync Wizard...",
|
||||
"Open...": "Openen...",
|
||||
"Operation cancelled": "Actie geannuleerd",
|
||||
"Options": "Opties",
|
||||
"Or create an account.": "Of maak een account.",
|
||||
"Other applications...": "Overige applicaties...",
|
||||
"Output format: %s": "Uitvoerformaat: %s",
|
||||
"Page orientation for PDF export": "Pagina-oriëntatie voor PDF-export",
|
||||
"Page size for PDF export": "Paginaformaat voor PDF-export",
|
||||
@@ -568,7 +483,6 @@
|
||||
"Permission to use camera": "Toestemming om de camera te gebruiken",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Bevestig dat u uw complete database opnieuw wilt versleutelen.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Voer uw wachtwoord in onderstaande hoofdsleutellijst voorafgaand aan bijwerken van de sleutel.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Houd er rekening mee dat als het een groot notitieblok is, het enkele minuten kan duren voordat alle notities op het apparaat van de ontvanger worden weergegeven.",
|
||||
"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.": "Open de volgende URL in uw browser om de applicatie te verifiëren. De applicatie creëert een map in \"Apps/Joplin\" en zal alleen bestanden lezen uit en wegschrijven naar deze map. Er is geen toegang tot bestanden buiten deze map, noch tot persoonlijke gegevens. Er worden geen gegevens gedeeld met een derde partij.",
|
||||
"Please select a notebook first.": "Kies eerst een notitieboek.",
|
||||
"Please select the note or notebook to be deleted first.": "Kies eerst een te verwijderen notitie of notitieboek.",
|
||||
@@ -578,7 +492,6 @@
|
||||
"Please upgrade Joplin to use this plugin": "Upgrade Joplin om deze plug-in te gebruiken",
|
||||
"Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.": "Wacht tot alle bijlagen zijn gedownload en versleuteld. Je mag ook overschakelen naar %s om de notitie te wijzigen.",
|
||||
"Please wait...": "Even geduld...",
|
||||
"Plugin tools": "Plugin tools",
|
||||
"Plugins": "Plugins",
|
||||
"Portrait": "Portret",
|
||||
"Possible keys/values:": "Mogelijke sleutels/waarden:",
|
||||
@@ -594,29 +507,14 @@
|
||||
"Previous versions of this note": "Vorige versies van deze notitie",
|
||||
"Print": "Afdrukken",
|
||||
"Privacy Policy": "Privacy Policy",
|
||||
"Process failed payment subscriptions": "Mislukte betalingsabonnementen verwerken",
|
||||
"Process oversized accounts": "Verwerk te grootte accounts",
|
||||
"Process user deletions": "Verwerk gebruikers verwijdering",
|
||||
"Profile": "Profiel",
|
||||
"Profile Version: %s": "Profiel versie: %s",
|
||||
"Properties": "Eigenschappen",
|
||||
"Public-private key pair:": "Publieke-prive sleutel paar:",
|
||||
"Publish note...": "Publiceer notitie...",
|
||||
"Publish Notes": "Publiceer notities",
|
||||
"Publish notes to the internet": "Publiceer notities op het internet",
|
||||
"Quit": "Afsluiten",
|
||||
"Re-encrypt data": "Data opnieuw versleutelen",
|
||||
"Re-encryption": "Opnieuw versleutelen",
|
||||
"Re-upload local data to sync target": "Lokale gegevens opnieuw uploaden om het doel te synchroniseren",
|
||||
"Read more about it": "Lees meer",
|
||||
"Read time: %s min": "Leestijd: %s min",
|
||||
"Recipient has accepted the invitation": "Ontvanger heeft de uitnodiging geaccepteerd",
|
||||
"Recipient has not yet accepted the invitation": "Ontvanger heeft de uitnodiging nog niet geaccepteerd",
|
||||
"Recipient has rejected the invitation": "Ontvanger heeft de uitnodiging geweigerd",
|
||||
"Recipients:": "Ontvangers:",
|
||||
"Redo": "Herhalen",
|
||||
"Refresh": "Verversen",
|
||||
"Reject": "Weiger",
|
||||
"Remove": "Verwijderen",
|
||||
"Remove tag \"%s\" from all notes?": "Label “%s” verwijderen van alle notities?",
|
||||
"Remove this search from the sidebar?": "Deze zoekopdracht verwijderen uit de zijbalk?",
|
||||
@@ -625,7 +523,6 @@
|
||||
"Rename tag:": "Labelnaam wijzigen:",
|
||||
"Renames the given <item> (note or notebook) to <name>.": "Wijzigt de naam van het opgegeven <item> (notitie of notitieboek) in <name>.",
|
||||
"Renew token": "Vernieuw token",
|
||||
"Reset master password": "Herstel hoofdwachtwoord",
|
||||
"Resources: %d.": "Bronnen: %d.",
|
||||
"Restart and upgrade": "Opnieuw opstarten en bijwerken",
|
||||
"Restart now": "Nu opnieuw opstarten",
|
||||
@@ -637,14 +534,6 @@
|
||||
"Reverse sort order": "Sorteervolgorde omdraaien",
|
||||
"Reverses the sorting order.": "Keert de sorteervolgorde om.",
|
||||
"Revision: %s (%s)": "Revisie: %s (%s)",
|
||||
"Runs the commands contained in the text file. There should be one command per line.": "Hiermee voert u de opdrachten in het tekstbestand uit. Er moet één commando per regel zijn.",
|
||||
"S3": "S3",
|
||||
"S3 access key": "S3 toegangs sleutel",
|
||||
"S3 bucket": "S3 bucket",
|
||||
"S3 region": "S3 regio",
|
||||
"S3 secret key": "S2 geheime sleutel",
|
||||
"S3 URL": "S3 URL",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "De veilige modus is momenteel actief. Notitieweergave en alle plug-ins zijn tijdelijk uitgeschakeld.",
|
||||
"Save": "Opslaan",
|
||||
"Save alarm": "Alarm opslaan",
|
||||
"Save as...": "Opslaan als...",
|
||||
@@ -658,33 +547,23 @@
|
||||
"Search:": "Zoeken:",
|
||||
"Searches for the given <pattern> in all the notes.": "Doorzoekt alle notities op het opgegeven <pattern>.",
|
||||
"See the pre-release page for more details: %s": "Zie de pre-release pagina voor meer details: %s",
|
||||
"Select": "Selecteren",
|
||||
"Select all": "Alles selecteren",
|
||||
"Select emoji...": "Selecteer emoji...",
|
||||
"Select file...": "Selecteer bestand...",
|
||||
"Server is already running on port %d": "Server wordt al uitgevoerd op poort %d",
|
||||
"Server is not running.": "Server is niet actief.",
|
||||
"Server is running on port %d": "Server wordt uitgevoerd op poort %d",
|
||||
"Set alarm": "Alarm instellen",
|
||||
"Set alarm:": "Alarm instellen:",
|
||||
"Set it to 0 to make it take the complete available space. Recommended width is 600.": "Stel het in op 0 om ervoor te zorgen dat het de volledige beschikbare ruimte in beslag neemt. Aanbevolen breedte is 600.",
|
||||
"Set the password": "Wachtwoord instellen",
|
||||
"Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s": "Stelt de <name> in van de opgegeven notitie op de opgegeven [value]. Mogelijkheden zijn:\n\n%s",
|
||||
"Share": "Delen",
|
||||
"Share Notebook": "Deel Notitieboek",
|
||||
"Share notebook...": "Deel notitieboek...",
|
||||
"Sharing notebook...": "Notitieboek delen...",
|
||||
"Shortcuts are not available in CLI mode.": "Sneltoetsen zijn niet beschikbaar in CLI-modus.",
|
||||
"Show Advanced Settings": "Geavanceerde opties",
|
||||
"Show all": "Alles tonen",
|
||||
"Show completed to-dos": "Afgeronde taken tonen",
|
||||
"Show disabled keys": "Toon uigeschakelde sleutels",
|
||||
"Show note counts": "Toon notitietellingen",
|
||||
"Show sort order buttons": "Sorteervolgordeknoppen weergeven",
|
||||
"Show tray icon": "Systeemvakpictogram tonen",
|
||||
"Sidebar": "Zijbalk",
|
||||
"Size": "Grootte",
|
||||
"Skip this version": "Sla deze versie over",
|
||||
"Skipped items: %d (use --retry-failed-items to retry decrypting them)": "Overgeslagen items: %d (gebruik --retry-failed-items om ze opnieuw te decoderen)",
|
||||
"Skipped: %d.": "Overgeslagen: %d.",
|
||||
"Solarised Dark": "Solarised Dark",
|
||||
@@ -697,7 +576,6 @@
|
||||
"Sort selected lines": "Sorteer geselecteerde regels",
|
||||
"Sorts the item by <field> (eg. title, updated_time, created_time).": "Sorteert de items op <field> (bijv. title, updated_time, created_time).",
|
||||
"Source format: %s": "Bronformaat: %s",
|
||||
"Source: ": "Bron: ",
|
||||
"Specify the port that should be used by the API server. If not set, a default will be used.": "Specificeer de door de API-server te gebruiken poort. Indien niet ingesteld, wordt een standaardwaarde gebruikt.",
|
||||
"Spell checker": "Spellingscontrole",
|
||||
"Split View": "Gesplitste Weergave",
|
||||
@@ -732,10 +610,8 @@
|
||||
"Sync Status": "Synchronisatiestatus",
|
||||
"Sync status (synced items / total items)": "Synchronisatiestatus (aantal gesynchroniseerde items / totaal aantal items)",
|
||||
"Sync target must be upgraded! Run `%s` to proceed.": "Het synchronisatiedoel moet worden geüpgraded! Voer `% s` uit om door te gaan.",
|
||||
"Sync Target Upgrade": "Sync Target Upgrade",
|
||||
"Sync to provided target (defaults to sync.target config value)": "Synchroniseren naar opgegeven doel (standaard is dit sync.target)",
|
||||
"Sync Version: %s": "Synchronisatieversie: %s",
|
||||
"Sync your notes": "Synchroniseer je notities",
|
||||
"Synchronisation": "Synchronisatie",
|
||||
"Synchronisation interval": "Synchronisatie-interval",
|
||||
"Synchronisation is already in progress.": "Synchronisatie is al bezig.",
|
||||
@@ -746,14 +622,11 @@
|
||||
"Synchronise only over WiFi connection": "Synchroniseer alleen via wifi-verbinding",
|
||||
"Synchronises with remote storage.": "Synchroniseert met cloudopslag.",
|
||||
"Synchronising...": "Synchroniseren...",
|
||||
"Synchronizing...": "Synchroniseren...",
|
||||
"Tabloid": "Tabloid",
|
||||
"Tagged: %d.": "Gelabeld: %d.",
|
||||
"Tags": "Labels",
|
||||
"Take photo": "Foto maken",
|
||||
"Tasks": "Taken",
|
||||
"Text editor command": "Tekst editor commando",
|
||||
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Bedankt! Uw Joplin Cloud-account is nu ingesteld en klaar voor gebruik.",
|
||||
"The app is now going to close. Please relaunch it to complete the process.": "De applicatie zal nu afsluiten. Gelieve het weer op te starten om het proces te voltooien.",
|
||||
"The application has been authorised - you may now close this browser tab.": "De applicatie is geautoriseerd - u kunt dit browsertabblad nu sluiten.",
|
||||
"The application has been authorised!": "De applicatie is geautoriseerd!",
|
||||
@@ -767,22 +640,16 @@
|
||||
"The editor command (may include arguments) that will be used to open a note. If none is provided it will try to auto-detect the default editor.": "Het commando van de editor (kan argumenten bevatten) die wordt gebruikt bij het openen van notities. Als er geen wordt opgegeven, dan wordt getracht de standaard editor te achterhalen.",
|
||||
"The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes.": "De eigenschap factor bepaalt hoe het item zal groeien of krimpen om te passen in de beschikbare ruimte in de container in verhouding met andere items. Zo zal een item met een factor 2 dus twee maal zoveel ruimte innemen als een item met een factor 1. Herstart de applicatie om wijzigingen te zien.",
|
||||
"The following attachments are being watched for changes:": "De volgende bijlagen worden gecontroleerd op wijzigingen:",
|
||||
"The following keys use an out-dated encryption algorithm and it is recommended to upgrade them. The upgraded key will still be able to decrypt and encrypt your data as usual.": "De volgende sleutels gebruiken een verouderd coderingsalgoritme en het wordt aanbevolen om ze te upgraden. De geüpgradede sleutel kan uw gegevens nog steeds decoderen en versleutelen zoals gewoonlijk.",
|
||||
"The Joplin mobile app does not currently support this type of link: %s": "De mobiele Joplin-app ondersteunt momenteel niet dit soort links: %s",
|
||||
"The Joplin team has vetted this plugin and it meets our standards for security and performance.": "Het Joplin-team heeft deze plug-in doorgelicht en voldoet aan onze normen voor beveiliging en prestaties.",
|
||||
"The keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "De sleutels met deze ID's worden gebruikt om sommige van uw items te versleutelen, maar de toepassing heeft er momenteel geen toegang toe. Het is waarschijnlijk dat ze uiteindelijk via synchronisatie zullen worden gedownload.",
|
||||
"The master key has been upgraded successfully!": "The hoofdsleutel is succesvol bijgewerkt!",
|
||||
"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "De hoofdsleutels met deze ID's worden gebruikt om sommige items te versleutelen, maar de applicatie heeft momenteel geen toegang tot deze items. Waarschijnlijk worden ze uiteindelijk gedownload via synchronisatie.",
|
||||
"The note \"%s\" has been successfully restored to the notebook \"%s\".": "De notitie “%s” is succesvol hersteld naar notitieboek “%s”.",
|
||||
"The notebook could not be saved: %s": "Het notitieboek kan niet worden opgeslagen: %s",
|
||||
"The notes have been imported: %s": "De notities zijn geïmporteerd: %s",
|
||||
"The possible commands are:": "De beschikbare opdrachten zijn:",
|
||||
"The recipient could not be removed from the list. Please try again.\n\nThe error was: \"%s\"": "De ontvanger kon niet worden verwijderd ui de lijst. Probeer heb opnieuw.\n\nDe fout was: \"%s\"",
|
||||
"The sync target needs to be upgraded before Joplin can sync. The operation may take a few minutes to complete and the app needs to be restarted. To proceed please click on the link.": "De sync target moet worden geüpdatet voordat Joplin kan synchroniseren. Het kan een paar minuten duren en de app moet opnieuw opgestart worden. Om door te gaan, klik op de link.",
|
||||
"The sync target needs to be upgraded. Press this banner to proceed.": "Het synchronisatiedoel moet worden bijgewerkt. Druk op deze banner om door te gaan.",
|
||||
"The tag \"%s\" already exists. Please choose a different name.": "Het label “%s” bestaat al. Kies een andere naam.",
|
||||
"The target to synchronise to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).": "Het doel waarnaar gesynchroniseerd moet worden. Elk doel mag extra argumenten bevatten, welke `sync.NUM.NAME` worden genoemd (wordt hieronder uitgelegd).",
|
||||
"The Web Clipper needs your authorisation to access your data.": "De Web Clipper heeft uw toestemming nodig om toegang te krijgen tot uw gegevens.",
|
||||
"The web clipper service is enabled and set to auto-start.": "De webclipper-dienst is ingeschakeld en wordt automatisch opgestart.",
|
||||
"The web clipper service is not enabled.": "De webclipper-dienst is niet ingeschakeld.",
|
||||
"Theme": "Thema",
|
||||
@@ -791,7 +658,6 @@
|
||||
"There is no data to export.": "Er zijn geen te exporteren gegevens.",
|
||||
"There was a [conflict](%s) on the attachment below.\n\n%s": "Er was een [conflict](%s) in onderstaande bijlage.\n\n%s",
|
||||
"There was an error downloading this attachment:": "Er is iets misgegaan tijdens het downloaden van deze bijlage:",
|
||||
"There was an error setting up your Joplin Cloud account. Please verify your email and password and try again. Error was:\n\n%s": "Er is een fout opgetreden bij het instellen van uw Joplin Cloud-account. Verifieer uw e-mailadres en wachtwoord en probeer het opnieuw. Fout was: \n\n%s",
|
||||
"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).": "Deze items blijven op het apparaat, maar worden niet geüpload naar het synchronisatiedoel. Als u deze items wilt vinden, moet u zoeken naar de titel of ID ervan (welke hierboven tussen haakjes wordt getoond).",
|
||||
"These plugins enhance the Markdown renderer with additional features. Please note that, while these features might be useful, they are not standard Markdown and thus most of them will only work in Joplin. Additionally, some of them are *incompatible* with the WYSIWYG editor. If you open a note that uses one of these plugins in that editor, you will lose the plugin formatting. It is indicated below which plugins are compatible or not with the WYSIWYG editor.": "Deze plugins verbeteren de Markdown verwerker met aanvullende mogelijkheden. Merk op dat deze mogelijkheden nuttig kunnen zijn, maar geen standaard Markdown zijn en de meeste ervan alleen in Joplin zullen werken. Bovendien zijn sommige *incompatibel* met de WUZIWUK editor. Als u een notitie opent die van een van deze plugins in die editor gebruikt, verliest u de opmaak van de plugin. Hieronder wordt aangegeven welke plugins als dan niet compatibel zijn met de WUZIWUK editor.",
|
||||
"This attachment is not downloaded or not decrypted yet": "Deze bijlage is niet gedownload of nog niet ontsleuteld",
|
||||
@@ -806,12 +672,10 @@
|
||||
"This service allows the browser extension to communicate with Joplin. When enabling it your firewall may ask you to give permission to Joplin to listen to a particular port.": "Deze dienst stelt de browserextensie in staat om te communiceren met Joplin. Na het inschakelen kan uw firewall om toestemming vragen voor het uitvoeren van Joplin op een specifieke poort.",
|
||||
"This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronised, thus reducing the number of conflicts.": "Dit zal Joplin toestaan in de achtergrond te werken. Het is aanbevolen deze instelling in te schakelen, zodat uw notities constant worden gesynchroniseerd, waardoor het aantal conflicten wordt beperkt.",
|
||||
"This will open a new screen. Save your current changes?": "Dit opent een nieuw scherm. Wijzigingen opslaan?",
|
||||
"This will remove the notebook from your collection and you will no longer have access to its content. Do you wish to continue?": "Hiermee wordt het notitieblok uit uw verzameling verwijderd en hebt u geen toegang meer tot de inhoud ervan. Wilt u doorgaan?",
|
||||
"Time format": "Tijdopmaak",
|
||||
"title": "titel",
|
||||
"Title": "Titel",
|
||||
"To allow Joplin to synchronise with Dropbox, please follow the steps below:": "Volg de onderstaande stappen om Joplin te synchroniseren met Dropbox:",
|
||||
"To continue, please enter your master password below.": "Om door te gaan, voer het hoofdwachtwoord hieronder in.",
|
||||
"To delete a tag, untag the associated notes.": "Om een label te verwijderen, verwijder alle associaties naar dat label.",
|
||||
"To delete: %d": "Te verwijderen: %d",
|
||||
"To enter command line mode, press \":\"": "Druk op \":\" om de opdrachtregelmodus te starten.",
|
||||
@@ -828,14 +692,10 @@
|
||||
"Toggle editors": "Schakel tussen editors",
|
||||
"Toggle external editing": "Extern bewerken in- of uitschakelen",
|
||||
"Toggle note list": "Notitielijst tonen/verbergen",
|
||||
"Toggle own sort order": "Eigen sorteervolgorde in-/uitschakelen",
|
||||
"Toggle safe mode": "Veilige modus in-/uitschakelen",
|
||||
"Toggle sidebar": "Zijbalk tonen/verbergen",
|
||||
"Toggle sort order field": "Sorteervolgordeveld in-/uitschakelen",
|
||||
"Token has been copied to the clipboard!": "Token is naar het klembord gekopieerd!",
|
||||
"Tools": "Hulpmiddelen",
|
||||
"Total: %d/%d": "Totaal: %d/%d",
|
||||
"Try again": "Probeer opnieuw",
|
||||
"Type `help [command]` for more information about a command; or type `help all` for the complete usage information.": "Typ `help [opdracht]` voor meer informatie over een opdracht of typ `help all` voor volledige gebruiksinformatie.",
|
||||
"Type `joplin help` for usage information.": "Typ `joplin help` voor meer informatie over het gebruik.",
|
||||
"Type a note title or part of its content to jump to it. Or type # followed by a tag name, or @ followed by a notebook name. Or type : to search for commands.": "Typ de titel van een notitie of een deel van de inhoud om er naartoe te springen. Typ # gevolgd door de naam van een label, @ gevolgd door de naam van een notitieboek, of : om te zoeken op commando's.",
|
||||
@@ -845,20 +705,14 @@
|
||||
"Undo": "Ongedaan maken",
|
||||
"Unknown flag: %s": "Onbekend argument: %s",
|
||||
"Unknown item type downloaded - please upgrade Joplin to the latest version": "Onbekend type item gedownload - graag Joplin upgraden naar de laatste versie",
|
||||
"Unpublish note": "Publicatie van notitie intrekken",
|
||||
"Unshare": "Delen intrekken",
|
||||
"Unshare this notebook? The recipients will no longer have access to its content.": "Delen van dit notitieboek ongedaan maken? De ontvangers hebben geen toegang meer tot de inhoud ervan.",
|
||||
"Unsupported image type: %s": "Niet-ondersteunde afbeeldingssoort: %s",
|
||||
"Unsupported link or message: %s": "Niet-ondersteunde link of bericht: %s",
|
||||
"Untitled": "Naamloos",
|
||||
"Update": "Bijgewerkt",
|
||||
"Update profile": "Profiel bijwerken",
|
||||
"Update total sizes": "Totale groottes bijwerken",
|
||||
"Updated": "Bijgewerkt",
|
||||
"updated date": "bijgewerkt op",
|
||||
"Updated local items: %d.": "Lokale items bijgewerkt: %d.",
|
||||
"Updated remote items: %d.": "Externe items bijgewerkt: %d.",
|
||||
"Updated: ": "Bijgewerkt: ",
|
||||
"Updated: %d.": "Bijgewerkt: %d.",
|
||||
"Updated: %s": "Bijgewerkt: %s",
|
||||
"Updating...": "Bezig met updaten…",
|
||||
@@ -871,11 +725,6 @@
|
||||
"Use the arrows and page up/down to scroll the lists and text areas (including this console).": "Gebruik de pijltjestoetsen en page up/down of door lijsten en tekstvelden te scrollen (inclusief deze console).",
|
||||
"Use the arrows to move the layout items. Press \"Escape\" to exit.": "Gebruik de pijlen om de layout-items te verplaatsen. Druk op \"Escape\" om af te sluiten.",
|
||||
"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.": "Gebruik dit om de zoekindex opnieuw op te bouwen als er een probleem is met zoeken: Het kan lang duren afhankelijk van het aantal notities.",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Wordt gebruikt voor de meeste tekst in de markdown-editor. Als dit niet wordt gevonden, wordt een generiek proportioneel lettertype (variabele breedte) gebruikt.",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "Wordt gebruikt wanneer een lettertype met een vaste breedte nodig is om tekst leesbaar in te delen (bijv. tabellen, selectievakjes, code). Als dit niet wordt gevonden, wordt een generiek monospace-lettertype (vaste breedte) gebruikt.",
|
||||
"User deletions": "Gebruiker verwijderen",
|
||||
"Users": "Gebruikers",
|
||||
"Valid": "Geldig",
|
||||
"View": "Beeld",
|
||||
"View on map": "Tonen op kaart",
|
||||
"View them now": "Items tonen",
|
||||
@@ -904,7 +753,6 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "U kunt onderstaande tool gebruiken om uw data opnieuw te versleutelen, bijvoorbeeld als u weet dat enkele van uw notities zijn versleuteld met een verouderde versleutelmethode.",
|
||||
"Your choice: ": "Jouw keuze: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Uw data wordt opnieuw versleuteld en gesynchroniseerd.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Uw wachtwoord is nodig om sommige van uw gegevens te decoderen. Typ ':e2ee decrypt' om het in te stellen.",
|
||||
"Your permission to use your camera is required.": "Uw toestemming om de camera te gebruiken is vereist.",
|
||||
"Your version: %s": "Uw versie: %s",
|
||||
"Zoom In": "Inzoemen",
|
||||
|
||||
@@ -51,8 +51,6 @@
|
||||
"Add recipient:": "Adicionar destinatário:",
|
||||
"Add title": "Adicionar título",
|
||||
"Add to dictionary": "Adicionar ao dicionário",
|
||||
"Admin": "Admin",
|
||||
"Admin dashboard": "Dashboard de Admin ",
|
||||
"Advanced options": "Mostrar opções avançadas",
|
||||
"Advanced tools": "Ferramentas avançadas",
|
||||
"All notes": "Todas as notas",
|
||||
@@ -79,9 +77,7 @@
|
||||
"Authentication was not completed (did not receive an authentication token).": "A autenticação não foi concluída (não recebeu um token de autenticação).",
|
||||
"Authorisation token:": "Token de autorização:",
|
||||
"Auto": "Automático",
|
||||
"Auto-add disabled accounts for deletion": "Adicionar automaticamente contas desabilitadas para deleção",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Parear automaticamente chaves, parênteses, aspas etc.",
|
||||
"Automatically check for updates": "Verificar atualizações automaticamente",
|
||||
"Automatically switch theme to match system theme": "Automaticamente alterar o tema para o tema do sistema",
|
||||
"Back": "Voltar",
|
||||
"Bold": "Negrito",
|
||||
@@ -104,7 +100,6 @@
|
||||
"Cannot refresh token: authentication data is missing. Starting the synchronisation again may fix the problem.": "Não é possível atualizar token: faltam dados de autenticação. Iniciar a sincronização novamente pode corrigir o problema.",
|
||||
"Cannot save %s \"%s\" because it is larger than the allowed limit (%s)": "Não foi possível salvar %s \"%s\" porque é maior do que o limite permitido (%s)",
|
||||
"Cannot save %s \"%s\" because it would go over the total allowed size (%s) for this account": "Não pôde salvar %s \"%s\" porque ultrapassaria o tamanho total permitido (%s) para esta conta",
|
||||
"Cannot share encrypted notebook with recipient %s because they have not enabled end-to-end encryption. They may do so from the screen Configuration > Encryption.": "Não é possível compartilhar caderno criptografado com %s porque ele não tem habilitado a criptografia ponta-a-ponta. Ele pode fazer isso a partir da tela Configuração > Criptografia.",
|
||||
"Change application layout": "Alterar layout da aplicação",
|
||||
"Change language": "Alterar idioma",
|
||||
"Characters": "Caracteres",
|
||||
@@ -136,7 +131,6 @@
|
||||
"Completed": "Completado",
|
||||
"Completed decryption.": "Descriptografação completada.",
|
||||
"Completed: %s (%s)": "Completado: %s (%s)",
|
||||
"Compress old changes": "Comprimir mudanças antigas",
|
||||
"Configuration": "Configuração",
|
||||
"Confirm password cannot be empty": "Confirmação de senha não pode estar vazia",
|
||||
"Confirm password:": "Confirme a senha:",
|
||||
@@ -144,13 +138,10 @@
|
||||
"Conflicted: %d": "Em conflito: %d",
|
||||
"Conflicts": "Conflitos",
|
||||
"Conflicts (attachments)": "Conflitos (anexos)",
|
||||
"Content provided by %s": "Conteúdo fornecido por %s",
|
||||
"Convert to note": "Converter para nota",
|
||||
"Convert to todo": "Converter para tarefa",
|
||||
"Copy": "Copiar",
|
||||
"Copy dev mode command to clipboard": "Copiar o comando em modo de desenvolvimento para a área de transferência",
|
||||
"Copy external link": "Copiar link externo",
|
||||
"Copy image": "Copiar imagem",
|
||||
"Copy Link Address": "Copiar endereço do link",
|
||||
"Copy Markdown link": "Copiar link de Markdown",
|
||||
"Copy path to clipboard": "Copiar caminho para a área de transferência",
|
||||
@@ -161,12 +152,8 @@
|
||||
"Could not connect to plugin repository.": "Não foi possível conectar-se ao repositório do plugin.",
|
||||
"Could not export notes: %s": "Não foi possível exportar notas: %s",
|
||||
"Could not install plugin: %s": "Não foi possível instalar o plugin: %s",
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Não foi possível responder o convite. Por favor, tente novamente, ou verifique com o dono do cadernos se ele ainda está sendo compartilhado. \n\nO erro foi: \"%s\"",
|
||||
"Could not upgrade master key: %s": "Não foi possível atualizar a chave mestra: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "Não foi possível verificar o status de compartilhamento deste caderno - abortando. Por favor, tente de novo quando estiver conectado na internet.",
|
||||
"Create a notebook": "Criar um caderno",
|
||||
"Create notebook": "Criar caderno",
|
||||
"Create user": "Criar usuário",
|
||||
"Created": "Criado",
|
||||
"created date": "data de criação",
|
||||
"Created local items: %d.": "Itens locais criados: %d.",
|
||||
@@ -188,7 +175,6 @@
|
||||
"Custom TLS certificates": "Certificados TLS customizados",
|
||||
"Cut": "Cortar",
|
||||
"Dark": "Escuro",
|
||||
"Dashboard": "Dashboard",
|
||||
"Database v%s": "Banco de dados v%s",
|
||||
"Date": "Data",
|
||||
"Date format": "Formato de data",
|
||||
@@ -200,8 +186,6 @@
|
||||
"Default: %s": "Padrão: %s",
|
||||
"Delete": "Excluir",
|
||||
"Delete attachment \"%s\"?": "Excluir o anexo \"%s\"?",
|
||||
"Delete expired sessions": "Excluir sessões expiradas",
|
||||
"Delete expired tokens": "Excluir tokens expirados",
|
||||
"Delete line": "Excluir linha",
|
||||
"Delete local data and re-download from sync target": "Deletar dados locais e reenviar do alvo de sincronização",
|
||||
"Delete note \"%s\"?": "Excluir a nota \"%s\"?",
|
||||
@@ -239,7 +223,6 @@
|
||||
"Displays version information": "Exibe informações da versão",
|
||||
"Do it now": "Fazer agora",
|
||||
"Do not ask for confirmation.": "Não pedir confirmação.",
|
||||
"Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.": "Não perca a senha já que, por segurança, esse será o *único* modo de descriptografar os dados! Para habilitar a criptografia, por favor entre a senha abaixo.",
|
||||
"Download": "Download",
|
||||
"Download and install the relevant extension for your browser:": "Baixe e instale a extensão relevante para seu browser:",
|
||||
"Downloaded": "Baixado",
|
||||
@@ -266,8 +249,6 @@
|
||||
"Editor monospace font family": "Família de fontes monoespaçadas do editor",
|
||||
"Either \"text\" or \"json\"": "Ou \"text\" ou \"json\"",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "Email",
|
||||
"Emails": "Emails",
|
||||
"emphasised text": "texto enfatizado",
|
||||
"Enable": "Habilitar",
|
||||
"Enable ++insert++ syntax": "Habilitar sintaxe ++inserir++",
|
||||
@@ -293,16 +274,12 @@
|
||||
"Enable Web Clipper Service": "Habilitar serviço Web Clipper",
|
||||
"Enable ~sub~ syntax": "Habilitar sintaxe ~sub~",
|
||||
"Enabled": "Habilitado",
|
||||
"Enabling encryption means *all* your notes and attachments are going to be re-synchronised and sent encrypted to the sync target.": "Hbilitar a criptografia significa que *todas* as suas notas e anexos serão ressincronizados e enviados com criptografia pra o alvo de sincronização.",
|
||||
"Encrypted": "Criptografado",
|
||||
"Encrypted items cannot be modified": "Itens encriptados não podem ser modificados",
|
||||
"Encrypted notebooks cannot be renamed": "Cadernos criptografados não podem ser renomeados",
|
||||
"Encryption": "Criptografia",
|
||||
"Encryption Config": "Configuração de Criptografia",
|
||||
"Encryption is: %s": "Criptografia está: %s",
|
||||
"Encryption keys": "Chaves de criptografia",
|
||||
"Encryption:": "Criptografia",
|
||||
"End-to-end encryption": "Criptografia ponta-a-ponta",
|
||||
"Enter code here": "Digite o código aqui",
|
||||
"Enter master password:": "Digite a senha mestra:",
|
||||
"Enter notebook title": "Digite o título do caderno",
|
||||
@@ -344,13 +321,11 @@
|
||||
"For information on how to customise the shortcuts please visit %s": "Para informações sobre como customizar os atalhos, por favor visite %s",
|
||||
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "Para mais informações sobre Criptografia de ponta-a-ponta (E2EE) e recomendações sobre como habilitar, favor verificar a documentação:",
|
||||
"For the list of keyboard shortcuts and config options, type `help keymap`": "Para a lista completa de atalhos de teclado disponíveis, digite `help keymap`",
|
||||
"Force path style": "Forçar estilo de caminho",
|
||||
"Forward": "Encaminhar",
|
||||
"Found: %d.": "Encontrado: %d.",
|
||||
"FTS enabled: %d": "FTS habilitado: %d",
|
||||
"Full changelog": "Changelog completo",
|
||||
"General": "Geral",
|
||||
"Generated": "Gerado",
|
||||
"Generating link...": "Gerando link...",
|
||||
"Get it now:": "Tenha agora:",
|
||||
"Get pre-releases when checking for updates": "Obter pré-lançamentos quando checar por atualizações",
|
||||
@@ -361,10 +336,8 @@
|
||||
"Heading": "Cabeçalho",
|
||||
"Help": "Ajuda",
|
||||
"Hide %s": "Ocultar %s",
|
||||
"Hide disabled keys": "Esconder chaves desabilitadas",
|
||||
"Hide Joplin": "Esconder o Joplin",
|
||||
"Highlight": "Realçar",
|
||||
"Home": "Início",
|
||||
"Horizontal Rule": "Régua horizontal",
|
||||
"HTML Directory": "Pasta HTML",
|
||||
"HTML File": "Arquivo HTML",
|
||||
@@ -374,7 +347,6 @@
|
||||
"Idle": "Inativo",
|
||||
"Ignore": "Ignorar",
|
||||
"Ignore TLS certificate errors": "Ignorar erros de certificados TLS",
|
||||
"Images": "Imagens",
|
||||
"Import": "Importar",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "Importando de \"%s\" com o formato \"%s\". Por favor, aguarde...",
|
||||
"Importing notes...": "Importando notas ...",
|
||||
@@ -403,10 +375,8 @@
|
||||
"Invalid answer: %s": "Resposta inválida: %s",
|
||||
"Invalid command: \"%s\"": "Comando inválido: \"%s\"",
|
||||
"Invalid option value: \"%s\". Possible values are: %s.": "Valor da opção inválido: \"%s\". Os valores possíveis são: %s.",
|
||||
"Invalid password": "Senha inválida",
|
||||
"Italic": "Itálico",
|
||||
"Item \"%s\" could not be downloaded: %s": "O item \"%s\" não pôde ser baixado: %s",
|
||||
"Items": "Itens",
|
||||
"Items that cannot be decrypted": "Os itens não podem ser descriptografados",
|
||||
"Items that cannot be synchronised": "Os itens não podem ser sincronizados",
|
||||
"Joplin can synchronise your notes using various providers. Select one from the list below.": "O Joplin é capaz de sincronizar suas notas utilizando vários provedores. Selecione um na lista abaixo.",
|
||||
@@ -429,14 +399,12 @@
|
||||
"Keyboard Shortcut": "Atalho de Teclado",
|
||||
"Keyboard Shortcuts": "Atalhos de Teclado",
|
||||
"Keychain Supported: %s": "Keychain Suportada: %s",
|
||||
"Keys that need upgrading": "Chaves que necessitam de atualização",
|
||||
"Landscape": "Paisagem",
|
||||
"Language": "Idioma",
|
||||
"Last error: %s": "Último erro: %s",
|
||||
"Later": "Mais tarde",
|
||||
"Layout": "Layout",
|
||||
"Layout button sequence": "Sequência de botão de leiaute",
|
||||
"Leave notebook...": "Sair do caderno...",
|
||||
"Legal": "Legal",
|
||||
"Letter": "Carta",
|
||||
"Light": "Claro",
|
||||
@@ -452,16 +420,10 @@
|
||||
"Login below.": "Login abaixo.",
|
||||
"Login with Dropbox": "Login com Dropbox",
|
||||
"Login with OneDrive": "Login com OneDrive",
|
||||
"Logout": "Logout",
|
||||
"Logs": "Logs",
|
||||
"Make a donation": "Fazer uma doação",
|
||||
"Manage master password": "Gerenciar senha mestra",
|
||||
"Manage master password...": "Gerenciar senha mestra...",
|
||||
"Manage your plugins": "Gerencie seus plugins",
|
||||
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": "Gerencia a configuração E2EE. Os comandos são `enable`, `disable`, `decrypt`, `status`, `decrypt-file` e `target-status`.",
|
||||
"Manual": "Manual",
|
||||
"Markdown": "Markdown",
|
||||
"Markdown + Front Matter": "Markdown + Front Matter",
|
||||
"Marks a to-do as done.": "Marca uma tarefa como feita.",
|
||||
"Marks a to-do as non-completed.": "Marca uma tarefa como não completada.",
|
||||
"Markup": "Marcação",
|
||||
@@ -469,7 +431,6 @@
|
||||
"Master password": "Senha mestra",
|
||||
"Master password:": "Senha mestra:",
|
||||
"Max concurrent connections": "Máximo de conexões simultâneas",
|
||||
"Missing keys": "Chaves faltando",
|
||||
"Missing Master Keys": "Chaves-Mestras Faltando",
|
||||
"Missing required argument: %s": "Argumento necessário faltando: %s",
|
||||
"Mobile data - auto-sync disabled": "Dados móveis - sincronização automática desativada",
|
||||
@@ -510,7 +471,6 @@
|
||||
"Nord": "Nord",
|
||||
"Not authentified with %s. Please provide any missing credentials.": "Não autenticado com %s. Por favor, complete as credenciais que estiverem faltando.",
|
||||
"Not downloaded": "Não baixado",
|
||||
"Not generated": "Não gerado",
|
||||
"note": "nota",
|
||||
"Note": "Nota",
|
||||
"Note area growth factor": "Fator de crescimento da area de notas",
|
||||
@@ -528,12 +488,10 @@
|
||||
"Note&book": "Nota&Caderno",
|
||||
"Note: Does not work in all desktop environments.": "Nota: não funciona em todos os ambientes de desktop.",
|
||||
"Note: When a note is shared, it will no longer be encrypted on the server.": "Nota: Quando uma nota é compartilhada, não é mais criptografada no servidor.",
|
||||
"Notebook": "Caderno",
|
||||
"Notebook list growth factor": "Fator de crescimento do bloco de notas",
|
||||
"Notebook: %s": "Caderno: %s",
|
||||
"Notebooks": "Cadernos",
|
||||
"Notebooks cannot be named \"%s\", which is a reserved title.": "Os cadernos não podem ser nomeados como\"%s\", que é um título reservado.",
|
||||
"Notes": "Notas",
|
||||
"Notes and settings are stored in: %s": "Notas e configurações estão armazenadas em: %s",
|
||||
"Notes can only be created within a notebook.": "As notas só podem ser criadas dentro de um caderno.",
|
||||
"Numbered List": "Lista Numerada",
|
||||
@@ -554,7 +512,6 @@
|
||||
"Operation cancelled": "Operação cancelada",
|
||||
"Options": "Opções",
|
||||
"Or create an account.": "Ou crie uma nova nota.",
|
||||
"Other applications...": "Outras aplicações...",
|
||||
"Output format: %s": "Formato da saída: \"%s\"",
|
||||
"Page orientation for PDF export": "Orientação da página para exportação de PDF",
|
||||
"Page size for PDF export": "Tamanho da página para exportação de PDF",
|
||||
@@ -569,7 +526,6 @@
|
||||
"Permission to use camera": "Permissão para utilizar a câmera",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Por favor, confirme que gostaria de recriptografar a base de dados completa.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Por favor, entre sua senha na lista de chaves mestras abaixo antes de atualizar a chave.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Por favor, note que se esse é um caderno grande, pode levar alguns minutos para todas as notas aprecerem no dispositivo do destinatário.",
|
||||
"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.": "Abra a seguinte URL no seu navegador para autenticar o aplicativo. O aplicativo criará um diretório em \"Apps/Joplin\" e somente lerá e gravará arquivos neste diretório. Não terá acesso a nenhum arquivo fora deste diretório nem a nenhum outro dado pessoal. Nenhum dado será compartilhado com terceiros.",
|
||||
"Please select a notebook first.": "Por favor, selecione um caderno primeiro.",
|
||||
"Please select the note or notebook to be deleted first.": "Por favor, primeiro, selecione a nota ou caderno a excluir.",
|
||||
@@ -595,13 +551,8 @@
|
||||
"Previous versions of this note": "Versões anteriores desta nota",
|
||||
"Print": "Imprimir",
|
||||
"Privacy Policy": "Política de Privacidade",
|
||||
"Process failed payment subscriptions": "Processar pagamentos de assinaturas com falha",
|
||||
"Process oversized accounts": "Processar contas com tamanho acima do limite",
|
||||
"Process user deletions": "Processar exclusão de usuários",
|
||||
"Profile": "Perfil",
|
||||
"Profile Version: %s": "Versão do Perfil: %s",
|
||||
"Properties": "Propriedades",
|
||||
"Public-private key pair:": "Par de chaves público-privado:",
|
||||
"Publish note...": "Publicar nota...",
|
||||
"Publish Notes": "Publicar Notas",
|
||||
"Publish notes to the internet": "Publica as notas na internet",
|
||||
@@ -626,7 +577,6 @@
|
||||
"Rename tag:": "Renomear tag:",
|
||||
"Renames the given <item> (note or notebook) to <name>.": "Renomeia o <item> dado (nota ou caderno) para <name>.",
|
||||
"Renew token": "Renovar token",
|
||||
"Reset master password": "Redefinir senha mestra",
|
||||
"Resources: %d.": "Recursos: %d.",
|
||||
"Restart and upgrade": "Reiniciar e fazer upgrade",
|
||||
"Restart now": "Reiniciar agora",
|
||||
@@ -639,12 +589,6 @@
|
||||
"Reverses the sorting order.": "Inverte a ordem de classificação.",
|
||||
"Revision: %s (%s)": "Revisão: %s (%s)",
|
||||
"Runs the commands contained in the text file. There should be one command per line.": "Executa os comandos contidos no arquivo de texto. Deve haver um comando por linha.",
|
||||
"S3": "S3",
|
||||
"S3 access key": "Chave de acesso S3",
|
||||
"S3 bucket": "S3 bucket",
|
||||
"S3 region": "Região S3",
|
||||
"S3 secret key": "Chave secreta S3",
|
||||
"S3 URL": "URL S3",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "Modo seguro está ativo. Renderização de notas e todos os puglins estão temporariamente desativados.",
|
||||
"Save": "Salvar",
|
||||
"Save alarm": "Salvar alarme",
|
||||
@@ -661,14 +605,11 @@
|
||||
"See the pre-release page for more details: %s": "Ver página de pré-lançamentos para mais detalhes: %s",
|
||||
"Select": "Selecionar",
|
||||
"Select all": "Selecionar tudo",
|
||||
"Select emoji...": "Selecionar emoji...",
|
||||
"Select file...": "Selecionar arquivo",
|
||||
"Server is already running on port %d": "O servidor já está rodando na porta %d",
|
||||
"Server is not running.": "O servidor não está executando.",
|
||||
"Server is running on port %d": "O servidor está rodando na porta %d",
|
||||
"Set alarm": "Definir alarme",
|
||||
"Set alarm:": "Definir alarme:",
|
||||
"Set it to 0 to make it take the complete available space. Recommended width is 600.": "Configure em 0 para fazer com que ocupe todo o espaço disponível. A largura recomendada é 600.",
|
||||
"Set the password": "Definir a senha",
|
||||
"Sets the property <name> of the given <note> to the given [value]. Possible properties are:\n\n%s": "Define a propriedade <name> da <note> para o valor [value]. As propriedades possíveis são:\n\n%s",
|
||||
"Share": "Compartilhar",
|
||||
@@ -679,9 +620,7 @@
|
||||
"Show Advanced Settings": "Mostrar Configurações Avançadas",
|
||||
"Show all": "Exibir tudo",
|
||||
"Show completed to-dos": "Mostrar tarefas completas",
|
||||
"Show disabled keys": "Mostrar chaves desabilitadas",
|
||||
"Show note counts": "Exibir contagem de notas",
|
||||
"Show sort order buttons": "Exibir botões de ordenação",
|
||||
"Show tray icon": "Exibir ícone na área de notificação",
|
||||
"Sidebar": "Barra lateral",
|
||||
"Size": "Tamanho",
|
||||
@@ -752,7 +691,6 @@
|
||||
"Tagged: %d.": "Tag adicionada: %d.",
|
||||
"Tags": "Tags",
|
||||
"Take photo": "Tirar foto",
|
||||
"Tasks": "Tarefas",
|
||||
"Text editor command": "Comando do editor de texto",
|
||||
"Thank you! Your Joplin Cloud account is now setup and ready to use.": "Obrigado! Sua conta Joplin Cloud está configurada e pronta para uso.",
|
||||
"The app is now going to close. Please relaunch it to complete the process.": "O app irá fechar agora. Por favor, reinicie-o para completar o processo.",
|
||||
@@ -768,19 +706,15 @@
|
||||
"The editor command (may include arguments) that will be used to open a note. If none is provided it will try to auto-detect the default editor.": "O comando do editor (pode incluir argumentos) que será usado para abrir uma nota. Se nenhum for indicado, ele tentará detectar automaticamente o editor padrão.",
|
||||
"The factor property sets how the item will grow or shrink to fit the available space in its container with respect to the other items. Thus an item with a factor of 2 will take twice as much space as an item with a factor of 1.Restart app to see changes.": "A propriedade fator define como o item irá aumentar ou encolher para ocupar o espaço em relação a outros itens. Um item com fator 2 ocupará o dobro do espaço do que um item com fator 1. Reinicialize a aplicação para aplicar a mudança.",
|
||||
"The following attachments are being watched for changes:": "Os seguintes anexos estão sendo observados para alterações:",
|
||||
"The following keys use an out-dated encryption algorithm and it is recommended to upgrade them. The upgraded key will still be able to decrypt and encrypt your data as usual.": "As seguintes chaves utilizam um algoritmo de criptografia desatualizado e é recomendável que você as atualize. A chave atualizada ainda será capaz de descriptografar e criptografar normalmente os seus dados.",
|
||||
"The Joplin mobile app does not currently support this type of link: %s": "O app mobile do Joplin não suporta, atualmente, esse tipo de link: %s",
|
||||
"The Joplin team has vetted this plugin and it meets our standards for security and performance.": "A equipe do Joplin examinou este plugin e ele atende aos nossos padrões de segurança e performance.",
|
||||
"The keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "As chaves com essas IDs são usadas para criptografar alguns de seus itens, contudo a aplicação atualmente não tem acesso a elas. Provavelmente, elas serão baixadas via sincronização.",
|
||||
"The Joplin team has vetted this plugin and it meets our standards for security and performance.": "A equipe do Joplin aprovou este plugin e ele atende aos requisitos de segurança e performance",
|
||||
"The master key has been upgraded successfully!": "A chave mestra foi atualizada com sucesso!",
|
||||
"The master keys with these IDs are used to encrypt some of your items, however the application does not currently have access to them. It is likely they will eventually be downloaded via synchronisation.": "As chaves-mestras com essas IDs são usadas para criptografar alguns de seus itens, contudo a aplicação atualmente não tem acesso à elas. Provavelmente, elas serão baixadas via sincronização.",
|
||||
"The note \"%s\" has been successfully restored to the notebook \"%s\".": "A nota \"%s\" foi restaurada com sucesso no caderno \"%s\".",
|
||||
"The notebook could not be saved: %s": "O caderno não pôde ser salvo: %s",
|
||||
"The notes have been imported: %s": "As notas foram importadas: %s",
|
||||
"The possible commands are:": "Os comandos possíveis são:",
|
||||
"The recipient could not be removed from the list. Please try again.\n\nThe error was: \"%s\"": "O destinatário não pôde ser removido da lista. Por favor, tente novamente\n\nO erro foi: \"%s\"",
|
||||
"The sync target needs to be upgraded before Joplin can sync. The operation may take a few minutes to complete and the app needs to be restarted. To proceed please click on the link.": "O alvo da sincronização precisa ser atualizado antes que o Joplin possa sincronizar. A operação pode levar alguns minutos para completar e o app terá que ser reiniciado. Para proceder, por favor, clique neste link.",
|
||||
"The sync target needs to be upgraded. Press this banner to proceed.": "O alvo de sincronização deve passar por upgrade! Clique nesse banner para executar.",
|
||||
"The tag \"%s\" already exists. Please choose a different name.": "A tag \"%s\" já existe. Escolha um nome diferente.",
|
||||
"The target to synchronise to. Each sync target may have additional parameters which are named as `sync.NUM.NAME` (all documented below).": "O alvo para onde sincronizar. Cada alvo pode ter parâmetros adicionais que são nomeados como `sync.NUM.NAME` (todos documentados abaixo).",
|
||||
"The Web Clipper needs your authorisation to access your data.": "O Web Clipper precisa de autorização para acessar seus dados.",
|
||||
@@ -807,12 +741,10 @@
|
||||
"This service allows the browser extension to communicate with Joplin. When enabling it your firewall may ask you to give permission to Joplin to listen to a particular port.": "Este serviço permite a extensão do browser se comunicat com o Joplin. Quando habilitar, talvez seu firewall peça que você conceda permissão ao Joplin para escutar determinada porta.",
|
||||
"This will allow Joplin to run in the background. It is recommended to enable this setting so that your notes are constantly being synchronised, thus reducing the number of conflicts.": "Isso irá permitir que o Joplin continue sendo executado em segundo plano. É recomendado que você habilite essa configuração para que suas notas sejam constantemente sincronizadas, de modo a reduzir as chances de conflitos.",
|
||||
"This will open a new screen. Save your current changes?": "Isso abrirá uma nova tela. Salvar seu progresso atual?",
|
||||
"This will remove the notebook from your collection and you will no longer have access to its content. Do you wish to continue?": "Isso vai remover o cadernos de sua coleção e você não vai mais ter acesso ao conteúdo. Deseja continuar?",
|
||||
"Time format": "Formato de hora",
|
||||
"title": "título",
|
||||
"Title": "Título",
|
||||
"To allow Joplin to synchronise with Dropbox, please follow the steps below:": "Para permitir o Joplin sincronizar com o Dropbox, por favor, execute os seguintes passos:",
|
||||
"To continue, please enter your master password below.": "Para continuar, por favor entre com sua senha mestre abaixo.",
|
||||
"To delete a tag, untag the associated notes.": "Para eliminar uma tag, remova a tag das notas associadas a ela.",
|
||||
"To delete: %d": "Para excluir: %d",
|
||||
"To enter command line mode, press \":\"": "Para entrar no modo de linha de comando, pressione \":\"",
|
||||
@@ -829,10 +761,8 @@
|
||||
"Toggle editors": "Alternar editores",
|
||||
"Toggle external editing": "Alternar edição externa",
|
||||
"Toggle note list": "Alternar lista de notas",
|
||||
"Toggle own sort order": "Alternar a própria ordenação",
|
||||
"Toggle safe mode": "Alternar modo seguro",
|
||||
"Toggle sidebar": "Alternar barra lateral",
|
||||
"Toggle sort order field": "Alternar campo de ordenação",
|
||||
"Token has been copied to the clipboard!": "Token foi copiado para a área de transferência!",
|
||||
"Tools": "Ferramentas",
|
||||
"Total: %d/%d": "Total: %d/%d",
|
||||
@@ -853,8 +783,6 @@
|
||||
"Unsupported link or message: %s": "Link ou mensagem não suportada: %s",
|
||||
"Untitled": "Sem título",
|
||||
"Update": "Atualizar",
|
||||
"Update profile": "Atualizar perfil",
|
||||
"Update total sizes": "Atualizar tamanhos",
|
||||
"Updated": "Atualizado",
|
||||
"updated date": "data de atualização",
|
||||
"Updated local items: %d.": "Itens locais atualizados: %d.",
|
||||
@@ -874,8 +802,6 @@
|
||||
"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.": "Use isso para recriar o índice de pesquisa se houver um problema com a pesquisa. Pode demorar muito, dependendo do número de notas.",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Usado para a maioria dos textos no editor de markdown. Se não for encontrada, uma fonte genérica proporcional (largura variável) é usada.",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "Usado onde uma fonte de largura fixa é necessária para dispor o texto de forma legível (e.g. tabelas, caixas de seleção, código). Se não for encontrada, uma fonte monoespaçada genérica (largura fixa) é usada.",
|
||||
"User deletions": "Exclusões de usuários",
|
||||
"Users": "Usuários",
|
||||
"Valid": "Válido",
|
||||
"View": "Visualizar",
|
||||
"View on map": "Ver no mapa",
|
||||
@@ -905,7 +831,6 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Você pode utilizar a ferramenta abaixo para recriptografar seus dados, por exemplo, se você sabe que suas notas foram criptografadas utilizando um método de criptografia obsoleto.",
|
||||
"Your choice: ": "Sua escolha: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Seus dados serão recriptografados e sincronizados novamente.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Sua senha é necessária para descriptografar alguns de seus dados. Digite `:e2ee decrypt` para ver.",
|
||||
"Your permission to use your camera is required.": "É necessária a sua permissão para utilizar sua câmera.",
|
||||
"Your version: %s": "Sua versão: %s",
|
||||
"Zoom In": "Mais zoom",
|
||||
|
||||
@@ -51,8 +51,6 @@
|
||||
"Add recipient:": "Lägg till mottagare:",
|
||||
"Add title": "Lägg till titel",
|
||||
"Add to dictionary": "Lägg till i ordlistan",
|
||||
"Admin": "Administratör",
|
||||
"Admin dashboard": "Administratörsinstrumentbräda",
|
||||
"Advanced options": "Avancerade alternativ",
|
||||
"Advanced tools": "Avancerade verktyg",
|
||||
"All notes": "Alla anteckningar",
|
||||
@@ -77,11 +75,9 @@
|
||||
"Attachments that could not be downloaded": "Bilagor som inte kunde hämtas",
|
||||
"Attention: If you change this location, make sure you copy all your content to it before syncing, otherwise all files will be removed! See the FAQ for more details: %s": "OBS! Om du ändrar denna plats så se till att du har en kopia på allt innehåll innan du synkroniserar. Annars kommer samtliga filer att raderas. Läs FAQ för mer information: %s",
|
||||
"Authentication was not completed (did not receive an authentication token).": "Autentisering slutfördes inte (mottog inte en autentiseringstoken).",
|
||||
"Authorisation token:": "Auktoriseringstoken:",
|
||||
"Authorisation token:": "Auktoriserings token:",
|
||||
"Auto": "Automatiskt",
|
||||
"Auto-add disabled accounts for deletion": "Lägg automatiskt till inaktiverade konton för radering",
|
||||
"Auto-pair braces, parenthesis, quotations, etc.": "Para automatiskt hakparenteser, paranteser, situationstecken, etc.",
|
||||
"Automatically check for updates": "Sök automatiskt efter uppdateringar",
|
||||
"Automatically switch theme to match system theme": "Växla automatiskt tema för att matcha systemtema",
|
||||
"Back": "Tillbaka",
|
||||
"Bold": "Fet",
|
||||
@@ -136,7 +132,6 @@
|
||||
"Completed": "Slutförd",
|
||||
"Completed decryption.": "Dekryptering färdig.",
|
||||
"Completed: %s (%s)": "Slutfört: %s (%s)",
|
||||
"Compress old changes": "Komprimera gamla ändringar",
|
||||
"Configuration": "Konfiguration",
|
||||
"Confirm password cannot be empty": "Bekräfta lösenordet inte kan vara tomt",
|
||||
"Confirm password:": "Bekräfta lösenord:",
|
||||
@@ -150,23 +145,20 @@
|
||||
"Copy": "Kopiera",
|
||||
"Copy dev mode command to clipboard": "Kopiera kommandot för dev-läget till urklipp",
|
||||
"Copy external link": "Kopiera extern länk",
|
||||
"Copy image": "Kopiera bild",
|
||||
"Copy Link Address": "Kopiera länkadress",
|
||||
"Copy Markdown link": "Kopiera Markdown-länk",
|
||||
"Copy path to clipboard": "Kopiera sökväg till urklipp",
|
||||
"Copy Shareable Link": "Kopiera delbar länk",
|
||||
"Copy token": "Kopiera token",
|
||||
"Could not authorise application:\n\n%s\n\nPlease try again.": "Kunde inte auktorisera programmet:\n\n%s\n\nFörsök igen.",
|
||||
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": "Kunde inte ansluta till Joplin Server. Kontrollera konfigurationen i synkroniseringsinställningarna. Fullständigt fel var:\n\n%s",
|
||||
"Could not connect to Joplin Server. Please check the Synchronisation options in the config screen. Full error was:\n\n%s": "Kunde inte ansluta till Joplin Server. Vänligen kontrollera konfigurationen i synkroniseringsinställningarna. Fullständigt fel var:\n\n%s",
|
||||
"Could not connect to plugin repository.": "Det gick inte att ansluta till insticksmodulsförrådet.",
|
||||
"Could not export notes: %s": "Det gick inte att exportera anteckningar: %s",
|
||||
"Could not install plugin: %s": "Det gick inte att installera insticksmodul: %s",
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Det gick inte att svara på inbjudan. Försök igen, eller kontrollera med den anteckningsboksägaren om de fortfarande delar den.\n\nFelet var: \"%s\"",
|
||||
"Could not respond to the invitation. Please try again, or check with the notebook owner if they are still sharing it.\n\nThe error was: \"%s\"": "Det gick inte att svara på inbjudan. Vänligen försök igen, eller kontrollera med den anteckningsboksägaren om de fortfarande delar den.\n\nFelet var: \"%s\"",
|
||||
"Could not upgrade master key: %s": "Lyckades inte uppgradera huvudnyckel: %s",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "Det gick inte att verifiera delningsstatusen för den här anteckningsboken - avbryter. Försök igen när du är ansluten till internet.",
|
||||
"Could not verify the share status of this notebook - aborting. Please try again when you are connected to the internet.": "Det gick inte att verifiera delningsstatusen för den här anteckningsboken - avbryter. Vänligen försök igen när du är ansluten till internet.",
|
||||
"Create a notebook": "Skapar en anteckningsbok",
|
||||
"Create notebook": "Skapa anteckningsbok",
|
||||
"Create user": "Skapa användare",
|
||||
"Created": "Skapad",
|
||||
"created date": "skapat datum",
|
||||
"Created local items: %d.": "Skapade lokala objekt: %d.",
|
||||
@@ -188,7 +180,6 @@
|
||||
"Custom TLS certificates": "Anpassade TLS-certifikat",
|
||||
"Cut": "Klipp ut",
|
||||
"Dark": "Mörkt",
|
||||
"Dashboard": "Instrumentbräda",
|
||||
"Database v%s": "Databas v%s",
|
||||
"Date": "Datum",
|
||||
"Date format": "Datumformat",
|
||||
@@ -200,8 +191,6 @@
|
||||
"Default: %s": "Standard: %s",
|
||||
"Delete": "Ta bort",
|
||||
"Delete attachment \"%s\"?": "Ta bort bilagan \"%s\"?",
|
||||
"Delete expired sessions": "Ta bort utgångna sessioner",
|
||||
"Delete expired tokens": "Ta bort utgångna tokens",
|
||||
"Delete line": "Ta bort rad",
|
||||
"Delete local data and re-download from sync target": "Ta bort lokala data och hämta igen från synkroniseringsmålet",
|
||||
"Delete note \"%s\"?": "Ta bort anteckningen \"%s\"?",
|
||||
@@ -239,7 +228,7 @@
|
||||
"Displays version information": "Visar versionsinformation",
|
||||
"Do it now": "Gör det nu",
|
||||
"Do not ask for confirmation.": "Fråga inte om bekräftelse.",
|
||||
"Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.": "Förlora inte lösenordet som för säkerhetsändamål kommer det att vara det *enda* sättet att dekryptera data! För att aktivera kryptering, ange ditt lösenord nedan.",
|
||||
"Do not lose the password as, for security purposes, this will be the *only* way to decrypt the data! To enable encryption, please enter your password below.": "Förlora inte lösenordet som för säkerhetsändamål kommer det att vara det *enda* sättet att dekryptera data! För att aktivera kryptering, vänligen ange ditt lösenord nedan.",
|
||||
"Download": "Hämta",
|
||||
"Download and install the relevant extension for your browser:": "Hämta och installera det relevanta tillägget för din webbläsare:",
|
||||
"Downloaded": "Hämtad",
|
||||
@@ -260,18 +249,16 @@
|
||||
"Edit notebook": "Redigera anteckningsbok",
|
||||
"Editor": "Redigerare",
|
||||
"Editor font": "Redigerarens teckensnitt",
|
||||
"Editor font family": "Redigerarens teckensnittsfamilj",
|
||||
"Editor font family": "Redigerarens typsnittsfamilj",
|
||||
"Editor font size": "Redigerarens teckenstorlek",
|
||||
"Editor maximum width": "Redigerarens maximala bredd",
|
||||
"Editor monospace font family": "Redigerarens monospace teckensnittsfamilj",
|
||||
"Either \"text\" or \"json\"": "Antingen \"text\" eller \"json\"",
|
||||
"Emacs": "Emacs",
|
||||
"Email": "E-postmeddelande",
|
||||
"Emails": "E-postmeddelanden",
|
||||
"emphasised text": "betonad text",
|
||||
"Enable": "Aktivera",
|
||||
"Enable ++insert++ syntax": "Aktivera ++ insert ++ syntax",
|
||||
"Enable ==mark== syntax": "Aktivera ==mark==-syntax",
|
||||
"Enable ==mark== syntax": "Aktivera ==mark== syntax",
|
||||
"Enable ^sup^ syntax": "Aktivera ^sup^ syntax",
|
||||
"Enable abbreviation syntax": "Aktivera förkortningssyntax",
|
||||
"Enable audio player": "Aktivera ljudspelare",
|
||||
@@ -342,7 +329,7 @@
|
||||
"Folders": "Mappar",
|
||||
"For debugging purpose only: export your profile to an external SD card.": "Endast för felsökning: exportera din profil till ett externt SD-kort.",
|
||||
"For information on how to customise the shortcuts please visit %s": "För information om hur du anpassar snabbkommandon, besök %s",
|
||||
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "För mer information om ände-till-ände-kryptering (E2EE) och råd om hur du aktiverar det finns i dokumentationen:",
|
||||
"For more information about End-To-End Encryption (E2EE) and advice on how to enable it please check the documentation:": "För mer information om End-to-End Encryption (E2EE) och råd om hur du aktiverar det finns i dokumentationen:",
|
||||
"For the list of keyboard shortcuts and config options, type `help keymap`": "För listan över snabbkommandon och konfigurationsinställningar, skriv `help keymap`",
|
||||
"Force path style": "Tvinga sökvägsstil",
|
||||
"Forward": "Framåt",
|
||||
@@ -352,7 +339,7 @@
|
||||
"General": "Allmänt",
|
||||
"Generated": "Skapad",
|
||||
"Generating link...": "Skapar länk...",
|
||||
"Get it now:": "Hämta det nu:",
|
||||
"Get it now:": "Hämta den nu:",
|
||||
"Get pre-releases when checking for updates": "Inkludera även förhandsversionen vid uppdateringar",
|
||||
"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.": "Hämtar eller ställer in ett konfigureringsvärde. Om [value] inte anges kommer det att visa värdet på [name]. Om varken [name] eller [value] anges, kommer det att lista den nuvarande konfigurationen.",
|
||||
"Go to source URL": "Gå till källans URL",
|
||||
@@ -374,7 +361,6 @@
|
||||
"Idle": "Inaktiv",
|
||||
"Ignore": "Ignorera",
|
||||
"Ignore TLS certificate errors": "Ignorera TLS-certifikatfel",
|
||||
"Images": "Bilder",
|
||||
"Import": "Importera",
|
||||
"Importing from \"%s\" as \"%s\" format. Please wait...": "Importerar från \"%s\" som \"%s\" format. Vänta...",
|
||||
"Importing notes...": "Importerar anteckningar...",
|
||||
@@ -406,7 +392,6 @@
|
||||
"Invalid password": "Ogiltigt lösenord",
|
||||
"Italic": "Kursiv",
|
||||
"Item \"%s\" could not be downloaded: %s": "Objektet \"%s\" kunde inte hämtas: %s",
|
||||
"Items": "Objekt",
|
||||
"Items that cannot be decrypted": "Objekt som inte kan dekrypteras",
|
||||
"Items that cannot be synchronised": "Objekt som inte kan synkroniseras",
|
||||
"Joplin can synchronise your notes using various providers. Select one from the list below.": "Joplin kan synkronisera dina anteckningar med olika leverantörer. Välj en från listan nedan.",
|
||||
@@ -442,7 +427,7 @@
|
||||
"Light": "Ljust",
|
||||
"Lines": "Rader",
|
||||
"Link has been copied to clipboard!": "Länken har kopierats till urklipp!",
|
||||
"Links with protocol \"%s\" are not supported": "Länkar med protokoll \"%s\" stöds inte",
|
||||
"Links with protocol \"%s\" are not supported": "Länkar med protokoll \"%s\" stöds ej",
|
||||
"List item": "Listobjekt",
|
||||
"Loaded": "Inläst",
|
||||
"Location": "Plats",
|
||||
@@ -453,7 +438,6 @@
|
||||
"Login with Dropbox": "Logga in med Dropbox",
|
||||
"Login with OneDrive": "Logga in med OneDrive",
|
||||
"Logout": "Logga ut",
|
||||
"Logs": "Loggar",
|
||||
"Make a donation": "Gör en donation",
|
||||
"Manage master password": "Hantera huvudlösenord",
|
||||
"Manage master password...": "Hantera huvudlösenord...",
|
||||
@@ -461,9 +445,8 @@
|
||||
"Manages E2EE configuration. Commands are `enable`, `disable`, `decrypt`, `status`, `decrypt-file`, and `target-status`.": "Hanterar E2EE-konfigurationen. Kommandona är `enable`,` disable`, `decrypt`,` status`, `decrypt-file` och `target-status`.",
|
||||
"Manual": "Manuellt",
|
||||
"Markdown": "Markdown",
|
||||
"Markdown + Front Matter": "Markdown + Front Matter",
|
||||
"Marks a to-do as done.": "Markerar en att-göra som gjord.",
|
||||
"Marks a to-do as non-completed.": "Markerar en att-göra som inte fullständig.",
|
||||
"Marks a to-do as done.": "Märker en att-göra som gjord.",
|
||||
"Marks a to-do as non-completed.": "Märker en att-göra som inte fullständig.",
|
||||
"Markup": "Markering",
|
||||
"Master Key %s": "Huvudnyckel %s",
|
||||
"Master password": "Huvudlösenord",
|
||||
@@ -508,7 +491,7 @@
|
||||
"No suggestions": "Inga förslag",
|
||||
"No text editor is defined. Please set it using `config editor <editor-path>`": "Ingen textredigerare är definierad. Ange det med `config editor <editor-path>`",
|
||||
"Nord": "Nord",
|
||||
"Not authentified with %s. Please provide any missing credentials.": "Inte autentiserad med %s. Ange eventuella saknade uppgifter.",
|
||||
"Not authentified with %s. Please provide any missing credentials.": "Ej autentiserad med %s. Ange eventuella saknade uppgifter.",
|
||||
"Not downloaded": "Inte hämtad",
|
||||
"Not generated": "Inte skapad",
|
||||
"note": "anteckning",
|
||||
@@ -554,7 +537,6 @@
|
||||
"Operation cancelled": "Operation avbruten",
|
||||
"Options": "Inställningar",
|
||||
"Or create an account.": "Eller skapa ett konto.",
|
||||
"Other applications...": "Andra program...",
|
||||
"Output format: %s": "Utmatningsformat: %s",
|
||||
"Page orientation for PDF export": "Sidorientering för export till PDF",
|
||||
"Page size for PDF export": "Sidstorlek för export till PDF",
|
||||
@@ -567,18 +549,19 @@
|
||||
"PDF File": "PDF-fil",
|
||||
"Permission needed": "Tillstånd behövs",
|
||||
"Permission to use camera": "Tillåtelse att använda kameran",
|
||||
"Please click on \"%s\" to proceed": "Vänligen klicka på \"%s\" för att fortsätta",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Bekräfta att du vill omkryptera hela din databas.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Uppge lösenordet i huvudnyckellistan nedan innan du uppgraderar nyckeln.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Observera att om det är en stor anteckningsbok kan det ta några minuter för alla anteckningar att dyka upp på mottagarens enhet.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Vänligen observera att om det är en stor anteckningsbok kan det ta några minuter för alla anteckningar att dyka upp på mottagarens enhet.",
|
||||
"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.": "Öppna följande webbadress i webbläsaren för att verifiera programmet. Programmet skapar en katalog i \"Apps/Joplin\" och kommer endast att läsa och skriva filer i den här katalogen. Det kommer inte att ha tillgång till några filer utanför den här katalogen eller till någon annan personlig information. Ingen data kommer att delas med någon tredjepart.",
|
||||
"Please select a notebook first.": "Välj en anteckningsbok först.",
|
||||
"Please select the note or notebook to be deleted first.": "Välj anteckningen eller anteckningsboken som ska tas bort först.",
|
||||
"Please select where the sync status should be exported to": "Välj vart synkroniseringstillståndet ska exporteras till",
|
||||
"Please specify import format for %s": "Ange importeringsformat för %s",
|
||||
"Please specify the notebook where the notes should be imported to.": "Ange anteckningsboken som anteckningarna ska importeras till.",
|
||||
"Please upgrade Joplin to use this plugin": "Uppgradera Joplin för att använda denna insticksmodul",
|
||||
"Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.": "Vänta tills alla bilagor hämtas och dekrypteras. Du kan också växla till %s för att redigera anteckningen.",
|
||||
"Please wait...": "Vänta...",
|
||||
"Please upgrade Joplin to use this plugin": "Vänligen uppgradera Joplin för att använda denna insticksmodul",
|
||||
"Please wait for all attachments to be downloaded and decrypted. You may also switch to %s to edit the note.": "Vänligen vänta tills alla bilagor hämtas och dekrypteras. Du kan också växla till %s för att redigera anteckningen.",
|
||||
"Please wait...": "Vänligen vänta...",
|
||||
"Plugin tools": "Insticksmodulsverktyg",
|
||||
"Plugins": "Insticksmoduler",
|
||||
"Portrait": "Lodrätt(Porträtt)",
|
||||
@@ -595,10 +578,6 @@
|
||||
"Previous versions of this note": "Tidigare versioner av denna anteckning",
|
||||
"Print": "Skriv ut",
|
||||
"Privacy Policy": "Integritetspolicy",
|
||||
"Process failed payment subscriptions": "Bearbeta misslyckade betalningsprenumerationer",
|
||||
"Process oversized accounts": "Bearbeta överdimensionerade konton",
|
||||
"Process user deletions": "Bearbeta raderingar av användare",
|
||||
"Profile": "Profil",
|
||||
"Profile Version: %s": "Profilversion: %s",
|
||||
"Properties": "Egenskaper",
|
||||
"Public-private key pair:": "Offentlig-privat nyckelpar:",
|
||||
@@ -642,7 +621,6 @@
|
||||
"S3": "S3",
|
||||
"S3 access key": "S3 åtkomstnyckel",
|
||||
"S3 bucket": "S3 bucket",
|
||||
"S3 region": "S3 region",
|
||||
"S3 secret key": "S3 hemlig nyckel",
|
||||
"S3 URL": "S3 URL",
|
||||
"Safe mode is currently active. Note rendering and all plugins are temporarily disabled.": "Säkert läge är för närvarande aktivt. Anteckningsrendering och alla insticksmoduler är tillfälligt inaktiverade.",
|
||||
@@ -661,8 +639,6 @@
|
||||
"See the pre-release page for more details: %s": "Se sidan för förhandsversioner för mer information: %s",
|
||||
"Select": "Välj",
|
||||
"Select all": "Välj alla",
|
||||
"Select emoji...": "Välj emoji...",
|
||||
"Select file...": "Välj fil...",
|
||||
"Server is already running on port %d": "Servern körs redan på port %d",
|
||||
"Server is not running.": "Servern körs inte.",
|
||||
"Server is running on port %d": "Servern körs på port %d",
|
||||
@@ -778,7 +754,7 @@
|
||||
"The notebook could not be saved: %s": "Anteckningsboken kunde inte sparas: %s",
|
||||
"The notes have been imported: %s": "Anteckningarna har importerats: %s",
|
||||
"The possible commands are:": "De möjliga kommandona är:",
|
||||
"The recipient could not be removed from the list. Please try again.\n\nThe error was: \"%s\"": "Det gick inte att ta bort mottagaren från listan. Försök igen.\n\nFelet var: \"%s\"",
|
||||
"The recipient could not be removed from the list. Please try again.\n\nThe error was: \"%s\"": "Det gick inte att ta bort mottagaren från listan. Vänligen försök igen.\n\nFelet var: \"%s\"",
|
||||
"The sync target needs to be upgraded before Joplin can sync. The operation may take a few minutes to complete and the app needs to be restarted. To proceed please click on the link.": "Synkroniseringsmålet måste uppgraderas innan Joplin kan synkronisera. Åtgärden kan ta några minuter att slutföra och appen måste startas om. Klicka på länken för att fortsätta.",
|
||||
"The sync target needs to be upgraded. Press this banner to proceed.": "Synkroniseringsmålet måste uppgraderas. Tryck på den här bannern för att fortsätta.",
|
||||
"The tag \"%s\" already exists. Please choose a different name.": "Taggen \"%s\" finns redan. Välj ett annat namn.",
|
||||
@@ -812,7 +788,7 @@
|
||||
"title": "titel",
|
||||
"Title": "Titel",
|
||||
"To allow Joplin to synchronise with Dropbox, please follow the steps below:": "För att tillåta Joplin att synkronisera med Dropbox, följ stegen nedan:",
|
||||
"To continue, please enter your master password below.": "För att fortsätta, ange ditt huvudlösenord nedan.",
|
||||
"To continue, please enter your master password below.": "För att fortsätta, vänligen ange ditt huvudlösenord nedan.",
|
||||
"To delete a tag, untag the associated notes.": "För att ta bort en tagg, ta bort de associerade anteckningarna.",
|
||||
"To delete: %d": "För att ta bort: %d",
|
||||
"To enter command line mode, press \":\"": "För att komma in i kommandoradsläget, tryck på \":\"",
|
||||
@@ -853,8 +829,6 @@
|
||||
"Unsupported link or message: %s": "Länk eller meddelande stöds inte: %s",
|
||||
"Untitled": "Utan titel",
|
||||
"Update": "Uppdatera",
|
||||
"Update profile": "Uppdatera profil",
|
||||
"Update total sizes": "Uppdatera totala storlekar",
|
||||
"Updated": "Uppdaterad",
|
||||
"updated date": "uppdaterat datum",
|
||||
"Updated local items: %d.": "Uppdaterade lokala objekt: %d.",
|
||||
@@ -874,7 +848,6 @@
|
||||
"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.": "Använd detta för att återuppbygga sökindex om det finns sökproblem. Det kan ta lång tid beroende på antal anteckningar.",
|
||||
"Used for most text in the markdown editor. If not found, a generic proportional (variable width) font is used.": "Används för mest text i markdown-redigeraren. Om det inte hittas används ett generiskt proportionellt (variabelt bredd) teckensnitt.",
|
||||
"Used where a fixed width font is needed to lay out text legibly (e.g. tables, checkboxes, code). If not found, a generic monospace (fixed width) font is used.": "Används där ett teckensnitt med fast bredd behövs för att lägga ut texten läsbart (t.ex. tabeller, kryssrutor, kod). Om det inte hittas används ett generiskt teckensnitt med monospace (fast bredd).",
|
||||
"User deletions": "Användarraderingar",
|
||||
"Users": "Användare",
|
||||
"Valid": "Giltig",
|
||||
"View": "Visa",
|
||||
@@ -905,6 +878,7 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Du kan använda verktyget nedan för att omkryptera dina data, exempelvis om du vill veta om vissa av dina anteckningar är krypterade med en gammal krypteringsmetod.",
|
||||
"Your choice: ": "Ditt val: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Dina data kommer att omkrypteras och synkroniseras igen.",
|
||||
"Your master password is needed to decrypt some of your data.": "Ditt huvudlösenord behövs för att dekryptera några av dina data.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Ditt lösenord behövs för att dekryptera en del av dina data. Skriv `:e2ee decrypt` för att ställa in det.",
|
||||
"Your permission to use your camera is required.": "Du måste ge tillåtelse att använda kameran.",
|
||||
"Your version: %s": "Din version: %s",
|
||||
|
||||
@@ -559,6 +559,7 @@
|
||||
"PDF File": "PDF Dosyası",
|
||||
"Permission needed": "İzin gerekmekte",
|
||||
"Permission to use camera": "Kamera kullanımı için izin",
|
||||
"Please click on \"%s\" to proceed": "Lütfen devam etmek için \"%s\" tuşuna basın",
|
||||
"Please confirm that you would like to re-encrypt your complete database.": "Lütfen tüm veritabanınızı yeniden şifrelemek istediğinizi doğrulayın.",
|
||||
"Please enter your password in the master key list below before upgrading the key.": "Anahtarı güncellemek için lütfen ana şifreleme anahtarının parolasını girin.",
|
||||
"Please note that if it is a large notebook, it may take a few minutes for all the notes to show up on the recipient's device.": "Not defterleri büyük olabilir, ve de bu sebeple alıcı tarafın cihazında tüm notların gözükmesi birkaç dakikayı bulabilir. Bunu lütfen dikkate alın.",
|
||||
@@ -891,6 +892,7 @@
|
||||
"You may use the tool below to re-encrypt your data, for example if you know that some of your notes are encrypted with an obsolete encryption method.": "Bu aracı kullanarak verinizi yeniden şifreleyebilirsiniz. Bu metodu örneğin bazı notlarınızın eski bir şifreleme metoduyla şifrelendiği zamanlarda kullanabilirsiniz.",
|
||||
"Your choice: ": "Seçiminiz: ",
|
||||
"Your data is going to be re-encrypted and synced again.": "Veriniz yeniden şifrelenecek ve senkron edilecek.",
|
||||
"Your master password is needed to decrypt some of your data.": "Verilerinizin bir kısmının şifrelemesinin çözülmesi için ana parolanız gerekmektedir.",
|
||||
"Your password is needed to decrypt some of your data. Type `:e2ee decrypt` to set it.": "Verilerinizin bir kısmının şifrelelemesinin çözülmesi için ana parolanız gerekmektedir. `:e2ee decrypt` yazarak ayarlayabilirsiniz.",
|
||||
"Your permission to use your camera is required.": "Kamera kullanımı için izniniz gerekmektedir.",
|
||||
"Your version: %s": "Sürümünüz: %s",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user