diff options
author | Vijay A <avijayr@protonmail.com> | 2021-08-24 10:22:22 +0530 |
---|---|---|
committer | Vijay A <avijayr@protonmail.com> | 2021-08-24 10:22:22 +0530 |
commit | 2dc7b2fd3976853f3dc2f182f12cfe11c3b83688 (patch) | |
tree | 22fc7a9e4d3ddd2be16821c871259fb067c7df30 | |
parent | docs: upgraded version to 5.6.1-beta.1 (diff) | |
parent | 5.6.1-nightly.37 [skip ci] (diff) | |
download | ferdium-app-2dc7b2fd3976853f3dc2f182f12cfe11c3b83688.tar.gz ferdium-app-2dc7b2fd3976853f3dc2f182f12cfe11c3b83688.tar.zst ferdium-app-2dc7b2fd3976853f3dc2f182f12cfe11c3b83688.zip |
Merge remote-tracking branch 'origin/develop' into release
135 files changed, 2246 insertions, 2795 deletions
diff --git a/.github/workflows/ferdi-builds.yml b/.github/workflows/ferdi-builds.yml index d9627c816..7a701758e 100644 --- a/.github/workflows/ferdi-builds.yml +++ b/.github/workflows/ferdi-builds.yml | |||
@@ -190,7 +190,6 @@ jobs: | |||
190 | echo "ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder" >> $GITHUB_ENV | 190 | echo "ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder" >> $GITHUB_ENV |
191 | echo "MANUAL_REBUILD_ON_NIGHTLY=${{ github.event_name == 'workflow_dispatch' && contains(github.event.inputs.message, '[nightly branch]') }}" >> $GITHUB_ENV | 191 | echo "MANUAL_REBUILD_ON_NIGHTLY=${{ github.event_name == 'workflow_dispatch' && contains(github.event.inputs.message, '[nightly branch]') }}" >> $GITHUB_ENV |
192 | echo "SKIP_NOTARIZATION=${{ !contains(github.repository_owner, 'getferdi') }}" >> $GITHUB_ENV | 192 | echo "SKIP_NOTARIZATION=${{ !contains(github.repository_owner, 'getferdi') }}" >> $GITHUB_ENV |
193 | echo "PACKAGE_VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV | ||
194 | - name: Checkout code along with submodules for the 'nightly' branch if the trigger event is 'scheduled' or this is a forced rebuild on the nightly branch | 193 | - name: Checkout code along with submodules for the 'nightly' branch if the trigger event is 'scheduled' or this is a forced rebuild on the nightly branch |
195 | uses: actions/checkout@v2 | 194 | uses: actions/checkout@v2 |
196 | if: ${{ github.event_name == 'schedule' || env.MANUAL_REBUILD_ON_NIGHTLY == 'true' }} | 195 | if: ${{ github.event_name == 'schedule' || env.MANUAL_REBUILD_ON_NIGHTLY == 'true' }} |
@@ -242,6 +241,9 @@ jobs: | |||
242 | run: npm cache clean --force | 241 | run: npm cache clean --force |
243 | - name: Install node dependencies recursively | 242 | - name: Install node dependencies recursively |
244 | run: npx lerna bootstrap | 243 | run: npx lerna bootstrap |
244 | - name: Figure out used package.json version | ||
245 | run: echo "PACKAGE_VERSION=$(node -p 'require("./package.json").version')" >> $GITHUB_ENV | ||
246 | shell: bash | ||
245 | - name: Package recipes | 247 | - name: Package recipes |
246 | run: npm i && npm run package | 248 | run: npm i && npm run package |
247 | working-directory: ./recipes | 249 | working-directory: ./recipes |
@@ -260,10 +262,10 @@ jobs: | |||
260 | run: | | 262 | run: | |
261 | sudo snap install snapcraft --classic | 263 | sudo snap install snapcraft --classic |
262 | echo "$SNAPCRAFT_LOGIN" | snapcraft login --with - | 264 | echo "$SNAPCRAFT_LOGIN" | snapcraft login --with - |
263 | npm run build -- --publish always -c.publish.provider=github -c.publish.owner=${{ github.repository_owner }} -c.publish.repo=nightlies | 265 | npm run build -- --publish always -c.publish.provider=github -c.publish.owner=${{ github.repository_owner }} -c.publish.repo=nightlies -c.snap.publish.provider=snapStore -c.snap.publish.repo=nightlies -c.snap.publish.channels=edge |
264 | snapcraft logout | 266 | snapcraft logout |
265 | shell: bash | 267 | shell: bash |
266 | - name: Build Ferdi with publish for 'release' branch | 268 | - name: Build Ferdi with publish for 'release' beta branch |
267 | if: ${{ env.GIT_BRANCH_NAME == 'release' && contains(env.PACKAGE_VERSION, 'beta') }} | 269 | if: ${{ env.GIT_BRANCH_NAME == 'release' && contains(env.PACKAGE_VERSION, 'beta') }} |
268 | env: | 270 | env: |
269 | GH_TOKEN: ${{ secrets.FERDI_PUBLISH_TOKEN }} | 271 | GH_TOKEN: ${{ secrets.FERDI_PUBLISH_TOKEN }} |
@@ -272,10 +274,10 @@ jobs: | |||
272 | run: | | 274 | run: | |
273 | sudo snap install snapcraft --classic | 275 | sudo snap install snapcraft --classic |
274 | echo "$SNAPCRAFT_LOGIN" | snapcraft login --with - | 276 | echo "$SNAPCRAFT_LOGIN" | snapcraft login --with - |
275 | npm run build -- --publish always -c.publish.provider=github -c.publish.owner=${{ github.repository_owner }} -c.publish.repo=ferdi -c.snap.publish.channels=beta | 277 | npm run build -- --publish always -c.publish.provider=github -c.publish.owner=${{ github.repository_owner }} -c.publish.repo=ferdi -c.snap.publish.provider=snapStore -c.snap.publish.repo=ferdi -c.snap.publish.channels=beta |
276 | snapcraft logout | 278 | snapcraft logout |
277 | shell: bash | 279 | shell: bash |
278 | - name: Build Ferdi with publish for 'release' branch | 280 | - name: Build Ferdi with publish for 'release' stable branch |
279 | if: ${{ env.GIT_BRANCH_NAME == 'release' && !contains(env.PACKAGE_VERSION, 'beta') }} | 281 | if: ${{ env.GIT_BRANCH_NAME == 'release' && !contains(env.PACKAGE_VERSION, 'beta') }} |
280 | env: | 282 | env: |
281 | GH_TOKEN: ${{ secrets.FERDI_PUBLISH_TOKEN }} | 283 | GH_TOKEN: ${{ secrets.FERDI_PUBLISH_TOKEN }} |
@@ -284,7 +286,7 @@ jobs: | |||
284 | run: | | 286 | run: | |
285 | sudo snap install snapcraft --classic | 287 | sudo snap install snapcraft --classic |
286 | echo "$SNAPCRAFT_LOGIN" | snapcraft login --with - | 288 | echo "$SNAPCRAFT_LOGIN" | snapcraft login --with - |
287 | npm run build -- --publish always -c.publish.provider=github -c.publish.owner=${{ github.repository_owner }} -c.publish.repo=ferdi -c.snap.publish.channels=stable | 289 | npm run build -- --publish always -c.publish.provider=github -c.publish.owner=${{ github.repository_owner }} -c.publish.repo=ferdi -c.snap.publish.provider=snapStore -c.snap.publish.repo=ferdi -c.snap.publish.channels=stable |
288 | snapcraft logout | 290 | snapcraft logout |
289 | shell: bash | 291 | shell: bash |
290 | 292 | ||
diff --git a/.gitignore b/.gitignore index f05e9220c..a10427aad 100644 --- a/.gitignore +++ b/.gitignore | |||
@@ -1,17 +1,336 @@ | |||
1 | .idea | 1 | # Created by https://www.toptal.com/developers/gitignore/api/vim,node,yarn,react,macos,visualstudiocode,intellij |
2 | # Edit at https://www.toptal.com/developers/gitignore?templates=vim,node,yarn,react,macos,visualstudiocode,intellij | ||
3 | |||
4 | ### Intellij ### | ||
5 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider | ||
6 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 | ||
7 | |||
8 | # User-specific stuff | ||
9 | /**/workspace.xml | ||
10 | .idea/**/tasks.xml | ||
11 | .idea/**/usage.statistics.xml | ||
12 | .idea/**/dictionaries | ||
13 | .idea/**/shelf | ||
14 | |||
15 | # AWS User-specific | ||
16 | .idea/**/aws.xml | ||
17 | |||
18 | # Generated files | ||
19 | .idea/**/contentModel.xml | ||
20 | |||
21 | # Sensitive or high-churn files | ||
22 | .idea/**/dataSources/ | ||
23 | .idea/**/dataSources.ids | ||
24 | .idea/**/dataSources.local.xml | ||
25 | .idea/**/sqlDataSources.xml | ||
26 | .idea/**/dynamic.xml | ||
27 | .idea/**/uiDesigner.xml | ||
28 | .idea/**/dbnavigator.xml | ||
29 | |||
30 | # Gradle | ||
31 | .idea/**/gradle.xml | ||
32 | .idea/**/libraries | ||
33 | |||
34 | # Gradle and Maven with auto-import | ||
35 | # When using Gradle or Maven with auto-import, you should exclude module files, | ||
36 | # since they will be recreated, and may cause churn. Uncomment if using | ||
37 | # auto-import. | ||
38 | # .idea/artifacts | ||
39 | # .idea/compiler.xml | ||
40 | # .idea/jarRepositories.xml | ||
41 | # .idea/modules.xml | ||
42 | # .idea/*.iml | ||
43 | # .idea/modules | ||
44 | # *.iml | ||
45 | # *.ipr | ||
46 | |||
47 | # CMake | ||
48 | cmake-build-*/ | ||
49 | |||
50 | # Mongo Explorer plugin | ||
51 | .idea/**/mongoSettings.xml | ||
52 | |||
53 | # File-based project format | ||
54 | *.iws | ||
55 | |||
56 | # IntelliJ | ||
57 | out/ | ||
58 | |||
59 | # mpeltonen/sbt-idea plugin | ||
60 | .idea_modules/ | ||
61 | |||
62 | # JIRA plugin | ||
63 | atlassian-ide-plugin.xml | ||
64 | |||
65 | # Cursive Clojure plugin | ||
66 | .idea/replstate.xml | ||
67 | |||
68 | # Crashlytics plugin (for Android Studio and IntelliJ) | ||
69 | com_crashlytics_export_strings.xml | ||
70 | crashlytics.properties | ||
71 | crashlytics-build.properties | ||
72 | fabric.properties | ||
73 | |||
74 | # Editor-based Rest Client | ||
75 | .idea/httpRequests | ||
76 | |||
77 | # Android studio 3.1+ serialized cache file | ||
78 | .idea/caches/build_file_checksums.ser | ||
79 | |||
80 | ### Intellij Patch ### | ||
81 | # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 | ||
82 | |||
83 | # *.iml | ||
84 | # modules.xml | ||
85 | # .idea/misc.xml | ||
86 | # *.ipr | ||
87 | |||
88 | # Sonarlint plugin | ||
89 | # https://plugins.jetbrains.com/plugin/7973-sonarlint | ||
90 | .idea/**/sonarlint/ | ||
91 | |||
92 | # SonarQube Plugin | ||
93 | # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin | ||
94 | .idea/**/sonarIssues.xml | ||
95 | |||
96 | # Markdown Navigator plugin | ||
97 | # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced | ||
98 | .idea/**/markdown-navigator.xml | ||
99 | .idea/**/markdown-navigator-enh.xml | ||
100 | .idea/**/markdown-navigator/ | ||
101 | |||
102 | # Cache file creation bug | ||
103 | # See https://youtrack.jetbrains.com/issue/JBR-2257 | ||
104 | .idea/$CACHE_FILE$ | ||
105 | |||
106 | # CodeStream plugin | ||
107 | # https://plugins.jetbrains.com/plugin/12206-codestream | ||
108 | .idea/codestream.xml | ||
109 | |||
110 | ### macOS ### | ||
111 | # General | ||
112 | .DS_Store | ||
113 | .AppleDouble | ||
114 | .LSOverride | ||
115 | |||
116 | # Icon must end with two \r | ||
117 | Icon | ||
118 | |||
119 | |||
120 | # Thumbnails | ||
121 | ._* | ||
122 | |||
123 | # Files that might appear in the root of a volume | ||
124 | .DocumentRevisions-V100 | ||
125 | .fseventsd | ||
126 | .Spotlight-V100 | ||
127 | .TemporaryItems | ||
128 | .Trashes | ||
129 | .VolumeIcon.icns | ||
130 | .com.apple.timemachine.donotpresent | ||
131 | |||
132 | # Directories potentially created on remote AFP share | ||
133 | .AppleDB | ||
134 | .AppleDesktop | ||
135 | Network Trash Folder | ||
136 | Temporary Items | ||
137 | .apdisk | ||
138 | |||
139 | ### Node ### | ||
140 | # Logs | ||
141 | logs | ||
142 | *.log | ||
143 | npm-debug.log* | ||
144 | yarn-debug.log* | ||
145 | yarn-error.log* | ||
146 | lerna-debug.log* | ||
147 | .pnpm-debug.log* | ||
148 | |||
149 | # Diagnostic reports (https://nodejs.org/api/report.html) | ||
150 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | ||
151 | |||
152 | # Runtime data | ||
153 | pids | ||
154 | *.pid | ||
155 | *.seed | ||
156 | *.pid.lock | ||
157 | |||
158 | # Directory for instrumented libs generated by jscoverage/JSCover | ||
159 | lib-cov | ||
160 | |||
161 | # Coverage directory used by tools like istanbul | ||
162 | coverage | ||
163 | *.lcov | ||
164 | |||
165 | # nyc test coverage | ||
166 | .nyc_output | ||
167 | |||
168 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) | ||
169 | .grunt | ||
170 | |||
171 | # Bower dependency directory (https://bower.io/) | ||
172 | bower_components | ||
173 | |||
174 | # node-waf configuration | ||
175 | .lock-wscript | ||
176 | |||
177 | # Compiled binary addons (https://nodejs.org/api/addons.html) | ||
178 | build/Release | ||
179 | |||
180 | # Dependency directories | ||
181 | node_modules/ | ||
182 | jspm_packages/ | ||
183 | |||
184 | # Snowpack dependency directory (https://snowpack.dev/) | ||
185 | web_modules/ | ||
186 | |||
187 | # TypeScript cache | ||
188 | *.tsbuildinfo | ||
189 | |||
190 | # Optional npm cache directory | ||
191 | .npm | ||
192 | |||
193 | # Optional eslint cache | ||
194 | .eslintcache | ||
195 | |||
196 | # Microbundle cache | ||
197 | .rpt2_cache/ | ||
198 | .rts2_cache_cjs/ | ||
199 | .rts2_cache_es/ | ||
200 | .rts2_cache_umd/ | ||
201 | |||
202 | # Optional REPL history | ||
203 | .node_repl_history | ||
204 | |||
205 | # Output of 'npm pack' | ||
206 | *.tgz | ||
207 | |||
208 | # Yarn Integrity file | ||
209 | .yarn-integrity | ||
210 | |||
211 | # dotenv environment variables file | ||
212 | .env | ||
213 | .env.test | ||
214 | .env.production | ||
215 | |||
216 | # parcel-bundler cache (https://parceljs.org/) | ||
217 | .cache | ||
218 | .parcel-cache | ||
219 | |||
220 | # Next.js build output | ||
221 | .next | ||
222 | out | ||
223 | |||
224 | # Nuxt.js build / generate output | ||
225 | .nuxt | ||
226 | dist | ||
227 | |||
228 | # Gatsby files | ||
229 | .cache/ | ||
230 | # Comment in the public line in if your project uses Gatsby and not Next.js | ||
231 | # https://nextjs.org/blog/next-9-1#public-directory-support | ||
232 | # public | ||
233 | |||
234 | # vuepress build output | ||
235 | .vuepress/dist | ||
236 | |||
237 | # Serverless directories | ||
238 | .serverless/ | ||
239 | |||
240 | # FuseBox cache | ||
241 | .fusebox/ | ||
242 | |||
243 | # DynamoDB Local files | ||
244 | .dynamodb/ | ||
245 | |||
246 | # TernJS port file | ||
247 | .tern-port | ||
248 | |||
249 | # Stores VSCode versions used for testing VSCode extensions | ||
250 | .vscode-test | ||
251 | |||
252 | # yarn v2 | ||
253 | .yarn/cache | ||
254 | .yarn/unplugged | ||
255 | .yarn/build-state.yml | ||
256 | .yarn/install-state.gz | ||
257 | .pnp.* | ||
258 | |||
259 | ### react ### | ||
260 | .DS_* | ||
261 | **/*.backup.* | ||
262 | **/*.back.* | ||
263 | |||
2 | node_modules | 264 | node_modules |
265 | |||
266 | *.sublime* | ||
267 | |||
268 | psd | ||
269 | thumb | ||
270 | sketch | ||
271 | |||
272 | ### Vim ### | ||
273 | # Swap | ||
274 | [._]*.s[a-v][a-z] | ||
275 | !*.svg # comment out if you don't need vector files | ||
276 | [._]*.sw[a-p] | ||
277 | [._]s[a-rt-v][a-z] | ||
278 | [._]ss[a-gi-z] | ||
279 | [._]sw[a-p] | ||
280 | |||
281 | # Session | ||
282 | Session.vim | ||
283 | Sessionx.vim | ||
284 | |||
285 | # Temporary | ||
286 | .netrwhist | ||
287 | *~ | ||
288 | # Auto-generated tag files | ||
289 | tags | ||
290 | # Persistent undo | ||
291 | [._]*.un~ | ||
292 | |||
293 | ### VisualStudioCode ### | ||
294 | .vscode/* | ||
295 | !.vscode/settings.json | ||
296 | !.vscode/tasks.json | ||
297 | !.vscode/launch.json | ||
298 | !.vscode/extensions.json | ||
299 | *.code-workspace | ||
300 | |||
301 | # Local History for Visual Studio Code | ||
302 | .history/ | ||
303 | |||
304 | ### VisualStudioCode Patch ### | ||
305 | # Ignore all local history of files | ||
306 | .history | ||
307 | .ionide | ||
308 | |||
309 | ### yarn ### | ||
310 | # https://yarnpkg.com/advanced/qa#which-files-should-be-gitignored | ||
311 | |||
312 | .yarn/* | ||
313 | !.yarn/releases | ||
314 | !.yarn/plugins | ||
315 | !.yarn/sdks | ||
316 | !.yarn/versions | ||
317 | |||
318 | # if you are NOT using Zero-installs, then: | ||
319 | # comment the following lines | ||
320 | !.yarn/cache | ||
321 | |||
322 | # and uncomment the following lines | ||
323 | # .pnp.* | ||
324 | |||
325 | # End of https://www.toptal.com/developers/gitignore/api/vim,node,yarn,react,macos,visualstudiocode,intellij | ||
326 | |||
3 | flow-typed | 327 | flow-typed |
4 | out | 328 | out |
5 | .DS_Store | ||
6 | build | 329 | build |
7 | .tmp | 330 | .tmp |
8 | .stage | 331 | .stage |
9 | .env | ||
10 | yarn-error.log | ||
11 | npm-debug.log* | ||
12 | lerna-debug.log | 332 | lerna-debug.log |
13 | uidev/lib | 333 | uidev/lib |
14 | *.tsbuildinfo | ||
15 | server*.log | 334 | server*.log |
16 | 335 | ||
17 | # These entries have been merged from the git submodule repo 'internal-server' | 336 | # These entries have been merged from the git submodule repo 'internal-server' |
@@ -19,9 +338,6 @@ server*.log | |||
19 | # Adonis directory for storing tmp files | 338 | # Adonis directory for storing tmp files |
20 | /src/internal-server/tmp | 339 | /src/internal-server/tmp |
21 | 340 | ||
22 | # Environment variables, never commit this file | ||
23 | /src/internal-server/.env | ||
24 | |||
25 | # The development sqlite file | 341 | # The development sqlite file |
26 | /src/internal-server/database/development.sqlite | 342 | /src/internal-server/database/development.sqlite |
27 | /src/internal-server/database/adonis.sqlite | 343 | /src/internal-server/database/adonis.sqlite |
diff --git a/.husky/prepare-commit-msg b/.husky/prepare-commit-msg index 1c2c393cd..0c2aa2281 100755 --- a/.husky/prepare-commit-msg +++ b/.husky/prepare-commit-msg | |||
@@ -6,5 +6,5 @@ FILE_NAME="$(dirname "$0")/_/husky.sh" | |||
6 | if [ -f $FILE_NAME ]; then | 6 | if [ -f $FILE_NAME ]; then |
7 | . $FILE_NAME | 7 | . $FILE_NAME |
8 | 8 | ||
9 | exec < /dev/tty && git cz --hook || true | 9 | ( exec < /dev/tty && git cz --hook ) || true |
10 | fi | 10 | fi |
diff --git a/CHANGELOG.md b/CHANGELOG.md index e043ac1af..8719e3387 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md | |||
@@ -1,3 +1,120 @@ | |||
1 | # [v5.6.1-nightly.37](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.36...v5.6.1-nightly.37) (2021-08-24) | ||
2 | |||
3 | - Upgraded to [electron 13.2.2](https://github.com/electron/electron/releases/tag/v13.2.2) 💖 @vraravam | ||
4 | |||
5 | ### Bug Fixes | ||
6 | |||
7 | - Fixing bug where the service-defaults are not merged when creating a service 💖 @vraravam | ||
8 | |||
9 | # [v5.6.1-nightly.36](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.35...v5.6.1-nightly.36) (2021-08-23) | ||
10 | |||
11 | ### Bug Fixes | ||
12 | |||
13 | - Audio toggle is now decoupled from notification toggle (#1691) 💖 @vraravam | ||
14 | |||
15 | ### Internal | ||
16 | |||
17 | - [Perf] Removed double nested looping while deactivating service (#1824) 💖 @vraravam | ||
18 | - Upgraded `electron-builder` to `22.12.1` which will allow converion from `npm` to `pnpm` 💖 @mhatvan | ||
19 | |||
20 | # [v5.6.1-nightly.35](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.34...v5.6.1-nightly.35) (2021-08-22) | ||
21 | |||
22 | - Remove checks that refers to paid subscription since Ferdi is always free 💖 @vraravam | ||
23 | - Remove 'shareFranz' feature since its always turned off for Ferdi 💖 @vraravam | ||
24 | |||
25 | ### Bug Fixes | ||
26 | |||
27 | - Incorrect position while adding a new service when there were pre-existing services (#1820) 💖 @vraravam | ||
28 | |||
29 | ### Internal | ||
30 | |||
31 | - Typescript conversion 💖 @vraravam | ||
32 | - Set stricter rules for typescript conversion 💖 @vraravam | ||
33 | - Move build-time js files out of 'src' and into 'scripts' 💖 @vraravam | ||
34 | |||
35 | # [v5.6.1-nightly.34](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.33...v5.6.1-nightly.34) (2021-08-21) | ||
36 | |||
37 | ### Bug Fixes | ||
38 | |||
39 | - Check if default app protocol is different before overriding it (#1818) 💖 @ayxos, @vraravam | ||
40 | |||
41 | # [v5.6.1-nightly.33](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.32...v5.6.1-nightly.33) (2021-08-19) | ||
42 | |||
43 | ### Bug Fixes | ||
44 | |||
45 | - Reverted back to `moment.js` from `day.js` due to bug #1811 💖 @vraravam | ||
46 | |||
47 | # [v5.6.1-nightly.32](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.30...v5.6.1-nightly.32) (2021-08-18) | ||
48 | |||
49 | - Sorted the recipes according to their service name in the 'Add new Service' screen 💖 @vraravam | ||
50 | - Upgraded to [electron 13.2.1](https://github.com/electron/electron/releases/tag/v13.2.1) 💖 @vraravam | ||
51 | |||
52 | # [v5.6.1-nightly.30](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.29...v5.6.1-nightly.30) (2021-08-17) | ||
53 | |||
54 | ### Bug Fixes | ||
55 | |||
56 | - Fix snap assets capturing on GitHub (#1802) 💖 @mhatvan | ||
57 | |||
58 | ### Internal | ||
59 | |||
60 | - Minor cleanup of 'NaN' logic when loading recipe badges 💖 @vraravam | ||
61 | |||
62 | # [v5.6.1-nightly.29](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.28...v5.6.1-nightly.29) (2021-08-17) | ||
63 | |||
64 | ### Bug Fixes | ||
65 | |||
66 | - Fix issue with left-clicking regression that was accidentally introduced in the previous nightly 💖 @vraravam | ||
67 | - Fix snap assets capturing on GitHub (#1802) 💖 @mhatvan | ||
68 | |||
69 | ### Internal | ||
70 | |||
71 | - Replace deprecated `moment.js` with `day.js` (#1804) 💖 @mhatvan | ||
72 | |||
73 | # [v5.6.1-nightly.28](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.27...v5.6.1-nightly.28) (2021-08-16) | ||
74 | |||
75 | - Moved some npm dependencies that were incorrectly classified as runtime deps. This has saved 11MB from the installed file (on macos) 💖 @vraravam | ||
76 | - Removed unused npm dependencies (shaved anothe 5MB from the installed file on macos) 💖 @vraravam, @mhatvan | ||
77 | |||
78 | ### Bug Fixes | ||
79 | |||
80 | - Fixed the 'Changelog' menu item to point to the correct branch 💖 @vraravam | ||
81 | - Fixed issue with some shortcuts not working on macos (those that either used `alt` or `shift` keys) 💖 @vraravam | ||
82 | |||
83 | ### Internal | ||
84 | |||
85 | - Completed plumbing required for conversion from javascript to typescript 💖 @vraravam | ||
86 | - npm upgrades 💖 @vraravam | ||
87 | - Started typescript conversion of some simple scripts 💖 @vraravam | ||
88 | - Added animations step in gulp to transpile scss and copy to build 💖 @mhatvan | ||
89 | |||
90 | # [v5.6.1-nightly.27](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.26...v5.6.1-nightly.27) (2021-08-15) | ||
91 | |||
92 | - Add buttons in the 'Advanced' section of preferences to allow users to quickly open the ferdi profile in their file explorer 💖 @vraravam | ||
93 | - [Security] Refactored Url helpers to ensure that there's a single place for vetting and opening external urls as recommended by [this article](https://benjamin-altpeter.de/shell-openexternal-dangers/) (#1789) 💖 @vraravam | ||
94 | |||
95 | ### Internal | ||
96 | |||
97 | - Generated '.gitignore' from gitignore.io 💖 @vraravam | ||
98 | - Setting some config rules for typescript (in preparation for external contributors during hacktoberfest) 💖 @vraravam | ||
99 | - Moved 'gulp'-related packages to 'devDependencies' resulting in slimming down the installation file considerably (8MB on macos) 💖 @vraravam | ||
100 | |||
101 | # [v5.6.1-nightly.26](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.24...v5.6.1-nightly.26) (2021-08-14) | ||
102 | |||
103 | - Catch up with minor changes in Franz 5.7.0 | ||
104 | - Add entitlements for screen-capture-permissions 💖 @vraravam | ||
105 | |||
106 | ### Bug Fixes | ||
107 | |||
108 | - Fix app focus detection 💖 @vraravam | ||
109 | - Fix beta channel release for snap 💖 @mhatvan | ||
110 | |||
111 | ### Internal | ||
112 | |||
113 | - Use destructured 'import' 💖 @vraravam | ||
114 | - Refactor to reuse already defined constants 💖 @vraravam | ||
115 | - Use exported default object 💖 @vraravam | ||
116 | - Replace old '@meetfranz/electron-notification-state' with 'mac… … 💖 @vraravam | ||
117 | |||
1 | # [v5.6.1-nightly.24](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.23...v5.6.1-nightly.24) (2021-08-13) | 118 | # [v5.6.1-nightly.24](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.23...v5.6.1-nightly.24) (2021-08-13) |
2 | 119 | ||
3 | - Added new recipe for Proton Calendar (getferdi/recipes#606) 💖 @cereum | 120 | - Added new recipe for Proton Calendar (getferdi/recipes#606) 💖 @cereum |
@@ -39,6 +39,7 @@ | |||
39 | - [Or use Chocolatey (Windows only)](#or-use-chocolatey-windows-only) | 39 | - [Or use Chocolatey (Windows only)](#or-use-chocolatey-windows-only) |
40 | - [Or use Windows Package Manager (Windows only)](#or-use-windows-package-manager-windows-only) | 40 | - [Or use Windows Package Manager (Windows only)](#or-use-windows-package-manager-windows-only) |
41 | - [Or use homebrew (macOS or Linux)](#or-use-homebrew-macos-or-linux) | 41 | - [Or use homebrew (macOS or Linux)](#or-use-homebrew-macos-or-linux) |
42 | - [Or use snap (Linux only)](#or-use-snap-linux-only) | ||
42 | - [Or use AUR (Arch Linux)](#or-use-aur-arch-linux) | 43 | - [Or use AUR (Arch Linux)](#or-use-aur-arch-linux) |
43 | - [What makes Ferdi different from Franz?](#what-makes-ferdi-different-from-franz) | 44 | - [What makes Ferdi different from Franz?](#what-makes-ferdi-different-from-franz) |
44 | - [Removes unproductive paywalls and other other interruptions](#removes-unproductive-paywalls-and-other-other-interruptions) | 45 | - [Removes unproductive paywalls and other other interruptions](#removes-unproductive-paywalls-and-other-other-interruptions) |
@@ -55,7 +56,7 @@ | |||
55 | - [Backers via OpenCollective](#backers-via-opencollective) | 56 | - [Backers via OpenCollective](#backers-via-opencollective) |
56 | - [Sponsors via OpenCollective](#sponsors-via-opencollective) | 57 | - [Sponsors via OpenCollective](#sponsors-via-opencollective) |
57 | - [Other Sponsors](#other-sponsors) | 58 | - [Other Sponsors](#other-sponsors) |
58 | </details> | 59 | </details> |
59 | 60 | ||
60 | ## What is Ferdi? | 61 | ## What is Ferdi? |
61 | 62 | ||
@@ -118,6 +119,14 @@ You can download Ferdi for Windows, Mac and Linux on [Ferdi's download page](htt | |||
118 | 119 | ||
119 | (Don't know homebrew? [brew.sh](https://brew.sh/)) | 120 | (Don't know homebrew? [brew.sh](https://brew.sh/)) |
120 | 121 | ||
122 | ### Or use snap (Linux only) | ||
123 | |||
124 | `$ snap install ferdi` | ||
125 | |||
126 | You can find published releases as `stable`, `beta` and `nightly` channels on [snapcraft.io](https://snapcraft.io/ferdi). | ||
127 | |||
128 | (Don't know snap? [snapcraft.io](https://snapcraft.io/)) | ||
129 | |||
121 | ### Or use AUR (Arch Linux) | 130 | ### Or use AUR (Arch Linux) |
122 | 131 | ||
123 | Ferdi has three separate AUR packages you can use: | 132 | Ferdi has three separate AUR packages you can use: |
@@ -217,7 +226,7 @@ If you use an AUR Helper e.g. yay, simply install it via `yay -S ferdi`. | |||
217 | 226 | ||
218 | ### Adds internal changes | 227 | ### Adds internal changes |
219 | 228 | ||
220 | - [x] Upgrades to Electron 13.1.9 | 229 | - [x] Upgrades to Electron 13.2.2 |
221 | - [x] Switches to [`electron-spellchecker`](https://github.com/electron-userland/electron-spellchecker) to improve application size | 230 | - [x] Switches to [`electron-spellchecker`](https://github.com/electron-userland/electron-spellchecker) to improve application size |
222 | - [x] Minifies build files to improve app size | 231 | - [x] Minifies build files to improve app size |
223 | - [x] Adds "npm run prepare-code" command for development to lint and beautify code | 232 | - [x] Adds "npm run prepare-code" command for development to lint and beautify code |
@@ -262,6 +271,7 @@ Since we (the contributors to Ferdi) also eat our own dog food, we use Ferdi as | |||
262 | ## Contributors ✨ | 271 | ## Contributors ✨ |
263 | 272 | ||
264 | Thanks goes to these awesome people: | 273 | Thanks goes to these awesome people: |
274 | |||
265 | <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> | 275 | <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> |
266 | <!-- prettier-ignore-start --> | 276 | <!-- prettier-ignore-start --> |
267 | <!-- markdownlint-disable --> | 277 | <!-- markdownlint-disable --> |
diff --git a/build-helpers/entitlements.mas.inherit.plist b/build-helpers/entitlements.mas.inherit.plist index 202e6f431..78c1f8d83 100644 --- a/build-helpers/entitlements.mas.inherit.plist +++ b/build-helpers/entitlements.mas.inherit.plist | |||
@@ -16,5 +16,7 @@ | |||
16 | <true/> | 16 | <true/> |
17 | <key>com.apple.security.network.client</key> | 17 | <key>com.apple.security.network.client</key> |
18 | <true/> | 18 | <true/> |
19 | <key>com.apple.security.automation.apple-events</key> | ||
20 | <true/> | ||
19 | </dict> | 21 | </dict> |
20 | </plist> \ No newline at end of file | 22 | </plist> |
diff --git a/build-helpers/entitlements.mas.plist b/build-helpers/entitlements.mas.plist index 202e6f431..78c1f8d83 100644 --- a/build-helpers/entitlements.mas.plist +++ b/build-helpers/entitlements.mas.plist | |||
@@ -16,5 +16,7 @@ | |||
16 | <true/> | 16 | <true/> |
17 | <key>com.apple.security.network.client</key> | 17 | <key>com.apple.security.network.client</key> |
18 | <true/> | 18 | <true/> |
19 | <key>com.apple.security.automation.apple-events</key> | ||
20 | <true/> | ||
19 | </dict> | 21 | </dict> |
20 | </plist> \ No newline at end of file | 22 | </plist> |
diff --git a/docs/example-feature/index.js b/docs/example-feature/index.js index 84ee84b5e..0ce068e26 100644 --- a/docs/example-feature/index.js +++ b/docs/example-feature/index.js | |||
@@ -29,8 +29,6 @@ export default function initAnnouncements(stores, actions) { | |||
29 | resetState(); // Reset state to default | 29 | resetState(); // Reset state to default |
30 | } | 30 | } |
31 | }, | 31 | }, |
32 | { | 32 | { fireImmediately: true }, |
33 | fireImmediately: true, | ||
34 | }, | ||
35 | ); | 33 | ); |
36 | } | 34 | } |
diff --git a/docs/example-feature/store.js b/docs/example-feature/store.js index de27eae86..9fc86de36 100644 --- a/docs/example-feature/store.js +++ b/docs/example-feature/store.js | |||
@@ -18,8 +18,12 @@ export class ExampleFeatureStore extends Store { | |||
18 | 18 | ||
19 | // Update the name on the state when the request resolved | 19 | // Update the name on the state when the request resolved |
20 | reaction( | 20 | reaction( |
21 | () => this.getNameRequest.result, | 21 | () => ( |
22 | name => this._setName(name), | 22 | this.getNameRequest.result |
23 | ), | ||
24 | (name) => { | ||
25 | this._setName(name); | ||
26 | }, | ||
23 | ); | 27 | ); |
24 | } | 28 | } |
25 | 29 | ||
diff --git a/electron-builder.yml b/electron-builder.yml index bf3b25ac1..893fa4701 100644 --- a/electron-builder.yml +++ b/electron-builder.yml | |||
@@ -61,10 +61,6 @@ linux: | |||
61 | - target: freebsd | 61 | - target: freebsd |
62 | - target: snap | 62 | - target: snap |
63 | 63 | ||
64 | snap: | ||
65 | publish: | ||
66 | provider: "snapStore" | ||
67 | |||
68 | nsis: | 64 | nsis: |
69 | perMachine: false | 65 | perMachine: false |
70 | oneClick: true | 66 | oneClick: true |
diff --git a/gulpfile.babel.js b/gulpfile.babel.js index 08cc34b63..f87958a77 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js | |||
@@ -14,11 +14,12 @@ import sassVariables from 'gulp-sass-variables'; | |||
14 | import { removeSync, outputJson } from 'fs-extra'; | 14 | import { removeSync, outputJson } from 'fs-extra'; |
15 | import kebabCase from 'kebab-case'; | 15 | import kebabCase from 'kebab-case'; |
16 | import hexRgb from 'hex-rgb'; | 16 | import hexRgb from 'hex-rgb'; |
17 | import ts from 'gulp-typescript'; | ||
17 | 18 | ||
18 | import * as buildInfo from 'preval-build-info'; | 19 | import * as buildInfo from 'preval-build-info'; |
19 | import config from './package.json'; | 20 | import config from './package.json'; |
20 | 21 | ||
21 | import * as rawStyleConfig from './src/theme/default/legacy'; | 22 | import * as rawStyleConfig from './scripts/theme/default/legacy'; |
22 | 23 | ||
23 | dotenv.config(); | 24 | dotenv.config(); |
24 | 25 | ||
@@ -29,6 +30,8 @@ const isDevBuild = process.env.NODE_ENV === 'development'; | |||
29 | 30 | ||
30 | const getTargetEnv = isDevBuild ? 'development' : 'production'; | 31 | const getTargetEnv = isDevBuild ? 'development' : 'production'; |
31 | 32 | ||
33 | const tsProject = ts.createProject('tsconfig.json'); | ||
34 | |||
32 | const styleConfig = Object.keys(rawStyleConfig).map(key => { | 35 | const styleConfig = Object.keys(rawStyleConfig).map(key => { |
33 | const isHex = /^#[0-9A-F]{6}$/i.test(rawStyleConfig[key]); | 36 | const isHex = /^#[0-9A-F]{6}$/i.test(rawStyleConfig[key]); |
34 | return { | 37 | return { |
@@ -59,28 +62,36 @@ const paths = { | |||
59 | watch: 'src/**/*.html', | 62 | watch: 'src/**/*.html', |
60 | }, | 63 | }, |
61 | styles: { | 64 | styles: { |
62 | src: 'src/styles/main.scss', | 65 | src: [ |
66 | 'src/styles/main.scss', | ||
67 | 'src/styles/vertical.scss', | ||
68 | 'src/styles/animations.scss', | ||
69 | ], | ||
63 | dest: 'build/styles', | 70 | dest: 'build/styles', |
64 | watch: 'src/styles/**/*.scss', | 71 | watch: 'src/styles/**/*.scss', |
65 | }, | 72 | }, |
66 | verticalStyle: { | 73 | javascripts: { |
67 | src: 'src/styles/vertical.scss', | ||
68 | dest: 'build/styles', | ||
69 | }, | ||
70 | scripts: { | ||
71 | src: 'src/**/*.js', | 74 | src: 'src/**/*.js', |
72 | dest: 'build/', | 75 | dest: 'build/', |
73 | watch: [ | 76 | watch: [ |
74 | // 'packages/**/*.js', | ||
75 | 'src/**/*.js', | 77 | 'src/**/*.js', |
78 | // 'packages/**/*.js', | ||
79 | ], | ||
80 | }, | ||
81 | typescripts: { | ||
82 | src: 'src/**/*.ts', | ||
83 | dest: 'build/', | ||
84 | watch: [ | ||
85 | 'src/**/*.ts', | ||
86 | // 'packages/**/*.ts', | ||
76 | ], | 87 | ], |
77 | }, | 88 | }, |
78 | packages: { | 89 | packages: { |
79 | watch: 'packages/**/*', | 90 | watch: 'packages/**/*', |
80 | // dest: 'build/', | 91 | // dest: 'build/', |
81 | // watch: [ | 92 | // watch: [ |
82 | // // 'packages/**/*.js', | ||
83 | // 'src/**/*.js', | 93 | // 'src/**/*.js', |
94 | // // 'packages/**/*.js', | ||
84 | // ], | 95 | // ], |
85 | }, | 96 | }, |
86 | }; | 97 | }; |
@@ -121,9 +132,9 @@ export function mvSrc() { | |||
121 | [ | 132 | [ |
122 | `${paths.src}/*`, | 133 | `${paths.src}/*`, |
123 | `${paths.src}/*/**`, | 134 | `${paths.src}/*/**`, |
124 | `!${paths.scripts.watch[1]}`, | 135 | `!${paths.javascripts.watch[0]}`, |
136 | `!${paths.typescripts.watch[0]}`, | ||
125 | `!${paths.src}/styles/**`, | 137 | `!${paths.src}/styles/**`, |
126 | `!${paths.src}/**/*.js`, | ||
127 | ], | 138 | ], |
128 | { since: gulp.lastRun(mvSrc) }, | 139 | { since: gulp.lastRun(mvSrc) }, |
129 | ) | 140 | ) |
@@ -195,58 +206,52 @@ export function styles() { | |||
195 | .pipe(connect.reload()); | 206 | .pipe(connect.reload()); |
196 | } | 207 | } |
197 | 208 | ||
198 | export function verticalStyle() { | 209 | export function processJavascripts() { |
199 | return gulp | 210 | return gulp |
200 | .src(paths.verticalStyle.src) | 211 | .src( |
201 | .pipe( | 212 | [ |
202 | sassVariables( | 213 | paths.javascripts.src, |
203 | Object.assign( | 214 | ], |
204 | { | 215 | { since: gulp.lastRun(processJavascripts) }, |
205 | $env: getTargetEnv, | ||
206 | }, | ||
207 | ...styleConfig, | ||
208 | ), | ||
209 | ), | ||
210 | ) | ||
211 | .pipe( | ||
212 | sass({ | ||
213 | includePaths: ['./node_modules', '../node_modules'], | ||
214 | }).on('error', sass.logError), | ||
215 | ) | 216 | ) |
216 | .pipe( | 217 | .pipe( |
217 | gulpIf( | 218 | babel({ |
218 | !isDevBuild, | 219 | comments: false, |
219 | csso({ | 220 | }), |
220 | // Only minify in production to speed up dev builds | ||
221 | restructure: false, // Don't restructure CSS, otherwise it will break the styles | ||
222 | }), | ||
223 | ), | ||
224 | ) | 221 | ) |
225 | .pipe(gulp.dest(paths.verticalStyle.dest)) | 222 | .pipe(gulpIf(!isDevBuild, uglify())) // Only uglify in production to speed up dev builds |
223 | .pipe(gulp.dest(paths.javascripts.dest)) | ||
226 | .pipe(connect.reload()); | 224 | .pipe(connect.reload()); |
227 | } | 225 | } |
228 | 226 | ||
229 | export function scripts() { | 227 | export function processTypescripts() { |
230 | return gulp | 228 | return gulp |
231 | .src(paths.scripts.src, { since: gulp.lastRun(scripts) }) | 229 | .src( |
230 | [ | ||
231 | paths.typescripts.src, | ||
232 | ], | ||
233 | { since: gulp.lastRun(processTypescripts) }, | ||
234 | ) | ||
235 | .pipe(tsProject()) | ||
236 | .js | ||
232 | .pipe( | 237 | .pipe( |
233 | babel({ | 238 | babel({ |
234 | comments: false, | 239 | comments: false, |
235 | }), | 240 | }), |
236 | ) | 241 | ) |
237 | .pipe(gulpIf(!isDevBuild, uglify())) // Only uglify in production to speed up dev builds | 242 | .pipe(gulpIf(!isDevBuild, uglify())) // Only uglify in production to speed up dev builds |
238 | .pipe(gulp.dest(paths.scripts.dest)) | 243 | .pipe(gulp.dest(paths.typescripts.dest)) |
239 | .pipe(connect.reload()); | 244 | .pipe(connect.reload()); |
240 | } | 245 | } |
241 | 246 | ||
242 | export function watch() { | 247 | export function watch() { |
243 | gulp.watch(paths.packages.watch, mvLernaPackages); | 248 | gulp.watch(paths.packages.watch, mvLernaPackages); |
244 | gulp.watch(paths.styles.watch, styles); | 249 | gulp.watch(paths.styles.watch, styles); |
245 | gulp.watch(paths.verticalStyle.src, verticalStyle); | ||
246 | 250 | ||
247 | gulp.watch([paths.src, `${paths.scripts.src}`, `${paths.styles.src}`], mvSrc); | 251 | gulp.watch([paths.src], mvSrc); |
248 | 252 | ||
249 | gulp.watch(paths.scripts.watch, scripts); | 253 | gulp.watch(paths.javascripts.watch, processJavascripts); |
254 | gulp.watch(paths.typescripts.watch, processTypescripts); | ||
250 | } | 255 | } |
251 | 256 | ||
252 | export function webserver() { | 257 | export function webserver() { |
@@ -261,6 +266,7 @@ export function recipes() { | |||
261 | .src(paths.recipes.src, { since: gulp.lastRun(recipes) }) | 266 | .src(paths.recipes.src, { since: gulp.lastRun(recipes) }) |
262 | .pipe(gulp.dest(paths.recipes.dest)); | 267 | .pipe(gulp.dest(paths.recipes.dest)); |
263 | } | 268 | } |
269 | |||
264 | export function recipeInfo() { | 270 | export function recipeInfo() { |
265 | return gulp | 271 | return gulp |
266 | .src(paths.recipeInfo.src, { since: gulp.lastRun(recipeInfo) }) | 272 | .src(paths.recipeInfo.src, { since: gulp.lastRun(recipeInfo) }) |
@@ -270,7 +276,7 @@ export function recipeInfo() { | |||
270 | const build = gulp.series( | 276 | const build = gulp.series( |
271 | clean, | 277 | clean, |
272 | gulp.parallel(mvSrc, mvPackageJson, mvLernaPackages, exportBuildInfo), | 278 | gulp.parallel(mvSrc, mvPackageJson, mvLernaPackages, exportBuildInfo), |
273 | gulp.parallel(html, scripts, styles, verticalStyle, recipes, recipeInfo), | 279 | gulp.parallel(html, processJavascripts, processTypescripts, styles, recipes, recipeInfo), |
274 | ); | 280 | ); |
275 | export { build }; | 281 | export { build }; |
276 | 282 | ||
diff --git a/package-lock.json b/package-lock.json index 2b064cec3..43491797d 100644 --- a/package-lock.json +++ b/package-lock.json | |||
@@ -1,6 +1,6 @@ | |||
1 | { | 1 | { |
2 | "name": "ferdi", | 2 | "name": "ferdi", |
3 | "version": "5.6.1-beta.1", | 3 | "version": "5.6.1-nightly.37", |
4 | "lockfileVersion": 1, | 4 | "lockfileVersion": 1, |
5 | "requires": true, | 5 | "requires": true, |
6 | "dependencies": { | 6 | "dependencies": { |
@@ -1685,9 +1685,9 @@ | |||
1685 | } | 1685 | } |
1686 | }, | 1686 | }, |
1687 | "@babel/register": { | 1687 | "@babel/register": { |
1688 | "version": "7.14.5", | 1688 | "version": "7.15.3", |
1689 | "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.14.5.tgz", | 1689 | "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.15.3.tgz", |
1690 | "integrity": "sha512-TjJpGz/aDjFGWsItRBQMOFTrmTI9tr79CHOK+KIvLeCkbxuOAk2M5QHjvruIMGoo9OuccMh5euplPzc5FjAKGg==", | 1690 | "integrity": "sha512-mj4IY1ZJkorClxKTImccn4T81+UKTo4Ux0+OFSV9hME1ooqS9UV+pJ6BjD0qXPK4T3XW/KNa79XByjeEMZz+fw==", |
1691 | "dev": true, | 1691 | "dev": true, |
1692 | "requires": { | 1692 | "requires": { |
1693 | "clone-deep": "^4.0.1", | 1693 | "clone-deep": "^4.0.1", |
@@ -2387,9 +2387,9 @@ | |||
2387 | } | 2387 | } |
2388 | }, | 2388 | }, |
2389 | "@electron/get": { | 2389 | "@electron/get": { |
2390 | "version": "1.12.4", | 2390 | "version": "1.13.0", |
2391 | "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.4.tgz", | 2391 | "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.13.0.tgz", |
2392 | "integrity": "sha512-6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg==", | 2392 | "integrity": "sha512-+SjZhRuRo+STTO1Fdhzqnv9D2ZhjxXP6egsJ9kiO8dtP68cDx7dFCwWi64dlMQV7sWcfW1OYCW4wviEBzmRsfQ==", |
2393 | "dev": true, | 2393 | "dev": true, |
2394 | "requires": { | 2394 | "requires": { |
2395 | "debug": "^4.1.1", | 2395 | "debug": "^4.1.1", |
@@ -5697,16 +5697,6 @@ | |||
5697 | "resolved": "https://registry.npmjs.org/@mdi/react/-/react-1.5.0.tgz", | 5697 | "resolved": "https://registry.npmjs.org/@mdi/react/-/react-1.5.0.tgz", |
5698 | "integrity": "sha512-NztRgUxSYD+ImaKN94Tg66VVVqXj4SmlDGzZoz48H9riJ+Awha56sfXH2fegw819NWo7KI3oeS1Es0lNQqwr0w==" | 5698 | "integrity": "sha512-NztRgUxSYD+ImaKN94Tg66VVVqXj4SmlDGzZoz48H9riJ+Awha56sfXH2fegw819NWo7KI3oeS1Es0lNQqwr0w==" |
5699 | }, | 5699 | }, |
5700 | "@meetfranz/electron-notification-state": { | ||
5701 | "version": "1.0.0", | ||
5702 | "resolved": "https://registry.npmjs.org/@meetfranz/electron-notification-state/-/electron-notification-state-1.0.0.tgz", | ||
5703 | "integrity": "sha512-0gCEV7DfoasuMA9uY9sN1ufrzSFg/fXB0gHbxagid8EilAjGsbkSSLSl2rweZcIBz+ZgR35Yp7DlAVw/I3cIfA==", | ||
5704 | "requires": { | ||
5705 | "macos-notification-state": "^1.1.0", | ||
5706 | "windows-notification-state": "^1.3.0", | ||
5707 | "windows-quiet-hours": "^1.2.2" | ||
5708 | } | ||
5709 | }, | ||
5710 | "@meetfranz/forms": { | 5700 | "@meetfranz/forms": { |
5711 | "version": "file:packages/forms", | 5701 | "version": "file:packages/forms", |
5712 | "requires": { | 5702 | "requires": { |
@@ -6431,6 +6421,12 @@ | |||
6431 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", | 6421 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", |
6432 | "dev": true | 6422 | "dev": true |
6433 | }, | 6423 | }, |
6424 | "@tsconfig/node14": { | ||
6425 | "version": "1.0.1", | ||
6426 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", | ||
6427 | "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", | ||
6428 | "dev": true | ||
6429 | }, | ||
6434 | "@types/babel__core": { | 6430 | "@types/babel__core": { |
6435 | "version": "7.1.15", | 6431 | "version": "7.1.15", |
6436 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.15.tgz", | 6432 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.15.tgz", |
@@ -6472,18 +6468,6 @@ | |||
6472 | "@babel/types": "^7.3.0" | 6468 | "@babel/types": "^7.3.0" |
6473 | } | 6469 | } |
6474 | }, | 6470 | }, |
6475 | "@types/cacheable-request": { | ||
6476 | "version": "6.0.2", | ||
6477 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", | ||
6478 | "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", | ||
6479 | "dev": true, | ||
6480 | "requires": { | ||
6481 | "@types/http-cache-semantics": "*", | ||
6482 | "@types/keyv": "*", | ||
6483 | "@types/node": "*", | ||
6484 | "@types/responselike": "*" | ||
6485 | } | ||
6486 | }, | ||
6487 | "@types/color": { | 6471 | "@types/color": { |
6488 | "version": "3.0.2", | 6472 | "version": "3.0.2", |
6489 | "resolved": "https://registry.npmjs.org/@types/color/-/color-3.0.2.tgz", | 6473 | "resolved": "https://registry.npmjs.org/@types/color/-/color-3.0.2.tgz", |
@@ -6517,6 +6501,12 @@ | |||
6517 | "@types/ms": "*" | 6501 | "@types/ms": "*" |
6518 | } | 6502 | } |
6519 | }, | 6503 | }, |
6504 | "@types/du": { | ||
6505 | "version": "1.0.0", | ||
6506 | "resolved": "https://registry.npmjs.org/@types/du/-/du-1.0.0.tgz", | ||
6507 | "integrity": "sha512-gyG+2sBzYwIcwaj2zyRZ75qOwvhFeD6XytT16jBTyqiS9nH9tYy39Ln1oRcECxBfDCJmUmOEyjQoTHJeMFM91w==", | ||
6508 | "dev": true | ||
6509 | }, | ||
6520 | "@types/fs-extra": { | 6510 | "@types/fs-extra": { |
6521 | "version": "9.0.12", | 6511 | "version": "9.0.12", |
6522 | "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", | 6512 | "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", |
@@ -6551,12 +6541,6 @@ | |||
6551 | "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", | 6541 | "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==", |
6552 | "dev": true | 6542 | "dev": true |
6553 | }, | 6543 | }, |
6554 | "@types/http-cache-semantics": { | ||
6555 | "version": "4.0.1", | ||
6556 | "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", | ||
6557 | "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", | ||
6558 | "dev": true | ||
6559 | }, | ||
6560 | "@types/istanbul-lib-coverage": { | 6544 | "@types/istanbul-lib-coverage": { |
6561 | "version": "2.0.3", | 6545 | "version": "2.0.3", |
6562 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", | 6546 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", |
@@ -6587,15 +6571,6 @@ | |||
6587 | "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", | 6571 | "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", |
6588 | "dev": true | 6572 | "dev": true |
6589 | }, | 6573 | }, |
6590 | "@types/keyv": { | ||
6591 | "version": "3.1.2", | ||
6592 | "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.2.tgz", | ||
6593 | "integrity": "sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg==", | ||
6594 | "dev": true, | ||
6595 | "requires": { | ||
6596 | "@types/node": "*" | ||
6597 | } | ||
6598 | }, | ||
6599 | "@types/lodash": { | 6574 | "@types/lodash": { |
6600 | "version": "4.14.172", | 6575 | "version": "4.14.172", |
6601 | "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.172.tgz", | 6576 | "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.172.tgz", |
@@ -6614,6 +6589,15 @@ | |||
6614 | "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", | 6589 | "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", |
6615 | "dev": true | 6590 | "dev": true |
6616 | }, | 6591 | }, |
6592 | "@types/minipass": { | ||
6593 | "version": "3.1.0", | ||
6594 | "resolved": "https://registry.npmjs.org/@types/minipass/-/minipass-3.1.0.tgz", | ||
6595 | "integrity": "sha512-b2yPKwCrB8x9SB65kcCistMoe3wrYnxxt5rJSZ1kprw0uOXvhuKi9kTQ746Y+Pbqoh+9C0N4zt0ztmTnG9yg7A==", | ||
6596 | "dev": true, | ||
6597 | "requires": { | ||
6598 | "@types/node": "*" | ||
6599 | } | ||
6600 | }, | ||
6617 | "@types/ms": { | 6601 | "@types/ms": { |
6618 | "version": "0.7.31", | 6602 | "version": "0.7.31", |
6619 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", | 6603 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", |
@@ -6681,14 +6665,11 @@ | |||
6681 | "@types/react": "^16" | 6665 | "@types/react": "^16" |
6682 | } | 6666 | } |
6683 | }, | 6667 | }, |
6684 | "@types/responselike": { | 6668 | "@types/route-parser": { |
6685 | "version": "1.0.0", | 6669 | "version": "0.1.3", |
6686 | "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", | 6670 | "resolved": "https://registry.npmjs.org/@types/route-parser/-/route-parser-0.1.3.tgz", |
6687 | "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", | 6671 | "integrity": "sha512-1AQYpsMbxangSnApsyIHzck5TP8cfas8fzmemljLi2APssJvlZiHkTar/ZtcZwOtK/Ory/xwLg2X8dwhkbnM+g==", |
6688 | "dev": true, | 6672 | "dev": true |
6689 | "requires": { | ||
6690 | "@types/node": "*" | ||
6691 | } | ||
6692 | }, | 6673 | }, |
6693 | "@types/scheduler": { | 6674 | "@types/scheduler": { |
6694 | "version": "0.16.2", | 6675 | "version": "0.16.2", |
@@ -6724,6 +6705,16 @@ | |||
6724 | "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", | 6705 | "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", |
6725 | "dev": true | 6706 | "dev": true |
6726 | }, | 6707 | }, |
6708 | "@types/tar": { | ||
6709 | "version": "4.0.5", | ||
6710 | "resolved": "https://registry.npmjs.org/@types/tar/-/tar-4.0.5.tgz", | ||
6711 | "integrity": "sha512-cgwPhNEabHaZcYIy5xeMtux2EmYBitfqEceBUi2t5+ETy4dW6kswt6WX4+HqLeiiKOo42EXbGiDmVJ2x+vi37Q==", | ||
6712 | "dev": true, | ||
6713 | "requires": { | ||
6714 | "@types/minipass": "*", | ||
6715 | "@types/node": "*" | ||
6716 | } | ||
6717 | }, | ||
6727 | "@types/uglify-js": { | 6718 | "@types/uglify-js": { |
6728 | "version": "3.13.1", | 6719 | "version": "3.13.1", |
6729 | "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", | 6720 | "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", |
@@ -6821,13 +6812,13 @@ | |||
6821 | "dev": true | 6812 | "dev": true |
6822 | }, | 6813 | }, |
6823 | "@typescript-eslint/eslint-plugin": { | 6814 | "@typescript-eslint/eslint-plugin": { |
6824 | "version": "4.29.0", | 6815 | "version": "4.29.1", |
6825 | "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.0.tgz", | 6816 | "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.1.tgz", |
6826 | "integrity": "sha512-eiREtqWRZ8aVJcNru7cT/AMVnYd9a2UHsfZT8MR1dW3UUEg6jDv9EQ9Cq4CUPZesyQ58YUpoAADGv71jY8RwgA==", | 6817 | "integrity": "sha512-AHqIU+SqZZgBEiWOrtN94ldR3ZUABV5dUG94j8Nms9rQnHFc8fvDOue/58K4CFz6r8OtDDc35Pw9NQPWo0Ayrw==", |
6827 | "dev": true, | 6818 | "dev": true, |
6828 | "requires": { | 6819 | "requires": { |
6829 | "@typescript-eslint/experimental-utils": "4.29.0", | 6820 | "@typescript-eslint/experimental-utils": "4.29.1", |
6830 | "@typescript-eslint/scope-manager": "4.29.0", | 6821 | "@typescript-eslint/scope-manager": "4.29.1", |
6831 | "debug": "^4.3.1", | 6822 | "debug": "^4.3.1", |
6832 | "functional-red-black-tree": "^1.0.1", | 6823 | "functional-red-black-tree": "^1.0.1", |
6833 | "regexpp": "^3.1.0", | 6824 | "regexpp": "^3.1.0", |
@@ -6836,43 +6827,43 @@ | |||
6836 | }, | 6827 | }, |
6837 | "dependencies": { | 6828 | "dependencies": { |
6838 | "@typescript-eslint/experimental-utils": { | 6829 | "@typescript-eslint/experimental-utils": { |
6839 | "version": "4.29.0", | 6830 | "version": "4.29.1", |
6840 | "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.0.tgz", | 6831 | "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.1.tgz", |
6841 | "integrity": "sha512-FpNVKykfeaIxlArLUP/yQfv/5/3rhl1ov6RWgud4OgbqWLkEq7lqgQU9iiavZRzpzCRQV4XddyFz3wFXdkiX9w==", | 6832 | "integrity": "sha512-kl6QG6qpzZthfd2bzPNSJB2YcZpNOrP6r9jueXupcZHnL74WiuSjaft7WSu17J9+ae9zTlk0KJMXPUj0daBxMw==", |
6842 | "dev": true, | 6833 | "dev": true, |
6843 | "requires": { | 6834 | "requires": { |
6844 | "@types/json-schema": "^7.0.7", | 6835 | "@types/json-schema": "^7.0.7", |
6845 | "@typescript-eslint/scope-manager": "4.29.0", | 6836 | "@typescript-eslint/scope-manager": "4.29.1", |
6846 | "@typescript-eslint/types": "4.29.0", | 6837 | "@typescript-eslint/types": "4.29.1", |
6847 | "@typescript-eslint/typescript-estree": "4.29.0", | 6838 | "@typescript-eslint/typescript-estree": "4.29.1", |
6848 | "eslint-scope": "^5.1.1", | 6839 | "eslint-scope": "^5.1.1", |
6849 | "eslint-utils": "^3.0.0" | 6840 | "eslint-utils": "^3.0.0" |
6850 | } | 6841 | } |
6851 | }, | 6842 | }, |
6852 | "@typescript-eslint/scope-manager": { | 6843 | "@typescript-eslint/scope-manager": { |
6853 | "version": "4.29.0", | 6844 | "version": "4.29.1", |
6854 | "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.0.tgz", | 6845 | "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.1.tgz", |
6855 | "integrity": "sha512-HPq7XAaDMM3DpmuijxLV9Io8/6pQnliiXMQUcAdjpJJSR+fdmbD/zHCd7hMkjJn04UQtCQBtshgxClzg6NIS2w==", | 6846 | "integrity": "sha512-Hzv/uZOa9zrD/W5mftZa54Jd5Fed3tL6b4HeaOpwVSabJK8CJ+2MkDasnX/XK4rqP5ZTWngK1ZDeCi6EnxPQ7A==", |
6856 | "dev": true, | 6847 | "dev": true, |
6857 | "requires": { | 6848 | "requires": { |
6858 | "@typescript-eslint/types": "4.29.0", | 6849 | "@typescript-eslint/types": "4.29.1", |
6859 | "@typescript-eslint/visitor-keys": "4.29.0" | 6850 | "@typescript-eslint/visitor-keys": "4.29.1" |
6860 | } | 6851 | } |
6861 | }, | 6852 | }, |
6862 | "@typescript-eslint/types": { | 6853 | "@typescript-eslint/types": { |
6863 | "version": "4.29.0", | 6854 | "version": "4.29.1", |
6864 | "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.0.tgz", | 6855 | "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.1.tgz", |
6865 | "integrity": "sha512-2YJM6XfWfi8pgU2HRhTp7WgRw78TCRO3dOmSpAvIQ8MOv4B46JD2chnhpNT7Jq8j0APlIbzO1Bach734xxUl4A==", | 6856 | "integrity": "sha512-Jj2yu78IRfw4nlaLtKjVaGaxh/6FhofmQ/j8v3NXmAiKafbIqtAPnKYrf0sbGjKdj0hS316J8WhnGnErbJ4RCA==", |
6866 | "dev": true | 6857 | "dev": true |
6867 | }, | 6858 | }, |
6868 | "@typescript-eslint/typescript-estree": { | 6859 | "@typescript-eslint/typescript-estree": { |
6869 | "version": "4.29.0", | 6860 | "version": "4.29.1", |
6870 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.0.tgz", | 6861 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.1.tgz", |
6871 | "integrity": "sha512-8ZpNHDIOyqzzgZrQW9+xQ4k5hM62Xy2R4RPO3DQxMc5Rq5QkCdSpk/drka+DL9w6sXNzV5nrdlBmf8+x495QXQ==", | 6862 | "integrity": "sha512-lIkkrR9E4lwZkzPiRDNq0xdC3f2iVCUjw/7WPJ4S2Sl6C3nRWkeE1YXCQ0+KsiaQRbpY16jNaokdWnm9aUIsfw==", |
6872 | "dev": true, | 6863 | "dev": true, |
6873 | "requires": { | 6864 | "requires": { |
6874 | "@typescript-eslint/types": "4.29.0", | 6865 | "@typescript-eslint/types": "4.29.1", |
6875 | "@typescript-eslint/visitor-keys": "4.29.0", | 6866 | "@typescript-eslint/visitor-keys": "4.29.1", |
6876 | "debug": "^4.3.1", | 6867 | "debug": "^4.3.1", |
6877 | "globby": "^11.0.3", | 6868 | "globby": "^11.0.3", |
6878 | "is-glob": "^4.0.1", | 6869 | "is-glob": "^4.0.1", |
@@ -6881,12 +6872,12 @@ | |||
6881 | } | 6872 | } |
6882 | }, | 6873 | }, |
6883 | "@typescript-eslint/visitor-keys": { | 6874 | "@typescript-eslint/visitor-keys": { |
6884 | "version": "4.29.0", | 6875 | "version": "4.29.1", |
6885 | "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.0.tgz", | 6876 | "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.1.tgz", |
6886 | "integrity": "sha512-LoaofO1C/jAJYs0uEpYMXfHboGXzOJeV118X4OsZu9f7rG7Pr9B3+4HTU8+err81rADa4xfQmAxnRnPAI2jp+Q==", | 6877 | "integrity": "sha512-zLqtjMoXvgdZY/PG6gqA73V8BjqPs4af1v2kiiETBObp+uC6gRYnJLmJHxC0QyUrrHDLJPIWNYxoBV3wbcRlag==", |
6887 | "dev": true, | 6878 | "dev": true, |
6888 | "requires": { | 6879 | "requires": { |
6889 | "@typescript-eslint/types": "4.29.0", | 6880 | "@typescript-eslint/types": "4.29.1", |
6890 | "eslint-visitor-keys": "^2.0.0" | 6881 | "eslint-visitor-keys": "^2.0.0" |
6891 | } | 6882 | } |
6892 | }, | 6883 | }, |
@@ -6916,41 +6907,41 @@ | |||
6916 | } | 6907 | } |
6917 | }, | 6908 | }, |
6918 | "@typescript-eslint/parser": { | 6909 | "@typescript-eslint/parser": { |
6919 | "version": "4.29.0", | 6910 | "version": "4.29.1", |
6920 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.0.tgz", | 6911 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.1.tgz", |
6921 | "integrity": "sha512-+92YRNHFdXgq+GhWQPT2bmjX09X7EH36JfgN2/4wmhtwV/HPxozpCNst8jrWcngLtEVd/4zAwA6BKojAlf+YqA==", | 6912 | "integrity": "sha512-3fL5iN20hzX3Q4OkG7QEPFjZV2qsVGiDhEwwh+EkmE/w7oteiOvUNzmpu5eSwGJX/anCryONltJ3WDmAzAoCMg==", |
6922 | "dev": true, | 6913 | "dev": true, |
6923 | "requires": { | 6914 | "requires": { |
6924 | "@typescript-eslint/scope-manager": "4.29.0", | 6915 | "@typescript-eslint/scope-manager": "4.29.1", |
6925 | "@typescript-eslint/types": "4.29.0", | 6916 | "@typescript-eslint/types": "4.29.1", |
6926 | "@typescript-eslint/typescript-estree": "4.29.0", | 6917 | "@typescript-eslint/typescript-estree": "4.29.1", |
6927 | "debug": "^4.3.1" | 6918 | "debug": "^4.3.1" |
6928 | }, | 6919 | }, |
6929 | "dependencies": { | 6920 | "dependencies": { |
6930 | "@typescript-eslint/scope-manager": { | 6921 | "@typescript-eslint/scope-manager": { |
6931 | "version": "4.29.0", | 6922 | "version": "4.29.1", |
6932 | "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.0.tgz", | 6923 | "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.1.tgz", |
6933 | "integrity": "sha512-HPq7XAaDMM3DpmuijxLV9Io8/6pQnliiXMQUcAdjpJJSR+fdmbD/zHCd7hMkjJn04UQtCQBtshgxClzg6NIS2w==", | 6924 | "integrity": "sha512-Hzv/uZOa9zrD/W5mftZa54Jd5Fed3tL6b4HeaOpwVSabJK8CJ+2MkDasnX/XK4rqP5ZTWngK1ZDeCi6EnxPQ7A==", |
6934 | "dev": true, | 6925 | "dev": true, |
6935 | "requires": { | 6926 | "requires": { |
6936 | "@typescript-eslint/types": "4.29.0", | 6927 | "@typescript-eslint/types": "4.29.1", |
6937 | "@typescript-eslint/visitor-keys": "4.29.0" | 6928 | "@typescript-eslint/visitor-keys": "4.29.1" |
6938 | } | 6929 | } |
6939 | }, | 6930 | }, |
6940 | "@typescript-eslint/types": { | 6931 | "@typescript-eslint/types": { |
6941 | "version": "4.29.0", | 6932 | "version": "4.29.1", |
6942 | "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.0.tgz", | 6933 | "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.1.tgz", |
6943 | "integrity": "sha512-2YJM6XfWfi8pgU2HRhTp7WgRw78TCRO3dOmSpAvIQ8MOv4B46JD2chnhpNT7Jq8j0APlIbzO1Bach734xxUl4A==", | 6934 | "integrity": "sha512-Jj2yu78IRfw4nlaLtKjVaGaxh/6FhofmQ/j8v3NXmAiKafbIqtAPnKYrf0sbGjKdj0hS316J8WhnGnErbJ4RCA==", |
6944 | "dev": true | 6935 | "dev": true |
6945 | }, | 6936 | }, |
6946 | "@typescript-eslint/typescript-estree": { | 6937 | "@typescript-eslint/typescript-estree": { |
6947 | "version": "4.29.0", | 6938 | "version": "4.29.1", |
6948 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.0.tgz", | 6939 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.1.tgz", |
6949 | "integrity": "sha512-8ZpNHDIOyqzzgZrQW9+xQ4k5hM62Xy2R4RPO3DQxMc5Rq5QkCdSpk/drka+DL9w6sXNzV5nrdlBmf8+x495QXQ==", | 6940 | "integrity": "sha512-lIkkrR9E4lwZkzPiRDNq0xdC3f2iVCUjw/7WPJ4S2Sl6C3nRWkeE1YXCQ0+KsiaQRbpY16jNaokdWnm9aUIsfw==", |
6950 | "dev": true, | 6941 | "dev": true, |
6951 | "requires": { | 6942 | "requires": { |
6952 | "@typescript-eslint/types": "4.29.0", | 6943 | "@typescript-eslint/types": "4.29.1", |
6953 | "@typescript-eslint/visitor-keys": "4.29.0", | 6944 | "@typescript-eslint/visitor-keys": "4.29.1", |
6954 | "debug": "^4.3.1", | 6945 | "debug": "^4.3.1", |
6955 | "globby": "^11.0.3", | 6946 | "globby": "^11.0.3", |
6956 | "is-glob": "^4.0.1", | 6947 | "is-glob": "^4.0.1", |
@@ -6959,12 +6950,12 @@ | |||
6959 | } | 6950 | } |
6960 | }, | 6951 | }, |
6961 | "@typescript-eslint/visitor-keys": { | 6952 | "@typescript-eslint/visitor-keys": { |
6962 | "version": "4.29.0", | 6953 | "version": "4.29.1", |
6963 | "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.0.tgz", | 6954 | "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.1.tgz", |
6964 | "integrity": "sha512-LoaofO1C/jAJYs0uEpYMXfHboGXzOJeV118X4OsZu9f7rG7Pr9B3+4HTU8+err81rADa4xfQmAxnRnPAI2jp+Q==", | 6955 | "integrity": "sha512-zLqtjMoXvgdZY/PG6gqA73V8BjqPs4af1v2kiiETBObp+uC6gRYnJLmJHxC0QyUrrHDLJPIWNYxoBV3wbcRlag==", |
6965 | "dev": true, | 6956 | "dev": true, |
6966 | "requires": { | 6957 | "requires": { |
6967 | "@typescript-eslint/types": "4.29.0", | 6958 | "@typescript-eslint/types": "4.29.1", |
6968 | "eslint-visitor-keys": "^2.0.0" | 6959 | "eslint-visitor-keys": "^2.0.0" |
6969 | } | 6960 | } |
6970 | }, | 6961 | }, |
@@ -7923,9 +7914,9 @@ | |||
7923 | "dev": true | 7914 | "dev": true |
7924 | }, | 7915 | }, |
7925 | "app-builder-lib": { | 7916 | "app-builder-lib": { |
7926 | "version": "22.12.0", | 7917 | "version": "22.12.1", |
7927 | "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.12.0.tgz", | 7918 | "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.12.1.tgz", |
7928 | "integrity": "sha512-VsBCb3zkY1ugdFxKHF31gxrJipFAf+cDE74XfPwxM4Jrb+QblQX8YRO2Cl268TZrhBEcVnBKIrx9aSnvMbBVgw==", | 7919 | "integrity": "sha512-lE//wq64cp8zA/oDQKsmgtoJOmjNMebPeUBYai7yGAqwhR7P9ggYDwWCUd2sL+T6f1YJFCQ2GrLwf1qkm7xHMQ==", |
7929 | "dev": true, | 7920 | "dev": true, |
7930 | "requires": { | 7921 | "requires": { |
7931 | "7zip-bin": "~5.1.1", | 7922 | "7zip-bin": "~5.1.1", |
@@ -7934,13 +7925,13 @@ | |||
7934 | "@malept/flatpak-bundler": "^0.4.0", | 7925 | "@malept/flatpak-bundler": "^0.4.0", |
7935 | "async-exit-hook": "^2.0.1", | 7926 | "async-exit-hook": "^2.0.1", |
7936 | "bluebird-lst": "^1.0.9", | 7927 | "bluebird-lst": "^1.0.9", |
7937 | "builder-util": "22.11.11", | 7928 | "builder-util": "22.12.1", |
7938 | "builder-util-runtime": "8.7.10", | 7929 | "builder-util-runtime": "8.7.10", |
7939 | "chromium-pickle-js": "^0.2.0", | 7930 | "chromium-pickle-js": "^0.2.0", |
7940 | "debug": "^4.3.2", | 7931 | "debug": "^4.3.2", |
7941 | "ejs": "^3.1.6", | 7932 | "ejs": "^3.1.6", |
7942 | "electron-osx-sign": "^0.5.0", | 7933 | "electron-osx-sign": "^0.5.0", |
7943 | "electron-publish": "22.11.11", | 7934 | "electron-publish": "22.12.1", |
7944 | "fs-extra": "^10.0.0", | 7935 | "fs-extra": "^10.0.0", |
7945 | "hosted-git-info": "^4.0.2", | 7936 | "hosted-git-info": "^4.0.2", |
7946 | "is-ci": "^3.0.0", | 7937 | "is-ci": "^3.0.0", |
@@ -8789,39 +8780,6 @@ | |||
8789 | "file-uri-to-path": "1.0.0" | 8780 | "file-uri-to-path": "1.0.0" |
8790 | } | 8781 | } |
8791 | }, | 8782 | }, |
8792 | "bl": { | ||
8793 | "version": "1.2.3", | ||
8794 | "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", | ||
8795 | "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", | ||
8796 | "requires": { | ||
8797 | "readable-stream": "^2.3.5", | ||
8798 | "safe-buffer": "^5.1.1" | ||
8799 | }, | ||
8800 | "dependencies": { | ||
8801 | "readable-stream": { | ||
8802 | "version": "2.3.7", | ||
8803 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
8804 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
8805 | "requires": { | ||
8806 | "core-util-is": "~1.0.0", | ||
8807 | "inherits": "~2.0.3", | ||
8808 | "isarray": "~1.0.0", | ||
8809 | "process-nextick-args": "~2.0.0", | ||
8810 | "safe-buffer": "~5.1.1", | ||
8811 | "string_decoder": "~1.1.1", | ||
8812 | "util-deprecate": "~1.0.1" | ||
8813 | } | ||
8814 | }, | ||
8815 | "string_decoder": { | ||
8816 | "version": "1.1.1", | ||
8817 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
8818 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
8819 | "requires": { | ||
8820 | "safe-buffer": "~5.1.0" | ||
8821 | } | ||
8822 | } | ||
8823 | } | ||
8824 | }, | ||
8825 | "block-stream": { | 8783 | "block-stream": { |
8826 | "version": "0.0.9", | 8784 | "version": "0.0.9", |
8827 | "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", | 8785 | "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", |
@@ -8980,9 +8938,9 @@ | |||
8980 | "dev": true | 8938 | "dev": true |
8981 | }, | 8939 | }, |
8982 | "boolean": { | 8940 | "boolean": { |
8983 | "version": "3.1.2", | 8941 | "version": "3.1.4", |
8984 | "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.2.tgz", | 8942 | "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz", |
8985 | "integrity": "sha512-YN6UmV0FfLlBVvRvNPx3pz5W/mUoYB24J4WSXOKP/OOJpi+Oq6WYqPaNTHzjI0QzwWtnvEd5CGYyQPgp1jFxnw==", | 8943 | "integrity": "sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==", |
8986 | "dev": true, | 8944 | "dev": true, |
8987 | "optional": true | 8945 | "optional": true |
8988 | }, | 8946 | }, |
@@ -9275,6 +9233,7 @@ | |||
9275 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", | 9233 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", |
9276 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", | 9234 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", |
9277 | "dev": true, | 9235 | "dev": true, |
9236 | "optional": true, | ||
9278 | "requires": { | 9237 | "requires": { |
9279 | "base64-js": "^1.3.1", | 9238 | "base64-js": "^1.3.1", |
9280 | "ieee754": "^1.1.13" | 9239 | "ieee754": "^1.1.13" |
@@ -9284,6 +9243,7 @@ | |||
9284 | "version": "1.2.0", | 9243 | "version": "1.2.0", |
9285 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", | 9244 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", |
9286 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", | 9245 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", |
9246 | "dev": true, | ||
9287 | "requires": { | 9247 | "requires": { |
9288 | "buffer-alloc-unsafe": "^1.1.0", | 9248 | "buffer-alloc-unsafe": "^1.1.0", |
9289 | "buffer-fill": "^1.0.0" | 9249 | "buffer-fill": "^1.0.0" |
@@ -9292,7 +9252,8 @@ | |||
9292 | "buffer-alloc-unsafe": { | 9252 | "buffer-alloc-unsafe": { |
9293 | "version": "1.1.0", | 9253 | "version": "1.1.0", |
9294 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", | 9254 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", |
9295 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" | 9255 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", |
9256 | "dev": true | ||
9296 | }, | 9257 | }, |
9297 | "buffer-crc32": { | 9258 | "buffer-crc32": { |
9298 | "version": "0.2.13", | 9259 | "version": "0.2.13", |
@@ -9314,12 +9275,14 @@ | |||
9314 | "buffer-fill": { | 9275 | "buffer-fill": { |
9315 | "version": "1.0.0", | 9276 | "version": "1.0.0", |
9316 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", | 9277 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", |
9317 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" | 9278 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", |
9279 | "dev": true | ||
9318 | }, | 9280 | }, |
9319 | "buffer-from": { | 9281 | "buffer-from": { |
9320 | "version": "1.1.2", | 9282 | "version": "1.1.2", |
9321 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", | 9283 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", |
9322 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" | 9284 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", |
9285 | "dev": true | ||
9323 | }, | 9286 | }, |
9324 | "buffer-indexof": { | 9287 | "buffer-indexof": { |
9325 | "version": "1.1.1", | 9288 | "version": "1.1.1", |
@@ -9334,9 +9297,9 @@ | |||
9334 | "dev": true | 9297 | "dev": true |
9335 | }, | 9298 | }, |
9336 | "builder-util": { | 9299 | "builder-util": { |
9337 | "version": "22.11.11", | 9300 | "version": "22.12.1", |
9338 | "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.11.11.tgz", | 9301 | "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.12.1.tgz", |
9339 | "integrity": "sha512-2UJjOuPXhix68mmQ9hkv9G52Y0EVB8RPjlJF61jr3/tLIyd3UiJmEEhKttu8F+JVHKj8myz1MWw2/keJE/Nh+w==", | 9302 | "integrity": "sha512-w0XF84saZZ8GLXy75tL1UzKEVCRHTIi/0NYV5WDqAUXLQWYWZr1m0TfsMXwD2+3TfzCAcavctzcpprm8Iw3gcQ==", |
9340 | "dev": true, | 9303 | "dev": true, |
9341 | "requires": { | 9304 | "requires": { |
9342 | "7zip-bin": "~5.1.1", | 9305 | "7zip-bin": "~5.1.1", |
@@ -9346,6 +9309,7 @@ | |||
9346 | "bluebird-lst": "^1.0.9", | 9309 | "bluebird-lst": "^1.0.9", |
9347 | "builder-util-runtime": "8.7.10", | 9310 | "builder-util-runtime": "8.7.10", |
9348 | "chalk": "^4.1.1", | 9311 | "chalk": "^4.1.1", |
9312 | "cross-spawn": "^7.0.3", | ||
9349 | "debug": "^4.3.2", | 9313 | "debug": "^4.3.2", |
9350 | "fs-extra": "^10.0.0", | 9314 | "fs-extra": "^10.0.0", |
9351 | "is-ci": "^3.0.0", | 9315 | "is-ci": "^3.0.0", |
@@ -9399,12 +9363,44 @@ | |||
9399 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | 9363 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", |
9400 | "dev": true | 9364 | "dev": true |
9401 | }, | 9365 | }, |
9366 | "cross-spawn": { | ||
9367 | "version": "7.0.3", | ||
9368 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", | ||
9369 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", | ||
9370 | "dev": true, | ||
9371 | "requires": { | ||
9372 | "path-key": "^3.1.0", | ||
9373 | "shebang-command": "^2.0.0", | ||
9374 | "which": "^2.0.1" | ||
9375 | } | ||
9376 | }, | ||
9402 | "has-flag": { | 9377 | "has-flag": { |
9403 | "version": "4.0.0", | 9378 | "version": "4.0.0", |
9404 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | 9379 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", |
9405 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | 9380 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", |
9406 | "dev": true | 9381 | "dev": true |
9407 | }, | 9382 | }, |
9383 | "path-key": { | ||
9384 | "version": "3.1.1", | ||
9385 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", | ||
9386 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", | ||
9387 | "dev": true | ||
9388 | }, | ||
9389 | "shebang-command": { | ||
9390 | "version": "2.0.0", | ||
9391 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", | ||
9392 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", | ||
9393 | "dev": true, | ||
9394 | "requires": { | ||
9395 | "shebang-regex": "^3.0.0" | ||
9396 | } | ||
9397 | }, | ||
9398 | "shebang-regex": { | ||
9399 | "version": "3.0.0", | ||
9400 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", | ||
9401 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", | ||
9402 | "dev": true | ||
9403 | }, | ||
9408 | "supports-color": { | 9404 | "supports-color": { |
9409 | "version": "7.2.0", | 9405 | "version": "7.2.0", |
9410 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | 9406 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
@@ -9413,6 +9409,15 @@ | |||
9413 | "requires": { | 9409 | "requires": { |
9414 | "has-flag": "^4.0.0" | 9410 | "has-flag": "^4.0.0" |
9415 | } | 9411 | } |
9412 | }, | ||
9413 | "which": { | ||
9414 | "version": "2.0.2", | ||
9415 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", | ||
9416 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", | ||
9417 | "dev": true, | ||
9418 | "requires": { | ||
9419 | "isexe": "^2.0.0" | ||
9420 | } | ||
9416 | } | 9421 | } |
9417 | } | 9422 | } |
9418 | }, | 9423 | }, |
@@ -9602,12 +9607,6 @@ | |||
9602 | } | 9607 | } |
9603 | } | 9608 | } |
9604 | }, | 9609 | }, |
9605 | "cacheable-lookup": { | ||
9606 | "version": "5.0.4", | ||
9607 | "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", | ||
9608 | "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", | ||
9609 | "dev": true | ||
9610 | }, | ||
9611 | "cacheable-request": { | 9610 | "cacheable-request": { |
9612 | "version": "6.1.0", | 9611 | "version": "6.1.0", |
9613 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", | 9612 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", |
@@ -9683,6 +9682,7 @@ | |||
9683 | "version": "3.0.0", | 9682 | "version": "3.0.0", |
9684 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", | 9683 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", |
9685 | "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", | 9684 | "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", |
9685 | "dev": true, | ||
9686 | "requires": { | 9686 | "requires": { |
9687 | "no-case": "^2.2.0", | 9687 | "no-case": "^2.2.0", |
9688 | "upper-case": "^1.1.1" | 9688 | "upper-case": "^1.1.1" |
@@ -9706,9 +9706,9 @@ | |||
9706 | } | 9706 | } |
9707 | }, | 9707 | }, |
9708 | "caniuse-lite": { | 9708 | "caniuse-lite": { |
9709 | "version": "1.0.30001249", | 9709 | "version": "1.0.30001251", |
9710 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", | 9710 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz", |
9711 | "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", | 9711 | "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==", |
9712 | "dev": true | 9712 | "dev": true |
9713 | }, | 9713 | }, |
9714 | "caseless": { | 9714 | "caseless": { |
@@ -9935,6 +9935,7 @@ | |||
9935 | "version": "4.2.3", | 9935 | "version": "4.2.3", |
9936 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", | 9936 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", |
9937 | "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", | 9937 | "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", |
9938 | "dev": true, | ||
9938 | "requires": { | 9939 | "requires": { |
9939 | "source-map": "~0.6.0" | 9940 | "source-map": "~0.6.0" |
9940 | }, | 9941 | }, |
@@ -9942,7 +9943,8 @@ | |||
9942 | "source-map": { | 9943 | "source-map": { |
9943 | "version": "0.6.1", | 9944 | "version": "0.6.1", |
9944 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | 9945 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", |
9945 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" | 9946 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", |
9947 | "dev": true | ||
9946 | } | 9948 | } |
9947 | } | 9949 | } |
9948 | }, | 9950 | }, |
@@ -9967,12 +9969,6 @@ | |||
9967 | "restore-cursor": "^3.1.0" | 9969 | "restore-cursor": "^3.1.0" |
9968 | } | 9970 | } |
9969 | }, | 9971 | }, |
9970 | "cli-spinners": { | ||
9971 | "version": "2.6.0", | ||
9972 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", | ||
9973 | "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", | ||
9974 | "dev": true | ||
9975 | }, | ||
9976 | "cli-table": { | 9972 | "cli-table": { |
9977 | "version": "0.3.6", | 9973 | "version": "0.3.6", |
9978 | "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", | 9974 | "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", |
@@ -11503,6 +11499,7 @@ | |||
11503 | "version": "1.1.3", | 11499 | "version": "1.1.3", |
11504 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", | 11500 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", |
11505 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", | 11501 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", |
11502 | "dev": true, | ||
11506 | "requires": { | 11503 | "requires": { |
11507 | "mdn-data": "2.0.14", | 11504 | "mdn-data": "2.0.14", |
11508 | "source-map": "^0.6.1" | 11505 | "source-map": "^0.6.1" |
@@ -11511,7 +11508,8 @@ | |||
11511 | "source-map": { | 11508 | "source-map": { |
11512 | "version": "0.6.1", | 11509 | "version": "0.6.1", |
11513 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | 11510 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", |
11514 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" | 11511 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", |
11512 | "dev": true | ||
11515 | } | 11513 | } |
11516 | } | 11514 | } |
11517 | }, | 11515 | }, |
@@ -11533,6 +11531,7 @@ | |||
11533 | "version": "4.2.0", | 11531 | "version": "4.2.0", |
11534 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", | 11532 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", |
11535 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", | 11533 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", |
11534 | "dev": true, | ||
11536 | "requires": { | 11535 | "requires": { |
11537 | "css-tree": "^1.1.2" | 11536 | "css-tree": "^1.1.2" |
11538 | } | 11537 | } |
@@ -12090,13 +12089,13 @@ | |||
12090 | } | 12089 | } |
12091 | }, | 12090 | }, |
12092 | "dmg-builder": { | 12091 | "dmg-builder": { |
12093 | "version": "22.12.0", | 12092 | "version": "22.12.1", |
12094 | "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.12.0.tgz", | 12093 | "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.12.1.tgz", |
12095 | "integrity": "sha512-5MANoNVctpiN536BLNDQp/gDk2BLRe23LE+RbOSt3I8b65V6mtvekjNiyUU5M+/UAbAzCcOZcCcaV3jDBuapaw==", | 12094 | "integrity": "sha512-keh9hGtqZ6weOyFg7wd8VYS7U5oYKFzeOEDoEc5ciiaLHfYKqFbJskvCOM2+aA7One92hZMwaIhMNoEug+jsbw==", |
12096 | "dev": true, | 12095 | "dev": true, |
12097 | "requires": { | 12096 | "requires": { |
12098 | "app-builder-lib": "22.12.0", | 12097 | "app-builder-lib": "22.12.1", |
12099 | "builder-util": "22.11.11", | 12098 | "builder-util": "22.12.1", |
12100 | "builder-util-runtime": "8.7.10", | 12099 | "builder-util-runtime": "8.7.10", |
12101 | "dmg-license": "^1.0.9", | 12100 | "dmg-license": "^1.0.9", |
12102 | "fs-extra": "^10.0.0", | 12101 | "fs-extra": "^10.0.0", |
@@ -12308,18 +12307,11 @@ | |||
12308 | "dev": true | 12307 | "dev": true |
12309 | }, | 12308 | }, |
12310 | "du": { | 12309 | "du": { |
12311 | "version": "0.1.0", | 12310 | "version": "1.0.0", |
12312 | "resolved": "https://registry.npmjs.org/du/-/du-0.1.0.tgz", | 12311 | "resolved": "https://registry.npmjs.org/du/-/du-1.0.0.tgz", |
12313 | "integrity": "sha1-8m40CgnHvFtv1pr2263qYPqMb00=", | 12312 | "integrity": "sha512-w00+6XpIq924IvDLyOOx5HFO4KwH6YV6buqFx6og/ErTaJ34kVOyI+Q2f+X8pvZkDoEgT6xspA4iYSN99mqPDA==", |
12314 | "requires": { | 12313 | "requires": { |
12315 | "async": "~0.1.22" | 12314 | "map-async": "~0.1.1" |
12316 | }, | ||
12317 | "dependencies": { | ||
12318 | "async": { | ||
12319 | "version": "0.1.22", | ||
12320 | "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", | ||
12321 | "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=" | ||
12322 | } | ||
12323 | } | 12315 | } |
12324 | }, | 12316 | }, |
12325 | "duplexer": { | 12317 | "duplexer": { |
@@ -12337,6 +12329,7 @@ | |||
12337 | "version": "4.1.2", | 12329 | "version": "4.1.2", |
12338 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", | 12330 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", |
12339 | "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", | 12331 | "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", |
12332 | "dev": true, | ||
12340 | "requires": { | 12333 | "requires": { |
12341 | "end-of-stream": "^1.4.1", | 12334 | "end-of-stream": "^1.4.1", |
12342 | "inherits": "^2.0.3", | 12335 | "inherits": "^2.0.3", |
@@ -12412,9 +12405,9 @@ | |||
12412 | } | 12405 | } |
12413 | }, | 12406 | }, |
12414 | "electron": { | 12407 | "electron": { |
12415 | "version": "13.1.9", | 12408 | "version": "13.2.2", |
12416 | "resolved": "https://registry.npmjs.org/electron/-/electron-13.1.9.tgz", | 12409 | "resolved": "https://registry.npmjs.org/electron/-/electron-13.2.2.tgz", |
12417 | "integrity": "sha512-By4Zb72XNQLrPb70BXdIW3NtEHFwybP5DIQjohnCxOYONq5vojuHjNcTuWnBgMvwQ2qwykk6Tw5EwF2Pt0CWjA==", | 12410 | "integrity": "sha512-thGq2YaZqQWK1HexRghxdb26a8hA7ZSebukUSHlnHrY9+Sx9rW7e3uEHbibk/seRXVoXO76HndjKdHyObP9/Kw==", |
12418 | "dev": true, | 12411 | "dev": true, |
12419 | "requires": { | 12412 | "requires": { |
12420 | "@electron/get": "^1.0.1", | 12413 | "@electron/get": "^1.0.1", |
@@ -12423,17 +12416,17 @@ | |||
12423 | } | 12416 | } |
12424 | }, | 12417 | }, |
12425 | "electron-builder": { | 12418 | "electron-builder": { |
12426 | "version": "22.12.0", | 12419 | "version": "22.12.1", |
12427 | "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.12.0.tgz", | 12420 | "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.12.1.tgz", |
12428 | "integrity": "sha512-X6YA0R6oYsS2iy+u0w3Sdm7u9rTo4JggD/jabKG34nZ0Hs5/iPAHBkcVvXqiFdMvnywbh1jm/aaf4PWW6XNMHw==", | 12421 | "integrity": "sha512-WttcOgfO5uy9OgKAWE3Yy2oiz39bTNXaKC3dKrwtKq0MaZL8DDvNGRNkFiZutOIF4wAUfwyG7Pm0KbI8Hl44Gw==", |
12429 | "dev": true, | 12422 | "dev": true, |
12430 | "requires": { | 12423 | "requires": { |
12431 | "@types/yargs": "^17.0.1", | 12424 | "@types/yargs": "^17.0.1", |
12432 | "app-builder-lib": "22.12.0", | 12425 | "app-builder-lib": "22.12.1", |
12433 | "builder-util": "22.11.11", | 12426 | "builder-util": "22.12.1", |
12434 | "builder-util-runtime": "8.7.10", | 12427 | "builder-util-runtime": "8.7.10", |
12435 | "chalk": "^4.1.1", | 12428 | "chalk": "^4.1.1", |
12436 | "dmg-builder": "22.12.0", | 12429 | "dmg-builder": "22.12.1", |
12437 | "fs-extra": "^10.0.0", | 12430 | "fs-extra": "^10.0.0", |
12438 | "is-ci": "^3.0.0", | 12431 | "is-ci": "^3.0.0", |
12439 | "lazy-val": "^1.0.5", | 12432 | "lazy-val": "^1.0.5", |
@@ -12568,9 +12561,9 @@ | |||
12568 | "dev": true | 12561 | "dev": true |
12569 | }, | 12562 | }, |
12570 | "yargs": { | 12563 | "yargs": { |
12571 | "version": "17.1.0", | 12564 | "version": "17.1.1", |
12572 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.0.tgz", | 12565 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", |
12573 | "integrity": "sha512-SQr7qqmQ2sNijjJGHL4u7t8vyDZdZ3Ahkmo4sc1w5xI9TBX0QDdG/g4SFnxtWOsGLjwHQue57eFALfwFCnixgg==", | 12566 | "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", |
12574 | "dev": true, | 12567 | "dev": true, |
12575 | "requires": { | 12568 | "requires": { |
12576 | "cliui": "^7.0.2", | 12569 | "cliui": "^7.0.2", |
@@ -12699,13 +12692,13 @@ | |||
12699 | } | 12692 | } |
12700 | }, | 12693 | }, |
12701 | "electron-publish": { | 12694 | "electron-publish": { |
12702 | "version": "22.11.11", | 12695 | "version": "22.12.1", |
12703 | "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.11.11.tgz", | 12696 | "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.12.1.tgz", |
12704 | "integrity": "sha512-XINI2yz7DpForvLDENr1zfi6yW+O3ufeIgNCg/nkqiD3tBM44AokgY3aYURzsi93ZwFscoQkR2LhmHDvn30oAw==", | 12697 | "integrity": "sha512-863+dgShqdmfelCfteR2xkkHch9bPtmIdD1IDLPzL3+43HdEz0oGvRnRJTBKzLrI94D3CNOM4OoPUj3L2JMLqw==", |
12705 | "dev": true, | 12698 | "dev": true, |
12706 | "requires": { | 12699 | "requires": { |
12707 | "@types/fs-extra": "^9.0.11", | 12700 | "@types/fs-extra": "^9.0.11", |
12708 | "builder-util": "22.11.11", | 12701 | "builder-util": "22.12.1", |
12709 | "builder-util-runtime": "8.7.10", | 12702 | "builder-util-runtime": "8.7.10", |
12710 | "chalk": "^4.1.1", | 12703 | "chalk": "^4.1.1", |
12711 | "fs-extra": "^10.0.0", | 12704 | "fs-extra": "^10.0.0", |
@@ -12790,407 +12783,6 @@ | |||
12790 | "react-virtualized": "^9.7.6" | 12783 | "react-virtualized": "^9.7.6" |
12791 | } | 12784 | } |
12792 | }, | 12785 | }, |
12793 | "electron-rebuild": { | ||
12794 | "version": "2.3.5", | ||
12795 | "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-2.3.5.tgz", | ||
12796 | "integrity": "sha512-1sQ1DRtQGpglFhc3urD4olMJzt/wxlbnAAsf+WY2xHf5c50ZovivZvCXSpVgTOP9f4TzOMvelWyspyfhxQKHzQ==", | ||
12797 | "dev": true, | ||
12798 | "requires": { | ||
12799 | "@malept/cross-spawn-promise": "^1.1.1", | ||
12800 | "colors": "^1.3.3", | ||
12801 | "debug": "^4.1.1", | ||
12802 | "detect-libc": "^1.0.3", | ||
12803 | "fs-extra": "^9.0.1", | ||
12804 | "got": "^11.7.0", | ||
12805 | "lzma-native": "^6.0.1", | ||
12806 | "node-abi": "^2.19.2", | ||
12807 | "node-gyp": "^7.1.0", | ||
12808 | "ora": "^5.1.0", | ||
12809 | "tar": "^6.0.5", | ||
12810 | "yargs": "^16.0.0" | ||
12811 | }, | ||
12812 | "dependencies": { | ||
12813 | "@sindresorhus/is": { | ||
12814 | "version": "4.0.1", | ||
12815 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", | ||
12816 | "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==", | ||
12817 | "dev": true | ||
12818 | }, | ||
12819 | "@szmarczak/http-timer": { | ||
12820 | "version": "4.0.6", | ||
12821 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", | ||
12822 | "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", | ||
12823 | "dev": true, | ||
12824 | "requires": { | ||
12825 | "defer-to-connect": "^2.0.0" | ||
12826 | } | ||
12827 | }, | ||
12828 | "ansi-regex": { | ||
12829 | "version": "5.0.0", | ||
12830 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||
12831 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", | ||
12832 | "dev": true | ||
12833 | }, | ||
12834 | "ansi-styles": { | ||
12835 | "version": "4.3.0", | ||
12836 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | ||
12837 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | ||
12838 | "dev": true, | ||
12839 | "requires": { | ||
12840 | "color-convert": "^2.0.1" | ||
12841 | } | ||
12842 | }, | ||
12843 | "cacheable-request": { | ||
12844 | "version": "7.0.2", | ||
12845 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", | ||
12846 | "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", | ||
12847 | "dev": true, | ||
12848 | "requires": { | ||
12849 | "clone-response": "^1.0.2", | ||
12850 | "get-stream": "^5.1.0", | ||
12851 | "http-cache-semantics": "^4.0.0", | ||
12852 | "keyv": "^4.0.0", | ||
12853 | "lowercase-keys": "^2.0.0", | ||
12854 | "normalize-url": "^6.0.1", | ||
12855 | "responselike": "^2.0.0" | ||
12856 | } | ||
12857 | }, | ||
12858 | "chownr": { | ||
12859 | "version": "2.0.0", | ||
12860 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", | ||
12861 | "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", | ||
12862 | "dev": true | ||
12863 | }, | ||
12864 | "cliui": { | ||
12865 | "version": "7.0.4", | ||
12866 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", | ||
12867 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", | ||
12868 | "dev": true, | ||
12869 | "requires": { | ||
12870 | "string-width": "^4.2.0", | ||
12871 | "strip-ansi": "^6.0.0", | ||
12872 | "wrap-ansi": "^7.0.0" | ||
12873 | } | ||
12874 | }, | ||
12875 | "color-convert": { | ||
12876 | "version": "2.0.1", | ||
12877 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||
12878 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||
12879 | "dev": true, | ||
12880 | "requires": { | ||
12881 | "color-name": "~1.1.4" | ||
12882 | } | ||
12883 | }, | ||
12884 | "color-name": { | ||
12885 | "version": "1.1.4", | ||
12886 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||
12887 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | ||
12888 | "dev": true | ||
12889 | }, | ||
12890 | "colors": { | ||
12891 | "version": "1.4.0", | ||
12892 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", | ||
12893 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", | ||
12894 | "dev": true | ||
12895 | }, | ||
12896 | "decompress-response": { | ||
12897 | "version": "6.0.0", | ||
12898 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", | ||
12899 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", | ||
12900 | "dev": true, | ||
12901 | "requires": { | ||
12902 | "mimic-response": "^3.1.0" | ||
12903 | } | ||
12904 | }, | ||
12905 | "defer-to-connect": { | ||
12906 | "version": "2.0.1", | ||
12907 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", | ||
12908 | "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", | ||
12909 | "dev": true | ||
12910 | }, | ||
12911 | "fs-extra": { | ||
12912 | "version": "9.1.0", | ||
12913 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", | ||
12914 | "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", | ||
12915 | "dev": true, | ||
12916 | "requires": { | ||
12917 | "at-least-node": "^1.0.0", | ||
12918 | "graceful-fs": "^4.2.0", | ||
12919 | "jsonfile": "^6.0.1", | ||
12920 | "universalify": "^2.0.0" | ||
12921 | } | ||
12922 | }, | ||
12923 | "fs-minipass": { | ||
12924 | "version": "2.1.0", | ||
12925 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", | ||
12926 | "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", | ||
12927 | "dev": true, | ||
12928 | "requires": { | ||
12929 | "minipass": "^3.0.0" | ||
12930 | } | ||
12931 | }, | ||
12932 | "get-caller-file": { | ||
12933 | "version": "2.0.5", | ||
12934 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", | ||
12935 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", | ||
12936 | "dev": true | ||
12937 | }, | ||
12938 | "get-stream": { | ||
12939 | "version": "5.2.0", | ||
12940 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", | ||
12941 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", | ||
12942 | "dev": true, | ||
12943 | "requires": { | ||
12944 | "pump": "^3.0.0" | ||
12945 | } | ||
12946 | }, | ||
12947 | "glob": { | ||
12948 | "version": "7.1.7", | ||
12949 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", | ||
12950 | "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", | ||
12951 | "dev": true, | ||
12952 | "requires": { | ||
12953 | "fs.realpath": "^1.0.0", | ||
12954 | "inflight": "^1.0.4", | ||
12955 | "inherits": "2", | ||
12956 | "minimatch": "^3.0.4", | ||
12957 | "once": "^1.3.0", | ||
12958 | "path-is-absolute": "^1.0.0" | ||
12959 | } | ||
12960 | }, | ||
12961 | "got": { | ||
12962 | "version": "11.8.2", | ||
12963 | "resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz", | ||
12964 | "integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==", | ||
12965 | "dev": true, | ||
12966 | "requires": { | ||
12967 | "@sindresorhus/is": "^4.0.0", | ||
12968 | "@szmarczak/http-timer": "^4.0.5", | ||
12969 | "@types/cacheable-request": "^6.0.1", | ||
12970 | "@types/responselike": "^1.0.0", | ||
12971 | "cacheable-lookup": "^5.0.3", | ||
12972 | "cacheable-request": "^7.0.1", | ||
12973 | "decompress-response": "^6.0.0", | ||
12974 | "http2-wrapper": "^1.0.0-beta.5.2", | ||
12975 | "lowercase-keys": "^2.0.0", | ||
12976 | "p-cancelable": "^2.0.0", | ||
12977 | "responselike": "^2.0.0" | ||
12978 | } | ||
12979 | }, | ||
12980 | "is-fullwidth-code-point": { | ||
12981 | "version": "3.0.0", | ||
12982 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | ||
12983 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", | ||
12984 | "dev": true | ||
12985 | }, | ||
12986 | "json-buffer": { | ||
12987 | "version": "3.0.1", | ||
12988 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", | ||
12989 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", | ||
12990 | "dev": true | ||
12991 | }, | ||
12992 | "jsonfile": { | ||
12993 | "version": "6.1.0", | ||
12994 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", | ||
12995 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", | ||
12996 | "dev": true, | ||
12997 | "requires": { | ||
12998 | "graceful-fs": "^4.1.6", | ||
12999 | "universalify": "^2.0.0" | ||
13000 | } | ||
13001 | }, | ||
13002 | "keyv": { | ||
13003 | "version": "4.0.3", | ||
13004 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", | ||
13005 | "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", | ||
13006 | "dev": true, | ||
13007 | "requires": { | ||
13008 | "json-buffer": "3.0.1" | ||
13009 | } | ||
13010 | }, | ||
13011 | "lowercase-keys": { | ||
13012 | "version": "2.0.0", | ||
13013 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", | ||
13014 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", | ||
13015 | "dev": true | ||
13016 | }, | ||
13017 | "mimic-response": { | ||
13018 | "version": "3.1.0", | ||
13019 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", | ||
13020 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", | ||
13021 | "dev": true | ||
13022 | }, | ||
13023 | "minipass": { | ||
13024 | "version": "3.1.3", | ||
13025 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", | ||
13026 | "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", | ||
13027 | "dev": true, | ||
13028 | "requires": { | ||
13029 | "yallist": "^4.0.0" | ||
13030 | } | ||
13031 | }, | ||
13032 | "minizlib": { | ||
13033 | "version": "2.1.2", | ||
13034 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", | ||
13035 | "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", | ||
13036 | "dev": true, | ||
13037 | "requires": { | ||
13038 | "minipass": "^3.0.0", | ||
13039 | "yallist": "^4.0.0" | ||
13040 | } | ||
13041 | }, | ||
13042 | "mkdirp": { | ||
13043 | "version": "1.0.4", | ||
13044 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", | ||
13045 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", | ||
13046 | "dev": true | ||
13047 | }, | ||
13048 | "node-gyp": { | ||
13049 | "version": "7.1.2", | ||
13050 | "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", | ||
13051 | "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", | ||
13052 | "dev": true, | ||
13053 | "requires": { | ||
13054 | "env-paths": "^2.2.0", | ||
13055 | "glob": "^7.1.4", | ||
13056 | "graceful-fs": "^4.2.3", | ||
13057 | "nopt": "^5.0.0", | ||
13058 | "npmlog": "^4.1.2", | ||
13059 | "request": "^2.88.2", | ||
13060 | "rimraf": "^3.0.2", | ||
13061 | "semver": "^7.3.2", | ||
13062 | "tar": "^6.0.2", | ||
13063 | "which": "^2.0.2" | ||
13064 | } | ||
13065 | }, | ||
13066 | "nopt": { | ||
13067 | "version": "5.0.0", | ||
13068 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", | ||
13069 | "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", | ||
13070 | "dev": true, | ||
13071 | "requires": { | ||
13072 | "abbrev": "1" | ||
13073 | } | ||
13074 | }, | ||
13075 | "p-cancelable": { | ||
13076 | "version": "2.1.1", | ||
13077 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", | ||
13078 | "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", | ||
13079 | "dev": true | ||
13080 | }, | ||
13081 | "responselike": { | ||
13082 | "version": "2.0.0", | ||
13083 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", | ||
13084 | "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", | ||
13085 | "dev": true, | ||
13086 | "requires": { | ||
13087 | "lowercase-keys": "^2.0.0" | ||
13088 | } | ||
13089 | }, | ||
13090 | "rimraf": { | ||
13091 | "version": "3.0.2", | ||
13092 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", | ||
13093 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", | ||
13094 | "dev": true, | ||
13095 | "requires": { | ||
13096 | "glob": "^7.1.3" | ||
13097 | } | ||
13098 | }, | ||
13099 | "string-width": { | ||
13100 | "version": "4.2.2", | ||
13101 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", | ||
13102 | "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", | ||
13103 | "dev": true, | ||
13104 | "requires": { | ||
13105 | "emoji-regex": "^8.0.0", | ||
13106 | "is-fullwidth-code-point": "^3.0.0", | ||
13107 | "strip-ansi": "^6.0.0" | ||
13108 | } | ||
13109 | }, | ||
13110 | "strip-ansi": { | ||
13111 | "version": "6.0.0", | ||
13112 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||
13113 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||
13114 | "dev": true, | ||
13115 | "requires": { | ||
13116 | "ansi-regex": "^5.0.0" | ||
13117 | } | ||
13118 | }, | ||
13119 | "tar": { | ||
13120 | "version": "6.1.6", | ||
13121 | "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.6.tgz", | ||
13122 | "integrity": "sha512-oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==", | ||
13123 | "dev": true, | ||
13124 | "requires": { | ||
13125 | "chownr": "^2.0.0", | ||
13126 | "fs-minipass": "^2.0.0", | ||
13127 | "minipass": "^3.0.0", | ||
13128 | "minizlib": "^2.1.1", | ||
13129 | "mkdirp": "^1.0.3", | ||
13130 | "yallist": "^4.0.0" | ||
13131 | } | ||
13132 | }, | ||
13133 | "universalify": { | ||
13134 | "version": "2.0.0", | ||
13135 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", | ||
13136 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", | ||
13137 | "dev": true | ||
13138 | }, | ||
13139 | "which": { | ||
13140 | "version": "2.0.2", | ||
13141 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", | ||
13142 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", | ||
13143 | "dev": true, | ||
13144 | "requires": { | ||
13145 | "isexe": "^2.0.0" | ||
13146 | } | ||
13147 | }, | ||
13148 | "wrap-ansi": { | ||
13149 | "version": "7.0.0", | ||
13150 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", | ||
13151 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", | ||
13152 | "dev": true, | ||
13153 | "requires": { | ||
13154 | "ansi-styles": "^4.0.0", | ||
13155 | "string-width": "^4.1.0", | ||
13156 | "strip-ansi": "^6.0.0" | ||
13157 | } | ||
13158 | }, | ||
13159 | "y18n": { | ||
13160 | "version": "5.0.8", | ||
13161 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", | ||
13162 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", | ||
13163 | "dev": true | ||
13164 | }, | ||
13165 | "yallist": { | ||
13166 | "version": "4.0.0", | ||
13167 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||
13168 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", | ||
13169 | "dev": true | ||
13170 | }, | ||
13171 | "yargs": { | ||
13172 | "version": "16.2.0", | ||
13173 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", | ||
13174 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", | ||
13175 | "dev": true, | ||
13176 | "requires": { | ||
13177 | "cliui": "^7.0.2", | ||
13178 | "escalade": "^3.1.1", | ||
13179 | "get-caller-file": "^2.0.5", | ||
13180 | "require-directory": "^2.1.1", | ||
13181 | "string-width": "^4.2.0", | ||
13182 | "y18n": "^5.0.5", | ||
13183 | "yargs-parser": "^20.2.2" | ||
13184 | } | ||
13185 | }, | ||
13186 | "yargs-parser": { | ||
13187 | "version": "20.2.9", | ||
13188 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", | ||
13189 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", | ||
13190 | "dev": true | ||
13191 | } | ||
13192 | } | ||
13193 | }, | ||
13194 | "electron-to-chromium": { | 12786 | "electron-to-chromium": { |
13195 | "version": "1.3.799", | 12787 | "version": "1.3.799", |
13196 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.799.tgz", | 12788 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.799.tgz", |
@@ -13897,36 +13489,30 @@ | |||
13897 | "dev": true | 13489 | "dev": true |
13898 | }, | 13490 | }, |
13899 | "eslint-import-resolver-node": { | 13491 | "eslint-import-resolver-node": { |
13900 | "version": "0.3.4", | 13492 | "version": "0.3.5", |
13901 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", | 13493 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.5.tgz", |
13902 | "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", | 13494 | "integrity": "sha512-XMoPKjSpXbkeJ7ZZ9icLnJMTY5Mc1kZbCakHquaFsXPpyWOwK0TK6CODO+0ca54UoM9LKOxyUNnoVZRl8TeaAg==", |
13903 | "dev": true, | 13495 | "dev": true, |
13904 | "requires": { | 13496 | "requires": { |
13905 | "debug": "^2.6.9", | 13497 | "debug": "^3.2.7", |
13906 | "resolve": "^1.13.1" | 13498 | "resolve": "^1.20.0" |
13907 | }, | 13499 | }, |
13908 | "dependencies": { | 13500 | "dependencies": { |
13909 | "debug": { | 13501 | "debug": { |
13910 | "version": "2.6.9", | 13502 | "version": "3.2.7", |
13911 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 13503 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", |
13912 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | 13504 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", |
13913 | "dev": true, | 13505 | "dev": true, |
13914 | "requires": { | 13506 | "requires": { |
13915 | "ms": "2.0.0" | 13507 | "ms": "^2.1.1" |
13916 | } | 13508 | } |
13917 | }, | ||
13918 | "ms": { | ||
13919 | "version": "2.0.0", | ||
13920 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
13921 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | ||
13922 | "dev": true | ||
13923 | } | 13509 | } |
13924 | } | 13510 | } |
13925 | }, | 13511 | }, |
13926 | "eslint-module-utils": { | 13512 | "eslint-module-utils": { |
13927 | "version": "2.6.1", | 13513 | "version": "2.6.2", |
13928 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz", | 13514 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz", |
13929 | "integrity": "sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==", | 13515 | "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==", |
13930 | "dev": true, | 13516 | "dev": true, |
13931 | "requires": { | 13517 | "requires": { |
13932 | "debug": "^3.2.7", | 13518 | "debug": "^3.2.7", |
@@ -14003,17 +13589,17 @@ | |||
14003 | } | 13589 | } |
14004 | }, | 13590 | }, |
14005 | "eslint-plugin-import": { | 13591 | "eslint-plugin-import": { |
14006 | "version": "2.23.4", | 13592 | "version": "2.24.0", |
14007 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz", | 13593 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.0.tgz", |
14008 | "integrity": "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==", | 13594 | "integrity": "sha512-Kc6xqT9hiYi2cgybOc0I2vC9OgAYga5o/rAFinam/yF/t5uBqxQbauNPMC6fgb640T/89P0gFoO27FOilJ/Cqg==", |
14009 | "dev": true, | 13595 | "dev": true, |
14010 | "requires": { | 13596 | "requires": { |
14011 | "array-includes": "^3.1.3", | 13597 | "array-includes": "^3.1.3", |
14012 | "array.prototype.flat": "^1.2.4", | 13598 | "array.prototype.flat": "^1.2.4", |
14013 | "debug": "^2.6.9", | 13599 | "debug": "^2.6.9", |
14014 | "doctrine": "^2.1.0", | 13600 | "doctrine": "^2.1.0", |
14015 | "eslint-import-resolver-node": "^0.3.4", | 13601 | "eslint-import-resolver-node": "^0.3.5", |
14016 | "eslint-module-utils": "^2.6.1", | 13602 | "eslint-module-utils": "^2.6.2", |
14017 | "find-up": "^2.0.0", | 13603 | "find-up": "^2.0.0", |
14018 | "has": "^1.0.3", | 13604 | "has": "^1.0.3", |
14019 | "is-core-module": "^2.4.0", | 13605 | "is-core-module": "^2.4.0", |
@@ -15318,7 +14904,8 @@ | |||
15318 | "fork-stream": { | 14904 | "fork-stream": { |
15319 | "version": "0.0.4", | 14905 | "version": "0.0.4", |
15320 | "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz", | 14906 | "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz", |
15321 | "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=" | 14907 | "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=", |
14908 | "dev": true | ||
15322 | }, | 14909 | }, |
15323 | "form-data": { | 14910 | "form-data": { |
15324 | "version": "2.3.3", | 14911 | "version": "2.3.3", |
@@ -15389,11 +14976,6 @@ | |||
15389 | } | 14976 | } |
15390 | } | 14977 | } |
15391 | }, | 14978 | }, |
15392 | "fs-constants": { | ||
15393 | "version": "1.0.0", | ||
15394 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", | ||
15395 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" | ||
15396 | }, | ||
15397 | "fs-extra": { | 14979 | "fs-extra": { |
15398 | "version": "10.0.0", | 14980 | "version": "10.0.0", |
15399 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", | 14981 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", |
@@ -15897,9 +15479,9 @@ | |||
15897 | }, | 15479 | }, |
15898 | "dependencies": { | 15480 | "dependencies": { |
15899 | "core-js": { | 15481 | "core-js": { |
15900 | "version": "3.16.1", | 15482 | "version": "3.16.2", |
15901 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.1.tgz", | 15483 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.2.tgz", |
15902 | "integrity": "sha512-AAkP8i35EbefU+JddyWi12AWE9f2N/qr/pwnDtWz4nyUIBGMJPX99ANFFRSw6FefM374lDujdtLDyhN2A/btHw==", | 15484 | "integrity": "sha512-P0KPukO6OjMpjBtHSceAZEWlDD1M2Cpzpg6dBbrjFqFhBHe/BwhxaP820xKOjRn/lZRQirrCusIpLS/n2sgXLQ==", |
15903 | "dev": true, | 15485 | "dev": true, |
15904 | "optional": true | 15486 | "optional": true |
15905 | } | 15487 | } |
@@ -15991,6 +15573,7 @@ | |||
15991 | "version": "1.0.2", | 15573 | "version": "1.0.2", |
15992 | "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", | 15574 | "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", |
15993 | "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", | 15575 | "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", |
15576 | "dev": true, | ||
15994 | "requires": { | 15577 | "requires": { |
15995 | "sparkles": "^1.0.0" | 15578 | "sparkles": "^1.0.0" |
15996 | } | 15579 | } |
@@ -16371,6 +15954,7 @@ | |||
16371 | "version": "4.0.1", | 15954 | "version": "4.0.1", |
16372 | "resolved": "https://registry.npmjs.org/gulp-csso/-/gulp-csso-4.0.1.tgz", | 15955 | "resolved": "https://registry.npmjs.org/gulp-csso/-/gulp-csso-4.0.1.tgz", |
16373 | "integrity": "sha512-Kg8gqmd6XcUlMTdBbqdCEcpHumc8ytc4khgm9AXeCjl8eHx7b6tC11y8haizFI+Zw/cSHL6HCj7GwGLwxxBUFQ==", | 15956 | "integrity": "sha512-Kg8gqmd6XcUlMTdBbqdCEcpHumc8ytc4khgm9AXeCjl8eHx7b6tC11y8haizFI+Zw/cSHL6HCj7GwGLwxxBUFQ==", |
15957 | "dev": true, | ||
16374 | "requires": { | 15958 | "requires": { |
16375 | "csso": "^4.0.0", | 15959 | "csso": "^4.0.0", |
16376 | "plugin-error": "^1.0.0", | 15960 | "plugin-error": "^1.0.0", |
@@ -16381,6 +15965,7 @@ | |||
16381 | "version": "5.0.1", | 15965 | "version": "5.0.1", |
16382 | "resolved": "https://registry.npmjs.org/gulp-htmlmin/-/gulp-htmlmin-5.0.1.tgz", | 15966 | "resolved": "https://registry.npmjs.org/gulp-htmlmin/-/gulp-htmlmin-5.0.1.tgz", |
16383 | "integrity": "sha512-ASlyDPZOSKjHYUifYV0rf9JPDflN9IRIb8lw2vRqtYMC4ljU3zAmnnaVXwFQ3H+CfXxZSUesZ2x7jrnPJu93jA==", | 15967 | "integrity": "sha512-ASlyDPZOSKjHYUifYV0rf9JPDflN9IRIb8lw2vRqtYMC4ljU3zAmnnaVXwFQ3H+CfXxZSUesZ2x7jrnPJu93jA==", |
15968 | "dev": true, | ||
16384 | "requires": { | 15969 | "requires": { |
16385 | "html-minifier": "^3.5.20", | 15970 | "html-minifier": "^3.5.20", |
16386 | "plugin-error": "^1.0.1", | 15971 | "plugin-error": "^1.0.1", |
@@ -16391,6 +15976,7 @@ | |||
16391 | "version": "3.0.0", | 15976 | "version": "3.0.0", |
16392 | "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-3.0.0.tgz", | 15977 | "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-3.0.0.tgz", |
16393 | "integrity": "sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==", | 15978 | "integrity": "sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==", |
15979 | "dev": true, | ||
16394 | "requires": { | 15980 | "requires": { |
16395 | "gulp-match": "^1.1.0", | 15981 | "gulp-match": "^1.1.0", |
16396 | "ternary-stream": "^3.0.0", | 15982 | "ternary-stream": "^3.0.0", |
@@ -16401,6 +15987,7 @@ | |||
16401 | "version": "3.0.2", | 15987 | "version": "3.0.2", |
16402 | "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", | 15988 | "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", |
16403 | "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", | 15989 | "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", |
15990 | "dev": true, | ||
16404 | "requires": { | 15991 | "requires": { |
16405 | "inherits": "^2.0.4", | 15992 | "inherits": "^2.0.4", |
16406 | "readable-stream": "2 || 3" | 15993 | "readable-stream": "2 || 3" |
@@ -16412,6 +15999,7 @@ | |||
16412 | "version": "1.1.0", | 15999 | "version": "1.1.0", |
16413 | "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz", | 16000 | "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz", |
16414 | "integrity": "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==", | 16001 | "integrity": "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==", |
16002 | "dev": true, | ||
16415 | "requires": { | 16003 | "requires": { |
16416 | "minimatch": "^3.0.3" | 16004 | "minimatch": "^3.0.3" |
16417 | } | 16005 | } |
@@ -16513,10 +16101,49 @@ | |||
16513 | "through2": "^2.0.1" | 16101 | "through2": "^2.0.1" |
16514 | } | 16102 | } |
16515 | }, | 16103 | }, |
16104 | "gulp-typescript": { | ||
16105 | "version": "6.0.0-alpha.1", | ||
16106 | "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-6.0.0-alpha.1.tgz", | ||
16107 | "integrity": "sha512-KoT0TTfjfT7w3JItHkgFH1T/zK4oXWC+a8xxKfniRfVcA0Fa1bKrIhztYelYmb+95RB80OLMBreknYkdwzdi2Q==", | ||
16108 | "dev": true, | ||
16109 | "requires": { | ||
16110 | "ansi-colors": "^4.1.1", | ||
16111 | "plugin-error": "^1.0.1", | ||
16112 | "source-map": "^0.7.3", | ||
16113 | "through2": "^3.0.1", | ||
16114 | "vinyl": "^2.2.0", | ||
16115 | "vinyl-fs": "^3.0.3" | ||
16116 | }, | ||
16117 | "dependencies": { | ||
16118 | "ansi-colors": { | ||
16119 | "version": "4.1.1", | ||
16120 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", | ||
16121 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", | ||
16122 | "dev": true | ||
16123 | }, | ||
16124 | "source-map": { | ||
16125 | "version": "0.7.3", | ||
16126 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", | ||
16127 | "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", | ||
16128 | "dev": true | ||
16129 | }, | ||
16130 | "through2": { | ||
16131 | "version": "3.0.2", | ||
16132 | "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", | ||
16133 | "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", | ||
16134 | "dev": true, | ||
16135 | "requires": { | ||
16136 | "inherits": "^2.0.4", | ||
16137 | "readable-stream": "2 || 3" | ||
16138 | } | ||
16139 | } | ||
16140 | } | ||
16141 | }, | ||
16516 | "gulp-uglify": { | 16142 | "gulp-uglify": { |
16517 | "version": "3.0.2", | 16143 | "version": "3.0.2", |
16518 | "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz", | 16144 | "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz", |
16519 | "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==", | 16145 | "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==", |
16146 | "dev": true, | ||
16520 | "requires": { | 16147 | "requires": { |
16521 | "array-each": "^1.0.1", | 16148 | "array-each": "^1.0.1", |
16522 | "extend-shallow": "^3.0.2", | 16149 | "extend-shallow": "^3.0.2", |
@@ -16534,6 +16161,7 @@ | |||
16534 | "version": "3.0.2", | 16161 | "version": "3.0.2", |
16535 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", | 16162 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", |
16536 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", | 16163 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", |
16164 | "dev": true, | ||
16537 | "requires": { | 16165 | "requires": { |
16538 | "assign-symbols": "^1.0.0", | 16166 | "assign-symbols": "^1.0.0", |
16539 | "is-extendable": "^1.0.1" | 16167 | "is-extendable": "^1.0.1" |
@@ -16543,6 +16171,7 @@ | |||
16543 | "version": "1.0.1", | 16171 | "version": "1.0.1", |
16544 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", | 16172 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", |
16545 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", | 16173 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", |
16174 | "dev": true, | ||
16546 | "requires": { | 16175 | "requires": { |
16547 | "is-plain-object": "^2.0.4" | 16176 | "is-plain-object": "^2.0.4" |
16548 | } | 16177 | } |
@@ -16553,6 +16182,7 @@ | |||
16553 | "version": "1.0.0", | 16182 | "version": "1.0.0", |
16554 | "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", | 16183 | "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", |
16555 | "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", | 16184 | "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", |
16185 | "dev": true, | ||
16556 | "requires": { | 16186 | "requires": { |
16557 | "glogg": "^1.0.0" | 16187 | "glogg": "^1.0.0" |
16558 | } | 16188 | } |
@@ -16627,6 +16257,7 @@ | |||
16627 | "version": "0.1.0", | 16257 | "version": "0.1.0", |
16628 | "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", | 16258 | "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", |
16629 | "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", | 16259 | "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", |
16260 | "dev": true, | ||
16630 | "requires": { | 16261 | "requires": { |
16631 | "sparkles": "^1.0.0" | 16262 | "sparkles": "^1.0.0" |
16632 | } | 16263 | } |
@@ -16740,12 +16371,13 @@ | |||
16740 | "he": { | 16371 | "he": { |
16741 | "version": "1.2.0", | 16372 | "version": "1.2.0", |
16742 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", | 16373 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", |
16743 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" | 16374 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", |
16375 | "dev": true | ||
16744 | }, | 16376 | }, |
16745 | "hex-rgb": { | 16377 | "hex-rgb": { |
16746 | "version": "3.0.0", | 16378 | "version": "4.3.0", |
16747 | "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-3.0.0.tgz", | 16379 | "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz", |
16748 | "integrity": "sha512-iWOUTZu7KQGhErV8JfTQDH5F/M2D0HVd0sexS4Grg4e4RYAiN3c4jfpPqKgfedqeebKcNZBl2z3zlgCtFjpFJQ==", | 16380 | "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==", |
16749 | "dev": true | 16381 | "dev": true |
16750 | }, | 16382 | }, |
16751 | "hexy": { | 16383 | "hexy": { |
@@ -16860,6 +16492,7 @@ | |||
16860 | "version": "3.5.21", | 16492 | "version": "3.5.21", |
16861 | "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", | 16493 | "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", |
16862 | "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", | 16494 | "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", |
16495 | "dev": true, | ||
16863 | "requires": { | 16496 | "requires": { |
16864 | "camel-case": "3.0.x", | 16497 | "camel-case": "3.0.x", |
16865 | "clean-css": "4.2.x", | 16498 | "clean-css": "4.2.x", |
@@ -16873,7 +16506,8 @@ | |||
16873 | "commander": { | 16506 | "commander": { |
16874 | "version": "2.17.1", | 16507 | "version": "2.17.1", |
16875 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", | 16508 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", |
16876 | "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" | 16509 | "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", |
16510 | "dev": true | ||
16877 | } | 16511 | } |
16878 | } | 16512 | } |
16879 | }, | 16513 | }, |
@@ -17059,24 +16693,6 @@ | |||
17059 | "sshpk": "^1.7.0" | 16693 | "sshpk": "^1.7.0" |
17060 | } | 16694 | } |
17061 | }, | 16695 | }, |
17062 | "http2-wrapper": { | ||
17063 | "version": "1.0.3", | ||
17064 | "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", | ||
17065 | "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", | ||
17066 | "dev": true, | ||
17067 | "requires": { | ||
17068 | "quick-lru": "^5.1.1", | ||
17069 | "resolve-alpn": "^1.0.0" | ||
17070 | }, | ||
17071 | "dependencies": { | ||
17072 | "quick-lru": { | ||
17073 | "version": "5.1.1", | ||
17074 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", | ||
17075 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", | ||
17076 | "dev": true | ||
17077 | } | ||
17078 | } | ||
17079 | }, | ||
17080 | "https-browserify": { | 16696 | "https-browserify": { |
17081 | "version": "1.0.0", | 16697 | "version": "1.0.0", |
17082 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", | 16698 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", |
@@ -17780,12 +17396,6 @@ | |||
17780 | } | 17396 | } |
17781 | } | 17397 | } |
17782 | }, | 17398 | }, |
17783 | "is-interactive": { | ||
17784 | "version": "1.0.0", | ||
17785 | "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", | ||
17786 | "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", | ||
17787 | "dev": true | ||
17788 | }, | ||
17789 | "is-lambda": { | 17399 | "is-lambda": { |
17790 | "version": "1.0.1", | 17400 | "version": "1.0.1", |
17791 | "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", | 17401 | "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", |
@@ -20915,7 +20525,8 @@ | |||
20915 | "lower-case": { | 20525 | "lower-case": { |
20916 | "version": "1.1.4", | 20526 | "version": "1.1.4", |
20917 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", | 20527 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", |
20918 | "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" | 20528 | "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", |
20529 | "dev": true | ||
20919 | }, | 20530 | }, |
20920 | "lowercase-keys": { | 20531 | "lowercase-keys": { |
20921 | "version": "1.0.1", | 20532 | "version": "1.0.1", |
@@ -20937,50 +20548,6 @@ | |||
20937 | "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", | 20548 | "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", |
20938 | "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" | 20549 | "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" |
20939 | }, | 20550 | }, |
20940 | "lzma-native": { | ||
20941 | "version": "6.0.1", | ||
20942 | "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-6.0.1.tgz", | ||
20943 | "integrity": "sha512-O6oWF0xe1AFvOCjU8uOZBZ/lhjaMNwHfVNaqVMqmoQXlRwBcFWpCAToiZOdXcKVMdo/5s/D0a2QgA5laMErxHQ==", | ||
20944 | "dev": true, | ||
20945 | "requires": { | ||
20946 | "node-addon-api": "^1.6.0", | ||
20947 | "node-pre-gyp": "^0.11.0", | ||
20948 | "readable-stream": "^2.3.5", | ||
20949 | "rimraf": "^2.7.1" | ||
20950 | }, | ||
20951 | "dependencies": { | ||
20952 | "node-addon-api": { | ||
20953 | "version": "1.7.2", | ||
20954 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", | ||
20955 | "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", | ||
20956 | "dev": true | ||
20957 | }, | ||
20958 | "readable-stream": { | ||
20959 | "version": "2.3.7", | ||
20960 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
20961 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
20962 | "dev": true, | ||
20963 | "requires": { | ||
20964 | "core-util-is": "~1.0.0", | ||
20965 | "inherits": "~2.0.3", | ||
20966 | "isarray": "~1.0.0", | ||
20967 | "process-nextick-args": "~2.0.0", | ||
20968 | "safe-buffer": "~5.1.1", | ||
20969 | "string_decoder": "~1.1.1", | ||
20970 | "util-deprecate": "~1.0.1" | ||
20971 | } | ||
20972 | }, | ||
20973 | "string_decoder": { | ||
20974 | "version": "1.1.1", | ||
20975 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
20976 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
20977 | "dev": true, | ||
20978 | "requires": { | ||
20979 | "safe-buffer": "~5.1.0" | ||
20980 | } | ||
20981 | } | ||
20982 | } | ||
20983 | }, | ||
20984 | "macos-notification-state": { | 20551 | "macos-notification-state": { |
20985 | "version": "1.3.5", | 20552 | "version": "1.3.5", |
20986 | "resolved": "https://registry.npmjs.org/macos-notification-state/-/macos-notification-state-1.3.5.tgz", | 20553 | "resolved": "https://registry.npmjs.org/macos-notification-state/-/macos-notification-state-1.3.5.tgz", |
@@ -21045,12 +20612,14 @@ | |||
21045 | "make-error": { | 20612 | "make-error": { |
21046 | "version": "1.3.6", | 20613 | "version": "1.3.6", |
21047 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", | 20614 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", |
21048 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" | 20615 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", |
20616 | "dev": true | ||
21049 | }, | 20617 | }, |
21050 | "make-error-cause": { | 20618 | "make-error-cause": { |
21051 | "version": "1.2.2", | 20619 | "version": "1.2.2", |
21052 | "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", | 20620 | "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", |
21053 | "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=", | 20621 | "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=", |
20622 | "dev": true, | ||
21054 | "requires": { | 20623 | "requires": { |
21055 | "make-error": "^1.2.0" | 20624 | "make-error": "^1.2.0" |
21056 | } | 20625 | } |
@@ -21138,6 +20707,11 @@ | |||
21138 | "p-defer": "^1.0.0" | 20707 | "p-defer": "^1.0.0" |
21139 | } | 20708 | } |
21140 | }, | 20709 | }, |
20710 | "map-async": { | ||
20711 | "version": "0.1.1", | ||
20712 | "resolved": "https://registry.npmjs.org/map-async/-/map-async-0.1.1.tgz", | ||
20713 | "integrity": "sha1-yJfARJ+Fhkx0taPxlu20IVZDF0U=" | ||
20714 | }, | ||
21141 | "map-cache": { | 20715 | "map-cache": { |
21142 | "version": "0.2.2", | 20716 | "version": "0.2.2", |
21143 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", | 20717 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", |
@@ -21212,7 +20786,8 @@ | |||
21212 | "mdn-data": { | 20786 | "mdn-data": { |
21213 | "version": "2.0.14", | 20787 | "version": "2.0.14", |
21214 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", | 20788 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", |
21215 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" | 20789 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", |
20790 | "dev": true | ||
21216 | }, | 20791 | }, |
21217 | "media-typer": { | 20792 | "media-typer": { |
21218 | "version": "0.3.0", | 20793 | "version": "0.3.0", |
@@ -21848,12 +21423,6 @@ | |||
21848 | "react-lifecycles-compat": "^3.0.2" | 21423 | "react-lifecycles-compat": "^3.0.2" |
21849 | } | 21424 | } |
21850 | }, | 21425 | }, |
21851 | "mobx-react-devtools": { | ||
21852 | "version": "6.1.1", | ||
21853 | "resolved": "https://registry.npmjs.org/mobx-react-devtools/-/mobx-react-devtools-6.1.1.tgz", | ||
21854 | "integrity": "sha512-nc5IXLdEUFLn3wZal65KF3/JFEFd+mbH4KTz/IG5BOPyw7jo8z29w/8qm7+wiCyqVfUIgJ1gL4+HVKmcXIOgqA==", | ||
21855 | "dev": true | ||
21856 | }, | ||
21857 | "mobx-react-form": { | 21426 | "mobx-react-form": { |
21858 | "version": "1.35.1", | 21427 | "version": "1.35.1", |
21859 | "resolved": "https://registry.npmjs.org/mobx-react-form/-/mobx-react-form-1.35.1.tgz", | 21428 | "resolved": "https://registry.npmjs.org/mobx-react-form/-/mobx-react-form-1.35.1.tgz", |
@@ -22356,7 +21925,8 @@ | |||
22356 | "nan": { | 21925 | "nan": { |
22357 | "version": "2.15.0", | 21926 | "version": "2.15.0", |
22358 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", | 21927 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", |
22359 | "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" | 21928 | "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", |
21929 | "optional": true | ||
22360 | }, | 21930 | }, |
22361 | "nanoid": { | 21931 | "nanoid": { |
22362 | "version": "3.1.23", | 21932 | "version": "3.1.23", |
@@ -22472,6 +22042,7 @@ | |||
22472 | "version": "2.3.2", | 22042 | "version": "2.3.2", |
22473 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", | 22043 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", |
22474 | "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", | 22044 | "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", |
22045 | "dev": true, | ||
22475 | "requires": { | 22046 | "requires": { |
22476 | "lower-case": "^1.1.1" | 22047 | "lower-case": "^1.1.1" |
22477 | } | 22048 | } |
@@ -23337,100 +22908,6 @@ | |||
23337 | "word-wrap": "^1.2.3" | 22908 | "word-wrap": "^1.2.3" |
23338 | } | 22909 | } |
23339 | }, | 22910 | }, |
23340 | "ora": { | ||
23341 | "version": "5.4.1", | ||
23342 | "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", | ||
23343 | "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", | ||
23344 | "dev": true, | ||
23345 | "requires": { | ||
23346 | "bl": "^4.1.0", | ||
23347 | "chalk": "^4.1.0", | ||
23348 | "cli-cursor": "^3.1.0", | ||
23349 | "cli-spinners": "^2.5.0", | ||
23350 | "is-interactive": "^1.0.0", | ||
23351 | "is-unicode-supported": "^0.1.0", | ||
23352 | "log-symbols": "^4.1.0", | ||
23353 | "strip-ansi": "^6.0.0", | ||
23354 | "wcwidth": "^1.0.1" | ||
23355 | }, | ||
23356 | "dependencies": { | ||
23357 | "ansi-regex": { | ||
23358 | "version": "5.0.0", | ||
23359 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||
23360 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", | ||
23361 | "dev": true | ||
23362 | }, | ||
23363 | "ansi-styles": { | ||
23364 | "version": "4.3.0", | ||
23365 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", | ||
23366 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", | ||
23367 | "dev": true, | ||
23368 | "requires": { | ||
23369 | "color-convert": "^2.0.1" | ||
23370 | } | ||
23371 | }, | ||
23372 | "bl": { | ||
23373 | "version": "4.1.0", | ||
23374 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", | ||
23375 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", | ||
23376 | "dev": true, | ||
23377 | "requires": { | ||
23378 | "buffer": "^5.5.0", | ||
23379 | "inherits": "^2.0.4", | ||
23380 | "readable-stream": "^3.4.0" | ||
23381 | } | ||
23382 | }, | ||
23383 | "chalk": { | ||
23384 | "version": "4.1.2", | ||
23385 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", | ||
23386 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", | ||
23387 | "dev": true, | ||
23388 | "requires": { | ||
23389 | "ansi-styles": "^4.1.0", | ||
23390 | "supports-color": "^7.1.0" | ||
23391 | } | ||
23392 | }, | ||
23393 | "color-convert": { | ||
23394 | "version": "2.0.1", | ||
23395 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||
23396 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||
23397 | "dev": true, | ||
23398 | "requires": { | ||
23399 | "color-name": "~1.1.4" | ||
23400 | } | ||
23401 | }, | ||
23402 | "color-name": { | ||
23403 | "version": "1.1.4", | ||
23404 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||
23405 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | ||
23406 | "dev": true | ||
23407 | }, | ||
23408 | "has-flag": { | ||
23409 | "version": "4.0.0", | ||
23410 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | ||
23411 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | ||
23412 | "dev": true | ||
23413 | }, | ||
23414 | "strip-ansi": { | ||
23415 | "version": "6.0.0", | ||
23416 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", | ||
23417 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", | ||
23418 | "dev": true, | ||
23419 | "requires": { | ||
23420 | "ansi-regex": "^5.0.0" | ||
23421 | } | ||
23422 | }, | ||
23423 | "supports-color": { | ||
23424 | "version": "7.2.0", | ||
23425 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", | ||
23426 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", | ||
23427 | "dev": true, | ||
23428 | "requires": { | ||
23429 | "has-flag": "^4.0.0" | ||
23430 | } | ||
23431 | } | ||
23432 | } | ||
23433 | }, | ||
23434 | "ordered-read-streams": { | 22911 | "ordered-read-streams": { |
23435 | "version": "1.0.1", | 22912 | "version": "1.0.1", |
23436 | "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", | 22913 | "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", |
@@ -23861,6 +23338,7 @@ | |||
23861 | "version": "2.1.1", | 23338 | "version": "2.1.1", |
23862 | "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", | 23339 | "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", |
23863 | "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", | 23340 | "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", |
23341 | "dev": true, | ||
23864 | "requires": { | 23342 | "requires": { |
23865 | "no-case": "^2.2.0" | 23343 | "no-case": "^2.2.0" |
23866 | } | 23344 | } |
@@ -24254,6 +23732,7 @@ | |||
24254 | "version": "1.0.1", | 23732 | "version": "1.0.1", |
24255 | "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", | 23733 | "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", |
24256 | "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", | 23734 | "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", |
23735 | "dev": true, | ||
24257 | "requires": { | 23736 | "requires": { |
24258 | "ansi-colors": "^1.0.1", | 23737 | "ansi-colors": "^1.0.1", |
24259 | "arr-diff": "^4.0.0", | 23738 | "arr-diff": "^4.0.0", |
@@ -24265,6 +23744,7 @@ | |||
24265 | "version": "1.1.0", | 23744 | "version": "1.1.0", |
24266 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", | 23745 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", |
24267 | "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", | 23746 | "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", |
23747 | "dev": true, | ||
24268 | "requires": { | 23748 | "requires": { |
24269 | "ansi-wrap": "^0.1.0" | 23749 | "ansi-wrap": "^0.1.0" |
24270 | } | 23750 | } |
@@ -24273,6 +23753,7 @@ | |||
24273 | "version": "3.0.2", | 23753 | "version": "3.0.2", |
24274 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", | 23754 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", |
24275 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", | 23755 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", |
23756 | "dev": true, | ||
24276 | "requires": { | 23757 | "requires": { |
24277 | "assign-symbols": "^1.0.0", | 23758 | "assign-symbols": "^1.0.0", |
24278 | "is-extendable": "^1.0.1" | 23759 | "is-extendable": "^1.0.1" |
@@ -24282,6 +23763,7 @@ | |||
24282 | "version": "1.0.1", | 23763 | "version": "1.0.1", |
24283 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", | 23764 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", |
24284 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", | 23765 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", |
23766 | "dev": true, | ||
24285 | "requires": { | 23767 | "requires": { |
24286 | "is-plain-object": "^2.0.4" | 23768 | "is-plain-object": "^2.0.4" |
24287 | } | 23769 | } |
@@ -25994,7 +25476,8 @@ | |||
25994 | "relateurl": { | 25476 | "relateurl": { |
25995 | "version": "0.2.7", | 25477 | "version": "0.2.7", |
25996 | "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", | 25478 | "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", |
25997 | "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" | 25479 | "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", |
25480 | "dev": true | ||
25998 | }, | 25481 | }, |
25999 | "remove-bom-buffer": { | 25482 | "remove-bom-buffer": { |
26000 | "version": "3.0.0", | 25483 | "version": "3.0.0", |
@@ -26177,12 +25660,6 @@ | |||
26177 | "path-parse": "^1.0.6" | 25660 | "path-parse": "^1.0.6" |
26178 | } | 25661 | } |
26179 | }, | 25662 | }, |
26180 | "resolve-alpn": { | ||
26181 | "version": "1.2.0", | ||
26182 | "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.0.tgz", | ||
26183 | "integrity": "sha512-e4FNQs+9cINYMO5NMFc6kOUCdohjqFPSgMuwuZAOUWqrfWsen+Yjy5qZFkV5K7VO7tFSLKcUL97olkED7sCBHA==", | ||
26184 | "dev": true | ||
26185 | }, | ||
26186 | "resolve-cwd": { | 25663 | "resolve-cwd": { |
26187 | "version": "3.0.0", | 25664 | "version": "3.0.0", |
26188 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", | 25665 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", |
@@ -26966,9 +26443,9 @@ | |||
26966 | } | 26443 | } |
26967 | }, | 26444 | }, |
26968 | "simple-git": { | 26445 | "simple-git": { |
26969 | "version": "2.42.0", | 26446 | "version": "2.44.0", |
26970 | "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.42.0.tgz", | 26447 | "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.44.0.tgz", |
26971 | "integrity": "sha512-illpUX0bcrdB3AyvBGLz0ToRVP7lXNJOGVybGVuVk7PpivPNK5YKJx2aagKdKbveaMtt0DCLK4/jfjDb6b2M2g==", | 26448 | "integrity": "sha512-wIjcAmymhzgdaM0Y/a+XxmNGlivvHQTPZDYXVmyHMShVDwdeVqu3+OOyDbYu0DnfVzqLs2EOxRTgMNbC3YquwQ==", |
26972 | "dev": true, | 26449 | "dev": true, |
26973 | "requires": { | 26450 | "requires": { |
26974 | "@kwsites/file-exists": "^1.1.1", | 26451 | "@kwsites/file-exists": "^1.1.1", |
@@ -27018,11 +26495,6 @@ | |||
27018 | "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", | 26495 | "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", |
27019 | "dev": true | 26496 | "dev": true |
27020 | }, | 26497 | }, |
27021 | "smoothscroll-polyfill": { | ||
27022 | "version": "0.4.4", | ||
27023 | "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", | ||
27024 | "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==" | ||
27025 | }, | ||
27026 | "snapdragon": { | 26498 | "snapdragon": { |
27027 | "version": "0.8.2", | 26499 | "version": "0.8.2", |
27028 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", | 26500 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", |
@@ -27256,6 +26728,7 @@ | |||
27256 | "version": "0.5.19", | 26728 | "version": "0.5.19", |
27257 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", | 26729 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", |
27258 | "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", | 26730 | "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", |
26731 | "dev": true, | ||
27259 | "requires": { | 26732 | "requires": { |
27260 | "buffer-from": "^1.0.0", | 26733 | "buffer-from": "^1.0.0", |
27261 | "source-map": "^0.6.0" | 26734 | "source-map": "^0.6.0" |
@@ -27264,7 +26737,8 @@ | |||
27264 | "source-map": { | 26737 | "source-map": { |
27265 | "version": "0.6.1", | 26738 | "version": "0.6.1", |
27266 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | 26739 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", |
27267 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" | 26740 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", |
26741 | "dev": true | ||
27268 | } | 26742 | } |
27269 | } | 26743 | } |
27270 | }, | 26744 | }, |
@@ -27276,7 +26750,8 @@ | |||
27276 | "sparkles": { | 26750 | "sparkles": { |
27277 | "version": "1.0.1", | 26751 | "version": "1.0.1", |
27278 | "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", | 26752 | "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", |
27279 | "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==" | 26753 | "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", |
26754 | "dev": true | ||
27280 | }, | 26755 | }, |
27281 | "spawn-command": { | 26756 | "spawn-command": { |
27282 | "version": "0.0.2-1", | 26757 | "version": "0.0.2-1", |
@@ -27668,7 +27143,8 @@ | |||
27668 | "stream-shift": { | 27143 | "stream-shift": { |
27669 | "version": "1.0.1", | 27144 | "version": "1.0.1", |
27670 | "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", | 27145 | "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", |
27671 | "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" | 27146 | "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", |
27147 | "dev": true | ||
27672 | }, | 27148 | }, |
27673 | "strict-uri-encode": { | 27149 | "strict-uri-encode": { |
27674 | "version": "1.1.0", | 27150 | "version": "1.1.0", |
@@ -28029,74 +27505,6 @@ | |||
28029 | } | 27505 | } |
28030 | } | 27506 | } |
28031 | }, | 27507 | }, |
28032 | "tar-fs": { | ||
28033 | "version": "1.16.3", | ||
28034 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", | ||
28035 | "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", | ||
28036 | "requires": { | ||
28037 | "chownr": "^1.0.1", | ||
28038 | "mkdirp": "^0.5.1", | ||
28039 | "pump": "^1.0.0", | ||
28040 | "tar-stream": "^1.1.2" | ||
28041 | }, | ||
28042 | "dependencies": { | ||
28043 | "pump": { | ||
28044 | "version": "1.0.3", | ||
28045 | "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", | ||
28046 | "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", | ||
28047 | "requires": { | ||
28048 | "end-of-stream": "^1.1.0", | ||
28049 | "once": "^1.3.1" | ||
28050 | } | ||
28051 | } | ||
28052 | } | ||
28053 | }, | ||
28054 | "tar-stream": { | ||
28055 | "version": "1.6.2", | ||
28056 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", | ||
28057 | "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", | ||
28058 | "requires": { | ||
28059 | "bl": "^1.0.0", | ||
28060 | "buffer-alloc": "^1.2.0", | ||
28061 | "end-of-stream": "^1.0.0", | ||
28062 | "fs-constants": "^1.0.0", | ||
28063 | "readable-stream": "^2.3.0", | ||
28064 | "to-buffer": "^1.1.1", | ||
28065 | "xtend": "^4.0.0" | ||
28066 | }, | ||
28067 | "dependencies": { | ||
28068 | "readable-stream": { | ||
28069 | "version": "2.3.7", | ||
28070 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
28071 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
28072 | "requires": { | ||
28073 | "core-util-is": "~1.0.0", | ||
28074 | "inherits": "~2.0.3", | ||
28075 | "isarray": "~1.0.0", | ||
28076 | "process-nextick-args": "~2.0.0", | ||
28077 | "safe-buffer": "~5.1.1", | ||
28078 | "string_decoder": "~1.1.1", | ||
28079 | "util-deprecate": "~1.0.1" | ||
28080 | } | ||
28081 | }, | ||
28082 | "string_decoder": { | ||
28083 | "version": "1.1.1", | ||
28084 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
28085 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
28086 | "requires": { | ||
28087 | "safe-buffer": "~5.1.0" | ||
28088 | } | ||
28089 | } | ||
28090 | } | ||
28091 | }, | ||
28092 | "targz": { | ||
28093 | "version": "1.0.1", | ||
28094 | "resolved": "https://registry.npmjs.org/targz/-/targz-1.0.1.tgz", | ||
28095 | "integrity": "sha1-j3alI2lM3t+7XWCkB2/27uzFOY8=", | ||
28096 | "requires": { | ||
28097 | "tar-fs": "^1.8.1" | ||
28098 | } | ||
28099 | }, | ||
28100 | "tarn": { | 27508 | "tarn": { |
28101 | "version": "1.1.5", | 27509 | "version": "1.1.5", |
28102 | "resolved": "https://registry.npmjs.org/tarn/-/tarn-1.1.5.tgz", | 27510 | "resolved": "https://registry.npmjs.org/tarn/-/tarn-1.1.5.tgz", |
@@ -28203,6 +27611,7 @@ | |||
28203 | "version": "3.0.0", | 27611 | "version": "3.0.0", |
28204 | "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz", | 27612 | "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz", |
28205 | "integrity": "sha512-oIzdi+UL/JdktkT+7KU5tSIQjj8pbShj3OASuvDEhm0NT5lppsm7aXWAmAq4/QMaBIyfuEcNLbAQA+HpaISobQ==", | 27613 | "integrity": "sha512-oIzdi+UL/JdktkT+7KU5tSIQjj8pbShj3OASuvDEhm0NT5lppsm7aXWAmAq4/QMaBIyfuEcNLbAQA+HpaISobQ==", |
27614 | "dev": true, | ||
28206 | "requires": { | 27615 | "requires": { |
28207 | "duplexify": "^4.1.1", | 27616 | "duplexify": "^4.1.1", |
28208 | "fork-stream": "^0.0.4", | 27617 | "fork-stream": "^0.0.4", |
@@ -28214,6 +27623,7 @@ | |||
28214 | "version": "3.0.2", | 27623 | "version": "3.0.2", |
28215 | "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", | 27624 | "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", |
28216 | "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", | 27625 | "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", |
27626 | "dev": true, | ||
28217 | "requires": { | 27627 | "requires": { |
28218 | "inherits": "^2.0.4", | 27628 | "inherits": "^2.0.4", |
28219 | "readable-stream": "2 || 3" | 27629 | "readable-stream": "2 || 3" |
@@ -28222,9 +27632,10 @@ | |||
28222 | } | 27632 | } |
28223 | }, | 27633 | }, |
28224 | "terser": { | 27634 | "terser": { |
28225 | "version": "4.4.0", | 27635 | "version": "4.8.0", |
28226 | "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.0.tgz", | 27636 | "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", |
28227 | "integrity": "sha512-oDG16n2WKm27JO8h4y/w3iqBGAOSCtq7k8dRmrn4Wf9NouL0b2WpMHGChFGZq4nFAQy1FsNJrVQHfurXOSTmOA==", | 27637 | "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", |
27638 | "dev": true, | ||
28228 | "requires": { | 27639 | "requires": { |
28229 | "commander": "^2.20.0", | 27640 | "commander": "^2.20.0", |
28230 | "source-map": "~0.6.1", | 27641 | "source-map": "~0.6.1", |
@@ -28234,7 +27645,8 @@ | |||
28234 | "source-map": { | 27645 | "source-map": { |
28235 | "version": "0.6.1", | 27646 | "version": "0.6.1", |
28236 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | 27647 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", |
28237 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" | 27648 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", |
27649 | "dev": true | ||
28238 | } | 27650 | } |
28239 | } | 27651 | } |
28240 | }, | 27652 | }, |
@@ -28325,6 +27737,17 @@ | |||
28325 | "figgy-pudding": "^3.5.1" | 27737 | "figgy-pudding": "^3.5.1" |
28326 | } | 27738 | } |
28327 | }, | 27739 | }, |
27740 | "terser": { | ||
27741 | "version": "4.8.0", | ||
27742 | "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", | ||
27743 | "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", | ||
27744 | "dev": true, | ||
27745 | "requires": { | ||
27746 | "commander": "^2.20.0", | ||
27747 | "source-map": "~0.6.1", | ||
27748 | "source-map-support": "~0.5.12" | ||
27749 | } | ||
27750 | }, | ||
28328 | "yallist": { | 27751 | "yallist": { |
28329 | "version": "3.1.1", | 27752 | "version": "3.1.1", |
28330 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", | 27753 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", |
@@ -28403,6 +27826,7 @@ | |||
28403 | "version": "2.0.5", | 27826 | "version": "2.0.5", |
28404 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", | 27827 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", |
28405 | "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", | 27828 | "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", |
27829 | "dev": true, | ||
28406 | "requires": { | 27830 | "requires": { |
28407 | "readable-stream": "~2.3.6", | 27831 | "readable-stream": "~2.3.6", |
28408 | "xtend": "~4.0.1" | 27832 | "xtend": "~4.0.1" |
@@ -28412,6 +27836,7 @@ | |||
28412 | "version": "2.3.7", | 27836 | "version": "2.3.7", |
28413 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | 27837 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", |
28414 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | 27838 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", |
27839 | "dev": true, | ||
28415 | "requires": { | 27840 | "requires": { |
28416 | "core-util-is": "~1.0.0", | 27841 | "core-util-is": "~1.0.0", |
28417 | "inherits": "~2.0.3", | 27842 | "inherits": "~2.0.3", |
@@ -28426,6 +27851,7 @@ | |||
28426 | "version": "1.1.1", | 27851 | "version": "1.1.1", |
28427 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 27852 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
28428 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 27853 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
27854 | "dev": true, | ||
28429 | "requires": { | 27855 | "requires": { |
28430 | "safe-buffer": "~5.1.0" | 27856 | "safe-buffer": "~5.1.0" |
28431 | } | 27857 | } |
@@ -28573,11 +27999,6 @@ | |||
28573 | "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", | 27999 | "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", |
28574 | "dev": true | 28000 | "dev": true |
28575 | }, | 28001 | }, |
28576 | "to-buffer": { | ||
28577 | "version": "1.1.1", | ||
28578 | "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", | ||
28579 | "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" | ||
28580 | }, | ||
28581 | "to-fast-properties": { | 28002 | "to-fast-properties": { |
28582 | "version": "2.0.0", | 28003 | "version": "2.0.0", |
28583 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", | 28004 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", |
@@ -28775,9 +28196,9 @@ | |||
28775 | } | 28196 | } |
28776 | }, | 28197 | }, |
28777 | "tslib": { | 28198 | "tslib": { |
28778 | "version": "2.3.0", | 28199 | "version": "2.3.1", |
28779 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", | 28200 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", |
28780 | "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" | 28201 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" |
28781 | }, | 28202 | }, |
28782 | "tsscmp": { | 28203 | "tsscmp": { |
28783 | "version": "1.0.6", | 28204 | "version": "1.0.6", |
@@ -28898,6 +28319,7 @@ | |||
28898 | "version": "3.4.10", | 28319 | "version": "3.4.10", |
28899 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", | 28320 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", |
28900 | "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", | 28321 | "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", |
28322 | "dev": true, | ||
28901 | "requires": { | 28323 | "requires": { |
28902 | "commander": "~2.19.0", | 28324 | "commander": "~2.19.0", |
28903 | "source-map": "~0.6.1" | 28325 | "source-map": "~0.6.1" |
@@ -28906,12 +28328,14 @@ | |||
28906 | "commander": { | 28328 | "commander": { |
28907 | "version": "2.19.0", | 28329 | "version": "2.19.0", |
28908 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", | 28330 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", |
28909 | "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" | 28331 | "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", |
28332 | "dev": true | ||
28910 | }, | 28333 | }, |
28911 | "source-map": { | 28334 | "source-map": { |
28912 | "version": "0.6.1", | 28335 | "version": "0.6.1", |
28913 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | 28336 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", |
28914 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" | 28337 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", |
28338 | "dev": true | ||
28915 | } | 28339 | } |
28916 | } | 28340 | } |
28917 | }, | 28341 | }, |
@@ -29259,7 +28683,8 @@ | |||
29259 | "upper-case": { | 28683 | "upper-case": { |
29260 | "version": "1.1.3", | 28684 | "version": "1.1.3", |
29261 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", | 28685 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", |
29262 | "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" | 28686 | "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", |
28687 | "dev": true | ||
29263 | }, | 28688 | }, |
29264 | "uri-js": { | 28689 | "uri-js": { |
29265 | "version": "4.4.1", | 28690 | "version": "4.4.1", |
@@ -29579,6 +29004,7 @@ | |||
29579 | "version": "0.2.1", | 29004 | "version": "0.2.1", |
29580 | "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", | 29005 | "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", |
29581 | "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", | 29006 | "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", |
29007 | "dev": true, | ||
29582 | "requires": { | 29008 | "requires": { |
29583 | "source-map": "^0.5.1" | 29009 | "source-map": "^0.5.1" |
29584 | } | 29010 | } |
@@ -30578,24 +30004,6 @@ | |||
30578 | } | 30004 | } |
30579 | } | 30005 | } |
30580 | }, | 30006 | }, |
30581 | "windows-notification-state": { | ||
30582 | "version": "1.3.4", | ||
30583 | "resolved": "https://registry.npmjs.org/windows-notification-state/-/windows-notification-state-1.3.4.tgz", | ||
30584 | "integrity": "sha512-Z2n6YLARi14AGqaY5zAlMnhButzjRjlQui0k73nXe4tVRg2U918zLeC3ZxM/i4JKho/GqV85rgQsMfLWnbTUCA==", | ||
30585 | "requires": { | ||
30586 | "bindings": "^1.5.0", | ||
30587 | "nan": "^2.14.0" | ||
30588 | } | ||
30589 | }, | ||
30590 | "windows-quiet-hours": { | ||
30591 | "version": "1.2.7", | ||
30592 | "resolved": "https://registry.npmjs.org/windows-quiet-hours/-/windows-quiet-hours-1.2.7.tgz", | ||
30593 | "integrity": "sha512-PjKM2/RQhZ3ikG4COq0vPpXvmJsxckcg2YN3xmQv8kZl5l1uu00a/epSGDeY6tczDPkzBhoThBz1FKRqxBA7cQ==", | ||
30594 | "requires": { | ||
30595 | "bindings": "^1.3.0", | ||
30596 | "nan": "^2.7.0" | ||
30597 | } | ||
30598 | }, | ||
30599 | "windows-release": { | 30007 | "windows-release": { |
30600 | "version": "4.0.0", | 30008 | "version": "4.0.0", |
30601 | "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", | 30009 | "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", |
diff --git a/package.json b/package.json index 564b6c032..91e0731ed 100644 --- a/package.json +++ b/package.json | |||
@@ -3,7 +3,7 @@ | |||
3 | "productName": "Ferdi", | 3 | "productName": "Ferdi", |
4 | "desktopName": "ferdi.desktop", | 4 | "desktopName": "ferdi.desktop", |
5 | "appId": "com.kytwb.ferdi", | 5 | "appId": "com.kytwb.ferdi", |
6 | "version": "5.6.1-beta.1", | 6 | "version": "5.6.1-nightly.37", |
7 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", | 7 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", |
8 | "copyright": "kytwb", | 8 | "copyright": "kytwb", |
9 | "main": "index.js", | 9 | "main": "index.js", |
@@ -18,18 +18,16 @@ | |||
18 | "engine-strict": true, | 18 | "engine-strict": true, |
19 | "scripts": { | 19 | "scripts": { |
20 | "prepare": "husky install", | 20 | "prepare": "husky install", |
21 | "prestart": "npm run rebuild", | ||
22 | "start": "electron ./build", | 21 | "start": "electron ./build", |
23 | "start:local": "cross-env USE_LOCAL_API=1 npm start", | 22 | "start:local": "cross-env USE_LOCAL_API=1 npm start", |
24 | "start:live": "cross-env USE_LIVE_API=1 npm start", | 23 | "start:live": "cross-env USE_LIVE_API=1 npm start", |
25 | "dev": "cross-env NODE_ENV=development gulp dev", | 24 | "dev": "cross-env NODE_ENV=development gulp dev", |
26 | "test": "jest", | 25 | "test": "jest", |
27 | "test:watch": "jest --watch", | 26 | "test:watch": "jest --watch", |
28 | "lint": "eslint \"{src,packages,uidev}/**/*.{js,jsx,ts,tsx}\" --quiet --fix", | 27 | "lint": "eslint \"{src,scripts,packages,uidev}/**/*.{js,jsx,ts,tsx}\" --quiet --fix", |
29 | "manage-translations": "node ./src/i18n/manage-translations.js", | 28 | "manage-translations": "node ./src/i18n/manage-translations.js", |
30 | "prebuild": "preval-build-info-cli && gulp build", | 29 | "prebuild": "preval-build-info-cli && gulp build", |
31 | "build": "electron-builder", | 30 | "build": "electron-builder", |
32 | "rebuild": "electron-rebuild --force-abi=98", | ||
33 | "commit": "git-cz", | 31 | "commit": "git-cz", |
34 | "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -u", | 32 | "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -u", |
35 | "contributors": "all-contributors", | 33 | "contributors": "all-contributors", |
@@ -40,8 +38,8 @@ | |||
40 | "apply-branding": "node ./src/i18n/apply-branding.js", | 38 | "apply-branding": "node ./src/i18n/apply-branding.js", |
41 | "update-submodules": "git submodule update --remote --force", | 39 | "update-submodules": "git submodule update --remote --force", |
42 | "prepare-code": "npm run lint && npm run reformat-files && npm run manage-translations && npm run apply-branding", | 40 | "prepare-code": "npm run lint && npm run reformat-files && npm run manage-translations && npm run apply-branding", |
43 | "build-theme-info": "node src/scripts/build-theme-info.js", | 41 | "build-theme-info": "node scripts/build-theme-info.js", |
44 | "link-readme": "node src/scripts/link-readme.js", | 42 | "link-readme": "node scripts/link-readme.js", |
45 | "minify-images": "./scripts/minify-images.sh", | 43 | "minify-images": "./scripts/minify-images.sh", |
46 | "start:server": "node src/internal-server/test.js" | 44 | "start:server": "node src/internal-server/test.js" |
47 | }, | 45 | }, |
@@ -64,7 +62,6 @@ | |||
64 | "@electron/remote": "1.2.1", | 62 | "@electron/remote": "1.2.1", |
65 | "@mdi/font": "5.9.55", | 63 | "@mdi/font": "5.9.55", |
66 | "@mdi/js": "4.6.95", | 64 | "@mdi/js": "4.6.95", |
67 | "@meetfranz/electron-notification-state": "1.0.0", | ||
68 | "@meetfranz/forms": "file:packages/forms", | 65 | "@meetfranz/forms": "file:packages/forms", |
69 | "@meetfranz/theme": "file:packages/theme", | 66 | "@meetfranz/theme": "file:packages/theme", |
70 | "@meetfranz/ui": "file:packages/ui", | 67 | "@meetfranz/ui": "file:packages/ui", |
@@ -80,7 +77,7 @@ | |||
80 | "darkreader": "4.9.34", | 77 | "darkreader": "4.9.34", |
81 | "dbus-next": "0.9.2", | 78 | "dbus-next": "0.9.2", |
82 | "debug": "4.3.2", | 79 | "debug": "4.3.2", |
83 | "du": "0.1.0", | 80 | "du": "1.0.0", |
84 | "electron-dl": "3.2.1", | 81 | "electron-dl": "3.2.1", |
85 | "electron-fetch": "1.7.3", | 82 | "electron-fetch": "1.7.3", |
86 | "electron-find": "1.0.7", | 83 | "electron-find": "1.0.7", |
@@ -89,13 +86,10 @@ | |||
89 | "electron-util": "0.17.0", | 86 | "electron-util": "0.17.0", |
90 | "electron-window-state": "5.0.3", | 87 | "electron-window-state": "5.0.3", |
91 | "fs-extra": "10.0.0", | 88 | "fs-extra": "10.0.0", |
92 | "gulp-csso": "4.0.1", | ||
93 | "gulp-htmlmin": "5.0.1", | ||
94 | "gulp-if": "3.0.0", | ||
95 | "gulp-uglify": "3.0.2", | ||
96 | "jsonwebtoken": "8.5.1", | 89 | "jsonwebtoken": "8.5.1", |
97 | "jss": "10.7.1", | 90 | "jss": "10.7.1", |
98 | "lodash": "4.17.21", | 91 | "lodash": "4.17.21", |
92 | "macos-notification-state": "1.3.5", | ||
99 | "macos-version": "5.2.1", | 93 | "macos-version": "5.2.1", |
100 | "marked": "0.7.0", | 94 | "marked": "0.7.0", |
101 | "mime-types": "2.1.32", | 95 | "mime-types": "2.1.32", |
@@ -128,12 +122,9 @@ | |||
128 | "react-tooltip": "4.2.21", | 122 | "react-tooltip": "4.2.21", |
129 | "route-parser": "0.0.5", | 123 | "route-parser": "0.0.5", |
130 | "semver": "7.3.5", | 124 | "semver": "7.3.5", |
131 | "smoothscroll-polyfill": "0.4.4", | ||
132 | "sqlite3": "5.0.0", | 125 | "sqlite3": "5.0.0", |
133 | "tar": "4.4.15", | 126 | "tar": "4.4.15", |
134 | "targz": "1.0.1", | 127 | "tslib": "2.3.1", |
135 | "terser": "4.4.0", | ||
136 | "tslib": "2.3.0", | ||
137 | "useragent-generator": "1.1.1-amkt-22079-finish.0", | 128 | "useragent-generator": "1.1.1-amkt-22079-finish.0", |
138 | "uuid": "3.3.3", | 129 | "uuid": "3.3.3", |
139 | "validator": "11.0.0", | 130 | "validator": "11.0.0", |
@@ -151,18 +142,22 @@ | |||
151 | "@babel/plugin-syntax-dynamic-import": "7.8.3", | 142 | "@babel/plugin-syntax-dynamic-import": "7.8.3", |
152 | "@babel/preset-env": "7.15.0", | 143 | "@babel/preset-env": "7.15.0", |
153 | "@babel/preset-react": "7.14.5", | 144 | "@babel/preset-react": "7.14.5", |
154 | "@babel/register": "7.14.5", | 145 | "@babel/register": "7.15.3", |
155 | "@commitlint/cli": "13.1.0", | 146 | "@commitlint/cli": "13.1.0", |
156 | "@commitlint/config-conventional": "13.1.0", | 147 | "@commitlint/config-conventional": "13.1.0", |
148 | "@tsconfig/node14": "1.0.1", | ||
157 | "@types/color": "3.0.2", | 149 | "@types/color": "3.0.2", |
150 | "@types/du": "1.0.0", | ||
158 | "@types/fs-extra": "9.0.12", | 151 | "@types/fs-extra": "9.0.12", |
159 | "@types/lodash": "4.14.172", | 152 | "@types/lodash": "4.14.172", |
160 | "@types/node": "14.17.6", | 153 | "@types/node": "14.17.6", |
161 | "@types/react": "16.14.6", | 154 | "@types/react": "16.14.6", |
162 | "@types/react-dom": "16.9.13", | 155 | "@types/react-dom": "16.9.13", |
156 | "@types/route-parser": "0.1.3", | ||
157 | "@types/tar": "4.0.5", | ||
163 | "@types/uuid": "3.4.9", | 158 | "@types/uuid": "3.4.9", |
164 | "@typescript-eslint/eslint-plugin": "4.29.0", | 159 | "@typescript-eslint/eslint-plugin": "4.29.1", |
165 | "@typescript-eslint/parser": "4.29.0", | 160 | "@typescript-eslint/parser": "4.29.1", |
166 | "all-contributors-cli": "6.20.0", | 161 | "all-contributors-cli": "6.20.0", |
167 | "babel-plugin-react-intl": "3.5.1", | 162 | "babel-plugin-react-intl": "3.5.1", |
168 | "commitizen": "4.2.4", | 163 | "commitizen": "4.2.4", |
@@ -170,15 +165,14 @@ | |||
170 | "cross-env": "7.0.3", | 165 | "cross-env": "7.0.3", |
171 | "cz-conventional-changelog": "3.3.0", | 166 | "cz-conventional-changelog": "3.3.0", |
172 | "dotenv": "10.0.0", | 167 | "dotenv": "10.0.0", |
173 | "electron": "13.1.9", | 168 | "electron": "13.2.2", |
174 | "electron-builder": "22.12.0", | 169 | "electron-builder": "22.12.1", |
175 | "electron-notarize": "1.1.0", | 170 | "electron-notarize": "1.1.0", |
176 | "electron-rebuild": "2.3.5", | ||
177 | "eslint": "7.32.0", | 171 | "eslint": "7.32.0", |
178 | "eslint-config-airbnb": "18.2.1", | 172 | "eslint-config-airbnb": "18.2.1", |
179 | "eslint-config-airbnb-typescript": "12.3.1", | 173 | "eslint-config-airbnb-typescript": "12.3.1", |
180 | "eslint-config-prettier": "8.3.0", | 174 | "eslint-config-prettier": "8.3.0", |
181 | "eslint-plugin-import": "2.23.4", | 175 | "eslint-plugin-import": "2.24.0", |
182 | "eslint-plugin-jest": "24.4.0", | 176 | "eslint-plugin-jest": "24.4.0", |
183 | "eslint-plugin-jsx-a11y": "6.4.1", | 177 | "eslint-plugin-jsx-a11y": "6.4.1", |
184 | "eslint-plugin-prettier": "3.4.0", | 178 | "eslint-plugin-prettier": "3.4.0", |
@@ -189,22 +183,27 @@ | |||
189 | "gulp-babel": "8.0.0", | 183 | "gulp-babel": "8.0.0", |
190 | "gulp-cli": "2.3.0", | 184 | "gulp-cli": "2.3.0", |
191 | "gulp-connect": "5.7.0", | 185 | "gulp-connect": "5.7.0", |
186 | "gulp-csso": "4.0.1", | ||
187 | "gulp-htmlmin": "5.0.1", | ||
188 | "gulp-if": "3.0.0", | ||
192 | "gulp-sass": "5.0.0", | 189 | "gulp-sass": "5.0.0", |
193 | "gulp-sass-variables": "1.2.0", | 190 | "gulp-sass-variables": "1.2.0", |
194 | "hex-rgb": "3.0.0", | 191 | "gulp-typescript": "6.0.0-alpha.1", |
192 | "gulp-uglify": "3.0.2", | ||
193 | "hex-rgb": "4.3.0", | ||
195 | "html-webpack-plugin": "4.5.2", | 194 | "html-webpack-plugin": "4.5.2", |
196 | "husky": "7.0.1", | 195 | "husky": "7.0.1", |
197 | "jest": "27.0.6", | 196 | "jest": "27.0.6", |
198 | "kebab-case": "1.0.1", | 197 | "kebab-case": "1.0.1", |
199 | "lerna": "4.0.0", | 198 | "lerna": "4.0.0", |
200 | "mobx-react-devtools": "6.1.1", | ||
201 | "mocha": "9.0.3", | 199 | "mocha": "9.0.3", |
202 | "node-abi": "2.30.0", | 200 | "node-abi": "2.30.0", |
203 | "prettier": "2.3.2", | 201 | "prettier": "2.3.2", |
204 | "preval-build-info": "1.0.3", | 202 | "preval-build-info": "1.0.3", |
205 | "react-intl-translations-manager": "5.0.3", | 203 | "react-intl-translations-manager": "5.0.3", |
206 | "sass": "1.37.5", | 204 | "sass": "1.37.5", |
207 | "simple-git": "2.42.0", | 205 | "simple-git": "2.44.0", |
206 | "terser": "4.8.0", | ||
208 | "ts-loader": "5.4.5", | 207 | "ts-loader": "5.4.5", |
209 | "typescript": "3.9.10", | 208 | "typescript": "3.9.10", |
210 | "webpack": "4.46.0", | 209 | "webpack": "4.46.0", |
diff --git a/recipes b/recipes | |||
Subproject 3b15588002104a183e46076f4d6286677eef09c | Subproject 4929cbff010712f109f5805027c140f434e7703 | ||
diff --git a/src/scripts/add-crowdin-contributors.js b/scripts/add-crowdin-contributors.js index ed29a0daf..05e377a94 100644 --- a/src/scripts/add-crowdin-contributors.js +++ b/scripts/add-crowdin-contributors.js | |||
@@ -48,7 +48,7 @@ console.clear(); | |||
48 | console.log(JSON.stringify(members)); | 48 | console.log(JSON.stringify(members)); |
49 | 49 | ||
50 | * 3. Paste the output of the script (JSON Array) below to set 'list' to that value | 50 | * 3. Paste the output of the script (JSON Array) below to set 'list' to that value |
51 | * 4. Execute this script using 'node src/scripts/add-crowdin-contributors.js' | 51 | * 4. Execute this script using 'node scripts/add-crowdin-contributors.js' |
52 | * 5. Regenerate the README table using the CLI ('all-contributors generate') | 52 | * 5. Regenerate the README table using the CLI ('all-contributors generate') |
53 | * Please check if the generated data is ok and no data is lost. | 53 | * Please check if the generated data is ok and no data is lost. |
54 | */ | 54 | */ |
diff --git a/src/scripts/build-theme-info.js b/scripts/build-theme-info.js index 4058be942..4058be942 100644 --- a/src/scripts/build-theme-info.js +++ b/scripts/build-theme-info.js | |||
diff --git a/src/scripts/link-readme.js b/scripts/link-readme.js index 1e47cddf8..1e47cddf8 100644 --- a/src/scripts/link-readme.js +++ b/scripts/link-readme.js | |||
diff --git a/src/theme/default/legacy.js b/scripts/theme/default/legacy.js index 3f4bec5d5..015dca756 100644 --- a/src/theme/default/legacy.js +++ b/scripts/theme/default/legacy.js | |||
@@ -1,4 +1,4 @@ | |||
1 | /* legacy config, injected into sass */ | 1 | /* legacy config, injected into sass at build time */ |
2 | export const themeBrandPrimary = '#7266F0'; | 2 | export const themeBrandPrimary = '#7266F0'; |
3 | export const themeBrandSuccess = '#5cb85c'; | 3 | export const themeBrandSuccess = '#5cb85c'; |
4 | export const themeBrandInfo = '#5bc0de'; | 4 | export const themeBrandInfo = '#5bc0de'; |
diff --git a/src/api/apiBase.js b/src/api/apiBase.js index ad37ca02c..2fad7eb21 100644 --- a/src/api/apiBase.js +++ b/src/api/apiBase.js | |||
@@ -12,6 +12,7 @@ import { | |||
12 | SERVER_NOT_LOADED, | 12 | SERVER_NOT_LOADED, |
13 | } from '../config'; | 13 | } from '../config'; |
14 | 14 | ||
15 | // Note: This cannot be used from the internal-server since we are not running within the context of a browser window | ||
15 | const apiBase = (withVersion = true) => { | 16 | const apiBase = (withVersion = true) => { |
16 | let url; | 17 | let url; |
17 | 18 | ||
diff --git a/src/api/server/LocalApi.js b/src/api/server/LocalApi.ts index 644f15b93..71721bb0f 100644 --- a/src/api/server/LocalApi.js +++ b/src/api/server/LocalApi.ts | |||
@@ -8,9 +8,9 @@ const debug = require('debug')('Ferdi:LocalApi'); | |||
8 | 8 | ||
9 | export default class LocalApi { | 9 | export default class LocalApi { |
10 | // Settings | 10 | // Settings |
11 | getAppSettings(type) { | 11 | getAppSettings(type: any) { |
12 | return new Promise(resolve => { | 12 | return new Promise(resolve => { |
13 | ipcRenderer.once('appSettings', (event, resp) => { | 13 | ipcRenderer.once('appSettings', (_event, resp) => { |
14 | debug('LocalApi::getAppSettings resolves', resp.type, resp.data); | 14 | debug('LocalApi::getAppSettings resolves', resp.type, resp.data); |
15 | resolve(resp); | 15 | resolve(resp); |
16 | }); | 16 | }); |
@@ -19,7 +19,7 @@ export default class LocalApi { | |||
19 | }); | 19 | }); |
20 | } | 20 | } |
21 | 21 | ||
22 | async updateAppSettings(type, data) { | 22 | async updateAppSettings(type: any, data: any) { |
23 | debug('LocalApi::updateAppSettings resolves', type, data); | 23 | debug('LocalApi::updateAppSettings resolves', type, data); |
24 | ipcRenderer.send('updateAppSettings', { | 24 | ipcRenderer.send('updateAppSettings', { |
25 | type, | 25 | type, |
@@ -31,7 +31,7 @@ export default class LocalApi { | |||
31 | async getAppCacheSize() { | 31 | async getAppCacheSize() { |
32 | const partitionsDir = getServicePartitionsDirectory(); | 32 | const partitionsDir = getServicePartitionsDirectory(); |
33 | return new Promise((resolve, reject) => { | 33 | return new Promise((resolve, reject) => { |
34 | du(partitionsDir, (err, size) => { | 34 | du(partitionsDir, (err: Error | null, size?: number | undefined) => { |
35 | if (err) reject(err); | 35 | if (err) reject(err); |
36 | 36 | ||
37 | debug('LocalApi::getAppCacheSize resolves', size); | 37 | debug('LocalApi::getAppCacheSize resolves', size); |
@@ -40,7 +40,7 @@ export default class LocalApi { | |||
40 | }); | 40 | }); |
41 | } | 41 | } |
42 | 42 | ||
43 | async clearCache(serviceId = null) { | 43 | async clearCache(serviceId: string | null = null) { |
44 | const s = serviceId | 44 | const s = serviceId |
45 | ? session.fromPartition(`persist:service-${serviceId}`) | 45 | ? session.fromPartition(`persist:service-${serviceId}`) |
46 | : session.defaultSession; | 46 | : session.defaultSession; |
diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js index bc0b0dff9..b5042525a 100644 --- a/src/api/server/ServerApi.js +++ b/src/api/server/ServerApi.js | |||
@@ -1,19 +1,18 @@ | |||
1 | import { join } from 'path'; | 1 | import { join } from 'path'; |
2 | import tar from 'tar'; | 2 | import tar from 'tar'; |
3 | import { readdirSync, statSync, writeFileSync, copySync, ensureDirSync, pathExistsSync, readJsonSync, removeSync } from 'fs-extra'; | 3 | import { readdirSync, statSync, writeFileSync, copySync, ensureDirSync, pathExistsSync, readJsonSync, removeSync } from 'fs-extra'; |
4 | import { app, require as remoteRequire } from '@electron/remote'; | 4 | import { require as remoteRequire } from '@electron/remote'; |
5 | 5 | ||
6 | import ServiceModel from '../../models/Service'; | 6 | import ServiceModel from '../../models/Service'; |
7 | import RecipePreviewModel from '../../models/RecipePreview'; | 7 | import RecipePreviewModel from '../../models/RecipePreview'; |
8 | import RecipeModel from '../../models/Recipe'; | 8 | import RecipeModel from '../../models/Recipe'; |
9 | import NewsModel from '../../models/News'; | 9 | import NewsModel from '../../models/News'; |
10 | import UserModel from '../../models/User'; | 10 | import UserModel from '../../models/User'; |
11 | import OrderModel from '../../models/Order'; | ||
12 | 11 | ||
13 | import { sleep } from '../../helpers/async-helpers'; | 12 | import { sleep } from '../../helpers/async-helpers'; |
14 | 13 | ||
15 | import { SERVER_NOT_LOADED } from '../../config'; | 14 | import { SERVER_NOT_LOADED } from '../../config'; |
16 | import { osArch, osPlatform, asarRecipesPath, userDataRecipesPath, userDataPath } from '../../environment'; | 15 | import { osArch, osPlatform, asarRecipesPath, userDataRecipesPath, userDataPath, ferdiVersion } from '../../environment'; |
17 | import apiBase from '../apiBase'; | 16 | import apiBase from '../apiBase'; |
18 | import { prepareAuthRequest, sendAuthRequest } from '../utils/auth'; | 17 | import { prepareAuthRequest, sendAuthRequest } from '../utils/auth'; |
19 | 18 | ||
@@ -435,9 +434,7 @@ export default class ServerApi { | |||
435 | 434 | ||
436 | // News | 435 | // News |
437 | async getLatestNews() { | 436 | async getLatestNews() { |
438 | const url = `${apiBase( | 437 | const url = `${apiBase(true)}/news?platform=${osPlatform}&arch=${osArch}&version=${ferdiVersion}`; |
439 | true, | ||
440 | )}/news?platform=${osPlatform}&arch=${osArch}&version=${app.getVersion()}`; | ||
441 | const request = await sendAuthRequest(url); | 438 | const request = await sendAuthRequest(url); |
442 | if (!request.ok) throw request; | 439 | if (!request.ok) throw request; |
443 | const data = await request.json(); | 440 | const data = await request.json(); |
@@ -591,19 +588,6 @@ export default class ServerApi { | |||
591 | .filter(newsItem => newsItem !== null); | 588 | .filter(newsItem => newsItem !== null); |
592 | } | 589 | } |
593 | 590 | ||
594 | _mapOrderModels(orders) { | ||
595 | return orders | ||
596 | .map(orderItem => { | ||
597 | try { | ||
598 | return new OrderModel(orderItem); | ||
599 | } catch (e) { | ||
600 | console.error(e); | ||
601 | return null; | ||
602 | } | ||
603 | }) | ||
604 | .filter(orderItem => orderItem !== null); | ||
605 | } | ||
606 | |||
607 | _getDevRecipes() { | 591 | _getDevRecipes() { |
608 | const recipesDirectory = getDevRecipeDirectory(); | 592 | const recipesDirectory = getDevRecipeDirectory(); |
609 | try { | 593 | try { |
diff --git a/src/api/utils/auth.js b/src/api/utils/auth.js index 9f718f171..e493b2962 100644 --- a/src/api/utils/auth.js +++ b/src/api/utils/auth.js | |||
@@ -1,5 +1,5 @@ | |||
1 | import { app } from '@electron/remote'; | ||
2 | import localStorage from 'mobx-localstorage'; | 1 | import localStorage from 'mobx-localstorage'; |
2 | import { ferdiLocale, ferdiVersion } from '../../environment'; | ||
3 | 3 | ||
4 | export const prepareAuthRequest = (options = { method: 'GET' }, auth = true) => { | 4 | export const prepareAuthRequest = (options = { method: 'GET' }, auth = true) => { |
5 | const request = Object.assign(options, { | 5 | const request = Object.assign(options, { |
@@ -7,10 +7,10 @@ export const prepareAuthRequest = (options = { method: 'GET' }, auth = true) => | |||
7 | headers: { | 7 | headers: { |
8 | 'Content-Type': 'application/json', | 8 | 'Content-Type': 'application/json', |
9 | 'X-Franz-Source': 'desktop', | 9 | 'X-Franz-Source': 'desktop', |
10 | 'X-Franz-Version': app.getVersion(), | 10 | 'X-Franz-Version': ferdiVersion, |
11 | 'X-Franz-platform': process.platform, | 11 | 'X-Franz-platform': process.platform, |
12 | 'X-Franz-Timezone-Offset': new Date().getTimezoneOffset(), | 12 | 'X-Franz-Timezone-Offset': new Date().getTimezoneOffset(), |
13 | 'X-Franz-System-Locale': app.getLocale(), | 13 | 'X-Franz-System-Locale': ferdiLocale, |
14 | ...options.headers, | 14 | ...options.headers, |
15 | }, | 15 | }, |
16 | }); | 16 | }); |
diff --git a/src/app.js b/src/app.js index 39b50cb33..e0d2dbc5a 100644 --- a/src/app.js +++ b/src/app.js | |||
@@ -6,8 +6,6 @@ import { Provider } from 'mobx-react'; | |||
6 | import { syncHistoryWithStore, RouterStore } from 'mobx-react-router'; | 6 | import { syncHistoryWithStore, RouterStore } from 'mobx-react-router'; |
7 | import { hashHistory } from 'react-router'; | 7 | import { hashHistory } from 'react-router'; |
8 | 8 | ||
9 | import smoothScroll from 'smoothscroll-polyfill'; | ||
10 | |||
11 | import ServerApi from './api/server/ServerApi'; | 9 | import ServerApi from './api/server/ServerApi'; |
12 | import LocalApi from './api/server/LocalApi'; | 10 | import LocalApi from './api/server/LocalApi'; |
13 | import storeFactory from './stores'; | 11 | import storeFactory from './stores'; |
@@ -19,9 +17,6 @@ import TouchBarFactory from './lib/TouchBar'; | |||
19 | import I18N from './I18n'; | 17 | import I18N from './I18n'; |
20 | import Routes from './routes'; | 18 | import Routes from './routes'; |
21 | 19 | ||
22 | // Add Polyfills | ||
23 | smoothScroll.polyfill(); | ||
24 | |||
25 | // Basic electron Setup | 20 | // Basic electron Setup |
26 | webFrame.setVisualZoomLevelLimits(1, 1); | 21 | webFrame.setVisualZoomLevelLimits(1, 1); |
27 | 22 | ||
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index d5e1deb39..00d7a759b 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js | |||
@@ -7,7 +7,6 @@ import injectSheet from 'react-jss'; | |||
7 | 7 | ||
8 | import InfoBar from '../ui/InfoBar'; | 8 | import InfoBar from '../ui/InfoBar'; |
9 | import { Component as BasicAuth } from '../../features/basicAuth'; | 9 | import { Component as BasicAuth } from '../../features/basicAuth'; |
10 | import { Component as ShareFranz } from '../../features/shareFranz'; | ||
11 | import { Component as QuickSwitch } from '../../features/quickSwitch'; | 10 | import { Component as QuickSwitch } from '../../features/quickSwitch'; |
12 | import { Component as NightlyBuilds } from '../../features/nightlyBuilds'; | 11 | import { Component as NightlyBuilds } from '../../features/nightlyBuilds'; |
13 | import { Component as PublishDebugInfo } from '../../features/publishDebugInfo'; | 12 | import { Component as PublishDebugInfo } from '../../features/publishDebugInfo'; |
@@ -204,7 +203,6 @@ class AppLayout extends Component { | |||
204 | /> | 203 | /> |
205 | )} | 204 | )} |
206 | <BasicAuth /> | 205 | <BasicAuth /> |
207 | <ShareFranz /> | ||
208 | <QuickSwitch /> | 206 | <QuickSwitch /> |
209 | <NightlyBuilds /> | 207 | <NightlyBuilds /> |
210 | <PublishDebugInfo /> | 208 | <PublishDebugInfo /> |
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js index daa5642c3..a9fb73f33 100644 --- a/src/components/layout/Sidebar.js +++ b/src/components/layout/Sidebar.js | |||
@@ -216,8 +216,7 @@ export default @inject('stores', 'actions') @observer class Sidebar extends Comp | |||
216 | className="sidebar__button sidebar__button--settings" | 216 | className="sidebar__button sidebar__button--settings" |
217 | data-tip={`${intl.formatMessage(messages.settings)} (${settingsShortcutKey(false)})`} | 217 | data-tip={`${intl.formatMessage(messages.settings)} (${settingsShortcutKey(false)})`} |
218 | > | 218 | > |
219 | {/* TODO: Because of https://github.com/Templarian/MaterialDesign-Webfont/issues/81 bug in @mdi/font in 5.9.55, added `mdi-memory` as a fallback */} | 219 | <i className="mdi mdi-cog" /> |
220 | <i className="mdi mdi-settings mdi-memory" /> | ||
221 | { (this.props.stores.app.updateStatus === this.props.stores.app.updateStatusTypes.AVAILABLE | 220 | { (this.props.stores.app.updateStatus === this.props.stores.app.updateStatusTypes.AVAILABLE |
222 | || this.props.stores.app.updateStatus === this.props.stores.app.updateStatusTypes.DOWNLOADED) && ( | 221 | || this.props.stores.app.updateStatus === this.props.stores.app.updateStatusTypes.DOWNLOADED) && ( |
223 | <span className="update-available"> | 222 | <span className="update-available"> |
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js index 3b499a5db..c0f48793a 100644 --- a/src/components/services/content/ServiceWebview.js +++ b/src/components/services/content/ServiceWebview.js | |||
@@ -24,7 +24,9 @@ class ServiceWebview extends Component { | |||
24 | super(props); | 24 | super(props); |
25 | 25 | ||
26 | reaction( | 26 | reaction( |
27 | () => this.webview, | 27 | () => ( |
28 | this.webview | ||
29 | ), | ||
28 | () => { | 30 | () => { |
29 | if (this.webview && this.webview.view) { | 31 | if (this.webview && this.webview.view) { |
30 | this.webview.view.addEventListener('console-message', (e) => { | 32 | this.webview.view.addEventListener('console-message', (e) => { |
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js index 6a6d2c8c5..6ad925670 100644 --- a/src/components/services/tabs/TabItem.js +++ b/src/components/services/tabs/TabItem.js | |||
@@ -10,7 +10,7 @@ import ms from 'ms'; | |||
10 | 10 | ||
11 | import { observable, autorun } from 'mobx'; | 11 | import { observable, autorun } from 'mobx'; |
12 | import ServiceModel from '../../../models/Service'; | 12 | import ServiceModel from '../../../models/Service'; |
13 | import { shortcutKey } from '../../../environment'; | 13 | import { cmdOrCtrlShortcutKey } from '../../../environment'; |
14 | 14 | ||
15 | const IS_SERVICE_DEBUGGING_ENABLED = ( | 15 | const IS_SERVICE_DEBUGGING_ENABLED = ( |
16 | localStorage.getItem('debug') || '' | 16 | localStorage.getItem('debug') || '' |
@@ -201,7 +201,7 @@ class TabItem extends Component { | |||
201 | { | 201 | { |
202 | label: intl.formatMessage(messages.reload), | 202 | label: intl.formatMessage(messages.reload), |
203 | click: reload, | 203 | click: reload, |
204 | accelerator: `${shortcutKey()}+R`, | 204 | accelerator: `${cmdOrCtrlShortcutKey()}+R`, |
205 | }, | 205 | }, |
206 | { | 206 | { |
207 | label: intl.formatMessage(messages.edit), | 207 | label: intl.formatMessage(messages.edit), |
@@ -307,7 +307,7 @@ class TabItem extends Component { | |||
307 | onClick={clickHandler} | 307 | onClick={clickHandler} |
308 | onContextMenu={() => menu.popup(getCurrentWindow())} | 308 | onContextMenu={() => menu.popup(getCurrentWindow())} |
309 | data-tip={`${service.name} ${ | 309 | data-tip={`${service.name} ${ |
310 | shortcutIndex <= 9 ? `(${shortcutKey(false)}+${shortcutIndex})` : '' | 310 | shortcutIndex <= 9 ? `(${cmdOrCtrlShortcutKey(false)}+${shortcutIndex})` : '' |
311 | }`} | 311 | }`} |
312 | > | 312 | > |
313 | <img src={service.icon} className="tab-item__icon" alt="" /> | 313 | <img src={service.icon} className="tab-item__icon" alt="" /> |
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js index 87a4ada27..41580ca78 100644 --- a/src/components/settings/settings/EditSettingsForm.js +++ b/src/components/settings/settings/EditSettingsForm.js | |||
@@ -1,4 +1,4 @@ | |||
1 | import { app, systemPreferences } from '@electron/remote'; | 1 | import { systemPreferences } from '@electron/remote'; |
2 | import React, { Component } from 'react'; | 2 | import React, { Component } from 'react'; |
3 | import PropTypes from 'prop-types'; | 3 | import PropTypes from 'prop-types'; |
4 | import { observer } from 'mobx-react'; | 4 | import { observer } from 'mobx-react'; |
@@ -12,11 +12,9 @@ import ToggleRaw from '../../ui/ToggleRaw'; | |||
12 | import Select from '../../ui/Select'; | 12 | import Select from '../../ui/Select'; |
13 | import Input from '../../ui/Input'; | 13 | import Input from '../../ui/Input'; |
14 | 14 | ||
15 | import { | 15 | import { FRANZ_TRANSLATION, GITHUB_FRANZ_URL } from '../../../config'; |
16 | FRANZ_TRANSLATION, | 16 | import { DEFAULT_APP_SETTINGS, ferdiVersion, isMac, isWindows, lockFerdiShortcutKey, userDataPath, userDataRecipesPath } from '../../../environment'; |
17 | GITHUB_FRANZ_URL, | 17 | import { openPath } from '../../../helpers/url-helpers'; |
18 | } from '../../../config'; | ||
19 | import { DEFAULT_APP_SETTINGS, isMac, isWindows, lockFerdiShortcutKey } from '../../../environment'; | ||
20 | import globalMessages from '../../../i18n/globalMessages'; | 18 | import globalMessages from '../../../i18n/globalMessages'; |
21 | 19 | ||
22 | const messages = defineMessages({ | 20 | const messages = defineMessages({ |
@@ -116,6 +114,18 @@ const messages = defineMessages({ | |||
116 | id: 'settings.app.buttonClearAllCache', | 114 | id: 'settings.app.buttonClearAllCache', |
117 | defaultMessage: '!!!Clear cache', | 115 | defaultMessage: '!!!Clear cache', |
118 | }, | 116 | }, |
117 | subheadlineFerdiProfile: { | ||
118 | id: 'settings.app.subheadlineFerdiProfile', | ||
119 | defaultMessage: '!!!Ferdi Profile', | ||
120 | }, | ||
121 | buttonOpenFerdiProfileFolder: { | ||
122 | id: 'settings.app.buttonOpenFerdiProfileFolder', | ||
123 | defaultMessage: '!!!Open Profile folder', | ||
124 | }, | ||
125 | buttonOpenFerdiServiceRecipesFolder: { | ||
126 | id: 'settings.app.buttonOpenFerdiServiceRecipesFolder', | ||
127 | defaultMessage: '!!!Open Service Recipes folder', | ||
128 | }, | ||
119 | buttonSearchForUpdate: { | 129 | buttonSearchForUpdate: { |
120 | id: 'settings.app.buttonSearchForUpdate', | 130 | id: 'settings.app.buttonSearchForUpdate', |
121 | defaultMessage: '!!!Check for updates', | 131 | defaultMessage: '!!!Check for updates', |
@@ -259,6 +269,9 @@ export default @observer class EditSettingsForm extends Component { | |||
259 | } | 269 | } |
260 | } | 270 | } |
261 | 271 | ||
272 | const profileFolder = userDataPath(); | ||
273 | const recipeFolder = userDataRecipesPath(); | ||
274 | |||
262 | return ( | 275 | return ( |
263 | <div className="settings__main"> | 276 | <div className="settings__main"> |
264 | <div className="settings__header"> | 277 | <div className="settings__header"> |
@@ -631,6 +644,30 @@ export default @observer class EditSettingsForm extends Component { | |||
631 | /> | 644 | /> |
632 | </p> | 645 | </p> |
633 | </div> | 646 | </div> |
647 | |||
648 | <Hr /> | ||
649 | |||
650 | <div className="settings__settings-group"> | ||
651 | <h3> | ||
652 | {intl.formatMessage(messages.subheadlineFerdiProfile)} | ||
653 | </h3> | ||
654 | <p> | ||
655 | <div className="settings__open-settings-file-container"> | ||
656 | <Button | ||
657 | buttonType="secondary" | ||
658 | label={intl.formatMessage(messages.buttonOpenFerdiProfileFolder)} | ||
659 | className="settings__open-settings-file-button" | ||
660 | onClick={() => openPath(profileFolder)} | ||
661 | /> | ||
662 | <Button | ||
663 | buttonType="secondary" | ||
664 | label={intl.formatMessage(messages.buttonOpenFerdiServiceRecipesFolder)} | ||
665 | className="settings__open-settings-file-button" | ||
666 | onClick={() => openPath(recipeFolder)} | ||
667 | /> | ||
668 | </div> | ||
669 | </p> | ||
670 | </div> | ||
634 | </div> | 671 | </div> |
635 | )} | 672 | )} |
636 | 673 | ||
@@ -669,7 +706,7 @@ export default @observer class EditSettingsForm extends Component { | |||
669 | )} | 706 | )} |
670 | {intl.formatMessage(messages.currentVersion)} | 707 | {intl.formatMessage(messages.currentVersion)} |
671 | {' '} | 708 | {' '} |
672 | {app.getVersion()} | 709 | {ferdiVersion} |
673 | {noUpdateAvailable && ( | 710 | {noUpdateAvailable && ( |
674 | <> | 711 | <> |
675 | <br /> | 712 | <br /> |
diff --git a/src/components/ui/AppLoader/index.js b/src/components/ui/AppLoader/index.js index 31d7ca249..bbfd5de28 100644 --- a/src/components/ui/AppLoader/index.js +++ b/src/components/ui/AppLoader/index.js | |||
@@ -8,6 +8,7 @@ import { shuffleArray } from '../../../helpers/array-helpers'; | |||
8 | 8 | ||
9 | import styles from './styles'; | 9 | import styles from './styles'; |
10 | 10 | ||
11 | // TODO: Need to externalize for i18n | ||
11 | const textList = shuffleArray([ | 12 | const textList = shuffleArray([ |
12 | 'Adding free features', | 13 | 'Adding free features', |
13 | 'Making application usable', | 14 | 'Making application usable', |
diff --git a/src/components/ui/Link.js b/src/components/ui/Link.js index fd14b7018..003211e5c 100644 --- a/src/components/ui/Link.js +++ b/src/components/ui/Link.js | |||
@@ -1,4 +1,3 @@ | |||
1 | import { shell } from 'electron'; | ||
2 | import React, { Component } from 'react'; | 1 | import React, { Component } from 'react'; |
3 | import PropTypes from 'prop-types'; | 2 | import PropTypes from 'prop-types'; |
4 | import { inject, observer } from 'mobx-react'; | 3 | import { inject, observer } from 'mobx-react'; |
@@ -7,15 +6,18 @@ import classnames from 'classnames'; | |||
7 | 6 | ||
8 | import { oneOrManyChildElements } from '../../prop-types'; | 7 | import { oneOrManyChildElements } from '../../prop-types'; |
9 | import { matchRoute } from '../../helpers/routing-helpers'; | 8 | import { matchRoute } from '../../helpers/routing-helpers'; |
9 | import { openExternalUrl } from '../../helpers/url-helpers'; | ||
10 | 10 | ||
11 | // TODO: create container component for this component | 11 | // TODO: create container component for this component |
12 | export default @inject('stores') @observer class Link extends Component { | 12 | export default @inject('stores') @observer class Link extends Component { |
13 | onClick(e) { | 13 | onClick(e) { |
14 | if (this.props.disabled) e.preventDefault(); | 14 | if (this.props.disabled) { |
15 | else if (this.props.target === '_blank') { | ||
16 | e.preventDefault(); | 15 | e.preventDefault(); |
17 | shell.openExternal(this.props.to); | 16 | } else if (this.props.target === '_blank') { |
17 | e.preventDefault(); | ||
18 | openExternalUrl(this.props.to, true); | ||
18 | } | 19 | } |
20 | // Note: if neither of the above, then let the other onClick handlers process it | ||
19 | } | 21 | } |
20 | 22 | ||
21 | render() { | 23 | render() { |
diff --git a/src/config.js b/src/config.ts index aeaec1089..0647b8f52 100644 --- a/src/config.js +++ b/src/config.ts | |||
@@ -33,6 +33,7 @@ export const CDN_URL = 'https://cdn.franzinfra.com'; | |||
33 | 33 | ||
34 | export const KEEP_WS_LOADED_USID = '0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0'; | 34 | export const KEEP_WS_LOADED_USID = '0a0aa000-0a0a-49a0-a000-a0a0a0a0a0a0'; |
35 | 35 | ||
36 | // TODO: Need to convert many of these to i18n | ||
36 | export const HIBERNATION_STRATEGIES = { | 37 | export const HIBERNATION_STRATEGIES = { |
37 | 10: 'Extremely Fast Hibernation (10sec)', | 38 | 10: 'Extremely Fast Hibernation (10sec)', |
38 | 30: 'Very Fast Hibernation (30sec)', | 39 | 30: 'Very Fast Hibernation (30sec)', |
@@ -180,3 +181,5 @@ export const DEFAULT_IS_FEATURE_ENABLED_BY_USER = true; | |||
180 | export const TODOS_PARTITION_ID = 'persist:todos'; | 181 | export const TODOS_PARTITION_ID = 'persist:todos'; |
181 | 182 | ||
182 | export const CUSTOM_WEBSITE_RECIPE_ID = 'franz-custom-website'; | 183 | export const CUSTOM_WEBSITE_RECIPE_ID = 'franz-custom-website'; |
184 | |||
185 | export const DEFAULT_SERVICE_ORDER = 99; // something high enough that it gets added to the end of the already-added services on the left sidebar | ||
diff --git a/src/containers/settings/RecipesScreen.js b/src/containers/settings/RecipesScreen.js index 52bf31383..784052bbe 100644 --- a/src/containers/settings/RecipesScreen.js +++ b/src/containers/settings/RecipesScreen.js | |||
@@ -1,5 +1,4 @@ | |||
1 | import { shell } from 'electron'; | 1 | import { readJsonSync } from 'fs-extra'; |
2 | import { ensureDirSync, readJsonSync } from 'fs-extra'; | ||
3 | import React, { Component } from 'react'; | 2 | import React, { Component } from 'react'; |
4 | import PropTypes from 'prop-types'; | 3 | import PropTypes from 'prop-types'; |
5 | import { autorun } from 'mobx'; | 4 | import { autorun } from 'mobx'; |
@@ -17,6 +16,7 @@ import { asarRecipesPath, userDataRecipesPath } from '../../environment'; | |||
17 | import { communityRecipesStore } from '../../features/communityRecipes'; | 16 | import { communityRecipesStore } from '../../features/communityRecipes'; |
18 | import RecipePreview from '../../models/RecipePreview'; | 17 | import RecipePreview from '../../models/RecipePreview'; |
19 | import AppStore from '../../stores/AppStore'; | 18 | import AppStore from '../../stores/AppStore'; |
19 | import { openPath } from '../../helpers/url-helpers'; | ||
20 | 20 | ||
21 | export default @inject('stores', 'actions') @observer class RecipesScreen extends Component { | 21 | export default @inject('stores', 'actions') @observer class RecipesScreen extends Component { |
22 | static propTypes = { | 22 | static propTypes = { |
@@ -74,6 +74,12 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend | |||
74 | } | 74 | } |
75 | } | 75 | } |
76 | 76 | ||
77 | _sortByName(recipe1, recipe2) { | ||
78 | if (recipe1.name.toLowerCase() < recipe2.name.toLowerCase()) { return -1; } | ||
79 | if (recipe1.name.toLowerCase() > recipe2.name.toLowerCase()) { return 1; } | ||
80 | return 0; | ||
81 | } | ||
82 | |||
77 | prepareRecipes(recipes) { | 83 | prepareRecipes(recipes) { |
78 | return recipes | 84 | return recipes |
79 | // Filter out duplicate recipes | 85 | // Filter out duplicate recipes |
@@ -82,11 +88,7 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend | |||
82 | return ids.indexOf(recipe.id) === index; | 88 | return ids.indexOf(recipe.id) === index; |
83 | 89 | ||
84 | // Sort alphabetically | 90 | // Sort alphabetically |
85 | }).sort((a, b) => { | 91 | }).sort(this._sortByName); |
86 | if (a.id < b.id) { return -1; } | ||
87 | if (a.id > b.id) { return 1; } | ||
88 | return 0; | ||
89 | }); | ||
90 | } | 92 | } |
91 | 93 | ||
92 | // Create an array of RecipePreviews from an array of recipe objects | 94 | // Create an array of RecipePreviews from an array of recipe objects |
@@ -121,6 +123,7 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend | |||
121 | } else if (filter === 'dev') { | 123 | } else if (filter === 'dev') { |
122 | recipeFilter = communityRecipesStore.communityRecipes; | 124 | recipeFilter = communityRecipesStore.communityRecipes; |
123 | } | 125 | } |
126 | recipeFilter = recipeFilter.sort(this._sortByName); | ||
124 | 127 | ||
125 | const allRecipes = this.state.needle ? this.prepareRecipes([ | 128 | const allRecipes = this.state.needle ? this.prepareRecipes([ |
126 | // All search recipes from server | 129 | // All search recipes from server |
@@ -130,7 +133,7 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend | |||
130 | this.customRecipes | 133 | this.customRecipes |
131 | .filter((service) => service.name.toLowerCase().includes(this.state.needle.toLowerCase()) || (service.aliases || []).some(alias => alias.toLowerCase().includes(this.state.needle.toLowerCase()))), | 134 | .filter((service) => service.name.toLowerCase().includes(this.state.needle.toLowerCase()) || (service.aliases || []).some(alias => alias.toLowerCase().includes(this.state.needle.toLowerCase()))), |
132 | ), | 135 | ), |
133 | ]) : recipeFilter; | 136 | ]).sort(this._sortByName) : recipeFilter; |
134 | 137 | ||
135 | const customWebsiteRecipe = recipePreviews.all.find((service) => service.id === CUSTOM_WEBSITE_RECIPE_ID); | 138 | const customWebsiteRecipe = recipePreviews.all.find((service) => service.id === CUSTOM_WEBSITE_RECIPE_ID); |
136 | 139 | ||
@@ -154,13 +157,8 @@ export default @inject('stores', 'actions') @observer class RecipesScreen extend | |||
154 | serviceStatus={services.actionStatus} | 157 | serviceStatus={services.actionStatus} |
155 | recipeFilter={filter} | 158 | recipeFilter={filter} |
156 | recipeDirectory={recipeDirectory} | 159 | recipeDirectory={recipeDirectory} |
157 | openRecipeDirectory={async () => { | 160 | openRecipeDirectory={() => openPath(recipeDirectory)} |
158 | ensureDirSync(recipeDirectory); | 161 | openDevDocs={() => appActions.openExternalUrl({ url: FRANZ_DEV_DOCS })} |
159 | shell.openExternal(`file://${recipeDirectory}`); | ||
160 | }} | ||
161 | openDevDocs={() => { | ||
162 | appActions.openExternalUrl({ url: FRANZ_DEV_DOCS }); | ||
163 | }} | ||
164 | /> | 162 | /> |
165 | </ErrorBoundary> | 163 | </ErrorBoundary> |
166 | ); | 164 | ); |
diff --git a/src/electron/ipc-api/dnd.js b/src/electron/ipc-api/dnd.js index da4d7781e..6fb8999a3 100644 --- a/src/electron/ipc-api/dnd.js +++ b/src/electron/ipc-api/dnd.js | |||
@@ -1,16 +1,23 @@ | |||
1 | import { ipcMain } from 'electron'; | 1 | import { ipcMain } from 'electron'; |
2 | import { getDoNotDisturb } from '@meetfranz/electron-notification-state'; | 2 | import { getDoNotDisturb } from 'macos-notification-state'; |
3 | import { isMac } from '../../environment'; | ||
3 | 4 | ||
4 | const debug = require('debug')('Ferdi:ipcApi:dnd'); | 5 | const debug = require('debug')('Ferdi:ipcApi:dnd'); |
5 | 6 | ||
6 | export default async () => { | 7 | export default async () => { |
7 | ipcMain.handle('get-dnd', async () => { | 8 | ipcMain.handle('get-dnd', async () => { |
9 | if (!isMac) { | ||
10 | debug('Not on macOS, returning', false); | ||
11 | return false; | ||
12 | } | ||
13 | |||
8 | try { | 14 | try { |
9 | const isDND = getDoNotDisturb(); | 15 | const isDND = getDoNotDisturb(); |
10 | debug('Fetching DND state, set to', isDND); | 16 | debug('Fetching DND state, set to', isDND); |
11 | return isDND; | 17 | return isDND; |
12 | } catch (e) { | 18 | } catch (e) { |
13 | console.error(e); | 19 | console.error(e); |
20 | return false; | ||
14 | } | 21 | } |
15 | }); | 22 | }); |
16 | }; | 23 | }; |
diff --git a/src/electron/ipc-api/focusState.js b/src/electron/ipc-api/focusState.js new file mode 100644 index 000000000..0b4a0d8f3 --- /dev/null +++ b/src/electron/ipc-api/focusState.js | |||
@@ -0,0 +1,9 @@ | |||
1 | export default (params) => { | ||
2 | params.mainWindow.on('focus', () => { | ||
3 | params.mainWindow.webContents.send('isWindowFocused', true); | ||
4 | }); | ||
5 | |||
6 | params.mainWindow.on('blur', () => { | ||
7 | params.mainWindow.webContents.send('isWindowFocused', false); | ||
8 | }); | ||
9 | }; | ||
diff --git a/src/electron/ipc-api/index.js b/src/electron/ipc-api/index.js index 999ac7d2d..5da1edc39 100644 --- a/src/electron/ipc-api/index.js +++ b/src/electron/ipc-api/index.js | |||
@@ -5,6 +5,7 @@ import download from './download'; | |||
5 | import localServer from './localServer'; | 5 | import localServer from './localServer'; |
6 | import cld from './cld'; | 6 | import cld from './cld'; |
7 | import dnd from './dnd'; | 7 | import dnd from './dnd'; |
8 | import focusState from './focusState'; | ||
8 | 9 | ||
9 | export default (params) => { | 10 | export default (params) => { |
10 | settings(params); | 11 | settings(params); |
@@ -14,4 +15,5 @@ export default (params) => { | |||
14 | localServer(params); | 15 | localServer(params); |
15 | cld(params); | 16 | cld(params); |
16 | dnd(); | 17 | dnd(); |
18 | focusState(params); | ||
17 | }; | 19 | }; |
diff --git a/src/environment.js b/src/environment.js index 42c6b2927..f8a51b207 100644 --- a/src/environment.js +++ b/src/environment.js | |||
@@ -31,6 +31,7 @@ export const ferdiVersion = app.getVersion(); | |||
31 | export const electronVersion = process.versions.electron; | 31 | export const electronVersion = process.versions.electron; |
32 | export const chromeVersion = process.versions.chrome; | 32 | export const chromeVersion = process.versions.chrome; |
33 | export const nodeVersion = process.versions.node; | 33 | export const nodeVersion = process.versions.node; |
34 | export const ferdiLocale = app.getLocale(); | ||
34 | 35 | ||
35 | // Set app directory before loading user modules | 36 | // Set app directory before loading user modules |
36 | if (process.env.FERDI_APPDATA_DIR != null) { | 37 | if (process.env.FERDI_APPDATA_DIR != null) { |
@@ -78,17 +79,17 @@ export const is64Bit = osArch.match(/64/); | |||
78 | const ctrlKey = isMac ? '⌘' : 'Ctrl'; | 79 | const ctrlKey = isMac ? '⌘' : 'Ctrl'; |
79 | const cmdKey = isMac ? 'Cmd' : 'Ctrl'; | 80 | const cmdKey = isMac ? 'Cmd' : 'Ctrl'; |
80 | 81 | ||
81 | export const altKey = isMac ? '⌥' : 'Alt'; | 82 | export const altKey = (isAccelerator = true) => (!isAccelerator && isMac ? '⌥' : 'Alt'); |
82 | export const shiftKey = isMac ? '⇧' : 'Shift'; | 83 | export const shiftKey = (isAccelerator = true) => (!isAccelerator && isMac ? '⇧' : 'Shift'); |
83 | 84 | ||
84 | // Platform specific shortcut keys | 85 | // Platform specific shortcut keys |
85 | export const shortcutKey = (isAccelerator = true) => (isAccelerator ? cmdKey : ctrlKey); | 86 | export const cmdOrCtrlShortcutKey = (isAccelerator = true) => (isAccelerator ? cmdKey : ctrlKey); |
86 | export const lockFerdiShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+${shiftKey}+L`; | 87 | export const lockFerdiShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+${shiftKey(isAccelerator)}+L`; |
87 | export const todosToggleShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+T`; | 88 | export const todosToggleShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+T`; |
88 | export const workspaceToggleShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+D`; | 89 | export const workspaceToggleShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+D`; |
89 | export const muteFerdiShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+${shiftKey}+M`; | 90 | export const muteFerdiShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+${shiftKey(isAccelerator)}+M`; |
90 | export const addNewServiceShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+N`; | 91 | export const addNewServiceShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+N`; |
91 | export const settingsShortcutKey = (isAccelerator = true) => `${shortcutKey(isAccelerator)}+${isMac ? ',' : 'P'}`; | 92 | export const settingsShortcutKey = (isAccelerator = true) => `${cmdOrCtrlShortcutKey(isAccelerator)}+${isMac ? ',' : 'P'}`; |
92 | 93 | ||
93 | let api; | 94 | let api; |
94 | let wsApi; | 95 | let wsApi; |
diff --git a/src/features/announcements/api.js b/src/features/announcements/api.js index a7fe24bb1..962f3e694 100644 --- a/src/features/announcements/api.js +++ b/src/features/announcements/api.js | |||
@@ -1,14 +1,14 @@ | |||
1 | import { app } from '@electron/remote'; | ||
2 | import Request from '../../stores/lib/Request'; | 1 | import Request from '../../stores/lib/Request'; |
3 | import apiBase from '../../api/apiBase'; | 2 | import apiBase from '../../api/apiBase'; |
4 | import { GITHUB_FERDI_REPO_NAME, GITHUB_NIGHTLIES_REPO_NAME, GITHUB_ORG_NAME } from '../../config'; | 3 | import { GITHUB_FERDI_REPO_NAME, GITHUB_NIGHTLIES_REPO_NAME, GITHUB_ORG_NAME } from '../../config'; |
4 | import { ferdiVersion } from '../../environment'; | ||
5 | 5 | ||
6 | const debug = require('debug')('Ferdi:feature:announcements:api'); | 6 | const debug = require('debug')('Ferdi:feature:announcements:api'); |
7 | 7 | ||
8 | export const announcementsApi = { | 8 | export const announcementsApi = { |
9 | async getCurrentVersion() { | 9 | async getCurrentVersion() { |
10 | debug('getting current version of electron app'); | 10 | debug('getting current version of electron app'); |
11 | return Promise.resolve(app.getVersion()); | 11 | return Promise.resolve(ferdiVersion); |
12 | }, | 12 | }, |
13 | 13 | ||
14 | async getChangelog(version) { | 14 | async getChangelog(version) { |
diff --git a/src/features/announcements/index.js b/src/features/announcements/index.js index 28f0b10ed..19930c5b1 100644 --- a/src/features/announcements/index.js +++ b/src/features/announcements/index.js | |||
@@ -24,8 +24,6 @@ export default function initAnnouncements(stores, actions) { | |||
24 | announcementsStore.stop(); | 24 | announcementsStore.stop(); |
25 | } | 25 | } |
26 | }, | 26 | }, |
27 | { | 27 | { fireImmediately: true }, |
28 | fireImmediately: true, | ||
29 | }, | ||
30 | ); | 28 | ); |
31 | } | 29 | } |
diff --git a/src/features/appearance/index.js b/src/features/appearance/index.js index 87651a3f4..c3425ba9c 100644 --- a/src/features/appearance/index.js +++ b/src/features/appearance/index.js | |||
@@ -235,8 +235,6 @@ export default function initAppearance(stores) { | |||
235 | () => { | 235 | () => { |
236 | updateStyle(settings.all.app); | 236 | updateStyle(settings.all.app); |
237 | }, | 237 | }, |
238 | { | 238 | { fireImmediately: true }, |
239 | fireImmediately: true, | ||
240 | }, | ||
241 | ); | 239 | ); |
242 | } | 240 | } |
diff --git a/src/features/nightlyBuilds/Component.js b/src/features/nightlyBuilds/Component.js index 5a809aaf2..6e5941948 100644 --- a/src/features/nightlyBuilds/Component.js +++ b/src/features/nightlyBuilds/Component.js | |||
@@ -55,7 +55,7 @@ const styles = () => ({ | |||
55 | }, | 55 | }, |
56 | }); | 56 | }); |
57 | 57 | ||
58 | export default @injectSheet(styles) @inject('stores', 'actions') @observer class nightlyBuildsModal extends Component { | 58 | export default @injectSheet(styles) @inject('stores', 'actions') @observer class NightlyBuildsModal extends Component { |
59 | static contextTypes = { | 59 | static contextTypes = { |
60 | intl: intlShape, | 60 | intl: intlShape, |
61 | }; | 61 | }; |
@@ -124,7 +124,7 @@ export default @injectSheet(styles) @inject('stores', 'actions') @observer class | |||
124 | } | 124 | } |
125 | } | 125 | } |
126 | 126 | ||
127 | nightlyBuildsModal.wrappedComponent.propTypes = { | 127 | NightlyBuildsModal.wrappedComponent.propTypes = { |
128 | stores: PropTypes.shape({ | 128 | stores: PropTypes.shape({ |
129 | settings: PropTypes.instanceOf(SettingsStore).isRequired, | 129 | settings: PropTypes.instanceOf(SettingsStore).isRequired, |
130 | }).isRequired, | 130 | }).isRequired, |
diff --git a/src/features/quickSwitch/Component.js b/src/features/quickSwitch/Component.js index 812f2c04b..78d5d94a0 100644 --- a/src/features/quickSwitch/Component.js +++ b/src/features/quickSwitch/Component.js | |||
@@ -118,8 +118,12 @@ export default @injectSheet(styles) @inject('stores', 'actions') @observer class | |||
118 | this.openService = this.openService.bind(this); | 118 | this.openService = this.openService.bind(this); |
119 | 119 | ||
120 | reaction( | 120 | reaction( |
121 | () => ModalState.isModalVisible, | 121 | () => ( |
122 | this._handleVisibilityChange, | 122 | ModalState.isModalVisible |
123 | ), | ||
124 | () => { | ||
125 | this._handleVisibilityChange(); | ||
126 | }, | ||
123 | ); | 127 | ); |
124 | } | 128 | } |
125 | 129 | ||
diff --git a/src/features/settingsWS/index.js b/src/features/settingsWS/index.js index 6711296da..7771421d6 100755 --- a/src/features/settingsWS/index.js +++ b/src/features/settingsWS/index.js | |||
@@ -22,8 +22,6 @@ export default function initSettingsWebSocket(stores, actions) { | |||
22 | settingsStore.stop(); | 22 | settingsStore.stop(); |
23 | } | 23 | } |
24 | }, | 24 | }, |
25 | { | 25 | { fireImmediately: true }, |
26 | fireImmediately: true, | ||
27 | }, | ||
28 | ); | 26 | ); |
29 | } | 27 | } |
diff --git a/src/features/shareFranz/Component.js b/src/features/shareFranz/Component.js deleted file mode 100644 index cc2e81b70..000000000 --- a/src/features/shareFranz/Component.js +++ /dev/null | |||
@@ -1,159 +0,0 @@ | |||
1 | import React, { Component } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { observer, inject } from 'mobx-react'; | ||
4 | import injectSheet from 'react-jss'; | ||
5 | import { defineMessages, intlShape } from 'react-intl'; | ||
6 | import { Button } from '@meetfranz/forms'; | ||
7 | import { H1, Icon } from '@meetfranz/ui'; | ||
8 | |||
9 | import { | ||
10 | mdiHeart, mdiEmail, mdiFacebookBox, mdiTwitter, | ||
11 | } from '@mdi/js'; | ||
12 | import Modal from '../../components/ui/Modal'; | ||
13 | import { state } from './store'; | ||
14 | import ServicesStore from '../../stores/ServicesStore'; | ||
15 | |||
16 | const messages = defineMessages({ | ||
17 | headline: { | ||
18 | id: 'feature.shareFranz.headline', | ||
19 | defaultMessage: '!!!Ferdi is better together!', | ||
20 | }, | ||
21 | text: { | ||
22 | id: 'feature.shareFranz.text', | ||
23 | defaultMessage: '!!!Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.', | ||
24 | }, | ||
25 | actionsEmail: { | ||
26 | id: 'feature.shareFranz.action.email', | ||
27 | defaultMessage: '!!!Share as email', | ||
28 | }, | ||
29 | actionsFacebook: { | ||
30 | id: 'feature.shareFranz.action.facebook', | ||
31 | defaultMessage: '!!!Share on Facebook', | ||
32 | }, | ||
33 | actionsTwitter: { | ||
34 | id: 'feature.shareFranz.action.twitter', | ||
35 | defaultMessage: '!!!Share on Twitter', | ||
36 | }, | ||
37 | shareTextEmail: { | ||
38 | id: 'feature.shareFranz.shareText.email', | ||
39 | defaultMessage: '!!! I\'ve added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com', | ||
40 | }, | ||
41 | shareTextTwitter: { | ||
42 | id: 'feature.shareFranz.shareText.twitter', | ||
43 | defaultMessage: '!!! I\'ve added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @FranzMessenger', | ||
44 | }, | ||
45 | }); | ||
46 | |||
47 | const styles = (theme) => ({ | ||
48 | modal: { | ||
49 | width: '80%', | ||
50 | maxWidth: 600, | ||
51 | background: theme.styleTypes.primary.accent, | ||
52 | textAlign: 'center', | ||
53 | color: theme.styleTypes.primary.contrast, | ||
54 | }, | ||
55 | heartContainer: { | ||
56 | display: 'flex', | ||
57 | justifyContent: 'center', | ||
58 | borderRadius: '100%', | ||
59 | background: theme.brandDanger, | ||
60 | padding: 20, | ||
61 | width: 100, | ||
62 | height: 100, | ||
63 | margin: [-70, 'auto', 30], | ||
64 | }, | ||
65 | heart: { | ||
66 | fill: theme.styleTypes.primary.contrast, | ||
67 | }, | ||
68 | headline: { | ||
69 | textAlign: 'center', | ||
70 | fontSize: 40, | ||
71 | marginBottom: 20, | ||
72 | }, | ||
73 | actions: { | ||
74 | display: 'flex', | ||
75 | justifyContent: 'space-between', | ||
76 | marginTop: 30, | ||
77 | }, | ||
78 | cta: { | ||
79 | background: theme.styleTypes.primary.contrast, | ||
80 | color: `${theme.styleTypes.primary.accent} !important`, | ||
81 | |||
82 | '& svg': { | ||
83 | fill: theme.styleTypes.primary.accent, | ||
84 | }, | ||
85 | }, | ||
86 | }); | ||
87 | |||
88 | export default @injectSheet(styles) @inject('stores') @observer class ShareFranzModal extends Component { | ||
89 | static propTypes = { | ||
90 | classes: PropTypes.object.isRequired, | ||
91 | }; | ||
92 | |||
93 | static contextTypes = { | ||
94 | intl: intlShape, | ||
95 | }; | ||
96 | |||
97 | close() { | ||
98 | state.isModalVisible = false; | ||
99 | } | ||
100 | |||
101 | render() { | ||
102 | const { isModalVisible } = state; | ||
103 | |||
104 | const { | ||
105 | classes, | ||
106 | stores, | ||
107 | } = this.props; | ||
108 | |||
109 | const serviceCount = stores.services.all.length; | ||
110 | |||
111 | const { intl } = this.context; | ||
112 | |||
113 | return ( | ||
114 | <Modal | ||
115 | isOpen={isModalVisible} | ||
116 | className={classes.modal} | ||
117 | shouldCloseOnOverlayClick | ||
118 | close={this.close.bind(this)} | ||
119 | > | ||
120 | <div className={classes.heartContainer}> | ||
121 | <Icon icon={mdiHeart} className={classes.heart} size={4} /> | ||
122 | </div> | ||
123 | <H1 className={classes.headline}> | ||
124 | {intl.formatMessage(messages.headline)} | ||
125 | </H1> | ||
126 | <p>{intl.formatMessage(messages.text)}</p> | ||
127 | <div className={classes.actions}> | ||
128 | <Button | ||
129 | label={intl.formatMessage(messages.actionsEmail)} | ||
130 | className={classes.cta} | ||
131 | icon={mdiEmail} | ||
132 | href={`mailto:?subject=Meet the cool app Franz&body=${intl.formatMessage(messages.shareTextEmail, { count: serviceCount })}}`} | ||
133 | target="_blank" | ||
134 | /> | ||
135 | <Button | ||
136 | label={intl.formatMessage(messages.actionsFacebook)} | ||
137 | className={classes.cta} | ||
138 | icon={mdiFacebookBox} | ||
139 | href="https://www.facebook.com/sharer/sharer.php?u=https://www.meetfranz.com?utm_source=facebook&utm_medium=referral&utm_campaign=share-button" | ||
140 | target="_blank" | ||
141 | /> | ||
142 | <Button | ||
143 | label={intl.formatMessage(messages.actionsTwitter)} | ||
144 | className={classes.cta} | ||
145 | icon={mdiTwitter} | ||
146 | href={`http://twitter.com/intent/tweet?status=${intl.formatMessage(messages.shareTextTwitter, { count: serviceCount })}`} | ||
147 | target="_blank" | ||
148 | /> | ||
149 | </div> | ||
150 | </Modal> | ||
151 | ); | ||
152 | } | ||
153 | } | ||
154 | |||
155 | ShareFranzModal.wrappedComponent.propTypes = { | ||
156 | stores: PropTypes.shape({ | ||
157 | services: PropTypes.instanceOf(ServicesStore).isRequired, | ||
158 | }).isRequired, | ||
159 | }; | ||
diff --git a/src/features/shareFranz/index.js b/src/features/shareFranz/index.js deleted file mode 100644 index 9add0f65e..000000000 --- a/src/features/shareFranz/index.js +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | import { reaction } from 'mobx'; | ||
2 | import ms from 'ms'; | ||
3 | import { state as ModalState } from './store'; | ||
4 | |||
5 | export { default as Component } from './Component'; | ||
6 | |||
7 | const debug = require('debug')('Ferdi:feature:shareFranz'); | ||
8 | |||
9 | const state = ModalState; | ||
10 | |||
11 | export default function initialize(stores) { | ||
12 | debug('Initialize shareFerdi feature'); | ||
13 | |||
14 | window.ferdi.features.shareFerdi = { | ||
15 | state, | ||
16 | }; | ||
17 | |||
18 | function showModal() { | ||
19 | debug('Would have showed share window'); | ||
20 | } | ||
21 | |||
22 | reaction( | ||
23 | () => stores.user.isLoggedIn, | ||
24 | () => { | ||
25 | setTimeout(() => { | ||
26 | if (stores.settings.stats.appStarts % 50 === 0) { | ||
27 | showModal(); | ||
28 | } | ||
29 | }, ms('2s')); | ||
30 | }, | ||
31 | { | ||
32 | fireImmediately: true, | ||
33 | }, | ||
34 | ); | ||
35 | } | ||
diff --git a/src/features/shareFranz/store.js b/src/features/shareFranz/store.js deleted file mode 100644 index c637e9eff..000000000 --- a/src/features/shareFranz/store.js +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | import { observable } from 'mobx'; | ||
2 | |||
3 | const defaultState = { | ||
4 | isModalVisible: false, | ||
5 | lastShown: null, | ||
6 | }; | ||
7 | |||
8 | export const state = observable(defaultState); | ||
diff --git a/src/features/todos/index.js b/src/features/todos/index.js index 1c6c9179a..55956d1d7 100644 --- a/src/features/todos/index.js +++ b/src/features/todos/index.js | |||
@@ -13,7 +13,9 @@ export default function initTodos(stores, actions) { | |||
13 | 13 | ||
14 | // Toggle todos feature | 14 | // Toggle todos feature |
15 | reaction( | 15 | reaction( |
16 | () => features.features.isTodosEnabled, | 16 | () => ( |
17 | features.features.isTodosEnabled | ||
18 | ), | ||
17 | (isEnabled) => { | 19 | (isEnabled) => { |
18 | if (isEnabled) { | 20 | if (isEnabled) { |
19 | debug('Initializing `todos` feature'); | 21 | debug('Initializing `todos` feature'); |
@@ -23,8 +25,6 @@ export default function initTodos(stores, actions) { | |||
23 | todosStore.stop(); | 25 | todosStore.stop(); |
24 | } | 26 | } |
25 | }, | 27 | }, |
26 | { | 28 | { fireImmediately: true }, |
27 | fireImmediately: true, | ||
28 | }, | ||
29 | ); | 29 | ); |
30 | } | 30 | } |
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.js b/src/features/workspaces/components/WorkspaceDrawerItem.js index fff607330..252158364 100644 --- a/src/features/workspaces/components/WorkspaceDrawerItem.js +++ b/src/features/workspaces/components/WorkspaceDrawerItem.js | |||
@@ -5,7 +5,7 @@ import { observer } from 'mobx-react'; | |||
5 | import injectSheet from 'react-jss'; | 5 | import injectSheet from 'react-jss'; |
6 | import classnames from 'classnames'; | 6 | import classnames from 'classnames'; |
7 | import { defineMessages, intlShape } from 'react-intl'; | 7 | import { defineMessages, intlShape } from 'react-intl'; |
8 | import { altKey, shortcutKey } from '../../../environment'; | 8 | import { altKey, cmdOrCtrlShortcutKey } from '../../../environment'; |
9 | 9 | ||
10 | const messages = defineMessages({ | 10 | const messages = defineMessages({ |
11 | noServicesAddedYet: { | 11 | noServicesAddedYet: { |
@@ -125,7 +125,7 @@ class WorkspaceDrawerItem extends Component { | |||
125 | onContextMenuEditClick && contextMenu.popup(getCurrentWindow()) | 125 | onContextMenuEditClick && contextMenu.popup(getCurrentWindow()) |
126 | } | 126 | } |
127 | data-tip={`${ | 127 | data-tip={`${ |
128 | shortcutIndex <= 9 ? `(${shortcutKey(false)}+${altKey}+${shortcutIndex})` : '' | 128 | shortcutIndex <= 9 ? `(${cmdOrCtrlShortcutKey(false)}+${altKey(false)}+${shortcutIndex})` : '' |
129 | }`} | 129 | }`} |
130 | > | 130 | > |
131 | <span | 131 | <span |
diff --git a/src/features/workspaces/index.js b/src/features/workspaces/index.js index 3db6de5b2..83e4d9049 100644 --- a/src/features/workspaces/index.js +++ b/src/features/workspaces/index.js | |||
@@ -12,7 +12,9 @@ export default function initWorkspaces(stores, actions) { | |||
12 | 12 | ||
13 | // Toggle workspace feature | 13 | // Toggle workspace feature |
14 | reaction( | 14 | reaction( |
15 | () => features.features.isWorkspaceEnabled, | 15 | () => ( |
16 | features.features.isWorkspaceEnabled | ||
17 | ), | ||
16 | (isEnabled) => { | 18 | (isEnabled) => { |
17 | if (isEnabled && !workspaceStore.isFeatureActive) { | 19 | if (isEnabled && !workspaceStore.isFeatureActive) { |
18 | debug('Initializing `workspaces` feature'); | 20 | debug('Initializing `workspaces` feature'); |
@@ -23,8 +25,6 @@ export default function initWorkspaces(stores, actions) { | |||
23 | resetApiRequests(); | 25 | resetApiRequests(); |
24 | } | 26 | } |
25 | }, | 27 | }, |
26 | { | 28 | { fireImmediately: true }, |
27 | fireImmediately: true, | ||
28 | }, | ||
29 | ); | 29 | ); |
30 | } | 30 | } |
diff --git a/src/helpers/array-helpers.js b/src/helpers/array-helpers.ts index 5e592b7f7..ae5d8d99f 100644 --- a/src/helpers/array-helpers.js +++ b/src/helpers/array-helpers.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | export const shuffleArray = (arr) => arr | 1 | export const shuffleArray = (arr: any[]) => arr |
2 | .map((a) => [Math.random(), a]) | 2 | .map((a) => [Math.random(), a]) |
3 | .sort((a, b) => a[0] - b[0]) | 3 | .sort((a, b) => a[0] - b[0]) |
4 | .map((a) => a[1]); | 4 | .map((a) => a[1]); |
diff --git a/src/helpers/asar-helpers.js b/src/helpers/asar-helpers.ts index 9e4380c06..3d9f0d941 100644 --- a/src/helpers/asar-helpers.js +++ b/src/helpers/asar-helpers.ts | |||
@@ -1,3 +1,3 @@ | |||
1 | export function asarPath(dir = '') { | 1 | export function asarPath(dir: string = '') { |
2 | return dir.replace('app.asar', 'app.asar.unpacked'); | 2 | return dir.replace('app.asar', 'app.asar.unpacked'); |
3 | } | 3 | } |
diff --git a/src/helpers/async-helpers.js b/src/helpers/async-helpers.ts index c6c57e28e..aae3c3928 100644 --- a/src/helpers/async-helpers.js +++ b/src/helpers/async-helpers.ts | |||
@@ -1,5 +1,5 @@ | |||
1 | /* eslint-disable import/prefer-default-export */ | 1 | /* eslint-disable import/prefer-default-export */ |
2 | 2 | ||
3 | export function sleep(ms = 0) { | 3 | export function sleep(ms: number = 0) { |
4 | return new Promise((r) => setTimeout(r, ms)); | 4 | return new Promise((r) => setTimeout(r, ms)); |
5 | } | 5 | } |
diff --git a/src/helpers/i18n-helpers.js b/src/helpers/i18n-helpers.ts index 807b9066e..c1f18f446 100644 --- a/src/helpers/i18n-helpers.js +++ b/src/helpers/i18n-helpers.ts | |||
@@ -3,7 +3,7 @@ export function getLocale({ | |||
3 | }) { | 3 | }) { |
4 | let localeStr = locale; | 4 | let localeStr = locale; |
5 | if (locales[locale] === undefined) { | 5 | if (locales[locale] === undefined) { |
6 | let localeFuzzy; | 6 | let localeFuzzy: string | undefined; |
7 | Object.keys(locales).forEach((localStr) => { | 7 | Object.keys(locales).forEach((localStr) => { |
8 | if (locales && Object.hasOwnProperty.call(locales, localStr)) { | 8 | if (locales && Object.hasOwnProperty.call(locales, localStr)) { |
9 | if (locale.substring(0, 2) === localStr.substring(0, 2)) { | 9 | if (locale.substring(0, 2) === localStr.substring(0, 2)) { |
@@ -31,7 +31,7 @@ export function getLocale({ | |||
31 | export function getSelectOptions({ | 31 | export function getSelectOptions({ |
32 | locales, resetToDefaultText = '', automaticDetectionText = '', sort = true, | 32 | locales, resetToDefaultText = '', automaticDetectionText = '', sort = true, |
33 | }) { | 33 | }) { |
34 | const options = []; | 34 | const options: object[] = []; |
35 | 35 | ||
36 | if (resetToDefaultText) { | 36 | if (resetToDefaultText) { |
37 | options.push( | 37 | options.push( |
diff --git a/src/helpers/password-helpers.js b/src/helpers/password-helpers.ts index cf461e4f7..89c75c752 100644 --- a/src/helpers/password-helpers.js +++ b/src/helpers/password-helpers.ts | |||
@@ -1,10 +1,10 @@ | |||
1 | import crypto from 'crypto'; | 1 | import crypto from 'crypto'; |
2 | 2 | ||
3 | export function hash(password) { | 3 | export function hash(password: crypto.BinaryLike) { |
4 | return crypto.createHash('sha256').update(password).digest('base64'); | 4 | return crypto.createHash('sha256').update(password).digest('base64'); |
5 | } | 5 | } |
6 | 6 | ||
7 | export function scorePassword(password) { | 7 | export function scorePassword(password: string) { |
8 | let score = 0; | 8 | let score = 0; |
9 | if (!password) { | 9 | if (!password) { |
10 | return score; | 10 | return score; |
@@ -32,5 +32,5 @@ export function scorePassword(password) { | |||
32 | 32 | ||
33 | score += (variationCount - 1) * 10; | 33 | score += (variationCount - 1) * 10; |
34 | 34 | ||
35 | return parseInt(score, 10); | 35 | return parseInt(score.toString(), 10); |
36 | } | 36 | } |
diff --git a/src/helpers/recipe-helpers.js b/src/helpers/recipe-helpers.ts index 7e4bfa85a..965429210 100644 --- a/src/helpers/recipe-helpers.js +++ b/src/helpers/recipe-helpers.ts | |||
@@ -1,15 +1,15 @@ | |||
1 | import { parse } from 'path'; | 1 | import { parse } from 'path'; |
2 | import { userDataRecipesPath } from '../environment'; | 2 | import { userDataRecipesPath } from '../environment'; |
3 | 3 | ||
4 | export function getRecipeDirectory(id = '') { | 4 | export function getRecipeDirectory(id: string = ''): string { |
5 | return userDataRecipesPath(id); | 5 | return userDataRecipesPath(id); |
6 | } | 6 | } |
7 | 7 | ||
8 | export function getDevRecipeDirectory(id = '') { | 8 | export function getDevRecipeDirectory(id: string = ''): string { |
9 | return userDataRecipesPath('dev', id); | 9 | return userDataRecipesPath('dev', id); |
10 | } | 10 | } |
11 | 11 | ||
12 | export function loadRecipeConfig(recipeId) { | 12 | export function loadRecipeConfig(recipeId: string) { |
13 | try { | 13 | try { |
14 | const configPath = `${recipeId}/package.json`; | 14 | const configPath = `${recipeId}/package.json`; |
15 | // Delete module from cache | 15 | // Delete module from cache |
diff --git a/src/helpers/routing-helpers.js b/src/helpers/routing-helpers.js deleted file mode 100644 index 14922ebf3..000000000 --- a/src/helpers/routing-helpers.js +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | import RouteParser from 'route-parser'; | ||
2 | |||
3 | // eslint-disable-next-line | ||
4 | export const matchRoute = (pattern, path) => new RouteParser(pattern).match(path); | ||
diff --git a/src/helpers/routing-helpers.ts b/src/helpers/routing-helpers.ts new file mode 100644 index 000000000..18169f01b --- /dev/null +++ b/src/helpers/routing-helpers.ts | |||
@@ -0,0 +1,3 @@ | |||
1 | import RouteParser from 'route-parser'; | ||
2 | |||
3 | export const matchRoute = (pattern: string, path: string) => new RouteParser(pattern).match(path); | ||
diff --git a/src/helpers/schedule-helpers.js b/src/helpers/schedule-helpers.ts index a3020cad6..754fd5556 100644 --- a/src/helpers/schedule-helpers.js +++ b/src/helpers/schedule-helpers.ts | |||
@@ -1,6 +1,6 @@ | |||
1 | /* eslint-disable import/prefer-default-export */ | 1 | /* eslint-disable import/prefer-default-export */ |
2 | 2 | ||
3 | export function isInTimeframe(start, end) { | 3 | export function isInTimeframe(start: string, end: string) { |
4 | const [ | 4 | const [ |
5 | startHourStr, | 5 | startHourStr, |
6 | startMinuteStr, | 6 | startMinuteStr, |
diff --git a/src/helpers/url-helpers.js b/src/helpers/url-helpers.js deleted file mode 100644 index 972f9b79a..000000000 --- a/src/helpers/url-helpers.js +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | import { URL } from 'url'; | ||
2 | |||
3 | import { ALLOWED_PROTOCOLS } from '../config'; | ||
4 | |||
5 | const debug = require('debug')('Ferdi:Helpers:url'); | ||
6 | |||
7 | export function isValidExternalURL(url) { | ||
8 | let parsedUrl; | ||
9 | try { | ||
10 | parsedUrl = new URL(url); | ||
11 | } catch (_) { | ||
12 | return false; | ||
13 | } | ||
14 | |||
15 | const isAllowed = ALLOWED_PROTOCOLS.includes(parsedUrl.protocol); | ||
16 | |||
17 | debug('protocol check is', isAllowed, 'for:', url); | ||
18 | |||
19 | return isAllowed; | ||
20 | } | ||
diff --git a/src/helpers/url-helpers.ts b/src/helpers/url-helpers.ts new file mode 100644 index 000000000..3657ae693 --- /dev/null +++ b/src/helpers/url-helpers.ts | |||
@@ -0,0 +1,37 @@ | |||
1 | // This is taken from: https://benjamin-altpeter.de/shell-openexternal-dangers/ | ||
2 | |||
3 | import { URL } from 'url'; | ||
4 | import { ensureDirSync } from 'fs-extra'; | ||
5 | import { shell } from 'electron'; | ||
6 | |||
7 | import { ALLOWED_PROTOCOLS } from '../config'; | ||
8 | |||
9 | const debug = require('debug')('Ferdi:Helpers:url'); | ||
10 | |||
11 | export function isValidExternalURL(url: string | URL) { | ||
12 | let parsedUrl: URL; | ||
13 | try { | ||
14 | parsedUrl = new URL(url.toString()); | ||
15 | } catch (_) { | ||
16 | return false; | ||
17 | } | ||
18 | |||
19 | const isAllowed = ALLOWED_PROTOCOLS.includes(parsedUrl.protocol); | ||
20 | |||
21 | debug('protocol check is', isAllowed, 'for:', url); | ||
22 | |||
23 | return isAllowed; | ||
24 | } | ||
25 | |||
26 | export async function openPath(folderName: string) { | ||
27 | ensureDirSync(folderName); | ||
28 | shell.openPath(folderName); | ||
29 | } | ||
30 | |||
31 | // TODO: Need to verify and fix/remove the skipping logic. Ideally, we should never skip this check | ||
32 | export function openExternalUrl(url: string | URL, skipValidityCheck: boolean = false) { | ||
33 | debug('Open url:', url, 'with skipValidityCheck:', skipValidityCheck); | ||
34 | if (skipValidityCheck || isValidExternalURL(url)) { | ||
35 | shell.openExternal(url.toString()); | ||
36 | } | ||
37 | } | ||
diff --git a/src/helpers/userAgent-helpers.js b/src/helpers/userAgent-helpers.ts index ede5e6dc4..73c8bfd03 100644 --- a/src/helpers/userAgent-helpers.js +++ b/src/helpers/userAgent-helpers.ts | |||
@@ -6,7 +6,7 @@ import { | |||
6 | } from '../environment'; | 6 | } from '../environment'; |
7 | 7 | ||
8 | function macOS() { | 8 | function macOS() { |
9 | const version = macosVersion(); | 9 | const version = macosVersion() || ''; |
10 | let cpuName = os.cpus()[0].model.split(' ')[0]; | 10 | let cpuName = os.cpus()[0].model.split(' ')[0]; |
11 | if (cpuName && cpuName.match(/\(/)) { | 11 | if (cpuName && cpuName.match(/\(/)) { |
12 | cpuName = cpuName.split('(')[0]; | 12 | cpuName = cpuName.split('(')[0]; |
diff --git a/src/helpers/visibility-helper.js b/src/helpers/visibility-helper.js deleted file mode 100644 index 8456c4ecf..000000000 --- a/src/helpers/visibility-helper.js +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | export function onVisibilityChange(cb) { | ||
2 | let isVisible = true; | ||
3 | |||
4 | if (!cb) { | ||
5 | throw new Error('no callback given'); | ||
6 | } | ||
7 | |||
8 | function focused() { | ||
9 | if (!isVisible) { | ||
10 | cb(isVisible = true); | ||
11 | } | ||
12 | } | ||
13 | |||
14 | function unfocused() { | ||
15 | if (isVisible) { | ||
16 | cb(isVisible = false); | ||
17 | } | ||
18 | } | ||
19 | |||
20 | document.addEventListener('visibilitychange', () => { (document.hidden ? unfocused : focused)(); }); | ||
21 | |||
22 | window.onpageshow = focused; | ||
23 | window.onfocus = focused; | ||
24 | |||
25 | window.onpagehid = unfocused; | ||
26 | window.onblur = unfocused; | ||
27 | } | ||
diff --git a/src/i18n/locales/af.json b/src/i18n/locales/af.json index 3e185e73b..89060b506 100644 --- a/src/i18n/locales/af.json +++ b/src/i18n/locales/af.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Send as email", | ||
30 | "feature.shareFranz.action.facebook": "Share on Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Share on Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Can't connect to Ferdi online services", | 29 | "global.api.unhealthy": "Can't connect to Ferdi online services", |
37 | "global.notConnectedToTheInternet": "You are not connected to the internet.", | 30 | "global.notConnectedToTheInternet": "You are not connected to the internet.", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Clear cache", | 199 | "settings.app.buttonClearAllCache": "Clear cache", |
207 | "settings.app.buttonInstallUpdate": "Restart & install update", | 200 | "settings.app.buttonInstallUpdate": "Restart & install update", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Check for updates", | 203 | "settings.app.buttonSearchForUpdate": "Check for updates", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/ar.json b/src/i18n/locales/ar.json index 1081ace02..e5caabd2b 100644 --- a/src/i18n/locales/ar.json +++ b/src/i18n/locales/ar.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Øدد خدمة من خلال زر تاب، ↑ Ùˆ ↓. اÙØªØ Ø§Ù„Ø®Ø¯Ù…Ø© بالظغط على زر الدخول.", | 26 | "feature.quickSwitch.info": "Øدد خدمة من خلال زر تاب، ↑ Ùˆ ↓. اÙØªØ Ø§Ù„Ø®Ø¯Ù…Ø© بالظغط على زر الدخول.", |
27 | "feature.quickSwitch.search": "بØØ«...", | 27 | "feature.quickSwitch.search": "بØØ«...", |
28 | "feature.quickSwitch.title": "تبديل سريع", | 28 | "feature.quickSwitch.title": "تبديل سريع", |
29 | "feature.shareFranz.action.email": "إرسال كبريد إلكتروني", | ||
30 | "feature.shareFranz.action.facebook": "شارك على Ùيسبوك", | ||
31 | "feature.shareFranz.action.twitter": "شارÙÙƒ على تويتر", | ||
32 | "feature.shareFranz.headline": "Ùردي Ø£Ùضل معًا!", | ||
33 | "feature.shareFranz.shareText.email": "لقد أضÙت {count} خدمات إلى Ùردي! اØصل على التطبيق المجاني لـ WhatsAppØŒ Ùˆ MessengerØŒ Ùˆ SlackØŒ Ùˆ Skype Ùˆ co على www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "لقد أضÙت {count} خدمات إلى Ùردي! اØصل على التطبيق المجاني لـ WhatsAppØŒ Messenger, Slack, Skype and co على www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "أخبر أصدقائك وزملاءك كي٠أن Ùردي رائع وساعدنا على نشر الكلمة.", | ||
36 | "global.api.unhealthy": "لا يمكن الإتصال بخدمات Ùردي عبر الإنترنت", | 29 | "global.api.unhealthy": "لا يمكن الإتصال بخدمات Ùردي عبر الإنترنت", |
37 | "global.notConnectedToTheInternet": "أنت غير متصل بالإنترنت.", | 30 | "global.notConnectedToTheInternet": "أنت غير متصل بالإنترنت.", |
38 | "global.spellchecker.useDefault": "إستخدم الإعدادت الاÙتراضية ({default})", | 31 | "global.spellchecker.useDefault": "إستخدم الإعدادت الاÙتراضية ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Ù…Ø³Ø Ø°Ø§ÙƒØ±Ø© التخزين المؤقت", | 199 | "settings.app.buttonClearAllCache": "Ù…Ø³Ø Ø°Ø§ÙƒØ±Ø© التخزين المؤقت", |
207 | "settings.app.buttonInstallUpdate": "إعادة التشغيل وتثبيت التØديث", | 200 | "settings.app.buttonInstallUpdate": "إعادة التشغيل وتثبيت التØديث", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "التØقق من وجود تØديثات", | 203 | "settings.app.buttonSearchForUpdate": "التØقق من وجود تØديثات", |
209 | "settings.app.cacheInfo": "التخزين المؤقت Ù„Ùردي يستخدم Øاليا {size} من مساØØ© القرص.", | 204 | "settings.app.cacheInfo": "التخزين المؤقت Ù„Ùردي يستخدم Øاليا {size} من مساØØ© القرص.", |
210 | "settings.app.cacheNotCleared": "تعذر Ù…Ø³Ø ÙƒÙ„ ذاكرة التخزين المؤقت", | 205 | "settings.app.cacheNotCleared": "تعذر Ù…Ø³Ø ÙƒÙ„ ذاكرة التخزين المؤقت", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "الذاكرة المؤقتة", | 272 | "settings.app.subheadlineCache": "الذاكرة المؤقتة", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "ساعدنا على ترجمة Ùيردي إلى لغتك.", | 275 | "settings.app.translationHelp": "ساعدنا على ترجمة Ùيردي إلى لغتك.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/be.json b/src/i18n/locales/be.json index 8f1141c31..78b5f362e 100644 --- a/src/i18n/locales/be.json +++ b/src/i18n/locales/be.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Send as email", | ||
30 | "feature.shareFranz.action.facebook": "Share on Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Share on Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Can't connect to Ferdi online services", | 29 | "global.api.unhealthy": "Can't connect to Ferdi online services", |
37 | "global.notConnectedToTheInternet": "You are not connected to the internet.", | 30 | "global.notConnectedToTheInternet": "You are not connected to the internet.", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Clear cache", | 199 | "settings.app.buttonClearAllCache": "Clear cache", |
207 | "settings.app.buttonInstallUpdate": "Restart & install update", | 200 | "settings.app.buttonInstallUpdate": "Restart & install update", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Check for updates", | 203 | "settings.app.buttonSearchForUpdate": "Check for updates", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/bs.json b/src/i18n/locales/bs.json index 3e185e73b..89060b506 100644 --- a/src/i18n/locales/bs.json +++ b/src/i18n/locales/bs.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Send as email", | ||
30 | "feature.shareFranz.action.facebook": "Share on Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Share on Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Can't connect to Ferdi online services", | 29 | "global.api.unhealthy": "Can't connect to Ferdi online services", |
37 | "global.notConnectedToTheInternet": "You are not connected to the internet.", | 30 | "global.notConnectedToTheInternet": "You are not connected to the internet.", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Clear cache", | 199 | "settings.app.buttonClearAllCache": "Clear cache", |
207 | "settings.app.buttonInstallUpdate": "Restart & install update", | 200 | "settings.app.buttonInstallUpdate": "Restart & install update", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Check for updates", | 203 | "settings.app.buttonSearchForUpdate": "Check for updates", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/ca.json b/src/i18n/locales/ca.json index beb7f7f92..0d57b5b19 100644 --- a/src/i18n/locales/ca.json +++ b/src/i18n/locales/ca.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Seleccioneu un servei amb TAB, ↑ i ↓. Obriu un servei amb ENTER.", | 26 | "feature.quickSwitch.info": "Seleccioneu un servei amb TAB, ↑ i ↓. Obriu un servei amb ENTER.", |
27 | "feature.quickSwitch.search": "Cerca...", | 27 | "feature.quickSwitch.search": "Cerca...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Envia com a correu", | ||
30 | "feature.shareFranz.action.facebook": "Compartir en Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Compartir a Twitter", | ||
32 | "feature.shareFranz.headline": "Junts millorem Ferdi!", | ||
33 | "feature.shareFranz.shareText.email": "He afegit {count} serveis a Ferdi! Obtén l'aplicació gratuïta per a Whatsapp, Messenger, Slack, Skype a www,getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "He afegit {count} serveis a Ferdi! Obtén l'aplicació gratuïta de Whatsapp, Messenger, Slack, Skype i altres a www.getferdi.com/cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Digues als teus amics i col·legues l'increïble que és Ferdi i ajuda'ns a còrrer la veu ", | ||
36 | "global.api.unhealthy": "No es pot connectar amb els serveis en lÃnia de Ferdi", | 29 | "global.api.unhealthy": "No es pot connectar amb els serveis en lÃnia de Ferdi", |
37 | "global.notConnectedToTheInternet": "No esteu connectat a Internet.", | 30 | "global.notConnectedToTheInternet": "No esteu connectat a Internet.", |
38 | "global.spellchecker.useDefault": "Utilitzar el predeterminat del sistema ({default})", | 31 | "global.spellchecker.useDefault": "Utilitzar el predeterminat del sistema ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Buida la memòria cau", | 199 | "settings.app.buttonClearAllCache": "Buida la memòria cau", |
207 | "settings.app.buttonInstallUpdate": "Reinicia i instal·la l'actualització", | 200 | "settings.app.buttonInstallUpdate": "Reinicia i instal·la l'actualització", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Comprova si hi ha actualitzacions", | 203 | "settings.app.buttonSearchForUpdate": "Comprova si hi ha actualitzacions", |
209 | "settings.app.cacheInfo": "La memòria cau de Ferdi està utilitzant {size} d'espai al disc", | 204 | "settings.app.cacheInfo": "La memòria cau de Ferdi està utilitzant {size} d'espai al disc", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Memòria cau", | 272 | "settings.app.subheadlineCache": "Memòria cau", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Ajuda'ns a traduir Ferdi en la teva llengua.", | 275 | "settings.app.translationHelp": "Ajuda'ns a traduir Ferdi en la teva llengua.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/cs.json b/src/i18n/locales/cs.json index 16c5322aa..be17c2b00 100644 --- a/src/i18n/locales/cs.json +++ b/src/i18n/locales/cs.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Poslat jako e-mail", | ||
30 | "feature.shareFranz.action.facebook": "SdÃlet na Facebooku", | ||
31 | "feature.shareFranz.action.twitter": "SdÃlet na Twitteru", | ||
32 | "feature.shareFranz.headline": "SpoleÄnÄ› je Ferdi jeÅ¡tÄ› lepÅ¡Ã!", | ||
33 | "feature.shareFranz.shareText.email": "PÅ™idali jsme {count} služeb do Ferdie. ZÃskejte zdarma aplikace pro WhatsApp, Messenger, SLack, Skype a dalÅ¡Ã na www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Nemůžeme připojit Ferdi k online službám", | 29 | "global.api.unhealthy": "Nemůžeme připojit Ferdi k online službám", |
37 | "global.notConnectedToTheInternet": "Připojenà k internetu nenà k dispozici.", | 30 | "global.notConnectedToTheInternet": "Připojenà k internetu nenà k dispozici.", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Vyprázdnit mezipaměti", | 199 | "settings.app.buttonClearAllCache": "Vyprázdnit mezipaměti", |
207 | "settings.app.buttonInstallUpdate": "Restartovat a nainstalovat aktualizace", | 200 | "settings.app.buttonInstallUpdate": "Restartovat a nainstalovat aktualizace", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Zkontrolovat aktualizace", | 203 | "settings.app.buttonSearchForUpdate": "Zkontrolovat aktualizace", |
209 | "settings.app.cacheInfo": "Ferdi momentálnÄ› použÃvá {size} mÃsta na disku.", | 204 | "settings.app.cacheInfo": "Ferdi momentálnÄ› použÃvá {size} mÃsta na disku.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Mezipaměť", | 272 | "settings.app.subheadlineCache": "Mezipaměť", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Pomozte nám přeložit Ferdi do svého jazyka.", | 275 | "settings.app.translationHelp": "Pomozte nám přeložit Ferdi do svého jazyka.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/da.json b/src/i18n/locales/da.json index 7ea135cb2..596e6400e 100644 --- a/src/i18n/locales/da.json +++ b/src/i18n/locales/da.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Vælg en tjeneste med TAB, ↑ og ↓. Åbn en tjeneste med ENTER.", | 26 | "feature.quickSwitch.info": "Vælg en tjeneste med TAB, ↑ og ↓. Åbn en tjeneste med ENTER.", |
27 | "feature.quickSwitch.search": "Søg...", | 27 | "feature.quickSwitch.search": "Søg...", |
28 | "feature.quickSwitch.title": "Hurtigskift", | 28 | "feature.quickSwitch.title": "Hurtigskift", |
29 | "feature.shareFranz.action.email": "Send som mail", | ||
30 | "feature.shareFranz.action.facebook": "Del på Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Del på Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi er bedre sammen!", | ||
33 | "feature.shareFranz.shareText.email": "Jeg har tilføjet {count} tjenester til Ferdi! Få den gratis app til WhatsApp, Messenger, Slack, Skype osv. på www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Jeg har tilføjet {count} tjenester til Ferdi! Få den gratis app til WhatsApp, Messenger, Slack, Skype osv. på www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Fortæl dine venner og kolleger, hvor fedt et program Ferdi er, og hjælp os med at sprede ordet.", | ||
36 | "global.api.unhealthy": "Kan ikke oprette forbindelse til Ferdi onlinetjenester", | 29 | "global.api.unhealthy": "Kan ikke oprette forbindelse til Ferdi onlinetjenester", |
37 | "global.notConnectedToTheInternet": "Du har ikke forbindelse til internettet.", | 30 | "global.notConnectedToTheInternet": "Du har ikke forbindelse til internettet.", |
38 | "global.spellchecker.useDefault": "Benyt systemstandard ({default})", | 31 | "global.spellchecker.useDefault": "Benyt systemstandard ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Ryd cache", | 199 | "settings.app.buttonClearAllCache": "Ryd cache", |
207 | "settings.app.buttonInstallUpdate": "Genstart og installer opdatering", | 200 | "settings.app.buttonInstallUpdate": "Genstart og installer opdatering", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Søg efter opdateringer", | 203 | "settings.app.buttonSearchForUpdate": "Søg efter opdateringer", |
209 | "settings.app.cacheInfo": "Ferdi's cache bruger i øjeblikket {size} diskplads.", | 204 | "settings.app.cacheInfo": "Ferdi's cache bruger i øjeblikket {size} diskplads.", |
210 | "settings.app.cacheNotCleared": "Kunne ikke rydde al cache", | 205 | "settings.app.cacheNotCleared": "Kunne ikke rydde al cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi bruger din Macs indbyggede stavekontrol. Hvis du ønsker at ændre de sprog, stavekontrollen kontrollerer for, kan du gøre det i din Macs systemindstillinger.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi bruger din Macs indbyggede stavekontrol. Hvis du ønsker at ændre de sprog, stavekontrollen kontrollerer for, kan du gøre det i din Macs systemindstillinger.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "Denne server vil blive brugt til funktionen \"Ferdi Todo\".", | 274 | "settings.app.todoServerInfo": "Denne server vil blive brugt til funktionen \"Ferdi Todo\".", |
279 | "settings.app.translationHelp": "Hjælp os med at oversætte Ferdi til dit sprog.", | 275 | "settings.app.translationHelp": "Hjælp os med at oversætte Ferdi til dit sprog.", |
280 | "settings.app.universalDarkModeInfo": "Universel mørk tilstand forsøger at dynamisk generere mørk tilstand stilarter for tjenester, der ellers ikke er understøttet.", | 276 | "settings.app.universalDarkModeInfo": "Universel mørk tilstand forsøger at dynamisk generere mørk tilstand stilarter for tjenester, der ellers ikke er understøttet.", |
diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index eef9aa21a..20f55e851 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Wähle einen Service mit TAB, ↑ und ↓. Um einen Service zu öffnen, drücke ENTER.", | 26 | "feature.quickSwitch.info": "Wähle einen Service mit TAB, ↑ und ↓. Um einen Service zu öffnen, drücke ENTER.", |
27 | "feature.quickSwitch.search": "Suchen...", | 27 | "feature.quickSwitch.search": "Suchen...", |
28 | "feature.quickSwitch.title": "Schnellauswahl", | 28 | "feature.quickSwitch.title": "Schnellauswahl", |
29 | "feature.shareFranz.action.email": "Als E-Mail senden", | ||
30 | "feature.shareFranz.action.facebook": "Auf Facebook teilen", | ||
31 | "feature.shareFranz.action.twitter": "Auf Twitter teilen", | ||
32 | "feature.shareFranz.headline": "Gemeinsam ist Ferdi noch besser!", | ||
33 | "feature.shareFranz.shareText.email": "Ich habe {count} Services zu Ferdi hinzugefügt! Hol dir jetzt die kostenlose App für WhatsApp, Messenger, Slack, Skype und viele mehr auf www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Ich habe {count} Services zu Ferdi hinzugefügt! Hol dir die kostenlose App für WhatsApp, Messenger, Slack, Skype und viele mehr auf www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Bitte erzähle deinen Freunden und Kolleginnen, warum du Ferdi toll findest.", | ||
36 | "global.api.unhealthy": "Verbindung zu den Ferdi Online Services fehlgeschlagen", | 29 | "global.api.unhealthy": "Verbindung zu den Ferdi Online Services fehlgeschlagen", |
37 | "global.notConnectedToTheInternet": "Du bist nicht mit dem Internet verbunden.", | 30 | "global.notConnectedToTheInternet": "Du bist nicht mit dem Internet verbunden.", |
38 | "global.spellchecker.useDefault": "Standard benutzen ({default})", | 31 | "global.spellchecker.useDefault": "Standard benutzen ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Schreibe deine Akzentfarbe in einem CSS-kompatiblen Format. (Standard: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Schreibe deine Akzentfarbe in einem CSS-kompatiblen Format. (Standard: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Cache leeren", | 199 | "settings.app.buttonClearAllCache": "Cache leeren", |
207 | "settings.app.buttonInstallUpdate": "Neu starten & Update installieren", | 200 | "settings.app.buttonInstallUpdate": "Neu starten & Update installieren", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Nach Updates suchen", | 203 | "settings.app.buttonSearchForUpdate": "Nach Updates suchen", |
209 | "settings.app.cacheInfo": "Der Ferdi Cache belegt derzeit {size}.", | 204 | "settings.app.cacheInfo": "Der Ferdi Cache belegt derzeit {size}.", |
210 | "settings.app.cacheNotCleared": "Konnte nicht den ganzen Zwischenspeicher löschen", | 205 | "settings.app.cacheNotCleared": "Konnte nicht den ganzen Zwischenspeicher löschen", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi verwendet den eingebauten Rechtschreibprüfer deines Macs, um nach Tippfehlern zu suchen. Wenn du die zu überprüfenden Sprachen ändern möchtest, kannst du das in deinen Systemeinstellungen tun.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi verwendet den eingebauten Rechtschreibprüfer deines Macs, um nach Tippfehlern zu suchen. Wenn du die zu überprüfenden Sprachen ändern möchtest, kannst du das in deinen Systemeinstellungen tun.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "Dieser Server wird für die \"Ferdi Todo\"-Funktion verwendet.", | 274 | "settings.app.todoServerInfo": "Dieser Server wird für die \"Ferdi Todo\"-Funktion verwendet.", |
279 | "settings.app.translationHelp": "Hilf uns, Ferdi in Deine Sprache zu übersetzen.", | 275 | "settings.app.translationHelp": "Hilf uns, Ferdi in Deine Sprache zu übersetzen.", |
280 | "settings.app.universalDarkModeInfo": "Universeller Dark Mode versucht dynamisch Dienste abzudunkeln, die vom normalen Dark Mode noch nicht unterstützt werden.", | 276 | "settings.app.universalDarkModeInfo": "Universeller Dark Mode versucht dynamisch Dienste abzudunkeln, die vom normalen Dark Mode noch nicht unterstützt werden.", |
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index 683ec4628..418bf6bea 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json | |||
@@ -1035,52 +1035,52 @@ | |||
1035 | "defaultMessage": "!!!Your services have been updated.", | 1035 | "defaultMessage": "!!!Your services have been updated.", |
1036 | "end": { | 1036 | "end": { |
1037 | "column": 3, | 1037 | "column": 3, |
1038 | "line": 32 | 1038 | "line": 31 |
1039 | }, | 1039 | }, |
1040 | "file": "src/components/layout/AppLayout.js", | 1040 | "file": "src/components/layout/AppLayout.js", |
1041 | "id": "infobar.servicesUpdated", | 1041 | "id": "infobar.servicesUpdated", |
1042 | "start": { | 1042 | "start": { |
1043 | "column": 19, | 1043 | "column": 19, |
1044 | "line": 29 | 1044 | "line": 28 |
1045 | } | 1045 | } |
1046 | }, | 1046 | }, |
1047 | { | 1047 | { |
1048 | "defaultMessage": "!!!Reload services", | 1048 | "defaultMessage": "!!!Reload services", |
1049 | "end": { | 1049 | "end": { |
1050 | "column": 3, | 1050 | "column": 3, |
1051 | "line": 36 | 1051 | "line": 35 |
1052 | }, | 1052 | }, |
1053 | "file": "src/components/layout/AppLayout.js", | 1053 | "file": "src/components/layout/AppLayout.js", |
1054 | "id": "infobar.buttonReloadServices", | 1054 | "id": "infobar.buttonReloadServices", |
1055 | "start": { | 1055 | "start": { |
1056 | "column": 24, | 1056 | "column": 24, |
1057 | "line": 33 | 1057 | "line": 32 |
1058 | } | 1058 | } |
1059 | }, | 1059 | }, |
1060 | { | 1060 | { |
1061 | "defaultMessage": "!!!Could not load services and user information", | 1061 | "defaultMessage": "!!!Could not load services and user information", |
1062 | "end": { | 1062 | "end": { |
1063 | "column": 3, | 1063 | "column": 3, |
1064 | "line": 40 | 1064 | "line": 39 |
1065 | }, | 1065 | }, |
1066 | "file": "src/components/layout/AppLayout.js", | 1066 | "file": "src/components/layout/AppLayout.js", |
1067 | "id": "infobar.requiredRequestsFailed", | 1067 | "id": "infobar.requiredRequestsFailed", |
1068 | "start": { | 1068 | "start": { |
1069 | "column": 26, | 1069 | "column": 26, |
1070 | "line": 37 | 1070 | "line": 36 |
1071 | } | 1071 | } |
1072 | }, | 1072 | }, |
1073 | { | 1073 | { |
1074 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", | 1074 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", |
1075 | "end": { | 1075 | "end": { |
1076 | "column": 3, | 1076 | "column": 3, |
1077 | "line": 45 | 1077 | "line": 44 |
1078 | }, | 1078 | }, |
1079 | "file": "src/components/layout/AppLayout.js", | 1079 | "file": "src/components/layout/AppLayout.js", |
1080 | "id": "infobar.authRequestFailed", | 1080 | "id": "infobar.authRequestFailed", |
1081 | "start": { | 1081 | "start": { |
1082 | "column": 21, | 1082 | "column": 21, |
1083 | "line": 41 | 1083 | "line": 40 |
1084 | } | 1084 | } |
1085 | } | 1085 | } |
1086 | ], | 1086 | ], |
@@ -2893,416 +2893,455 @@ | |||
2893 | "defaultMessage": "!!!Settings", | 2893 | "defaultMessage": "!!!Settings", |
2894 | "end": { | 2894 | "end": { |
2895 | "column": 3, | 2895 | "column": 3, |
2896 | "line": 26 | 2896 | "line": 24 |
2897 | }, | 2897 | }, |
2898 | "file": "src/components/settings/settings/EditSettingsForm.js", | 2898 | "file": "src/components/settings/settings/EditSettingsForm.js", |
2899 | "id": "settings.app.headline", | 2899 | "id": "settings.app.headline", |
2900 | "start": { | 2900 | "start": { |
2901 | "column": 12, | 2901 | "column": 12, |
2902 | "line": 23 | 2902 | "line": 21 |
2903 | } | 2903 | } |
2904 | }, | 2904 | }, |
2905 | { | 2905 | { |
2906 | "defaultMessage": "!!!General", | 2906 | "defaultMessage": "!!!General", |
2907 | "end": { | 2907 | "end": { |
2908 | "column": 3, | 2908 | "column": 3, |
2909 | "line": 30 | 2909 | "line": 28 |
2910 | }, | 2910 | }, |
2911 | "file": "src/components/settings/settings/EditSettingsForm.js", | 2911 | "file": "src/components/settings/settings/EditSettingsForm.js", |
2912 | "id": "settings.app.headlineGeneral", | 2912 | "id": "settings.app.headlineGeneral", |
2913 | "start": { | 2913 | "start": { |
2914 | "column": 19, | 2914 | "column": 19, |
2915 | "line": 27 | 2915 | "line": 25 |
2916 | } | 2916 | } |
2917 | }, | 2917 | }, |
2918 | { | 2918 | { |
2919 | "defaultMessage": "!!!Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 2919 | "defaultMessage": "!!!Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
2920 | "end": { | 2920 | "end": { |
2921 | "column": 3, | 2921 | "column": 3, |
2922 | "line": 34 | 2922 | "line": 32 |
2923 | }, | 2923 | }, |
2924 | "file": "src/components/settings/settings/EditSettingsForm.js", | 2924 | "file": "src/components/settings/settings/EditSettingsForm.js", |
2925 | "id": "settings.app.sentryInfo", | 2925 | "id": "settings.app.sentryInfo", |
2926 | "start": { | 2926 | "start": { |
2927 | "column": 14, | 2927 | "column": 14, |
2928 | "line": 31 | 2928 | "line": 29 |
2929 | } | 2929 | } |
2930 | }, | 2930 | }, |
2931 | { | 2931 | { |
2932 | "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", | 2932 | "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", |
2933 | "end": { | 2933 | "end": { |
2934 | "column": 3, | 2934 | "column": 3, |
2935 | "line": 38 | 2935 | "line": 36 |
2936 | }, | 2936 | }, |
2937 | "file": "src/components/settings/settings/EditSettingsForm.js", | 2937 | "file": "src/components/settings/settings/EditSettingsForm.js", |
2938 | "id": "settings.app.hibernateInfo", | 2938 | "id": "settings.app.hibernateInfo", |
2939 | "start": { | 2939 | "start": { |
2940 | "column": 17, | 2940 | "column": 17, |
2941 | "line": 35 | 2941 | "line": 33 |
2942 | } | 2942 | } |
2943 | }, | 2943 | }, |
2944 | { | 2944 | { |
2945 | "defaultMessage": "!!!Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", | 2945 | "defaultMessage": "!!!Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", |
2946 | "end": { | 2946 | "end": { |
2947 | "column": 3, | 2947 | "column": 3, |
2948 | "line": 42 | 2948 | "line": 40 |
2949 | }, | 2949 | }, |
2950 | "file": "src/components/settings/settings/EditSettingsForm.js", | 2950 | "file": "src/components/settings/settings/EditSettingsForm.js", |
2951 | "id": "settings.app.inactivityLockInfo", | 2951 | "id": "settings.app.inactivityLockInfo", |
2952 | "start": { | 2952 | "start": { |
2953 | "column": 22, | 2953 | "column": 22, |
2954 | "line": 39 | 2954 | "line": 37 |
2955 | } | 2955 | } |
2956 | }, | 2956 | }, |
2957 | { | 2957 | { |
2958 | "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", | 2958 | "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", |
2959 | "end": { | 2959 | "end": { |
2960 | "column": 3, | 2960 | "column": 3, |
2961 | "line": 46 | 2961 | "line": 44 |
2962 | }, | 2962 | }, |
2963 | "file": "src/components/settings/settings/EditSettingsForm.js", | 2963 | "file": "src/components/settings/settings/EditSettingsForm.js", |
2964 | "id": "settings.app.todoServerInfo", | 2964 | "id": "settings.app.todoServerInfo", |
2965 | "start": { | 2965 | "start": { |
2966 | "column": 18, | 2966 | "column": 18, |
2967 | "line": 43 | 2967 | "line": 41 |
2968 | } | 2968 | } |
2969 | }, | 2969 | }, |
2970 | { | 2970 | { |
2971 | "defaultMessage": "!!!Password", | 2971 | "defaultMessage": "!!!Password", |
2972 | "end": { | 2972 | "end": { |
2973 | "column": 3, | 2973 | "column": 3, |
2974 | "line": 50 | 2974 | "line": 48 |
2975 | }, | 2975 | }, |
2976 | "file": "src/components/settings/settings/EditSettingsForm.js", | 2976 | "file": "src/components/settings/settings/EditSettingsForm.js", |
2977 | "id": "settings.app.lockedPassword", | 2977 | "id": "settings.app.lockedPassword", |
2978 | "start": { | 2978 | "start": { |
2979 | "column": 18, | 2979 | "column": 18, |
2980 | "line": 47 | 2980 | "line": 45 |
2981 | } | 2981 | } |
2982 | }, | 2982 | }, |
2983 | { | 2983 | { |
2984 | "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", | 2984 | "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", |
2985 | "end": { | 2985 | "end": { |
2986 | "column": 3, | 2986 | "column": 3, |
2987 | "line": 54 | 2987 | "line": 52 |
2988 | }, | 2988 | }, |
2989 | "file": "src/components/settings/settings/EditSettingsForm.js", | 2989 | "file": "src/components/settings/settings/EditSettingsForm.js", |
2990 | "id": "settings.app.lockedPasswordInfo", | 2990 | "id": "settings.app.lockedPasswordInfo", |
2991 | "start": { | 2991 | "start": { |
2992 | "column": 22, | 2992 | "column": 22, |
2993 | "line": 51 | 2993 | "line": 49 |
2994 | } | 2994 | } |
2995 | }, | 2995 | }, |
2996 | { | 2996 | { |
2997 | "defaultMessage": "!!!Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut {lockShortcut}.", | 2997 | "defaultMessage": "!!!Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut {lockShortcut}.", |
2998 | "end": { | 2998 | "end": { |
2999 | "column": 3, | 2999 | "column": 3, |
3000 | "line": 58 | 3000 | "line": 56 |
3001 | }, | 3001 | }, |
3002 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3002 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3003 | "id": "settings.app.lockInfo", | 3003 | "id": "settings.app.lockInfo", |
3004 | "start": { | 3004 | "start": { |
3005 | "column": 12, | 3005 | "column": 12, |
3006 | "line": 55 | 3006 | "line": 53 |
3007 | } | 3007 | } |
3008 | }, | 3008 | }, |
3009 | { | 3009 | { |
3010 | "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.", | 3010 | "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.", |
3011 | "end": { | 3011 | "end": { |
3012 | "column": 3, | 3012 | "column": 3, |
3013 | "line": 62 | 3013 | "line": 60 |
3014 | }, | 3014 | }, |
3015 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3015 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3016 | "id": "settings.app.scheduledDNDTimeInfo", | 3016 | "id": "settings.app.scheduledDNDTimeInfo", |
3017 | "start": { | 3017 | "start": { |
3018 | "column": 24, | 3018 | "column": 24, |
3019 | "line": 59 | 3019 | "line": 57 |
3020 | } | 3020 | } |
3021 | }, | 3021 | }, |
3022 | { | 3022 | { |
3023 | "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", | 3023 | "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", |
3024 | "end": { | 3024 | "end": { |
3025 | "column": 3, | 3025 | "column": 3, |
3026 | "line": 66 | 3026 | "line": 64 |
3027 | }, | 3027 | }, |
3028 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3028 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3029 | "id": "settings.app.scheduledDNDInfo", | 3029 | "id": "settings.app.scheduledDNDInfo", |
3030 | "start": { | 3030 | "start": { |
3031 | "column": 20, | 3031 | "column": 20, |
3032 | "line": 63 | 3032 | "line": 61 |
3033 | } | 3033 | } |
3034 | }, | 3034 | }, |
3035 | { | 3035 | { |
3036 | "defaultMessage": "!!!Language", | 3036 | "defaultMessage": "!!!Language", |
3037 | "end": { | 3037 | "end": { |
3038 | "column": 3, | 3038 | "column": 3, |
3039 | "line": 70 | 3039 | "line": 68 |
3040 | }, | 3040 | }, |
3041 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3041 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3042 | "id": "settings.app.headlineLanguage", | 3042 | "id": "settings.app.headlineLanguage", |
3043 | "start": { | 3043 | "start": { |
3044 | "column": 20, | 3044 | "column": 20, |
3045 | "line": 67 | 3045 | "line": 65 |
3046 | } | 3046 | } |
3047 | }, | 3047 | }, |
3048 | { | 3048 | { |
3049 | "defaultMessage": "!!!Updates", | 3049 | "defaultMessage": "!!!Updates", |
3050 | "end": { | 3050 | "end": { |
3051 | "column": 3, | 3051 | "column": 3, |
3052 | "line": 74 | 3052 | "line": 72 |
3053 | }, | 3053 | }, |
3054 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3054 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3055 | "id": "settings.app.headlineUpdates", | 3055 | "id": "settings.app.headlineUpdates", |
3056 | "start": { | 3056 | "start": { |
3057 | "column": 19, | 3057 | "column": 19, |
3058 | "line": 71 | 3058 | "line": 69 |
3059 | } | 3059 | } |
3060 | }, | 3060 | }, |
3061 | { | 3061 | { |
3062 | "defaultMessage": "!!!Appearance", | 3062 | "defaultMessage": "!!!Appearance", |
3063 | "end": { | 3063 | "end": { |
3064 | "column": 3, | 3064 | "column": 3, |
3065 | "line": 78 | 3065 | "line": 76 |
3066 | }, | 3066 | }, |
3067 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3067 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3068 | "id": "settings.app.headlineAppearance", | 3068 | "id": "settings.app.headlineAppearance", |
3069 | "start": { | 3069 | "start": { |
3070 | "column": 22, | 3070 | "column": 22, |
3071 | "line": 75 | 3071 | "line": 73 |
3072 | } | 3072 | } |
3073 | }, | 3073 | }, |
3074 | { | 3074 | { |
3075 | "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 3075 | "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
3076 | "end": { | 3076 | "end": { |
3077 | "column": 3, | 3077 | "column": 3, |
3078 | "line": 82 | 3078 | "line": 80 |
3079 | }, | 3079 | }, |
3080 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3080 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3081 | "id": "settings.app.universalDarkModeInfo", | 3081 | "id": "settings.app.universalDarkModeInfo", |
3082 | "start": { | 3082 | "start": { |
3083 | "column": 25, | 3083 | "column": 25, |
3084 | "line": 79 | 3084 | "line": 77 |
3085 | } | 3085 | } |
3086 | }, | 3086 | }, |
3087 | { | 3087 | { |
3088 | "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 3088 | "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
3089 | "end": { | 3089 | "end": { |
3090 | "column": 3, | 3090 | "column": 3, |
3091 | "line": 86 | 3091 | "line": 84 |
3092 | }, | 3092 | }, |
3093 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3093 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3094 | "id": "settings.app.accentColorInfo", | 3094 | "id": "settings.app.accentColorInfo", |
3095 | "start": { | 3095 | "start": { |
3096 | "column": 19, | 3096 | "column": 19, |
3097 | "line": 83 | 3097 | "line": 81 |
3098 | } | 3098 | } |
3099 | }, | 3099 | }, |
3100 | { | 3100 | { |
3101 | "defaultMessage": "!!!Privacy", | 3101 | "defaultMessage": "!!!Privacy", |
3102 | "end": { | 3102 | "end": { |
3103 | "column": 3, | 3103 | "column": 3, |
3104 | "line": 90 | 3104 | "line": 88 |
3105 | }, | 3105 | }, |
3106 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3106 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3107 | "id": "settings.app.headlinePrivacy", | 3107 | "id": "settings.app.headlinePrivacy", |
3108 | "start": { | 3108 | "start": { |
3109 | "column": 19, | 3109 | "column": 19, |
3110 | "line": 87 | 3110 | "line": 85 |
3111 | } | 3111 | } |
3112 | }, | 3112 | }, |
3113 | { | 3113 | { |
3114 | "defaultMessage": "!!!Advanced", | 3114 | "defaultMessage": "!!!Advanced", |
3115 | "end": { | 3115 | "end": { |
3116 | "column": 3, | 3116 | "column": 3, |
3117 | "line": 94 | 3117 | "line": 92 |
3118 | }, | 3118 | }, |
3119 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3119 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3120 | "id": "settings.app.headlineAdvanced", | 3120 | "id": "settings.app.headlineAdvanced", |
3121 | "start": { | 3121 | "start": { |
3122 | "column": 20, | 3122 | "column": 20, |
3123 | "line": 91 | 3123 | "line": 89 |
3124 | } | 3124 | } |
3125 | }, | 3125 | }, |
3126 | { | 3126 | { |
3127 | "defaultMessage": "!!!Help us to translate Ferdi into your language.", | 3127 | "defaultMessage": "!!!Help us to translate Ferdi into your language.", |
3128 | "end": { | 3128 | "end": { |
3129 | "column": 3, | 3129 | "column": 3, |
3130 | "line": 98 | 3130 | "line": 96 |
3131 | }, | 3131 | }, |
3132 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3132 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3133 | "id": "settings.app.translationHelp", | 3133 | "id": "settings.app.translationHelp", |
3134 | "start": { | 3134 | "start": { |
3135 | "column": 19, | 3135 | "column": 19, |
3136 | "line": 95 | 3136 | "line": 93 |
3137 | } | 3137 | } |
3138 | }, | 3138 | }, |
3139 | { | 3139 | { |
3140 | "defaultMessage": "!!!Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 3140 | "defaultMessage": "!!!Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
3141 | "end": { | 3141 | "end": { |
3142 | "column": 3, | 3142 | "column": 3, |
3143 | "line": 102 | 3143 | "line": 100 |
3144 | }, | 3144 | }, |
3145 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3145 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3146 | "id": "settings.app.spellCheckerLanguageInfo", | 3146 | "id": "settings.app.spellCheckerLanguageInfo", |
3147 | "start": { | 3147 | "start": { |
3148 | "column": 28, | 3148 | "column": 28, |
3149 | "line": 99 | 3149 | "line": 97 |
3150 | } | 3150 | } |
3151 | }, | 3151 | }, |
3152 | { | 3152 | { |
3153 | "defaultMessage": "!!!Cache", | 3153 | "defaultMessage": "!!!Cache", |
3154 | "end": { | 3154 | "end": { |
3155 | "column": 3, | 3155 | "column": 3, |
3156 | "line": 106 | 3156 | "line": 104 |
3157 | }, | 3157 | }, |
3158 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3158 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3159 | "id": "settings.app.subheadlineCache", | 3159 | "id": "settings.app.subheadlineCache", |
3160 | "start": { | 3160 | "start": { |
3161 | "column": 20, | 3161 | "column": 20, |
3162 | "line": 103 | 3162 | "line": 101 |
3163 | } | 3163 | } |
3164 | }, | 3164 | }, |
3165 | { | 3165 | { |
3166 | "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", | 3166 | "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", |
3167 | "end": { | 3167 | "end": { |
3168 | "column": 3, | 3168 | "column": 3, |
3169 | "line": 110 | 3169 | "line": 108 |
3170 | }, | 3170 | }, |
3171 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3171 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3172 | "id": "settings.app.cacheInfo", | 3172 | "id": "settings.app.cacheInfo", |
3173 | "start": { | 3173 | "start": { |
3174 | "column": 13, | 3174 | "column": 13, |
3175 | "line": 107 | 3175 | "line": 105 |
3176 | } | 3176 | } |
3177 | }, | 3177 | }, |
3178 | { | 3178 | { |
3179 | "defaultMessage": "!!!Couldn't clear all cache", | 3179 | "defaultMessage": "!!!Couldn't clear all cache", |
3180 | "end": { | 3180 | "end": { |
3181 | "column": 3, | 3181 | "column": 3, |
3182 | "line": 114 | 3182 | "line": 112 |
3183 | }, | 3183 | }, |
3184 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3184 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3185 | "id": "settings.app.cacheNotCleared", | 3185 | "id": "settings.app.cacheNotCleared", |
3186 | "start": { | 3186 | "start": { |
3187 | "column": 19, | 3187 | "column": 19, |
3188 | "line": 111 | 3188 | "line": 109 |
3189 | } | 3189 | } |
3190 | }, | 3190 | }, |
3191 | { | 3191 | { |
3192 | "defaultMessage": "!!!Clear cache", | 3192 | "defaultMessage": "!!!Clear cache", |
3193 | "end": { | 3193 | "end": { |
3194 | "column": 3, | 3194 | "column": 3, |
3195 | "line": 118 | 3195 | "line": 116 |
3196 | }, | 3196 | }, |
3197 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3197 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3198 | "id": "settings.app.buttonClearAllCache", | 3198 | "id": "settings.app.buttonClearAllCache", |
3199 | "start": { | 3199 | "start": { |
3200 | "column": 23, | 3200 | "column": 23, |
3201 | "line": 115 | 3201 | "line": 113 |
3202 | } | ||
3203 | }, | ||
3204 | { | ||
3205 | "defaultMessage": "!!!Ferdi Profile", | ||
3206 | "end": { | ||
3207 | "column": 3, | ||
3208 | "line": 120 | ||
3209 | }, | ||
3210 | "file": "src/components/settings/settings/EditSettingsForm.js", | ||
3211 | "id": "settings.app.subheadlineFerdiProfile", | ||
3212 | "start": { | ||
3213 | "column": 27, | ||
3214 | "line": 117 | ||
3215 | } | ||
3216 | }, | ||
3217 | { | ||
3218 | "defaultMessage": "!!!Open Profile folder", | ||
3219 | "end": { | ||
3220 | "column": 3, | ||
3221 | "line": 124 | ||
3222 | }, | ||
3223 | "file": "src/components/settings/settings/EditSettingsForm.js", | ||
3224 | "id": "settings.app.buttonOpenFerdiProfileFolder", | ||
3225 | "start": { | ||
3226 | "column": 32, | ||
3227 | "line": 121 | ||
3228 | } | ||
3229 | }, | ||
3230 | { | ||
3231 | "defaultMessage": "!!!Open Service Recipes folder", | ||
3232 | "end": { | ||
3233 | "column": 3, | ||
3234 | "line": 128 | ||
3235 | }, | ||
3236 | "file": "src/components/settings/settings/EditSettingsForm.js", | ||
3237 | "id": "settings.app.buttonOpenFerdiServiceRecipesFolder", | ||
3238 | "start": { | ||
3239 | "column": 39, | ||
3240 | "line": 125 | ||
3202 | } | 3241 | } |
3203 | }, | 3242 | }, |
3204 | { | 3243 | { |
3205 | "defaultMessage": "!!!Check for updates", | 3244 | "defaultMessage": "!!!Check for updates", |
3206 | "end": { | 3245 | "end": { |
3207 | "column": 3, | 3246 | "column": 3, |
3208 | "line": 122 | 3247 | "line": 132 |
3209 | }, | 3248 | }, |
3210 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3249 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3211 | "id": "settings.app.buttonSearchForUpdate", | 3250 | "id": "settings.app.buttonSearchForUpdate", |
3212 | "start": { | 3251 | "start": { |
3213 | "column": 25, | 3252 | "column": 25, |
3214 | "line": 119 | 3253 | "line": 129 |
3215 | } | 3254 | } |
3216 | }, | 3255 | }, |
3217 | { | 3256 | { |
3218 | "defaultMessage": "!!!Restart & install update", | 3257 | "defaultMessage": "!!!Restart & install update", |
3219 | "end": { | 3258 | "end": { |
3220 | "column": 3, | 3259 | "column": 3, |
3221 | "line": 126 | 3260 | "line": 136 |
3222 | }, | 3261 | }, |
3223 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3262 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3224 | "id": "settings.app.buttonInstallUpdate", | 3263 | "id": "settings.app.buttonInstallUpdate", |
3225 | "start": { | 3264 | "start": { |
3226 | "column": 23, | 3265 | "column": 23, |
3227 | "line": 123 | 3266 | "line": 133 |
3228 | } | 3267 | } |
3229 | }, | 3268 | }, |
3230 | { | 3269 | { |
3231 | "defaultMessage": "!!!Is searching for update", | 3270 | "defaultMessage": "!!!Is searching for update", |
3232 | "end": { | 3271 | "end": { |
3233 | "column": 3, | 3272 | "column": 3, |
3234 | "line": 130 | 3273 | "line": 140 |
3235 | }, | 3274 | }, |
3236 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3275 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3237 | "id": "settings.app.updateStatusSearching", | 3276 | "id": "settings.app.updateStatusSearching", |
3238 | "start": { | 3277 | "start": { |
3239 | "column": 25, | 3278 | "column": 25, |
3240 | "line": 127 | 3279 | "line": 137 |
3241 | } | 3280 | } |
3242 | }, | 3281 | }, |
3243 | { | 3282 | { |
3244 | "defaultMessage": "!!!Update available, downloading...", | 3283 | "defaultMessage": "!!!Update available, downloading...", |
3245 | "end": { | 3284 | "end": { |
3246 | "column": 3, | 3285 | "column": 3, |
3247 | "line": 134 | 3286 | "line": 144 |
3248 | }, | 3287 | }, |
3249 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3288 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3250 | "id": "settings.app.updateStatusAvailable", | 3289 | "id": "settings.app.updateStatusAvailable", |
3251 | "start": { | 3290 | "start": { |
3252 | "column": 25, | 3291 | "column": 25, |
3253 | "line": 131 | 3292 | "line": 141 |
3254 | } | 3293 | } |
3255 | }, | 3294 | }, |
3256 | { | 3295 | { |
3257 | "defaultMessage": "!!!You are using the latest version of Ferdi", | 3296 | "defaultMessage": "!!!You are using the latest version of Ferdi", |
3258 | "end": { | 3297 | "end": { |
3259 | "column": 3, | 3298 | "column": 3, |
3260 | "line": 138 | 3299 | "line": 148 |
3261 | }, | 3300 | }, |
3262 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3301 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3263 | "id": "settings.app.updateStatusUpToDate", | 3302 | "id": "settings.app.updateStatusUpToDate", |
3264 | "start": { | 3303 | "start": { |
3265 | "column": 24, | 3304 | "column": 24, |
3266 | "line": 135 | 3305 | "line": 145 |
3267 | } | 3306 | } |
3268 | }, | 3307 | }, |
3269 | { | 3308 | { |
3270 | "defaultMessage": "!!!Current version:", | 3309 | "defaultMessage": "!!!Current version:", |
3271 | "end": { | 3310 | "end": { |
3272 | "column": 3, | 3311 | "column": 3, |
3273 | "line": 142 | 3312 | "line": 152 |
3274 | }, | 3313 | }, |
3275 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3314 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3276 | "id": "settings.app.currentVersion", | 3315 | "id": "settings.app.currentVersion", |
3277 | "start": { | 3316 | "start": { |
3278 | "column": 18, | 3317 | "column": 18, |
3279 | "line": 139 | 3318 | "line": 149 |
3280 | } | 3319 | } |
3281 | }, | 3320 | }, |
3282 | { | 3321 | { |
3283 | "defaultMessage": "!!!Changes require restart", | 3322 | "defaultMessage": "!!!Changes require restart", |
3284 | "end": { | 3323 | "end": { |
3285 | "column": 3, | 3324 | "column": 3, |
3286 | "line": 146 | 3325 | "line": 156 |
3287 | }, | 3326 | }, |
3288 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3327 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3289 | "id": "settings.app.restartRequired", | 3328 | "id": "settings.app.restartRequired", |
3290 | "start": { | 3329 | "start": { |
3291 | "column": 22, | 3330 | "column": 22, |
3292 | "line": 143 | 3331 | "line": 153 |
3293 | } | 3332 | } |
3294 | }, | 3333 | }, |
3295 | { | 3334 | { |
3296 | "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", | 3335 | "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", |
3297 | "end": { | 3336 | "end": { |
3298 | "column": 3, | 3337 | "column": 3, |
3299 | "line": 150 | 3338 | "line": 160 |
3300 | }, | 3339 | }, |
3301 | "file": "src/components/settings/settings/EditSettingsForm.js", | 3340 | "file": "src/components/settings/settings/EditSettingsForm.js", |
3302 | "id": "settings.app.languageDisclaimer", | 3341 | "id": "settings.app.languageDisclaimer", |
3303 | "start": { | 3342 | "start": { |
3304 | "column": 22, | 3343 | "column": 22, |
3305 | "line": 147 | 3344 | "line": 157 |
3306 | } | 3345 | } |
3307 | } | 3346 | } |
3308 | ], | 3347 | ], |
@@ -5226,102 +5265,6 @@ | |||
5226 | { | 5265 | { |
5227 | "descriptors": [ | 5266 | "descriptors": [ |
5228 | { | 5267 | { |
5229 | "defaultMessage": "!!!Ferdi is better together!", | ||
5230 | "end": { | ||
5231 | "column": 3, | ||
5232 | "line": 20 | ||
5233 | }, | ||
5234 | "file": "src/features/shareFranz/Component.js", | ||
5235 | "id": "feature.shareFranz.headline", | ||
5236 | "start": { | ||
5237 | "column": 12, | ||
5238 | "line": 17 | ||
5239 | } | ||
5240 | }, | ||
5241 | { | ||
5242 | "defaultMessage": "!!!Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
5243 | "end": { | ||
5244 | "column": 3, | ||
5245 | "line": 24 | ||
5246 | }, | ||
5247 | "file": "src/features/shareFranz/Component.js", | ||
5248 | "id": "feature.shareFranz.text", | ||
5249 | "start": { | ||
5250 | "column": 8, | ||
5251 | "line": 21 | ||
5252 | } | ||
5253 | }, | ||
5254 | { | ||
5255 | "defaultMessage": "!!!Share as email", | ||
5256 | "end": { | ||
5257 | "column": 3, | ||
5258 | "line": 28 | ||
5259 | }, | ||
5260 | "file": "src/features/shareFranz/Component.js", | ||
5261 | "id": "feature.shareFranz.action.email", | ||
5262 | "start": { | ||
5263 | "column": 16, | ||
5264 | "line": 25 | ||
5265 | } | ||
5266 | }, | ||
5267 | { | ||
5268 | "defaultMessage": "!!!Share on Facebook", | ||
5269 | "end": { | ||
5270 | "column": 3, | ||
5271 | "line": 32 | ||
5272 | }, | ||
5273 | "file": "src/features/shareFranz/Component.js", | ||
5274 | "id": "feature.shareFranz.action.facebook", | ||
5275 | "start": { | ||
5276 | "column": 19, | ||
5277 | "line": 29 | ||
5278 | } | ||
5279 | }, | ||
5280 | { | ||
5281 | "defaultMessage": "!!!Share on Twitter", | ||
5282 | "end": { | ||
5283 | "column": 3, | ||
5284 | "line": 36 | ||
5285 | }, | ||
5286 | "file": "src/features/shareFranz/Component.js", | ||
5287 | "id": "feature.shareFranz.action.twitter", | ||
5288 | "start": { | ||
5289 | "column": 18, | ||
5290 | "line": 33 | ||
5291 | } | ||
5292 | }, | ||
5293 | { | ||
5294 | "defaultMessage": "!!! I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", | ||
5295 | "end": { | ||
5296 | "column": 3, | ||
5297 | "line": 40 | ||
5298 | }, | ||
5299 | "file": "src/features/shareFranz/Component.js", | ||
5300 | "id": "feature.shareFranz.shareText.email", | ||
5301 | "start": { | ||
5302 | "column": 18, | ||
5303 | "line": 37 | ||
5304 | } | ||
5305 | }, | ||
5306 | { | ||
5307 | "defaultMessage": "!!! I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @FranzMessenger", | ||
5308 | "end": { | ||
5309 | "column": 3, | ||
5310 | "line": 44 | ||
5311 | }, | ||
5312 | "file": "src/features/shareFranz/Component.js", | ||
5313 | "id": "feature.shareFranz.shareText.twitter", | ||
5314 | "start": { | ||
5315 | "column": 20, | ||
5316 | "line": 41 | ||
5317 | } | ||
5318 | } | ||
5319 | ], | ||
5320 | "path": "src/features/shareFranz/Component.json" | ||
5321 | }, | ||
5322 | { | ||
5323 | "descriptors": [ | ||
5324 | { | ||
5325 | "defaultMessage": "!!!Home", | 5268 | "defaultMessage": "!!!Home", |
5326 | "end": { | 5269 | "end": { |
5327 | "column": 3, | 5270 | "column": 3, |
@@ -5955,949 +5898,949 @@ | |||
5955 | "defaultMessage": "!!!Edit", | 5898 | "defaultMessage": "!!!Edit", |
5956 | "end": { | 5899 | "end": { |
5957 | "column": 3, | 5900 | "column": 3, |
5958 | "line": 23 | 5901 | "line": 22 |
5959 | }, | 5902 | }, |
5960 | "file": "src/lib/Menu.js", | 5903 | "file": "src/lib/Menu.js", |
5961 | "id": "menu.edit", | 5904 | "id": "menu.edit", |
5962 | "start": { | 5905 | "start": { |
5963 | "column": 8, | 5906 | "column": 8, |
5964 | "line": 20 | 5907 | "line": 19 |
5965 | } | 5908 | } |
5966 | }, | 5909 | }, |
5967 | { | 5910 | { |
5968 | "defaultMessage": "!!!Undo", | 5911 | "defaultMessage": "!!!Undo", |
5969 | "end": { | 5912 | "end": { |
5970 | "column": 3, | 5913 | "column": 3, |
5971 | "line": 27 | 5914 | "line": 26 |
5972 | }, | 5915 | }, |
5973 | "file": "src/lib/Menu.js", | 5916 | "file": "src/lib/Menu.js", |
5974 | "id": "menu.edit.undo", | 5917 | "id": "menu.edit.undo", |
5975 | "start": { | 5918 | "start": { |
5976 | "column": 8, | 5919 | "column": 8, |
5977 | "line": 24 | 5920 | "line": 23 |
5978 | } | 5921 | } |
5979 | }, | 5922 | }, |
5980 | { | 5923 | { |
5981 | "defaultMessage": "!!!Redo", | 5924 | "defaultMessage": "!!!Redo", |
5982 | "end": { | 5925 | "end": { |
5983 | "column": 3, | 5926 | "column": 3, |
5984 | "line": 31 | 5927 | "line": 30 |
5985 | }, | 5928 | }, |
5986 | "file": "src/lib/Menu.js", | 5929 | "file": "src/lib/Menu.js", |
5987 | "id": "menu.edit.redo", | 5930 | "id": "menu.edit.redo", |
5988 | "start": { | 5931 | "start": { |
5989 | "column": 8, | 5932 | "column": 8, |
5990 | "line": 28 | 5933 | "line": 27 |
5991 | } | 5934 | } |
5992 | }, | 5935 | }, |
5993 | { | 5936 | { |
5994 | "defaultMessage": "!!!Cut", | 5937 | "defaultMessage": "!!!Cut", |
5995 | "end": { | 5938 | "end": { |
5996 | "column": 3, | 5939 | "column": 3, |
5997 | "line": 35 | 5940 | "line": 34 |
5998 | }, | 5941 | }, |
5999 | "file": "src/lib/Menu.js", | 5942 | "file": "src/lib/Menu.js", |
6000 | "id": "menu.edit.cut", | 5943 | "id": "menu.edit.cut", |
6001 | "start": { | 5944 | "start": { |
6002 | "column": 7, | 5945 | "column": 7, |
6003 | "line": 32 | 5946 | "line": 31 |
6004 | } | 5947 | } |
6005 | }, | 5948 | }, |
6006 | { | 5949 | { |
6007 | "defaultMessage": "!!!Copy", | 5950 | "defaultMessage": "!!!Copy", |
6008 | "end": { | 5951 | "end": { |
6009 | "column": 3, | 5952 | "column": 3, |
6010 | "line": 39 | 5953 | "line": 38 |
6011 | }, | 5954 | }, |
6012 | "file": "src/lib/Menu.js", | 5955 | "file": "src/lib/Menu.js", |
6013 | "id": "menu.edit.copy", | 5956 | "id": "menu.edit.copy", |
6014 | "start": { | 5957 | "start": { |
6015 | "column": 8, | 5958 | "column": 8, |
6016 | "line": 36 | 5959 | "line": 35 |
6017 | } | 5960 | } |
6018 | }, | 5961 | }, |
6019 | { | 5962 | { |
6020 | "defaultMessage": "!!!Paste", | 5963 | "defaultMessage": "!!!Paste", |
6021 | "end": { | 5964 | "end": { |
6022 | "column": 3, | 5965 | "column": 3, |
6023 | "line": 43 | 5966 | "line": 42 |
6024 | }, | 5967 | }, |
6025 | "file": "src/lib/Menu.js", | 5968 | "file": "src/lib/Menu.js", |
6026 | "id": "menu.edit.paste", | 5969 | "id": "menu.edit.paste", |
6027 | "start": { | 5970 | "start": { |
6028 | "column": 9, | 5971 | "column": 9, |
6029 | "line": 40 | 5972 | "line": 39 |
6030 | } | 5973 | } |
6031 | }, | 5974 | }, |
6032 | { | 5975 | { |
6033 | "defaultMessage": "!!!Paste And Match Style", | 5976 | "defaultMessage": "!!!Paste And Match Style", |
6034 | "end": { | 5977 | "end": { |
6035 | "column": 3, | 5978 | "column": 3, |
6036 | "line": 47 | 5979 | "line": 46 |
6037 | }, | 5980 | }, |
6038 | "file": "src/lib/Menu.js", | 5981 | "file": "src/lib/Menu.js", |
6039 | "id": "menu.edit.pasteAndMatchStyle", | 5982 | "id": "menu.edit.pasteAndMatchStyle", |
6040 | "start": { | 5983 | "start": { |
6041 | "column": 22, | 5984 | "column": 22, |
6042 | "line": 44 | 5985 | "line": 43 |
6043 | } | 5986 | } |
6044 | }, | 5987 | }, |
6045 | { | 5988 | { |
6046 | "defaultMessage": "!!!Delete", | 5989 | "defaultMessage": "!!!Delete", |
6047 | "end": { | 5990 | "end": { |
6048 | "column": 3, | 5991 | "column": 3, |
6049 | "line": 51 | 5992 | "line": 50 |
6050 | }, | 5993 | }, |
6051 | "file": "src/lib/Menu.js", | 5994 | "file": "src/lib/Menu.js", |
6052 | "id": "menu.edit.delete", | 5995 | "id": "menu.edit.delete", |
6053 | "start": { | 5996 | "start": { |
6054 | "column": 10, | 5997 | "column": 10, |
6055 | "line": 48 | 5998 | "line": 47 |
6056 | } | 5999 | } |
6057 | }, | 6000 | }, |
6058 | { | 6001 | { |
6059 | "defaultMessage": "!!!Select All", | 6002 | "defaultMessage": "!!!Select All", |
6060 | "end": { | 6003 | "end": { |
6061 | "column": 3, | 6004 | "column": 3, |
6062 | "line": 55 | 6005 | "line": 54 |
6063 | }, | 6006 | }, |
6064 | "file": "src/lib/Menu.js", | 6007 | "file": "src/lib/Menu.js", |
6065 | "id": "menu.edit.selectAll", | 6008 | "id": "menu.edit.selectAll", |
6066 | "start": { | 6009 | "start": { |
6067 | "column": 13, | 6010 | "column": 13, |
6068 | "line": 52 | 6011 | "line": 51 |
6069 | } | 6012 | } |
6070 | }, | 6013 | }, |
6071 | { | 6014 | { |
6072 | "defaultMessage": "!!!Find in Page", | 6015 | "defaultMessage": "!!!Find in Page", |
6073 | "end": { | 6016 | "end": { |
6074 | "column": 3, | 6017 | "column": 3, |
6075 | "line": 59 | 6018 | "line": 58 |
6076 | }, | 6019 | }, |
6077 | "file": "src/lib/Menu.js", | 6020 | "file": "src/lib/Menu.js", |
6078 | "id": "menu.edit.findInPage", | 6021 | "id": "menu.edit.findInPage", |
6079 | "start": { | 6022 | "start": { |
6080 | "column": 14, | 6023 | "column": 14, |
6081 | "line": 56 | 6024 | "line": 55 |
6082 | } | 6025 | } |
6083 | }, | 6026 | }, |
6084 | { | 6027 | { |
6085 | "defaultMessage": "!!!Speech", | 6028 | "defaultMessage": "!!!Speech", |
6086 | "end": { | 6029 | "end": { |
6087 | "column": 3, | 6030 | "column": 3, |
6088 | "line": 63 | 6031 | "line": 62 |
6089 | }, | 6032 | }, |
6090 | "file": "src/lib/Menu.js", | 6033 | "file": "src/lib/Menu.js", |
6091 | "id": "menu.edit.speech", | 6034 | "id": "menu.edit.speech", |
6092 | "start": { | 6035 | "start": { |
6093 | "column": 10, | 6036 | "column": 10, |
6094 | "line": 60 | 6037 | "line": 59 |
6095 | } | 6038 | } |
6096 | }, | 6039 | }, |
6097 | { | 6040 | { |
6098 | "defaultMessage": "!!!Start Speaking", | 6041 | "defaultMessage": "!!!Start Speaking", |
6099 | "end": { | 6042 | "end": { |
6100 | "column": 3, | 6043 | "column": 3, |
6101 | "line": 67 | 6044 | "line": 66 |
6102 | }, | 6045 | }, |
6103 | "file": "src/lib/Menu.js", | 6046 | "file": "src/lib/Menu.js", |
6104 | "id": "menu.edit.startSpeaking", | 6047 | "id": "menu.edit.startSpeaking", |
6105 | "start": { | 6048 | "start": { |
6106 | "column": 17, | 6049 | "column": 17, |
6107 | "line": 64 | 6050 | "line": 63 |
6108 | } | 6051 | } |
6109 | }, | 6052 | }, |
6110 | { | 6053 | { |
6111 | "defaultMessage": "!!!Stop Speaking", | 6054 | "defaultMessage": "!!!Stop Speaking", |
6112 | "end": { | 6055 | "end": { |
6113 | "column": 3, | 6056 | "column": 3, |
6114 | "line": 71 | 6057 | "line": 70 |
6115 | }, | 6058 | }, |
6116 | "file": "src/lib/Menu.js", | 6059 | "file": "src/lib/Menu.js", |
6117 | "id": "menu.edit.stopSpeaking", | 6060 | "id": "menu.edit.stopSpeaking", |
6118 | "start": { | 6061 | "start": { |
6119 | "column": 16, | 6062 | "column": 16, |
6120 | "line": 68 | 6063 | "line": 67 |
6121 | } | 6064 | } |
6122 | }, | 6065 | }, |
6123 | { | 6066 | { |
6124 | "defaultMessage": "!!!Start Dictation", | 6067 | "defaultMessage": "!!!Start Dictation", |
6125 | "end": { | 6068 | "end": { |
6126 | "column": 3, | 6069 | "column": 3, |
6127 | "line": 75 | 6070 | "line": 74 |
6128 | }, | 6071 | }, |
6129 | "file": "src/lib/Menu.js", | 6072 | "file": "src/lib/Menu.js", |
6130 | "id": "menu.edit.startDictation", | 6073 | "id": "menu.edit.startDictation", |
6131 | "start": { | 6074 | "start": { |
6132 | "column": 18, | 6075 | "column": 18, |
6133 | "line": 72 | 6076 | "line": 71 |
6134 | } | 6077 | } |
6135 | }, | 6078 | }, |
6136 | { | 6079 | { |
6137 | "defaultMessage": "!!!Emoji & Symbols", | 6080 | "defaultMessage": "!!!Emoji & Symbols", |
6138 | "end": { | 6081 | "end": { |
6139 | "column": 3, | 6082 | "column": 3, |
6140 | "line": 79 | 6083 | "line": 78 |
6141 | }, | 6084 | }, |
6142 | "file": "src/lib/Menu.js", | 6085 | "file": "src/lib/Menu.js", |
6143 | "id": "menu.edit.emojiSymbols", | 6086 | "id": "menu.edit.emojiSymbols", |
6144 | "start": { | 6087 | "start": { |
6145 | "column": 16, | 6088 | "column": 16, |
6146 | "line": 76 | 6089 | "line": 75 |
6147 | } | 6090 | } |
6148 | }, | 6091 | }, |
6149 | { | 6092 | { |
6150 | "defaultMessage": "!!!Open Quick Switch", | 6093 | "defaultMessage": "!!!Open Quick Switch", |
6151 | "end": { | 6094 | "end": { |
6152 | "column": 3, | 6095 | "column": 3, |
6153 | "line": 83 | 6096 | "line": 82 |
6154 | }, | 6097 | }, |
6155 | "file": "src/lib/Menu.js", | 6098 | "file": "src/lib/Menu.js", |
6156 | "id": "menu.view.openQuickSwitch", | 6099 | "id": "menu.view.openQuickSwitch", |
6157 | "start": { | 6100 | "start": { |
6158 | "column": 19, | 6101 | "column": 19, |
6159 | "line": 80 | 6102 | "line": 79 |
6160 | } | 6103 | } |
6161 | }, | 6104 | }, |
6162 | { | 6105 | { |
6163 | "defaultMessage": "!!!Back", | 6106 | "defaultMessage": "!!!Back", |
6164 | "end": { | 6107 | "end": { |
6165 | "column": 3, | 6108 | "column": 3, |
6166 | "line": 87 | 6109 | "line": 86 |
6167 | }, | 6110 | }, |
6168 | "file": "src/lib/Menu.js", | 6111 | "file": "src/lib/Menu.js", |
6169 | "id": "menu.view.back", | 6112 | "id": "menu.view.back", |
6170 | "start": { | 6113 | "start": { |
6171 | "column": 8, | 6114 | "column": 8, |
6172 | "line": 84 | 6115 | "line": 83 |
6173 | } | 6116 | } |
6174 | }, | 6117 | }, |
6175 | { | 6118 | { |
6176 | "defaultMessage": "!!!Forward", | 6119 | "defaultMessage": "!!!Forward", |
6177 | "end": { | 6120 | "end": { |
6178 | "column": 3, | 6121 | "column": 3, |
6179 | "line": 91 | 6122 | "line": 90 |
6180 | }, | 6123 | }, |
6181 | "file": "src/lib/Menu.js", | 6124 | "file": "src/lib/Menu.js", |
6182 | "id": "menu.view.forward", | 6125 | "id": "menu.view.forward", |
6183 | "start": { | 6126 | "start": { |
6184 | "column": 11, | 6127 | "column": 11, |
6185 | "line": 88 | 6128 | "line": 87 |
6186 | } | 6129 | } |
6187 | }, | 6130 | }, |
6188 | { | 6131 | { |
6189 | "defaultMessage": "!!!Actual Size", | 6132 | "defaultMessage": "!!!Actual Size", |
6190 | "end": { | 6133 | "end": { |
6191 | "column": 3, | 6134 | "column": 3, |
6192 | "line": 95 | 6135 | "line": 94 |
6193 | }, | 6136 | }, |
6194 | "file": "src/lib/Menu.js", | 6137 | "file": "src/lib/Menu.js", |
6195 | "id": "menu.view.resetZoom", | 6138 | "id": "menu.view.resetZoom", |
6196 | "start": { | 6139 | "start": { |
6197 | "column": 13, | 6140 | "column": 13, |
6198 | "line": 92 | 6141 | "line": 91 |
6199 | } | 6142 | } |
6200 | }, | 6143 | }, |
6201 | { | 6144 | { |
6202 | "defaultMessage": "!!!Zoom In", | 6145 | "defaultMessage": "!!!Zoom In", |
6203 | "end": { | 6146 | "end": { |
6204 | "column": 3, | 6147 | "column": 3, |
6205 | "line": 99 | 6148 | "line": 98 |
6206 | }, | 6149 | }, |
6207 | "file": "src/lib/Menu.js", | 6150 | "file": "src/lib/Menu.js", |
6208 | "id": "menu.view.zoomIn", | 6151 | "id": "menu.view.zoomIn", |
6209 | "start": { | 6152 | "start": { |
6210 | "column": 10, | 6153 | "column": 10, |
6211 | "line": 96 | 6154 | "line": 95 |
6212 | } | 6155 | } |
6213 | }, | 6156 | }, |
6214 | { | 6157 | { |
6215 | "defaultMessage": "!!!Zoom Out", | 6158 | "defaultMessage": "!!!Zoom Out", |
6216 | "end": { | 6159 | "end": { |
6217 | "column": 3, | 6160 | "column": 3, |
6218 | "line": 103 | 6161 | "line": 102 |
6219 | }, | 6162 | }, |
6220 | "file": "src/lib/Menu.js", | 6163 | "file": "src/lib/Menu.js", |
6221 | "id": "menu.view.zoomOut", | 6164 | "id": "menu.view.zoomOut", |
6222 | "start": { | 6165 | "start": { |
6223 | "column": 11, | 6166 | "column": 11, |
6224 | "line": 100 | 6167 | "line": 99 |
6225 | } | 6168 | } |
6226 | }, | 6169 | }, |
6227 | { | 6170 | { |
6228 | "defaultMessage": "!!!Toggle Full Screen", | 6171 | "defaultMessage": "!!!Toggle Full Screen", |
6229 | "end": { | 6172 | "end": { |
6230 | "column": 3, | 6173 | "column": 3, |
6231 | "line": 107 | 6174 | "line": 106 |
6232 | }, | 6175 | }, |
6233 | "file": "src/lib/Menu.js", | 6176 | "file": "src/lib/Menu.js", |
6234 | "id": "menu.view.toggleFullScreen", | 6177 | "id": "menu.view.toggleFullScreen", |
6235 | "start": { | 6178 | "start": { |
6236 | "column": 20, | 6179 | "column": 20, |
6237 | "line": 104 | 6180 | "line": 103 |
6238 | } | 6181 | } |
6239 | }, | 6182 | }, |
6240 | { | 6183 | { |
6241 | "defaultMessage": "!!!Toggle Dark Mode", | 6184 | "defaultMessage": "!!!Toggle Dark Mode", |
6242 | "end": { | 6185 | "end": { |
6243 | "column": 3, | 6186 | "column": 3, |
6244 | "line": 111 | 6187 | "line": 110 |
6245 | }, | 6188 | }, |
6246 | "file": "src/lib/Menu.js", | 6189 | "file": "src/lib/Menu.js", |
6247 | "id": "menu.view.toggleDarkMode", | 6190 | "id": "menu.view.toggleDarkMode", |
6248 | "start": { | 6191 | "start": { |
6249 | "column": 18, | 6192 | "column": 18, |
6250 | "line": 108 | 6193 | "line": 107 |
6251 | } | 6194 | } |
6252 | }, | 6195 | }, |
6253 | { | 6196 | { |
6254 | "defaultMessage": "!!!Toggle Developer Tools", | 6197 | "defaultMessage": "!!!Toggle Developer Tools", |
6255 | "end": { | 6198 | "end": { |
6256 | "column": 3, | 6199 | "column": 3, |
6257 | "line": 115 | 6200 | "line": 114 |
6258 | }, | 6201 | }, |
6259 | "file": "src/lib/Menu.js", | 6202 | "file": "src/lib/Menu.js", |
6260 | "id": "menu.view.toggleDevTools", | 6203 | "id": "menu.view.toggleDevTools", |
6261 | "start": { | 6204 | "start": { |
6262 | "column": 18, | 6205 | "column": 18, |
6263 | "line": 112 | 6206 | "line": 111 |
6264 | } | 6207 | } |
6265 | }, | 6208 | }, |
6266 | { | 6209 | { |
6267 | "defaultMessage": "!!!Toggle Todos Developer Tools", | 6210 | "defaultMessage": "!!!Toggle Todos Developer Tools", |
6268 | "end": { | 6211 | "end": { |
6269 | "column": 3, | 6212 | "column": 3, |
6270 | "line": 119 | 6213 | "line": 118 |
6271 | }, | 6214 | }, |
6272 | "file": "src/lib/Menu.js", | 6215 | "file": "src/lib/Menu.js", |
6273 | "id": "menu.view.toggleTodosDevTools", | 6216 | "id": "menu.view.toggleTodosDevTools", |
6274 | "start": { | 6217 | "start": { |
6275 | "column": 23, | 6218 | "column": 23, |
6276 | "line": 116 | 6219 | "line": 115 |
6277 | } | 6220 | } |
6278 | }, | 6221 | }, |
6279 | { | 6222 | { |
6280 | "defaultMessage": "!!!Toggle Service Developer Tools", | 6223 | "defaultMessage": "!!!Toggle Service Developer Tools", |
6281 | "end": { | 6224 | "end": { |
6282 | "column": 3, | 6225 | "column": 3, |
6283 | "line": 123 | 6226 | "line": 122 |
6284 | }, | 6227 | }, |
6285 | "file": "src/lib/Menu.js", | 6228 | "file": "src/lib/Menu.js", |
6286 | "id": "menu.view.toggleServiceDevTools", | 6229 | "id": "menu.view.toggleServiceDevTools", |
6287 | "start": { | 6230 | "start": { |
6288 | "column": 25, | 6231 | "column": 25, |
6289 | "line": 120 | 6232 | "line": 119 |
6290 | } | 6233 | } |
6291 | }, | 6234 | }, |
6292 | { | 6235 | { |
6293 | "defaultMessage": "!!!Reload Service", | 6236 | "defaultMessage": "!!!Reload Service", |
6294 | "end": { | 6237 | "end": { |
6295 | "column": 3, | 6238 | "column": 3, |
6296 | "line": 127 | 6239 | "line": 126 |
6297 | }, | 6240 | }, |
6298 | "file": "src/lib/Menu.js", | 6241 | "file": "src/lib/Menu.js", |
6299 | "id": "menu.view.reloadService", | 6242 | "id": "menu.view.reloadService", |
6300 | "start": { | 6243 | "start": { |
6301 | "column": 17, | 6244 | "column": 17, |
6302 | "line": 124 | 6245 | "line": 123 |
6303 | } | 6246 | } |
6304 | }, | 6247 | }, |
6305 | { | 6248 | { |
6306 | "defaultMessage": "!!!Reload Ferdi", | 6249 | "defaultMessage": "!!!Reload Ferdi", |
6307 | "end": { | 6250 | "end": { |
6308 | "column": 3, | 6251 | "column": 3, |
6309 | "line": 131 | 6252 | "line": 130 |
6310 | }, | 6253 | }, |
6311 | "file": "src/lib/Menu.js", | 6254 | "file": "src/lib/Menu.js", |
6312 | "id": "menu.view.reloadFerdi", | 6255 | "id": "menu.view.reloadFerdi", |
6313 | "start": { | 6256 | "start": { |
6314 | "column": 15, | 6257 | "column": 15, |
6315 | "line": 128 | 6258 | "line": 127 |
6316 | } | 6259 | } |
6317 | }, | 6260 | }, |
6318 | { | 6261 | { |
6319 | "defaultMessage": "!!!Lock Ferdi", | 6262 | "defaultMessage": "!!!Lock Ferdi", |
6320 | "end": { | 6263 | "end": { |
6321 | "column": 3, | 6264 | "column": 3, |
6322 | "line": 135 | 6265 | "line": 134 |
6323 | }, | 6266 | }, |
6324 | "file": "src/lib/Menu.js", | 6267 | "file": "src/lib/Menu.js", |
6325 | "id": "menu.view.lockFerdi", | 6268 | "id": "menu.view.lockFerdi", |
6326 | "start": { | 6269 | "start": { |
6327 | "column": 13, | 6270 | "column": 13, |
6328 | "line": 132 | 6271 | "line": 131 |
6329 | } | 6272 | } |
6330 | }, | 6273 | }, |
6331 | { | 6274 | { |
6332 | "defaultMessage": "!!!Reload ToDos", | 6275 | "defaultMessage": "!!!Reload ToDos", |
6333 | "end": { | 6276 | "end": { |
6334 | "column": 3, | 6277 | "column": 3, |
6335 | "line": 139 | 6278 | "line": 138 |
6336 | }, | 6279 | }, |
6337 | "file": "src/lib/Menu.js", | 6280 | "file": "src/lib/Menu.js", |
6338 | "id": "menu.view.reloadTodos", | 6281 | "id": "menu.view.reloadTodos", |
6339 | "start": { | 6282 | "start": { |
6340 | "column": 15, | 6283 | "column": 15, |
6341 | "line": 136 | 6284 | "line": 135 |
6342 | } | 6285 | } |
6343 | }, | 6286 | }, |
6344 | { | 6287 | { |
6345 | "defaultMessage": "!!!Minimize", | 6288 | "defaultMessage": "!!!Minimize", |
6346 | "end": { | 6289 | "end": { |
6347 | "column": 3, | 6290 | "column": 3, |
6348 | "line": 143 | 6291 | "line": 142 |
6349 | }, | 6292 | }, |
6350 | "file": "src/lib/Menu.js", | 6293 | "file": "src/lib/Menu.js", |
6351 | "id": "menu.window.minimize", | 6294 | "id": "menu.window.minimize", |
6352 | "start": { | 6295 | "start": { |
6353 | "column": 12, | 6296 | "column": 12, |
6354 | "line": 140 | 6297 | "line": 139 |
6355 | } | 6298 | } |
6356 | }, | 6299 | }, |
6357 | { | 6300 | { |
6358 | "defaultMessage": "!!!Close", | 6301 | "defaultMessage": "!!!Close", |
6359 | "end": { | 6302 | "end": { |
6360 | "column": 3, | 6303 | "column": 3, |
6361 | "line": 147 | 6304 | "line": 146 |
6362 | }, | 6305 | }, |
6363 | "file": "src/lib/Menu.js", | 6306 | "file": "src/lib/Menu.js", |
6364 | "id": "menu.window.close", | 6307 | "id": "menu.window.close", |
6365 | "start": { | 6308 | "start": { |
6366 | "column": 9, | 6309 | "column": 9, |
6367 | "line": 144 | 6310 | "line": 143 |
6368 | } | 6311 | } |
6369 | }, | 6312 | }, |
6370 | { | 6313 | { |
6371 | "defaultMessage": "!!!Learn More", | 6314 | "defaultMessage": "!!!Learn More", |
6372 | "end": { | 6315 | "end": { |
6373 | "column": 3, | 6316 | "column": 3, |
6374 | "line": 151 | 6317 | "line": 150 |
6375 | }, | 6318 | }, |
6376 | "file": "src/lib/Menu.js", | 6319 | "file": "src/lib/Menu.js", |
6377 | "id": "menu.help.learnMore", | 6320 | "id": "menu.help.learnMore", |
6378 | "start": { | 6321 | "start": { |
6379 | "column": 13, | 6322 | "column": 13, |
6380 | "line": 148 | 6323 | "line": 147 |
6381 | } | 6324 | } |
6382 | }, | 6325 | }, |
6383 | { | 6326 | { |
6384 | "defaultMessage": "!!!Changelog", | 6327 | "defaultMessage": "!!!Changelog", |
6385 | "end": { | 6328 | "end": { |
6386 | "column": 3, | 6329 | "column": 3, |
6387 | "line": 155 | 6330 | "line": 154 |
6388 | }, | 6331 | }, |
6389 | "file": "src/lib/Menu.js", | 6332 | "file": "src/lib/Menu.js", |
6390 | "id": "menu.help.changelog", | 6333 | "id": "menu.help.changelog", |
6391 | "start": { | 6334 | "start": { |
6392 | "column": 13, | 6335 | "column": 13, |
6393 | "line": 152 | 6336 | "line": 151 |
6394 | } | 6337 | } |
6395 | }, | 6338 | }, |
6396 | { | 6339 | { |
6397 | "defaultMessage": "!!!Import/Export Configuration Data", | 6340 | "defaultMessage": "!!!Import/Export Configuration Data", |
6398 | "end": { | 6341 | "end": { |
6399 | "column": 3, | 6342 | "column": 3, |
6400 | "line": 159 | 6343 | "line": 158 |
6401 | }, | 6344 | }, |
6402 | "file": "src/lib/Menu.js", | 6345 | "file": "src/lib/Menu.js", |
6403 | "id": "menu.help.importExportData", | 6346 | "id": "menu.help.importExportData", |
6404 | "start": { | 6347 | "start": { |
6405 | "column": 20, | 6348 | "column": 20, |
6406 | "line": 156 | 6349 | "line": 155 |
6407 | } | 6350 | } |
6408 | }, | 6351 | }, |
6409 | { | 6352 | { |
6410 | "defaultMessage": "!!!Support", | 6353 | "defaultMessage": "!!!Support", |
6411 | "end": { | 6354 | "end": { |
6412 | "column": 3, | 6355 | "column": 3, |
6413 | "line": 163 | 6356 | "line": 162 |
6414 | }, | 6357 | }, |
6415 | "file": "src/lib/Menu.js", | 6358 | "file": "src/lib/Menu.js", |
6416 | "id": "menu.help.support", | 6359 | "id": "menu.help.support", |
6417 | "start": { | 6360 | "start": { |
6418 | "column": 11, | 6361 | "column": 11, |
6419 | "line": 160 | 6362 | "line": 159 |
6420 | } | 6363 | } |
6421 | }, | 6364 | }, |
6422 | { | 6365 | { |
6423 | "defaultMessage": "!!!Copy Debug Information", | 6366 | "defaultMessage": "!!!Copy Debug Information", |
6424 | "end": { | 6367 | "end": { |
6425 | "column": 3, | 6368 | "column": 3, |
6426 | "line": 167 | 6369 | "line": 166 |
6427 | }, | 6370 | }, |
6428 | "file": "src/lib/Menu.js", | 6371 | "file": "src/lib/Menu.js", |
6429 | "id": "menu.help.debugInfo", | 6372 | "id": "menu.help.debugInfo", |
6430 | "start": { | 6373 | "start": { |
6431 | "column": 13, | 6374 | "column": 13, |
6432 | "line": 164 | 6375 | "line": 163 |
6433 | } | 6376 | } |
6434 | }, | 6377 | }, |
6435 | { | 6378 | { |
6436 | "defaultMessage": "!!!Publish Debug Information", | 6379 | "defaultMessage": "!!!Publish Debug Information", |
6437 | "end": { | 6380 | "end": { |
6438 | "column": 3, | 6381 | "column": 3, |
6439 | "line": 171 | 6382 | "line": 170 |
6440 | }, | 6383 | }, |
6441 | "file": "src/lib/Menu.js", | 6384 | "file": "src/lib/Menu.js", |
6442 | "id": "menu.help.publishDebugInfo", | 6385 | "id": "menu.help.publishDebugInfo", |
6443 | "start": { | 6386 | "start": { |
6444 | "column": 20, | 6387 | "column": 20, |
6445 | "line": 168 | 6388 | "line": 167 |
6446 | } | 6389 | } |
6447 | }, | 6390 | }, |
6448 | { | 6391 | { |
6449 | "defaultMessage": "!!!Ferdi Debug Information", | 6392 | "defaultMessage": "!!!Ferdi Debug Information", |
6450 | "end": { | 6393 | "end": { |
6451 | "column": 3, | 6394 | "column": 3, |
6452 | "line": 175 | 6395 | "line": 174 |
6453 | }, | 6396 | }, |
6454 | "file": "src/lib/Menu.js", | 6397 | "file": "src/lib/Menu.js", |
6455 | "id": "menu.help.debugInfoCopiedHeadline", | 6398 | "id": "menu.help.debugInfoCopiedHeadline", |
6456 | "start": { | 6399 | "start": { |
6457 | "column": 27, | 6400 | "column": 27, |
6458 | "line": 172 | 6401 | "line": 171 |
6459 | } | 6402 | } |
6460 | }, | 6403 | }, |
6461 | { | 6404 | { |
6462 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | 6405 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", |
6463 | "end": { | 6406 | "end": { |
6464 | "column": 3, | 6407 | "column": 3, |
6465 | "line": 179 | 6408 | "line": 178 |
6466 | }, | 6409 | }, |
6467 | "file": "src/lib/Menu.js", | 6410 | "file": "src/lib/Menu.js", |
6468 | "id": "menu.help.debugInfoCopiedBody", | 6411 | "id": "menu.help.debugInfoCopiedBody", |
6469 | "start": { | 6412 | "start": { |
6470 | "column": 23, | 6413 | "column": 23, |
6471 | "line": 176 | 6414 | "line": 175 |
6472 | } | 6415 | } |
6473 | }, | 6416 | }, |
6474 | { | 6417 | { |
6475 | "defaultMessage": "!!!Unlock with Touch ID", | 6418 | "defaultMessage": "!!!Unlock with Touch ID", |
6476 | "end": { | 6419 | "end": { |
6477 | "column": 3, | 6420 | "column": 3, |
6478 | "line": 183 | 6421 | "line": 182 |
6479 | }, | 6422 | }, |
6480 | "file": "src/lib/Menu.js", | 6423 | "file": "src/lib/Menu.js", |
6481 | "id": "locked.touchId", | 6424 | "id": "locked.touchId", |
6482 | "start": { | 6425 | "start": { |
6483 | "column": 11, | 6426 | "column": 11, |
6484 | "line": 180 | 6427 | "line": 179 |
6485 | } | 6428 | } |
6486 | }, | 6429 | }, |
6487 | { | 6430 | { |
6488 | "defaultMessage": "!!!unlock via Touch ID", | 6431 | "defaultMessage": "!!!unlock via Touch ID", |
6489 | "end": { | 6432 | "end": { |
6490 | "column": 3, | 6433 | "column": 3, |
6491 | "line": 187 | 6434 | "line": 186 |
6492 | }, | 6435 | }, |
6493 | "file": "src/lib/Menu.js", | 6436 | "file": "src/lib/Menu.js", |
6494 | "id": "locked.touchIdPrompt", | 6437 | "id": "locked.touchIdPrompt", |
6495 | "start": { | 6438 | "start": { |
6496 | "column": 17, | 6439 | "column": 17, |
6497 | "line": 184 | 6440 | "line": 183 |
6498 | } | 6441 | } |
6499 | }, | 6442 | }, |
6500 | { | 6443 | { |
6501 | "defaultMessage": "!!!Terms of Service", | 6444 | "defaultMessage": "!!!Terms of Service", |
6502 | "end": { | 6445 | "end": { |
6503 | "column": 3, | 6446 | "column": 3, |
6504 | "line": 191 | 6447 | "line": 190 |
6505 | }, | 6448 | }, |
6506 | "file": "src/lib/Menu.js", | 6449 | "file": "src/lib/Menu.js", |
6507 | "id": "menu.help.tos", | 6450 | "id": "menu.help.tos", |
6508 | "start": { | 6451 | "start": { |
6509 | "column": 7, | 6452 | "column": 7, |
6510 | "line": 188 | 6453 | "line": 187 |
6511 | } | 6454 | } |
6512 | }, | 6455 | }, |
6513 | { | 6456 | { |
6514 | "defaultMessage": "!!!Privacy Statement", | 6457 | "defaultMessage": "!!!Privacy Statement", |
6515 | "end": { | 6458 | "end": { |
6516 | "column": 3, | 6459 | "column": 3, |
6517 | "line": 195 | 6460 | "line": 194 |
6518 | }, | 6461 | }, |
6519 | "file": "src/lib/Menu.js", | 6462 | "file": "src/lib/Menu.js", |
6520 | "id": "menu.help.privacy", | 6463 | "id": "menu.help.privacy", |
6521 | "start": { | 6464 | "start": { |
6522 | "column": 11, | 6465 | "column": 11, |
6523 | "line": 192 | 6466 | "line": 191 |
6524 | } | 6467 | } |
6525 | }, | 6468 | }, |
6526 | { | 6469 | { |
6527 | "defaultMessage": "!!!File", | 6470 | "defaultMessage": "!!!File", |
6528 | "end": { | 6471 | "end": { |
6529 | "column": 3, | 6472 | "column": 3, |
6530 | "line": 199 | 6473 | "line": 198 |
6531 | }, | 6474 | }, |
6532 | "file": "src/lib/Menu.js", | 6475 | "file": "src/lib/Menu.js", |
6533 | "id": "menu.file", | 6476 | "id": "menu.file", |
6534 | "start": { | 6477 | "start": { |
6535 | "column": 8, | 6478 | "column": 8, |
6536 | "line": 196 | 6479 | "line": 195 |
6537 | } | 6480 | } |
6538 | }, | 6481 | }, |
6539 | { | 6482 | { |
6540 | "defaultMessage": "!!!View", | 6483 | "defaultMessage": "!!!View", |
6541 | "end": { | 6484 | "end": { |
6542 | "column": 3, | 6485 | "column": 3, |
6543 | "line": 203 | 6486 | "line": 202 |
6544 | }, | 6487 | }, |
6545 | "file": "src/lib/Menu.js", | 6488 | "file": "src/lib/Menu.js", |
6546 | "id": "menu.view", | 6489 | "id": "menu.view", |
6547 | "start": { | 6490 | "start": { |
6548 | "column": 8, | 6491 | "column": 8, |
6549 | "line": 200 | 6492 | "line": 199 |
6550 | } | 6493 | } |
6551 | }, | 6494 | }, |
6552 | { | 6495 | { |
6553 | "defaultMessage": "!!!Services", | 6496 | "defaultMessage": "!!!Services", |
6554 | "end": { | 6497 | "end": { |
6555 | "column": 3, | 6498 | "column": 3, |
6556 | "line": 207 | 6499 | "line": 206 |
6557 | }, | 6500 | }, |
6558 | "file": "src/lib/Menu.js", | 6501 | "file": "src/lib/Menu.js", |
6559 | "id": "menu.services", | 6502 | "id": "menu.services", |
6560 | "start": { | 6503 | "start": { |
6561 | "column": 12, | 6504 | "column": 12, |
6562 | "line": 204 | 6505 | "line": 203 |
6563 | } | 6506 | } |
6564 | }, | 6507 | }, |
6565 | { | 6508 | { |
6566 | "defaultMessage": "!!!Window", | 6509 | "defaultMessage": "!!!Window", |
6567 | "end": { | 6510 | "end": { |
6568 | "column": 3, | 6511 | "column": 3, |
6569 | "line": 211 | 6512 | "line": 210 |
6570 | }, | 6513 | }, |
6571 | "file": "src/lib/Menu.js", | 6514 | "file": "src/lib/Menu.js", |
6572 | "id": "menu.window", | 6515 | "id": "menu.window", |
6573 | "start": { | 6516 | "start": { |
6574 | "column": 10, | 6517 | "column": 10, |
6575 | "line": 208 | 6518 | "line": 207 |
6576 | } | 6519 | } |
6577 | }, | 6520 | }, |
6578 | { | 6521 | { |
6579 | "defaultMessage": "!!!Help", | 6522 | "defaultMessage": "!!!Help", |
6580 | "end": { | 6523 | "end": { |
6581 | "column": 3, | 6524 | "column": 3, |
6582 | "line": 215 | 6525 | "line": 214 |
6583 | }, | 6526 | }, |
6584 | "file": "src/lib/Menu.js", | 6527 | "file": "src/lib/Menu.js", |
6585 | "id": "menu.help", | 6528 | "id": "menu.help", |
6586 | "start": { | 6529 | "start": { |
6587 | "column": 8, | 6530 | "column": 8, |
6588 | "line": 212 | 6531 | "line": 211 |
6589 | } | 6532 | } |
6590 | }, | 6533 | }, |
6591 | { | 6534 | { |
6592 | "defaultMessage": "!!!About Ferdi", | 6535 | "defaultMessage": "!!!About Ferdi", |
6593 | "end": { | 6536 | "end": { |
6594 | "column": 3, | 6537 | "column": 3, |
6595 | "line": 219 | 6538 | "line": 218 |
6596 | }, | 6539 | }, |
6597 | "file": "src/lib/Menu.js", | 6540 | "file": "src/lib/Menu.js", |
6598 | "id": "menu.app.about", | 6541 | "id": "menu.app.about", |
6599 | "start": { | 6542 | "start": { |
6600 | "column": 9, | 6543 | "column": 9, |
6601 | "line": 216 | 6544 | "line": 215 |
6602 | } | 6545 | } |
6603 | }, | 6546 | }, |
6604 | { | 6547 | { |
6605 | "defaultMessage": "!!!What's new?", | 6548 | "defaultMessage": "!!!What's new?", |
6606 | "end": { | 6549 | "end": { |
6607 | "column": 3, | 6550 | "column": 3, |
6608 | "line": 223 | 6551 | "line": 222 |
6609 | }, | 6552 | }, |
6610 | "file": "src/lib/Menu.js", | 6553 | "file": "src/lib/Menu.js", |
6611 | "id": "menu.app.announcement", | 6554 | "id": "menu.app.announcement", |
6612 | "start": { | 6555 | "start": { |
6613 | "column": 16, | 6556 | "column": 16, |
6614 | "line": 220 | 6557 | "line": 219 |
6615 | } | 6558 | } |
6616 | }, | 6559 | }, |
6617 | { | 6560 | { |
6618 | "defaultMessage": "!!!Settings", | 6561 | "defaultMessage": "!!!Settings", |
6619 | "end": { | 6562 | "end": { |
6620 | "column": 3, | 6563 | "column": 3, |
6621 | "line": 227 | 6564 | "line": 226 |
6622 | }, | 6565 | }, |
6623 | "file": "src/lib/Menu.js", | 6566 | "file": "src/lib/Menu.js", |
6624 | "id": "menu.app.settings", | 6567 | "id": "menu.app.settings", |
6625 | "start": { | 6568 | "start": { |
6626 | "column": 12, | 6569 | "column": 12, |
6627 | "line": 224 | 6570 | "line": 223 |
6628 | } | 6571 | } |
6629 | }, | 6572 | }, |
6630 | { | 6573 | { |
6631 | "defaultMessage": "!!!Check for updates", | 6574 | "defaultMessage": "!!!Check for updates", |
6632 | "end": { | 6575 | "end": { |
6633 | "column": 3, | 6576 | "column": 3, |
6634 | "line": 231 | 6577 | "line": 230 |
6635 | }, | 6578 | }, |
6636 | "file": "src/lib/Menu.js", | 6579 | "file": "src/lib/Menu.js", |
6637 | "id": "menu.app.checkForUpdates", | 6580 | "id": "menu.app.checkForUpdates", |
6638 | "start": { | 6581 | "start": { |
6639 | "column": 19, | 6582 | "column": 19, |
6640 | "line": 228 | 6583 | "line": 227 |
6641 | } | 6584 | } |
6642 | }, | 6585 | }, |
6643 | { | 6586 | { |
6644 | "defaultMessage": "!!!Hide", | 6587 | "defaultMessage": "!!!Hide", |
6645 | "end": { | 6588 | "end": { |
6646 | "column": 3, | 6589 | "column": 3, |
6647 | "line": 235 | 6590 | "line": 234 |
6648 | }, | 6591 | }, |
6649 | "file": "src/lib/Menu.js", | 6592 | "file": "src/lib/Menu.js", |
6650 | "id": "menu.app.hide", | 6593 | "id": "menu.app.hide", |
6651 | "start": { | 6594 | "start": { |
6652 | "column": 8, | 6595 | "column": 8, |
6653 | "line": 232 | 6596 | "line": 231 |
6654 | } | 6597 | } |
6655 | }, | 6598 | }, |
6656 | { | 6599 | { |
6657 | "defaultMessage": "!!!Hide Others", | 6600 | "defaultMessage": "!!!Hide Others", |
6658 | "end": { | 6601 | "end": { |
6659 | "column": 3, | 6602 | "column": 3, |
6660 | "line": 239 | 6603 | "line": 238 |
6661 | }, | 6604 | }, |
6662 | "file": "src/lib/Menu.js", | 6605 | "file": "src/lib/Menu.js", |
6663 | "id": "menu.app.hideOthers", | 6606 | "id": "menu.app.hideOthers", |
6664 | "start": { | 6607 | "start": { |
6665 | "column": 14, | 6608 | "column": 14, |
6666 | "line": 236 | 6609 | "line": 235 |
6667 | } | 6610 | } |
6668 | }, | 6611 | }, |
6669 | { | 6612 | { |
6670 | "defaultMessage": "!!!Unhide", | 6613 | "defaultMessage": "!!!Unhide", |
6671 | "end": { | 6614 | "end": { |
6672 | "column": 3, | 6615 | "column": 3, |
6673 | "line": 243 | 6616 | "line": 242 |
6674 | }, | 6617 | }, |
6675 | "file": "src/lib/Menu.js", | 6618 | "file": "src/lib/Menu.js", |
6676 | "id": "menu.app.unhide", | 6619 | "id": "menu.app.unhide", |
6677 | "start": { | 6620 | "start": { |
6678 | "column": 10, | 6621 | "column": 10, |
6679 | "line": 240 | 6622 | "line": 239 |
6680 | } | 6623 | } |
6681 | }, | 6624 | }, |
6682 | { | 6625 | { |
6683 | "defaultMessage": "!!!Auto-hide menu bar", | 6626 | "defaultMessage": "!!!Auto-hide menu bar", |
6684 | "end": { | 6627 | "end": { |
6685 | "column": 3, | 6628 | "column": 3, |
6686 | "line": 247 | 6629 | "line": 246 |
6687 | }, | 6630 | }, |
6688 | "file": "src/lib/Menu.js", | 6631 | "file": "src/lib/Menu.js", |
6689 | "id": "menu.app.autohideMenuBar", | 6632 | "id": "menu.app.autohideMenuBar", |
6690 | "start": { | 6633 | "start": { |
6691 | "column": 19, | 6634 | "column": 19, |
6692 | "line": 244 | 6635 | "line": 243 |
6693 | } | 6636 | } |
6694 | }, | 6637 | }, |
6695 | { | 6638 | { |
6696 | "defaultMessage": "!!!Quit", | 6639 | "defaultMessage": "!!!Quit", |
6697 | "end": { | 6640 | "end": { |
6698 | "column": 3, | 6641 | "column": 3, |
6699 | "line": 251 | 6642 | "line": 250 |
6700 | }, | 6643 | }, |
6701 | "file": "src/lib/Menu.js", | 6644 | "file": "src/lib/Menu.js", |
6702 | "id": "menu.app.quit", | 6645 | "id": "menu.app.quit", |
6703 | "start": { | 6646 | "start": { |
6704 | "column": 8, | 6647 | "column": 8, |
6705 | "line": 248 | 6648 | "line": 247 |
6706 | } | 6649 | } |
6707 | }, | 6650 | }, |
6708 | { | 6651 | { |
6709 | "defaultMessage": "!!!Add New Service...", | 6652 | "defaultMessage": "!!!Add New Service...", |
6710 | "end": { | 6653 | "end": { |
6711 | "column": 3, | 6654 | "column": 3, |
6712 | "line": 255 | 6655 | "line": 254 |
6713 | }, | 6656 | }, |
6714 | "file": "src/lib/Menu.js", | 6657 | "file": "src/lib/Menu.js", |
6715 | "id": "menu.services.addNewService", | 6658 | "id": "menu.services.addNewService", |
6716 | "start": { | 6659 | "start": { |
6717 | "column": 17, | 6660 | "column": 17, |
6718 | "line": 252 | 6661 | "line": 251 |
6719 | } | 6662 | } |
6720 | }, | 6663 | }, |
6721 | { | 6664 | { |
6722 | "defaultMessage": "!!!Add New Workspace...", | 6665 | "defaultMessage": "!!!Add New Workspace...", |
6723 | "end": { | 6666 | "end": { |
6724 | "column": 3, | 6667 | "column": 3, |
6725 | "line": 259 | 6668 | "line": 258 |
6726 | }, | 6669 | }, |
6727 | "file": "src/lib/Menu.js", | 6670 | "file": "src/lib/Menu.js", |
6728 | "id": "menu.workspaces.addNewWorkspace", | 6671 | "id": "menu.workspaces.addNewWorkspace", |
6729 | "start": { | 6672 | "start": { |
6730 | "column": 19, | 6673 | "column": 19, |
6731 | "line": 256 | 6674 | "line": 255 |
6732 | } | 6675 | } |
6733 | }, | 6676 | }, |
6734 | { | 6677 | { |
6735 | "defaultMessage": "!!!Open workspace drawer", | 6678 | "defaultMessage": "!!!Open workspace drawer", |
6736 | "end": { | 6679 | "end": { |
6737 | "column": 3, | 6680 | "column": 3, |
6738 | "line": 263 | 6681 | "line": 262 |
6739 | }, | 6682 | }, |
6740 | "file": "src/lib/Menu.js", | 6683 | "file": "src/lib/Menu.js", |
6741 | "id": "menu.workspaces.openWorkspaceDrawer", | 6684 | "id": "menu.workspaces.openWorkspaceDrawer", |
6742 | "start": { | 6685 | "start": { |
6743 | "column": 23, | 6686 | "column": 23, |
6744 | "line": 260 | 6687 | "line": 259 |
6745 | } | 6688 | } |
6746 | }, | 6689 | }, |
6747 | { | 6690 | { |
6748 | "defaultMessage": "!!!Close workspace drawer", | 6691 | "defaultMessage": "!!!Close workspace drawer", |
6749 | "end": { | 6692 | "end": { |
6750 | "column": 3, | 6693 | "column": 3, |
6751 | "line": 267 | 6694 | "line": 266 |
6752 | }, | 6695 | }, |
6753 | "file": "src/lib/Menu.js", | 6696 | "file": "src/lib/Menu.js", |
6754 | "id": "menu.workspaces.closeWorkspaceDrawer", | 6697 | "id": "menu.workspaces.closeWorkspaceDrawer", |
6755 | "start": { | 6698 | "start": { |
6756 | "column": 24, | 6699 | "column": 24, |
6757 | "line": 264 | 6700 | "line": 263 |
6758 | } | 6701 | } |
6759 | }, | 6702 | }, |
6760 | { | 6703 | { |
6761 | "defaultMessage": "!!!Activate next service...", | 6704 | "defaultMessage": "!!!Activate next service...", |
6762 | "end": { | 6705 | "end": { |
6763 | "column": 3, | 6706 | "column": 3, |
6764 | "line": 271 | 6707 | "line": 270 |
6765 | }, | 6708 | }, |
6766 | "file": "src/lib/Menu.js", | 6709 | "file": "src/lib/Menu.js", |
6767 | "id": "menu.services.setNextServiceActive", | 6710 | "id": "menu.services.setNextServiceActive", |
6768 | "start": { | 6711 | "start": { |
6769 | "column": 23, | 6712 | "column": 23, |
6770 | "line": 268 | 6713 | "line": 267 |
6771 | } | 6714 | } |
6772 | }, | 6715 | }, |
6773 | { | 6716 | { |
6774 | "defaultMessage": "!!!Activate previous service...", | 6717 | "defaultMessage": "!!!Activate previous service...", |
6775 | "end": { | 6718 | "end": { |
6776 | "column": 3, | 6719 | "column": 3, |
6777 | "line": 275 | 6720 | "line": 274 |
6778 | }, | 6721 | }, |
6779 | "file": "src/lib/Menu.js", | 6722 | "file": "src/lib/Menu.js", |
6780 | "id": "menu.services.activatePreviousService", | 6723 | "id": "menu.services.activatePreviousService", |
6781 | "start": { | 6724 | "start": { |
6782 | "column": 27, | 6725 | "column": 27, |
6783 | "line": 272 | 6726 | "line": 271 |
6784 | } | 6727 | } |
6785 | }, | 6728 | }, |
6786 | { | 6729 | { |
6787 | "defaultMessage": "!!!Disable notifications & audio", | 6730 | "defaultMessage": "!!!Disable notifications & audio", |
6788 | "end": { | 6731 | "end": { |
6789 | "column": 3, | 6732 | "column": 3, |
6790 | "line": 279 | 6733 | "line": 278 |
6791 | }, | 6734 | }, |
6792 | "file": "src/lib/Menu.js", | 6735 | "file": "src/lib/Menu.js", |
6793 | "id": "sidebar.muteApp", | 6736 | "id": "sidebar.muteApp", |
6794 | "start": { | 6737 | "start": { |
6795 | "column": 11, | 6738 | "column": 11, |
6796 | "line": 276 | 6739 | "line": 275 |
6797 | } | 6740 | } |
6798 | }, | 6741 | }, |
6799 | { | 6742 | { |
6800 | "defaultMessage": "!!!Enable notifications & audio", | 6743 | "defaultMessage": "!!!Enable notifications & audio", |
6801 | "end": { | 6744 | "end": { |
6802 | "column": 3, | 6745 | "column": 3, |
6803 | "line": 283 | 6746 | "line": 282 |
6804 | }, | 6747 | }, |
6805 | "file": "src/lib/Menu.js", | 6748 | "file": "src/lib/Menu.js", |
6806 | "id": "sidebar.unmuteApp", | 6749 | "id": "sidebar.unmuteApp", |
6807 | "start": { | 6750 | "start": { |
6808 | "column": 13, | 6751 | "column": 13, |
6809 | "line": 280 | 6752 | "line": 279 |
6810 | } | 6753 | } |
6811 | }, | 6754 | }, |
6812 | { | 6755 | { |
6813 | "defaultMessage": "!!!Workspaces", | 6756 | "defaultMessage": "!!!Workspaces", |
6814 | "end": { | 6757 | "end": { |
6815 | "column": 3, | 6758 | "column": 3, |
6816 | "line": 287 | 6759 | "line": 286 |
6817 | }, | 6760 | }, |
6818 | "file": "src/lib/Menu.js", | 6761 | "file": "src/lib/Menu.js", |
6819 | "id": "menu.workspaces", | 6762 | "id": "menu.workspaces", |
6820 | "start": { | 6763 | "start": { |
6821 | "column": 14, | 6764 | "column": 14, |
6822 | "line": 284 | 6765 | "line": 283 |
6823 | } | 6766 | } |
6824 | }, | 6767 | }, |
6825 | { | 6768 | { |
6826 | "defaultMessage": "!!!Default", | 6769 | "defaultMessage": "!!!Default", |
6827 | "end": { | 6770 | "end": { |
6828 | "column": 3, | 6771 | "column": 3, |
6829 | "line": 291 | 6772 | "line": 290 |
6830 | }, | 6773 | }, |
6831 | "file": "src/lib/Menu.js", | 6774 | "file": "src/lib/Menu.js", |
6832 | "id": "menu.workspaces.defaultWorkspace", | 6775 | "id": "menu.workspaces.defaultWorkspace", |
6833 | "start": { | 6776 | "start": { |
6834 | "column": 20, | 6777 | "column": 20, |
6835 | "line": 288 | 6778 | "line": 287 |
6836 | } | 6779 | } |
6837 | }, | 6780 | }, |
6838 | { | 6781 | { |
6839 | "defaultMessage": "!!!Todos", | 6782 | "defaultMessage": "!!!Todos", |
6840 | "end": { | 6783 | "end": { |
6841 | "column": 3, | 6784 | "column": 3, |
6842 | "line": 295 | 6785 | "line": 294 |
6843 | }, | 6786 | }, |
6844 | "file": "src/lib/Menu.js", | 6787 | "file": "src/lib/Menu.js", |
6845 | "id": "menu.todos", | 6788 | "id": "menu.todos", |
6846 | "start": { | 6789 | "start": { |
6847 | "column": 9, | 6790 | "column": 9, |
6848 | "line": 292 | 6791 | "line": 291 |
6849 | } | 6792 | } |
6850 | }, | 6793 | }, |
6851 | { | 6794 | { |
6852 | "defaultMessage": "!!!Open Todos drawer", | 6795 | "defaultMessage": "!!!Open Todos drawer", |
6853 | "end": { | 6796 | "end": { |
6854 | "column": 3, | 6797 | "column": 3, |
6855 | "line": 299 | 6798 | "line": 298 |
6856 | }, | 6799 | }, |
6857 | "file": "src/lib/Menu.js", | 6800 | "file": "src/lib/Menu.js", |
6858 | "id": "menu.Todoss.openTodosDrawer", | 6801 | "id": "menu.Todoss.openTodosDrawer", |
6859 | "start": { | 6802 | "start": { |
6860 | "column": 19, | 6803 | "column": 19, |
6861 | "line": 296 | 6804 | "line": 295 |
6862 | } | 6805 | } |
6863 | }, | 6806 | }, |
6864 | { | 6807 | { |
6865 | "defaultMessage": "!!!Close Todos drawer", | 6808 | "defaultMessage": "!!!Close Todos drawer", |
6866 | "end": { | 6809 | "end": { |
6867 | "column": 3, | 6810 | "column": 3, |
6868 | "line": 303 | 6811 | "line": 302 |
6869 | }, | 6812 | }, |
6870 | "file": "src/lib/Menu.js", | 6813 | "file": "src/lib/Menu.js", |
6871 | "id": "menu.Todoss.closeTodosDrawer", | 6814 | "id": "menu.Todoss.closeTodosDrawer", |
6872 | "start": { | 6815 | "start": { |
6873 | "column": 20, | 6816 | "column": 20, |
6874 | "line": 300 | 6817 | "line": 299 |
6875 | } | 6818 | } |
6876 | }, | 6819 | }, |
6877 | { | 6820 | { |
6878 | "defaultMessage": "!!!Enable Todos", | 6821 | "defaultMessage": "!!!Enable Todos", |
6879 | "end": { | 6822 | "end": { |
6880 | "column": 3, | 6823 | "column": 3, |
6881 | "line": 307 | 6824 | "line": 306 |
6882 | }, | 6825 | }, |
6883 | "file": "src/lib/Menu.js", | 6826 | "file": "src/lib/Menu.js", |
6884 | "id": "menu.todos.enableTodos", | 6827 | "id": "menu.todos.enableTodos", |
6885 | "start": { | 6828 | "start": { |
6886 | "column": 15, | 6829 | "column": 15, |
6887 | "line": 304 | 6830 | "line": 303 |
6888 | } | 6831 | } |
6889 | }, | 6832 | }, |
6890 | { | 6833 | { |
6891 | "defaultMessage": "!!!Home", | 6834 | "defaultMessage": "!!!Home", |
6892 | "end": { | 6835 | "end": { |
6893 | "column": 3, | 6836 | "column": 3, |
6894 | "line": 311 | 6837 | "line": 310 |
6895 | }, | 6838 | }, |
6896 | "file": "src/lib/Menu.js", | 6839 | "file": "src/lib/Menu.js", |
6897 | "id": "menu.services.goHome", | 6840 | "id": "menu.services.goHome", |
6898 | "start": { | 6841 | "start": { |
6899 | "column": 17, | 6842 | "column": 17, |
6900 | "line": 308 | 6843 | "line": 307 |
6901 | } | 6844 | } |
6902 | } | 6845 | } |
6903 | ], | 6846 | ], |
diff --git a/src/i18n/locales/el.json b/src/i18n/locales/el.json index a0f0e5fa6..0735df434 100644 --- a/src/i18n/locales/el.json +++ b/src/i18n/locales/el.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Send as email", | ||
30 | "feature.shareFranz.action.facebook": "Share on Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Share on Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Δεν είναι δυνατή η σÏνδεση με τις ζωντανÎÏ‚ υπηÏεσίες του Ferdi", | 29 | "global.api.unhealthy": "Δεν είναι δυνατή η σÏνδεση με τις ζωντανÎÏ‚ υπηÏεσίες του Ferdi", |
37 | "global.notConnectedToTheInternet": "Έχετε αποσυνδεθεί από το Διαδίκτυο", | 30 | "global.notConnectedToTheInternet": "Έχετε αποσυνδεθεί από το Διαδίκτυο", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "ΚαθαÏισμός λανθάνουσας μνήμης", | 199 | "settings.app.buttonClearAllCache": "ΚαθαÏισμός λανθάνουσας μνήμης", |
207 | "settings.app.buttonInstallUpdate": "Επανεκκίνηση & εγκατάσταση ενημεÏώσεων", | 200 | "settings.app.buttonInstallUpdate": "Επανεκκίνηση & εγκατάσταση ενημεÏώσεων", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Έλεγχος για ενημεÏώσεις", | 203 | "settings.app.buttonSearchForUpdate": "Έλεγχος για ενημεÏώσεις", |
209 | "settings.app.cacheInfo": "Το Ferdi χÏησιμοποιεί αυτήν τη στιγμή {size} χώÏου στο δίσκο.", | 204 | "settings.app.cacheInfo": "Το Ferdi χÏησιμοποιεί αυτήν τη στιγμή {size} χώÏου στο δίσκο.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Λανθάνουσα μνήμη", | 272 | "settings.app.subheadlineCache": "Λανθάνουσα μνήμη", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Βοηθήστε μας να μεταφÏάσουμε το Ferdi στη δική σας γλώσσα.", | 275 | "settings.app.translationHelp": "Βοηθήστε μας να μεταφÏάσουμε το Ferdi στη δική σας γλώσσα.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index 002ea5655..fe2eb6ec3 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Send as email", | ||
30 | "feature.shareFranz.action.facebook": "Share on Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Share on Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Can't connect to Ferdi online services", | 29 | "global.api.unhealthy": "Can't connect to Ferdi online services", |
37 | "global.notConnectedToTheInternet": "You are not connected to the internet.", | 30 | "global.notConnectedToTheInternet": "You are not connected to the internet.", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Clear cache", | 199 | "settings.app.buttonClearAllCache": "Clear cache", |
207 | "settings.app.buttonInstallUpdate": "Restart & install update", | 200 | "settings.app.buttonInstallUpdate": "Restart & install update", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Check for updates", | 203 | "settings.app.buttonSearchForUpdate": "Check for updates", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 3c617ab5e..32c7ef601 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Puede seleccionar un servicio usando TAB, ↑ y ↓. Puede abrir servicio usando ENTER.", | 26 | "feature.quickSwitch.info": "Puede seleccionar un servicio usando TAB, ↑ y ↓. Puede abrir servicio usando ENTER.", |
27 | "feature.quickSwitch.search": "Buscar...", | 27 | "feature.quickSwitch.search": "Buscar...", |
28 | "feature.quickSwitch.title": "Cambiar rápidamente", | 28 | "feature.quickSwitch.title": "Cambiar rápidamente", |
29 | "feature.shareFranz.action.email": "Enviar como correo", | ||
30 | "feature.shareFranz.action.facebook": "Compartir en Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Compartir en Twitter", | ||
32 | "feature.shareFranz.headline": "¡Juntos mejoramos Ferdi!", | ||
33 | "feature.shareFranz.shareText.email": "¡He añadido {count} servicios a Ferdi! Obtén la aplicación gratuita para WhatsApp, Messenger, Slack, Skype en www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "He agregado {count} servicios a Ferdi! Obtené la aplicación gratuita de WhatsApp, Messenger, Slack, Skype y co en www.getferdi.com/cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Dile a tus amigos y colegas lo asombroso que es Ferdi y ayúdanos a correr la voz.", | ||
36 | "global.api.unhealthy": "No es posible conectarse a los servicios en lÃnea de Ferdi.", | 29 | "global.api.unhealthy": "No es posible conectarse a los servicios en lÃnea de Ferdi.", |
37 | "global.notConnectedToTheInternet": "No estás conectado a Internet", | 30 | "global.notConnectedToTheInternet": "No estás conectado a Internet", |
38 | "global.spellchecker.useDefault": "Utilizar estándar del sistema ({default})", | 31 | "global.spellchecker.useDefault": "Utilizar estándar del sistema ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Escribe tu color de acento en un formato compatible con CSS. (Predeterminado: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Escribe tu color de acento en un formato compatible con CSS. (Predeterminado: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Limpiar caché", | 199 | "settings.app.buttonClearAllCache": "Limpiar caché", |
207 | "settings.app.buttonInstallUpdate": "Reiniciar e instalar actualización", | 200 | "settings.app.buttonInstallUpdate": "Reiniciar e instalar actualización", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Comprobar actualizaciones", | 203 | "settings.app.buttonSearchForUpdate": "Comprobar actualizaciones", |
209 | "settings.app.cacheInfo": "El cache de Ferdi actualmente usa {size} de espacio en disco.", | 204 | "settings.app.cacheInfo": "El cache de Ferdi actualmente usa {size} de espacio en disco.", |
210 | "settings.app.cacheNotCleared": "No se ha podido eliminar el cache", | 205 | "settings.app.cacheNotCleared": "No se ha podido eliminar el cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi utiliza el corrector ortográfico incluido en su Mac. Si desea cambiar los lenguajes que el corrector ortográfico revisa, lo puede hacer en las Preferencias del Sistema de su Mac.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi utiliza el corrector ortográfico incluido en su Mac. Si desea cambiar los lenguajes que el corrector ortográfico revisa, lo puede hacer en las Preferencias del Sistema de su Mac.", |
277 | "settings.app.subheadlineCache": "Caché", | 272 | "settings.app.subheadlineCache": "Caché", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "Este servidor se utilizará para la función \"Ferdi Todo\".", | 274 | "settings.app.todoServerInfo": "Este servidor se utilizará para la función \"Ferdi Todo\".", |
279 | "settings.app.translationHelp": "Ayúdanos a traducir Ferdi a tu idioma.", | 275 | "settings.app.translationHelp": "Ayúdanos a traducir Ferdi a tu idioma.", |
280 | "settings.app.universalDarkModeInfo": "El Modo Oscuro Universal intenta generar dinámicamente estilos de modo oscuro para servicios que de otro modo no están soportados actualmente.", | 276 | "settings.app.universalDarkModeInfo": "El Modo Oscuro Universal intenta generar dinámicamente estilos de modo oscuro para servicios que de otro modo no están soportados actualmente.", |
diff --git a/src/i18n/locales/fi.json b/src/i18n/locales/fi.json index cce6b3e9c..8cd5a23af 100644 --- a/src/i18n/locales/fi.json +++ b/src/i18n/locales/fi.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Valitse palvelu painamalla TAB, ↑ ja ↓. Avaa palvelu painamalla ENTER.", | 26 | "feature.quickSwitch.info": "Valitse palvelu painamalla TAB, ↑ ja ↓. Avaa palvelu painamalla ENTER.", |
27 | "feature.quickSwitch.search": "Etsi...", | 27 | "feature.quickSwitch.search": "Etsi...", |
28 | "feature.quickSwitch.title": "Pikavalitsin", | 28 | "feature.quickSwitch.title": "Pikavalitsin", |
29 | "feature.shareFranz.action.email": "Lähetä sähköpostina", | ||
30 | "feature.shareFranz.action.facebook": "Jaa Facebookissa", | ||
31 | "feature.shareFranz.action.twitter": "Jaa Twitterissä", | ||
32 | "feature.shareFranz.headline": "Ferdi on parempi yhdessä!", | ||
33 | "feature.shareFranz.shareText.email": "Lisäsin Ferdiin {count} palvelun! Hanki ilmainen sovellus WhatsAppille, Messengerille, Slackille, Skypelle ja muille palveluille osoitteessa www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Olen lisännyt {count} palvelua Ferdiin! Hanki ilmainen sovellus WhatsAppille, Messengerille, Slackille, Skypelle ja muille palveluille osoitteessa www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Kerro ystävillesi ja kollegoille, kuinka Ferdi on mahtava ja auta meitä levittämään sanaa eteenpäin.", | ||
36 | "global.api.unhealthy": "Ferdin verkkopalveluihin ei saada yhteyttä", | 29 | "global.api.unhealthy": "Ferdin verkkopalveluihin ei saada yhteyttä", |
37 | "global.notConnectedToTheInternet": "Et ole yhteydessä internetiin.", | 30 | "global.notConnectedToTheInternet": "Et ole yhteydessä internetiin.", |
38 | "global.spellchecker.useDefault": "Käytä järjestelmän oletusasetusta ({default})", | 31 | "global.spellchecker.useDefault": "Käytä järjestelmän oletusasetusta ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Tyhjennä välimuisti", | 199 | "settings.app.buttonClearAllCache": "Tyhjennä välimuisti", |
207 | "settings.app.buttonInstallUpdate": "Käynnistä uudelleen ja asenna päivitys", | 200 | "settings.app.buttonInstallUpdate": "Käynnistä uudelleen ja asenna päivitys", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Tarkista päivitykset", | 203 | "settings.app.buttonSearchForUpdate": "Tarkista päivitykset", |
209 | "settings.app.cacheInfo": "Ferdi välimuisti käyttää tällä hetkellä {size} levytilaa.", | 204 | "settings.app.cacheInfo": "Ferdi välimuisti käyttää tällä hetkellä {size} levytilaa.", |
210 | "settings.app.cacheNotCleared": "Kaikkia väliaikaistiedostoja ei voitu poistaa", | 205 | "settings.app.cacheNotCleared": "Kaikkia väliaikaistiedostoja ei voitu poistaa", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi käyttää Macin sisäänrakennettua oikolukua tarkastaessaan kirjoitusvirheitä. Jos haluat muuttaa tarkastettavaa kieltä, voit tehdä sen Macin järjestelmän asetuksissa.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi käyttää Macin sisäänrakennettua oikolukua tarkastaessaan kirjoitusvirheitä. Jos haluat muuttaa tarkastettavaa kieltä, voit tehdä sen Macin järjestelmän asetuksissa.", |
277 | "settings.app.subheadlineCache": "Välimuisti", | 272 | "settings.app.subheadlineCache": "Välimuisti", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "Tätä palvelinta käytetään \"Ferdi Todo\" -toiminnossa.", | 274 | "settings.app.todoServerInfo": "Tätä palvelinta käytetään \"Ferdi Todo\" -toiminnossa.", |
279 | "settings.app.translationHelp": "Auta meitä kääntämään Ferdi omalle kielellesi.", | 275 | "settings.app.translationHelp": "Auta meitä kääntämään Ferdi omalle kielellesi.", |
280 | "settings.app.universalDarkModeInfo": "Yleinen Tumma-tila yrittää luoda palveluille tyylejä, joita ei tueta tällä hetkellä.", | 276 | "settings.app.universalDarkModeInfo": "Yleinen Tumma-tila yrittää luoda palveluille tyylejä, joita ei tueta tällä hetkellä.", |
diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 464c70138..9b513eaeb 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Sélectionner un service avec TAB, ↑ et ↓. Ouvrir un service avec ENTER.", | 26 | "feature.quickSwitch.info": "Sélectionner un service avec TAB, ↑ et ↓. Ouvrir un service avec ENTER.", |
27 | "feature.quickSwitch.search": "Rechercher...", | 27 | "feature.quickSwitch.search": "Rechercher...", |
28 | "feature.quickSwitch.title": "Changement rapide", | 28 | "feature.quickSwitch.title": "Changement rapide", |
29 | "feature.shareFranz.action.email": "Envoyer par mail", | ||
30 | "feature.shareFranz.action.facebook": "Partager sur Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Partager sur Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi est meilleur quand on est ensemble !", | ||
33 | "feature.shareFranz.shareText.email": "J'ai ajouté {count} services sur Ferdi ! Télécharger l'application gratuite pour WhatsApp, Messenger, Skype et autres sur www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "J'ai ajouté {count} services à Ferdi! Télécharge l'application gratuite pour WhatsApp, Messenger, Slack, Skype et autres sur www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Dites à vos amis et collègues a quel point Ferdi est super et aidez nous à faire passer le mot.", | ||
36 | "global.api.unhealthy": "Impossible de se connecter aux services en ligne de Ferdi", | 29 | "global.api.unhealthy": "Impossible de se connecter aux services en ligne de Ferdi", |
37 | "global.notConnectedToTheInternet": "Vous n'êtes pas connecté à Internet.", | 30 | "global.notConnectedToTheInternet": "Vous n'êtes pas connecté à Internet.", |
38 | "global.spellchecker.useDefault": "Par défaut ({default})", | 31 | "global.spellchecker.useDefault": "Par défaut ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Vider le cache", | 199 | "settings.app.buttonClearAllCache": "Vider le cache", |
207 | "settings.app.buttonInstallUpdate": "Redémarrer et installer la mise à jour", | 200 | "settings.app.buttonInstallUpdate": "Redémarrer et installer la mise à jour", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Vérifier les mises à jour", | 203 | "settings.app.buttonSearchForUpdate": "Vérifier les mises à jour", |
209 | "settings.app.cacheInfo": "Le cache de Ferdi occupe actuellement {size} en espace disque.", | 204 | "settings.app.cacheInfo": "Le cache de Ferdi occupe actuellement {size} en espace disque.", |
210 | "settings.app.cacheNotCleared": "Impossible de vider toute la cache", | 205 | "settings.app.cacheNotCleared": "Impossible de vider toute la cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi utilise le correcteur orthographique intégré de votre Mac pour vérifier les fautes de frappe. Si vous voulez changer les langues pour lesquelles le correcteur vérifie l'orthographe, vous pouvez le faire dans les préférences système de votre Mac.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi utilise le correcteur orthographique intégré de votre Mac pour vérifier les fautes de frappe. Si vous voulez changer les langues pour lesquelles le correcteur vérifie l'orthographe, vous pouvez le faire dans les préférences système de votre Mac.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "Ce serveur sera utilisé pour la fonctionnalité \"Ferdi Todo\".", | 274 | "settings.app.todoServerInfo": "Ce serveur sera utilisé pour la fonctionnalité \"Ferdi Todo\".", |
279 | "settings.app.translationHelp": "Aidez-nous à traduire Ferdi dans votre langue.", | 275 | "settings.app.translationHelp": "Aidez-nous à traduire Ferdi dans votre langue.", |
280 | "settings.app.universalDarkModeInfo": "Le mode sombre universel tente de générer dynamiquement des styles de mode sombre pour les services qui ne sont pas encore supportés.", | 276 | "settings.app.universalDarkModeInfo": "Le mode sombre universel tente de générer dynamiquement des styles de mode sombre pour les services qui ne sont pas encore supportés.", |
diff --git a/src/i18n/locales/ga.json b/src/i18n/locales/ga.json index cc7715e03..52d5b89fb 100644 --- a/src/i18n/locales/ga.json +++ b/src/i18n/locales/ga.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Send as email", | ||
30 | "feature.shareFranz.action.facebook": "Share on Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Share on Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Nà féidir nascadh le seirbhÃsà Ferdi ar lÃne", | 29 | "global.api.unhealthy": "Nà féidir nascadh le seirbhÃsà Ferdi ar lÃne", |
37 | "global.notConnectedToTheInternet": "NÃl tú nasctha leis an IdirlÃon.", | 30 | "global.notConnectedToTheInternet": "NÃl tú nasctha leis an IdirlÃon.", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Glan taisce", | 199 | "settings.app.buttonClearAllCache": "Glan taisce", |
207 | "settings.app.buttonInstallUpdate": "Atosaigh ⊠suiteáil nuashonrú", | 200 | "settings.app.buttonInstallUpdate": "Atosaigh ⊠suiteáil nuashonrú", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Cuardaigh le nuashonruithe", | 203 | "settings.app.buttonSearchForUpdate": "Cuardaigh le nuashonruithe", |
209 | "settings.app.cacheInfo": "Tá taisce Ferdi ag baint úsáid as {size} den spás diosca.", | 204 | "settings.app.cacheInfo": "Tá taisce Ferdi ag baint úsáid as {size} den spás diosca.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Taisce", | 272 | "settings.app.subheadlineCache": "Taisce", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Cabhraigh linn Ferdi a aistriú i do theanga.", | 275 | "settings.app.translationHelp": "Cabhraigh linn Ferdi a aistriú i do theanga.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/he.json b/src/i18n/locales/he.json index fcba1f459..1ddcd2677 100644 --- a/src/i18n/locales/he.json +++ b/src/i18n/locales/he.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "בחר שירות ×¢× ×ž×§×© ×” TAB, ↑ ו ↓. פתח שירות ב×מצעות מקש ×” ENTER.", | 26 | "feature.quickSwitch.info": "בחר שירות ×¢× ×ž×§×© ×” TAB, ↑ ו ↓. פתח שירות ב×מצעות מקש ×” ENTER.", |
27 | "feature.quickSwitch.search": "חיפוש...", | 27 | "feature.quickSwitch.search": "חיפוש...", |
28 | "feature.quickSwitch.title": "החלפה מהירה", | 28 | "feature.quickSwitch.title": "החלפה מהירה", |
29 | "feature.shareFranz.action.email": "שלח בתור ×ימייל", | ||
30 | "feature.shareFranz.action.facebook": "שיתוף ב-Facebook", | ||
31 | "feature.shareFranz.action.twitter": "שתף בטוויטר", | ||
32 | "feature.shareFranz.headline": "פרדי מוצלחת יותר ביחד!", | ||
33 | "feature.shareFranz.shareText.email": "הוספתי {count} ×©×™×¨×•×ª×™× ×œ×¤×¨×“×™! קבל ×ת ×”×פליקציה ×‘×—×™× × ×¢×‘×•×¨ ווטס×פ, ×ž×¡× ×’'ר, סל×ק, סקייפ ועוד ב www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "הוספתי {count} ×©×™×¨×•×ª×™× ×œ×¤×¨×“×™! קבל ×ת ×”×פליקציה ×‘×—×™× × ×¢×‘×•×¨ ווטס×פ, ×ž×¡× ×’'ר, סל×ק, סקייפ ועוד ב www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "ספר לחבריך ולעמיתיך כמה Ferdi ×”×•× ×ž×“×”×™× ×•×¢×–×•×¨ ×œ× ×• להפיץ ×ת הבשורה.", | ||
36 | "global.api.unhealthy": "×œ× × ×™×ª×Ÿ להתחבר לשרותי ×”××™× ×˜×¨× ×ª של Ferdi", | 29 | "global.api.unhealthy": "×œ× × ×™×ª×Ÿ להתחבר לשרותי ×”××™× ×˜×¨× ×ª של Ferdi", |
37 | "global.notConnectedToTheInternet": "× ×¨××” ש×תה ×œ× ×ž×—×•×‘×¨ ל××™× ×˜×¨× ×˜.", | 30 | "global.notConnectedToTheInternet": "× ×¨××” ש×תה ×œ× ×ž×—×•×‘×¨ ל××™× ×˜×¨× ×˜.", |
38 | "global.spellchecker.useDefault": "השתמש בברירת המחדל של המערכת ({default})", | 31 | "global.spellchecker.useDefault": "השתמש בברירת המחדל של המערכת ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "× ×™×§×•×™ המטמון", | 199 | "settings.app.buttonClearAllCache": "× ×™×§×•×™ המטמון", |
207 | "settings.app.buttonInstallUpdate": "הפעל מחדש והתקן ×¢×“×›×•× ×™×", | 200 | "settings.app.buttonInstallUpdate": "הפעל מחדש והתקן ×¢×“×›×•× ×™×", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "חפש ×¢×“×›×•× ×™×", | 203 | "settings.app.buttonSearchForUpdate": "חפש ×¢×“×›×•× ×™×", |
209 | "settings.app.cacheInfo": "פרדי משתמש כרגע ב {size} מתוך שטח הדיסק כזיכרון מטמון.", | 204 | "settings.app.cacheInfo": "פרדי משתמש כרגע ב {size} מתוך שטח הדיסק כזיכרון מטמון.", |
210 | "settings.app.cacheNotCleared": "×œ× × ×™×ª×Ÿ ×œ× ×§×•×ª ×ת כל זיכרון המטמון", | 205 | "settings.app.cacheNotCleared": "×œ× × ×™×ª×Ÿ ×œ× ×§×•×ª ×ת כל זיכרון המטמון", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "זיכרון מטמון", | 272 | "settings.app.subheadlineCache": "זיכרון מטמון", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/hr.json b/src/i18n/locales/hr.json index a1716483e..79b71986e 100644 --- a/src/i18n/locales/hr.json +++ b/src/i18n/locales/hr.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Send as email", | ||
30 | "feature.shareFranz.action.facebook": "Share on Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Share on Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Nije se moguće povezati na Francove on-line servise. ", | 29 | "global.api.unhealthy": "Nije se moguće povezati na Francove on-line servise. ", |
37 | "global.notConnectedToTheInternet": "Sada ste povezani s internetom. ", | 30 | "global.notConnectedToTheInternet": "Sada ste povezani s internetom. ", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "OÄisti memoriju", | 199 | "settings.app.buttonClearAllCache": "OÄisti memoriju", |
207 | "settings.app.buttonInstallUpdate": "Ponovo pokreni i instaliraj ažuriranje", | 200 | "settings.app.buttonInstallUpdate": "Ponovo pokreni i instaliraj ažuriranje", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Potraži ažuriranja", | 203 | "settings.app.buttonSearchForUpdate": "Potraži ažuriranja", |
209 | "settings.app.cacheInfo": "Ferdi predmemorija trenutno koristi {size} prostora na disku", | 204 | "settings.app.cacheInfo": "Ferdi predmemorija trenutno koristi {size} prostora na disku", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Predmemorija", | 272 | "settings.app.subheadlineCache": "Predmemorija", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Pomozite nam prevesti aplikaciju na Vaš jezik. ", | 275 | "settings.app.translationHelp": "Pomozite nam prevesti aplikaciju na Vaš jezik. ", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/hu.json b/src/i18n/locales/hu.json index fe52240f4..19ff83876 100644 --- a/src/i18n/locales/hu.json +++ b/src/i18n/locales/hu.json | |||
@@ -2,7 +2,7 @@ | |||
2 | "app.errorHandler.action": "Újratöltés", | 2 | "app.errorHandler.action": "Újratöltés", |
3 | "app.errorHandler.headline": "Valami nem jött össze", | 3 | "app.errorHandler.headline": "Valami nem jött össze", |
4 | "changeserver.customServerLabel": "Egyéni szerver", | 4 | "changeserver.customServerLabel": "Egyéni szerver", |
5 | "changeserver.headline": "Change server", | 5 | "changeserver.headline": "Szerver megváltoztatása", |
6 | "changeserver.label": "Szerver", | 6 | "changeserver.label": "Szerver", |
7 | "changeserver.submit": "Küldés", | 7 | "changeserver.submit": "Küldés", |
8 | "changeserver.urlError": "Adjon meg egy érvényes URL-t", | 8 | "changeserver.urlError": "Adjon meg egy érvényes URL-t", |
@@ -12,10 +12,10 @@ | |||
12 | "connectionLostBanner.message": "Ja ne! Ferdi nem tud kapcsolodni {name}-hez.", | 12 | "connectionLostBanner.message": "Ja ne! Ferdi nem tud kapcsolodni {name}-hez.", |
13 | "feature.announcements.changelog.headline": "Ferdi {version} változásai", | 13 | "feature.announcements.changelog.headline": "Ferdi {version} változásai", |
14 | "feature.debugger.title": "Hibakeresési napló publikálása", | 14 | "feature.debugger.title": "Hibakeresési napló publikálása", |
15 | "feature.nightlyBuilds.activate": "Activate", | 15 | "feature.nightlyBuilds.activate": "Aktiválás", |
16 | "feature.nightlyBuilds.cancel": "Mégsem", | 16 | "feature.nightlyBuilds.cancel": "Mégsem", |
17 | "feature.nightlyBuilds.info": "Nightly builds are highly experimental versions of Ferdi that may contain unpolished or uncompleted features. These nightly builds are mainly used by developers to test their newly developed features and how they will perform in the final build. If you don't know what you are doing, we suggest not activating nightly builds.", | 17 | "feature.nightlyBuilds.info": "Nightly builds are highly experimental versions of Ferdi that may contain unpolished or uncompleted features. These nightly builds are mainly used by developers to test their newly developed features and how they will perform in the final build. If you don't know what you are doing, we suggest not activating nightly builds.", |
18 | "feature.nightlyBuilds.title": "Nightly Builds", | 18 | "feature.nightlyBuilds.title": "Nightly verziók", |
19 | "feature.publishDebugInfo.error": "Hiba történt a hibakeresési napló publikálása közben. Kérem próbálja meg később.", | 19 | "feature.publishDebugInfo.error": "Hiba történt a hibakeresési napló publikálása közben. Kérem próbálja meg később.", |
20 | "feature.publishDebugInfo.info": "Publishing your debug information helps us find issues and errors in Ferdi. By publishing your debug information you accept Ferdi Debugger's privacy policy and terms of service", | 20 | "feature.publishDebugInfo.info": "Publishing your debug information helps us find issues and errors in Ferdi. By publishing your debug information you accept Ferdi Debugger's privacy policy and terms of service", |
21 | "feature.publishDebugInfo.privacy": "Adatvédelmi szabályzat", | 21 | "feature.publishDebugInfo.privacy": "Adatvédelmi szabályzat", |
@@ -25,14 +25,7 @@ | |||
25 | "feature.publishDebugInfo.title": "Hibakeresési napló publikálása", | 25 | "feature.publishDebugInfo.title": "Hibakeresési napló publikálása", |
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Keresés...", | 27 | "feature.quickSwitch.search": "Keresés...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "Gyorsváltó", |
29 | "feature.shareFranz.action.email": "Küldés email-ben", | ||
30 | "feature.shareFranz.action.facebook": "Megosztás Facebook-on", | ||
31 | "feature.shareFranz.action.twitter": "Megosztás Twitter-en", | ||
32 | "feature.shareFranz.headline": "A Ferdi barátokkal együtt mégjobb!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Nem lehet csatlakozni a Ferdi online szolgáltatáshoz", | 29 | "global.api.unhealthy": "Nem lehet csatlakozni a Ferdi online szolgáltatáshoz", |
37 | "global.notConnectedToTheInternet": "Nincs hálózati kapcsolat.", | 30 | "global.notConnectedToTheInternet": "Nincs hálózati kapcsolat.", |
38 | "global.spellchecker.useDefault": "Rendszer alapbeállÃtás használata ({default})", | 31 | "global.spellchecker.useDefault": "Rendszer alapbeállÃtás használata ({default})", |
@@ -53,7 +46,7 @@ | |||
53 | "infobar.requiredRequestsFailed": "Szolgáltatások és felhasználói információk nem tölthetők be", | 46 | "infobar.requiredRequestsFailed": "Szolgáltatások és felhasználói információk nem tölthetők be", |
54 | "infobar.servicesUpdated": "A szolgáltatások frissÃtésre kerültek.", | 47 | "infobar.servicesUpdated": "A szolgáltatások frissÃtésre kerültek.", |
55 | "infobar.updateAvailable": "Új frissÃtés érhetÅ‘ el a Ferdi-hoz.", | 48 | "infobar.updateAvailable": "Új frissÃtés érhetÅ‘ el a Ferdi-hoz.", |
56 | "infobox.dismiss": "Dismiss", | 49 | "infobox.dismiss": "Mégsem", |
57 | "invite.email.label": "Email cÃm", | 50 | "invite.email.label": "Email cÃm", |
58 | "invite.headline.friends": "HÃvd meg 3 barátodat vagy kollégádat", | 51 | "invite.headline.friends": "HÃvd meg 3 barátodat vagy kollégádat", |
59 | "invite.name.label": "Név", | 52 | "invite.name.label": "Név", |
@@ -62,13 +55,13 @@ | |||
62 | "invite.successInfo": "MeghÃvás sikeresen elküldve", | 55 | "invite.successInfo": "MeghÃvás sikeresen elküldve", |
63 | "locked.headline": "Zárolva", | 56 | "locked.headline": "Zárolva", |
64 | "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.", | 57 | "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.", |
65 | "locked.invalidCredentials": "Password invalid", | 58 | "locked.invalidCredentials": "Érvénytelen jelszó", |
66 | "locked.password.label": "Password", | 59 | "locked.password.label": "Jelszó", |
67 | "locked.submit.label": "Feloldás", | 60 | "locked.submit.label": "Feloldás", |
68 | "locked.touchId": "Feloldás ujjlenyomattal", | 61 | "locked.touchId": "Feloldás ujjlenyomattal", |
69 | "locked.touchIdPrompt": "feloldás ujjlenyomattal", | 62 | "locked.touchIdPrompt": "feloldás ujjlenyomattal", |
70 | "locked.unlockWithPassword": "Feloldás jelszóval", | 63 | "locked.unlockWithPassword": "Feloldás jelszóval", |
71 | "login.changeServer": "Change server", | 64 | "login.changeServer": "Szerver megváltoztatása", |
72 | "login.customServerQuestion": "Using a custom Ferdi server?", | 65 | "login.customServerQuestion": "Using a custom Ferdi server?", |
73 | "login.customServerSuggestion": "Try importing your Franz account", | 66 | "login.customServerSuggestion": "Try importing your Franz account", |
74 | "login.email.label": "Email cÃm", | 67 | "login.email.label": "Email cÃm", |
@@ -76,7 +69,7 @@ | |||
76 | "login.invalidCredentials": "Hibás email cÃm vagy jelszó", | 69 | "login.invalidCredentials": "Hibás email cÃm vagy jelszó", |
77 | "login.link.password": "Jelszó visszaállÃtás", | 70 | "login.link.password": "Jelszó visszaállÃtás", |
78 | "login.link.signup": "Új fiók létrehozása", | 71 | "login.link.signup": "Új fiók létrehozása", |
79 | "login.password.label": "Password", | 72 | "login.password.label": "Jelszó", |
80 | "login.serverLogout": "A munkamenet lejárt, kérlek lépj be újra.", | 73 | "login.serverLogout": "A munkamenet lejárt, kérlek lépj be újra.", |
81 | "login.submit.label": "Bejelentkezés", | 74 | "login.submit.label": "Bejelentkezés", |
82 | "login.tokenExpired": "A munkamenet lejárt, kérlek lépj be újra.", | 75 | "login.tokenExpired": "A munkamenet lejárt, kérlek lépj be újra.", |
@@ -84,30 +77,30 @@ | |||
84 | "menu.Todoss.openTodosDrawer": "Tennivalók sáv kinyitása", | 77 | "menu.Todoss.openTodosDrawer": "Tennivalók sáv kinyitása", |
85 | "menu.app.about": "Névjegy", | 78 | "menu.app.about": "Névjegy", |
86 | "menu.app.announcement": "Mi újság?", | 79 | "menu.app.announcement": "Mi újság?", |
87 | "menu.app.autohideMenuBar": "Auto-hide menu bar", | 80 | "menu.app.autohideMenuBar": "Menüsáv automatikus elrejtése", |
88 | "menu.app.checkForUpdates": "FrissÃtések keresése", | 81 | "menu.app.checkForUpdates": "FrissÃtések keresése", |
89 | "menu.app.hide": "Elrejt", | 82 | "menu.app.hide": "Elrejt", |
90 | "menu.app.hideOthers": "Hide Others", | 83 | "menu.app.hideOthers": "Többi elrejtése", |
91 | "menu.app.quit": "Quit", | 84 | "menu.app.quit": "Kilépés", |
92 | "menu.app.settings": "BeállÃtások", | 85 | "menu.app.settings": "BeállÃtások", |
93 | "menu.app.unhide": "Unhide", | 86 | "menu.app.unhide": "MegjelenÃt", |
94 | "menu.edit": "Szerkesztés", | 87 | "menu.edit": "Szerkesztés", |
95 | "menu.edit.copy": "Copy", | 88 | "menu.edit.copy": "Másolás", |
96 | "menu.edit.cut": "Cut", | 89 | "menu.edit.cut": "Kivágás", |
97 | "menu.edit.delete": "Törlés", | 90 | "menu.edit.delete": "Törlés", |
98 | "menu.edit.emojiSymbols": "Emoji és Szimbólumok", | 91 | "menu.edit.emojiSymbols": "Emoji és Szimbólumok", |
99 | "menu.edit.findInPage": "Find in Page", | 92 | "menu.edit.findInPage": "Keresés az oldalon", |
100 | "menu.edit.paste": "Paste", | 93 | "menu.edit.paste": "Beillesztés", |
101 | "menu.edit.pasteAndMatchStyle": "Paste And Match Style", | 94 | "menu.edit.pasteAndMatchStyle": "Beillesztés ugyanazzal a megjelenéssel", |
102 | "menu.edit.redo": "Redo", | 95 | "menu.edit.redo": "Újra", |
103 | "menu.edit.selectAll": "Select All", | 96 | "menu.edit.selectAll": "Összes kijelölése", |
104 | "menu.edit.speech": "Beszéd", | 97 | "menu.edit.speech": "Beszéd", |
105 | "menu.edit.startDictation": "Diktálás elkezdése", | 98 | "menu.edit.startDictation": "Diktálás elkezdése", |
106 | "menu.edit.startSpeaking": "Beszélgetés kezdeményezése", | 99 | "menu.edit.startSpeaking": "Beszélgetés kezdeményezése", |
107 | "menu.edit.stopSpeaking": "Beszéd vége", | 100 | "menu.edit.stopSpeaking": "Beszéd vége", |
108 | "menu.edit.undo": "Undo", | 101 | "menu.edit.undo": "Visszavonás", |
109 | "menu.file": "Fájl", | 102 | "menu.file": "Fájl", |
110 | "menu.help": "Help", | 103 | "menu.help": "Súgó", |
111 | "menu.help.changelog": "Változások listája", | 104 | "menu.help.changelog": "Változások listája", |
112 | "menu.help.debugInfo": "Hibajelentés másolása", | 105 | "menu.help.debugInfo": "Hibajelentés másolása", |
113 | "menu.help.debugInfoCopiedBody": "A Hibajelentést a vágólapra másoltuk.", | 106 | "menu.help.debugInfoCopiedBody": "A Hibajelentést a vágólapra másoltuk.", |
@@ -121,29 +114,29 @@ | |||
121 | "menu.services": "Szolgáltatások", | 114 | "menu.services": "Szolgáltatások", |
122 | "menu.services.activatePreviousService": "Előző szolgáltatás", | 115 | "menu.services.activatePreviousService": "Előző szolgáltatás", |
123 | "menu.services.addNewService": "Add New Service", | 116 | "menu.services.addNewService": "Add New Service", |
124 | "menu.services.goHome": "Home", | 117 | "menu.services.goHome": "Kezdőlap", |
125 | "menu.services.setNextServiceActive": "Következő szolgáltatás", | 118 | "menu.services.setNextServiceActive": "Következő szolgáltatás", |
126 | "menu.todos": "Tennivalók", | 119 | "menu.todos": "Tennivalók", |
127 | "menu.todos.enableTodos": "Enable Todos", | 120 | "menu.todos.enableTodos": "Enable Todos", |
128 | "menu.view": "Nézet", | 121 | "menu.view": "Nézet", |
129 | "menu.view.back": "Vissza", | 122 | "menu.view.back": "Vissza", |
130 | "menu.view.forward": "Előre", | 123 | "menu.view.forward": "Előre", |
131 | "menu.view.lockFerdi": "Lock Ferdi", | 124 | "menu.view.lockFerdi": "Ferdi bezárása", |
132 | "menu.view.openQuickSwitch": "Open Quick Switch", | 125 | "menu.view.openQuickSwitch": "Open Quick Switch", |
133 | "menu.view.reloadFerdi": "Reload Ferdi", | 126 | "menu.view.reloadFerdi": "Ferdi újratöltése", |
134 | "menu.view.reloadService": "Szolgáltatás újraindÃtása", | 127 | "menu.view.reloadService": "Szolgáltatás újraindÃtása", |
135 | "menu.view.reloadTodos": "Reload ToDos", | 128 | "menu.view.reloadTodos": "Reload ToDos", |
136 | "menu.view.resetZoom": "Actual Size", | 129 | "menu.view.resetZoom": "Tényleges méret", |
137 | "menu.view.toggleDarkMode": "Toggle Dark Mode", | 130 | "menu.view.toggleDarkMode": "Sötét mód ki-/bekapcsolása", |
138 | "menu.view.toggleDevTools": "Fejlesztői eszközök ki/bekapcsolása", | 131 | "menu.view.toggleDevTools": "Fejlesztői eszközök ki/bekapcsolása", |
139 | "menu.view.toggleFullScreen": "Toggle Full Screen", | 132 | "menu.view.toggleFullScreen": "Teljes képernyős mód ki/bekapcsolása", |
140 | "menu.view.toggleServiceDevTools": "Szolgáltatás Fejlesztői Eszközök ki/bekapcsolása", | 133 | "menu.view.toggleServiceDevTools": "Szolgáltatás Fejlesztői Eszközök ki/bekapcsolása", |
141 | "menu.view.toggleTodosDevTools": "Tennivalók Fejlesztői Eszközök kapcsolása", | 134 | "menu.view.toggleTodosDevTools": "Tennivalók Fejlesztői Eszközök kapcsolása", |
142 | "menu.view.zoomIn": "Zoom In", | 135 | "menu.view.zoomIn": "NagyÃtás", |
143 | "menu.view.zoomOut": "Zoom Out", | 136 | "menu.view.zoomOut": "KicsinyÃtés", |
144 | "menu.window": "Window", | 137 | "menu.window": "Ablak", |
145 | "menu.window.close": "Close", | 138 | "menu.window.close": "Bezárás", |
146 | "menu.window.minimize": "Minimize", | 139 | "menu.window.minimize": "Tálcára", |
147 | "menu.workspaces": "Munkaterületek", | 140 | "menu.workspaces": "Munkaterületek", |
148 | "menu.workspaces.addNewWorkspace": "Új munkaterület...", | 141 | "menu.workspaces.addNewWorkspace": "Új munkaterület...", |
149 | "menu.workspaces.closeWorkspaceDrawer": "Munkaterület panel bezárása", | 142 | "menu.workspaces.closeWorkspaceDrawer": "Munkaterület panel bezárása", |
@@ -156,9 +149,9 @@ | |||
156 | "password.noUser": "Nem található felhasználó a megadott email cÃmmel", | 149 | "password.noUser": "Nem található felhasználó a megadott email cÃmmel", |
157 | "password.submit.label": "Küldés", | 150 | "password.submit.label": "Küldés", |
158 | "password.successInfo": "Ellenőrizd az email fiókodat", | 151 | "password.successInfo": "Ellenőrizd az email fiókodat", |
159 | "pricing.features.accountSync": "Account Synchronisation", | 152 | "pricing.features.accountSync": "Fiók szinkronizálás", |
160 | "pricing.features.customWebsites": "Egyéni weboldalak megadása", | 153 | "pricing.features.customWebsites": "Egyéni weboldalak megadása", |
161 | "pricing.features.desktopNotifications": "Desktop Notifications", | 154 | "pricing.features.desktopNotifications": "Asztali értesÃtések", |
162 | "pricing.features.onPremise": "Helyi és egyéb távoli szolgáltatások", | 155 | "pricing.features.onPremise": "Helyi és egyéb távoli szolgáltatások", |
163 | "pricing.features.recipes": "Choose from more than 70 Services", | 156 | "pricing.features.recipes": "Choose from more than 70 Services", |
164 | "pricing.features.serviceProxies": "Szolgáltatás Proxy-k", | 157 | "pricing.features.serviceProxies": "Szolgáltatás Proxy-k", |
@@ -178,14 +171,14 @@ | |||
178 | "service.errorHandler.headline": "Jajj ne!", | 171 | "service.errorHandler.headline": "Jajj ne!", |
179 | "service.errorHandler.message": "Hiba", | 172 | "service.errorHandler.message": "Hiba", |
180 | "service.errorHandler.text": "{name} nem tudott betöltődni.", | 173 | "service.errorHandler.text": "{name} nem tudott betöltődni.", |
181 | "service.webviewLoader.loading": "Loading {service}", | 174 | "service.webviewLoader.loading": "{service} betöltése", |
182 | "services.getStarted": "Kezdj hozzá", | 175 | "services.getStarted": "Kezdj hozzá", |
183 | "services.login": "Please login to use Ferdi.", | 176 | "services.login": "Kérlek, lépj be a Ferdi használatához.", |
184 | "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner. If you are switching over (from one of the hosted servers) to using Ferdi without an account, please be informed that you can export your data from that server and subsequently import it using the Help menu to resurrect all your workspaces and configured services!", | 177 | "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner. If you are switching over (from one of the hosted servers) to using Ferdi without an account, please be informed that you can export your data from that server and subsequently import it using the Help menu to resurrect all your workspaces and configured services!", |
185 | "services.serverless": "Use Ferdi without an Account", | 178 | "services.serverless": "Use Ferdi without an Account", |
186 | "services.welcome": "Üdvözöl a Ferdi", | 179 | "services.welcome": "Üdvözöl a Ferdi", |
187 | "settings.account.account.editButton": "Fiók szerkesztése", | 180 | "settings.account.account.editButton": "Fiók szerkesztése", |
188 | "settings.account.accountUnavailable": "Account is unavailable", | 181 | "settings.account.accountUnavailable": "A Fiók nem érhető el", |
189 | "settings.account.accountUnavailableInfo": "You are using Ferdi without an account. If you want to use Ferdi with an account and keep your services synchronized across installations, please select a server in the Settings tab then login.", | 182 | "settings.account.accountUnavailableInfo": "You are using Ferdi without an account. If you want to use Ferdi with an account and keep your services synchronized across installations, please select a server in the Settings tab then login.", |
190 | "settings.account.buttonSave": "Profil frissÃtése", | 183 | "settings.account.buttonSave": "Profil frissÃtése", |
191 | "settings.account.deleteAccount": "Fiók törlése", | 184 | "settings.account.deleteAccount": "Fiók törlése", |
@@ -205,53 +198,55 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "GyorsÃtótár törlése", | 199 | "settings.app.buttonClearAllCache": "GyorsÃtótár törlése", |
207 | "settings.app.buttonInstallUpdate": "ÚjraindÃtás és frissÃtés telepÃtése", | 200 | "settings.app.buttonInstallUpdate": "ÚjraindÃtás és frissÃtés telepÃtése", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "FrissÃtések keresése", | 203 | "settings.app.buttonSearchForUpdate": "FrissÃtések keresése", |
209 | "settings.app.cacheInfo": "A Ferdi gyorsÃtótár jelenleg {size} lemezterületet használ.", | 204 | "settings.app.cacheInfo": "A Ferdi gyorsÃtótár jelenleg {size} lemezterületet használ.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
211 | "settings.app.closeSettings": "Close settings", | 206 | "settings.app.closeSettings": "BeállÃtások bezárása", |
212 | "settings.app.currentVersion": "Aktuális verzió:", | 207 | "settings.app.currentVersion": "Aktuális verzió:", |
213 | "settings.app.form.accentColor": "Accent color", | 208 | "settings.app.form.accentColor": "KiemelÅ‘szÃn", |
214 | "settings.app.form.adaptableDarkMode": "Synchronize dark mode with my OS's dark mode setting", | 209 | "settings.app.form.adaptableDarkMode": "Synchronize dark mode with my OS's dark mode setting", |
215 | "settings.app.form.alwaysShowWorkspaces": "Always show workspace drawer", | 210 | "settings.app.form.alwaysShowWorkspaces": "Always show workspace drawer", |
216 | "settings.app.form.autoLaunchInBackground": "Megnyitás háttérben", | 211 | "settings.app.form.autoLaunchInBackground": "Megnyitás háttérben", |
217 | "settings.app.form.autoLaunchOnStart": "Ferdi betöltése indÃtáskor", | 212 | "settings.app.form.autoLaunchOnStart": "Ferdi betöltése indÃtáskor", |
218 | "settings.app.form.automaticUpdates": "Enable updates", | 213 | "settings.app.form.automaticUpdates": "FrissÃtés engedélyezése", |
219 | "settings.app.form.beta": "Béta verziók keresése", | 214 | "settings.app.form.beta": "Béta verziók keresése", |
220 | "settings.app.form.clipboardNotifications": "Don't show notifications for clipboard events", | 215 | "settings.app.form.clipboardNotifications": "Don't show notifications for clipboard events", |
221 | "settings.app.form.closeToSystemTray": "Close Ferdi to system tray", | 216 | "settings.app.form.closeToSystemTray": "Close Ferdi to system tray", |
222 | "settings.app.form.customTodoServer": "Custom Todo Server", | 217 | "settings.app.form.customTodoServer": "Custom Todo Server", |
223 | "settings.app.form.darkMode": "Enable dark mode", | 218 | "settings.app.form.darkMode": "Sötét mód engedélyezése", |
224 | "settings.app.form.enableGPUAcceleration": "Hardveres gyorsÃtás engedélyezése", | 219 | "settings.app.form.enableGPUAcceleration": "Hardveres gyorsÃtás engedélyezése", |
225 | "settings.app.form.enableLock": "Enable Password Lock", | 220 | "settings.app.form.enableLock": "Jelszavas zár engedélyezése", |
226 | "settings.app.form.enableMenuBar": "Always show Ferdi in Menu Bar", | 221 | "settings.app.form.enableMenuBar": "Always show Ferdi in Menu Bar", |
227 | "settings.app.form.enableSpellchecking": "HelyesÃrás-ellenÅ‘rzés engedélyezése", | 222 | "settings.app.form.enableSpellchecking": "HelyesÃrás-ellenÅ‘rzés engedélyezése", |
228 | "settings.app.form.enableSystemTray": "Ferdi mutatása a tálcán", | 223 | "settings.app.form.enableSystemTray": "Ferdi mutatása a tálcán", |
229 | "settings.app.form.enableTodos": "Ferdi Tennivalók bekapcsolása", | 224 | "settings.app.form.enableTodos": "Ferdi Tennivalók bekapcsolása", |
230 | "settings.app.form.hibernateOnStartup": "Keep services in hibernation on startup", | 225 | "settings.app.form.hibernateOnStartup": "Keep services in hibernation on startup", |
231 | "settings.app.form.hibernationStrategy": "Hibernation strategy", | 226 | "settings.app.form.hibernationStrategy": "Hibernation strategy", |
232 | "settings.app.form.iconSize": "Service icon size", | 227 | "settings.app.form.iconSize": "Szolgáltatás ikon méret", |
233 | "settings.app.form.inactivityLock": "Lock after inactivity", | 228 | "settings.app.form.inactivityLock": "Lock after inactivity", |
234 | "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded", | 229 | "settings.app.form.keepAllWorkspacesLoaded": "Keep all workspaces loaded", |
235 | "settings.app.form.language": "Nyelv", | 230 | "settings.app.form.language": "Nyelv", |
236 | "settings.app.form.lockPassword": "Password", | 231 | "settings.app.form.lockPassword": "Jelszó", |
237 | "settings.app.form.minimizeToSystemTray": "Ferdi kicsinyÃtése a tálcára", | 232 | "settings.app.form.minimizeToSystemTray": "Ferdi kicsinyÃtése a tálcára", |
238 | "settings.app.form.navigationBarBehaviour": "Navigation bar behaviour", | 233 | "settings.app.form.navigationBarBehaviour": "Navigation bar behaviour", |
239 | "settings.app.form.notifyTaskBarOnMessage": "Notify TaskBar/Dock on new message", | 234 | "settings.app.form.notifyTaskBarOnMessage": "Notify TaskBar/Dock on new message", |
240 | "settings.app.form.passwordToggle": "Password toggle", | 235 | "settings.app.form.passwordToggle": "Jelszó bekapcsolás", |
241 | "settings.app.form.predefinedTodoServer": "Todo Server", | 236 | "settings.app.form.predefinedTodoServer": "Todo Server", |
242 | "settings.app.form.privateNotifications": "Don't show message content in notifications", | 237 | "settings.app.form.privateNotifications": "Don't show message content in notifications", |
243 | "settings.app.form.reloadAfterResume": "Reload Ferdi after system resume", | 238 | "settings.app.form.reloadAfterResume": "Reload Ferdi after system resume", |
244 | "settings.app.form.runInBackground": "Ferdi fusson a háttérben az ablak bezárásakor", | 239 | "settings.app.form.runInBackground": "Ferdi fusson a háttérben az ablak bezárásakor", |
245 | "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb", | 240 | "settings.app.form.scheduledDNDEnabled": "Enable scheduled Do-not-Disturb", |
246 | "settings.app.form.scheduledDNDEnd": "To", | 241 | "settings.app.form.scheduledDNDEnd": "CÃmzett", |
247 | "settings.app.form.scheduledDNDStart": "From", | 242 | "settings.app.form.scheduledDNDStart": "Feladó", |
248 | "settings.app.form.searchEngine": "Search engine", | 243 | "settings.app.form.searchEngine": "Keresőmotor", |
249 | "settings.app.form.sentry": "Send telemetry data", | 244 | "settings.app.form.sentry": "Send telemetry data", |
250 | "settings.app.form.serviceRibbonWidth": "Sidebar width", | 245 | "settings.app.form.serviceRibbonWidth": "Oldalsáv szélesség", |
251 | "settings.app.form.showDisabledServices": "Letiltott szolgáltatások megjelenÃtése", | 246 | "settings.app.form.showDisabledServices": "Letiltott szolgáltatások megjelenÃtése", |
252 | "settings.app.form.showDragArea": "Show draggable area on window", | 247 | "settings.app.form.showDragArea": "Show draggable area on window", |
253 | "settings.app.form.showMessagesBadgesWhenMuted": "Mutassa az 'olvasatlan üzenet' jelzést, amikor az értesÃtések le vannak tiltva", | 248 | "settings.app.form.showMessagesBadgesWhenMuted": "Mutassa az 'olvasatlan üzenet' jelzést, amikor az értesÃtések le vannak tiltva", |
254 | "settings.app.form.startMinimized": "Start minimized", | 249 | "settings.app.form.startMinimized": "IndÃtás minimalizálva", |
255 | "settings.app.form.universalDarkMode": "Enable universal Dark Mode", | 250 | "settings.app.form.universalDarkMode": "Enable universal Dark Mode", |
256 | "settings.app.form.useTouchIdToUnlock": "Allow using TouchID to unlock Ferdi", | 251 | "settings.app.form.useTouchIdToUnlock": "Allow using TouchID to unlock Ferdi", |
257 | "settings.app.form.useVerticalStyle": "Use vertical style", | 252 | "settings.app.form.useVerticalStyle": "Use vertical style", |
@@ -261,13 +256,13 @@ | |||
261 | "settings.app.headlineAppearance": "Megjelenés", | 256 | "settings.app.headlineAppearance": "Megjelenés", |
262 | "settings.app.headlineGeneral": "Ãltalános", | 257 | "settings.app.headlineGeneral": "Ãltalános", |
263 | "settings.app.headlineLanguage": "Nyelv", | 258 | "settings.app.headlineLanguage": "Nyelv", |
264 | "settings.app.headlinePrivacy": "Privacy", | 259 | "settings.app.headlinePrivacy": "Biztonság", |
265 | "settings.app.headlineUpdates": "FrissÃtések", | 260 | "settings.app.headlineUpdates": "FrissÃtések", |
266 | "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", | 261 | "settings.app.hibernateInfo": "By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", |
267 | "settings.app.inactivityLockInfo": "Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", | 262 | "settings.app.inactivityLockInfo": "Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", |
268 | "settings.app.languageDisclaimer": "A hivatalos fordÃtások angol és német nyelven elérhetÅ‘ek. Minden más nyelv közösségi fordÃtáson alapul.", | 263 | "settings.app.languageDisclaimer": "A hivatalos fordÃtások angol és német nyelven elérhetÅ‘ek. Minden más nyelv közösségi fordÃtáson alapul.", |
269 | "settings.app.lockInfo": "Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut {lockShortcut}.", | 264 | "settings.app.lockInfo": "Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut {lockShortcut}.", |
270 | "settings.app.lockedPassword": "Password", | 265 | "settings.app.lockedPassword": "Jelszó", |
271 | "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", | 266 | "settings.app.lockedPasswordInfo": "Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", |
272 | "settings.app.restartRequired": "ÚjraindÃtást igénylÅ‘ módosÃtás", | 267 | "settings.app.restartRequired": "ÚjraindÃtást igénylÅ‘ módosÃtás", |
273 | "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", | 268 | "settings.app.scheduledDNDInfo": "Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "GyorsÃtótár", | 272 | "settings.app.subheadlineCache": "GyorsÃtótár", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profil", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "SegÃts nekünk a Ferdi-ot lefordÃtani a nyelvedre.", | 275 | "settings.app.translationHelp": "SegÃts nekünk a Ferdi-ot lefordÃtani a nyelvedre.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
@@ -334,10 +330,10 @@ | |||
334 | "settings.service.form.isMutedInfo": "Ha kikapcsolod, minden értesÃtési és lejátszott hang némÃtásra kerül", | 330 | "settings.service.form.isMutedInfo": "Ha kikapcsolod, minden értesÃtési és lejátszott hang némÃtásra kerül", |
335 | "settings.service.form.name": "Név", | 331 | "settings.service.form.name": "Név", |
336 | "settings.service.form.openDarkmodeCss": "Open darkmode.css", | 332 | "settings.service.form.openDarkmodeCss": "Open darkmode.css", |
337 | "settings.service.form.openUserCss": "Open user.css", | 333 | "settings.service.form.openUserCss": "User.css megnyitása", |
338 | "settings.service.form.openUserJs": "Open user.js", | 334 | "settings.service.form.openUserJs": "User.js megnyitása", |
339 | "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy beállÃtások", | 335 | "settings.service.form.proxy.headline": "HTTP/HTTPS Proxy beállÃtások", |
340 | "settings.service.form.proxy.host": "Proxy Host/IP", | 336 | "settings.service.form.proxy.host": "Proxy hoszt/IP", |
341 | "settings.service.form.proxy.info": "Proxy beállÃtások nem szinkronizálódnak a Ferdi kiszolgálókkal.", | 337 | "settings.service.form.proxy.info": "Proxy beállÃtások nem szinkronizálódnak a Ferdi kiszolgálókkal.", |
342 | "settings.service.form.proxy.isEnabled": "Proxy használata", | 338 | "settings.service.form.proxy.isEnabled": "Proxy használata", |
343 | "settings.service.form.proxy.password": "Jelszó (opcionális)", | 339 | "settings.service.form.proxy.password": "Jelszó (opcionális)", |
@@ -365,17 +361,17 @@ | |||
365 | "settings.supportFerdi.headline": "Névjegy", | 361 | "settings.supportFerdi.headline": "Névjegy", |
366 | "settings.supportFerdi.openSurvey": "Open survey", | 362 | "settings.supportFerdi.openSurvey": "Open survey", |
367 | "settings.supportFerdi.textDonation": "If you feel like supporting Ferdi development with a donation, you can do so on both,", | 363 | "settings.supportFerdi.textDonation": "If you feel like supporting Ferdi development with a donation, you can do so on both,", |
368 | "settings.supportFerdi.textDonationAnd": "and", | 364 | "settings.supportFerdi.textDonationAnd": "és", |
369 | "settings.supportFerdi.textExpenses": "While volunteers do most of the work, we still need to pay for servers and certificates. As a community, we are fully transparent on funds we collect and spend - see our", | 365 | "settings.supportFerdi.textExpenses": "While volunteers do most of the work, we still need to pay for servers and certificates. As a community, we are fully transparent on funds we collect and spend - see our", |
370 | "settings.supportFerdi.textGitHubSponsors": "GitHub Sponsors", | 366 | "settings.supportFerdi.textGitHubSponsors": "GitHub Sponsors", |
371 | "settings.supportFerdi.textListContributors": "Full list of contributors", | 367 | "settings.supportFerdi.textListContributors": "Full list of contributors", |
372 | "settings.supportFerdi.textListContributorsHere": "here", | 368 | "settings.supportFerdi.textListContributorsHere": "itt", |
373 | "settings.supportFerdi.textOpenCollective": "Open Collective", | 369 | "settings.supportFerdi.textOpenCollective": "Open Collective", |
374 | "settings.supportFerdi.textSupportWelcome": "Support is always welcome. You can find a list of the help we need", | 370 | "settings.supportFerdi.textSupportWelcome": "Support is always welcome. You can find a list of the help we need", |
375 | "settings.supportFerdi.textSupportWelcomeHere": "here", | 371 | "settings.supportFerdi.textSupportWelcomeHere": "itt", |
376 | "settings.supportFerdi.textVolunteers": "The development of Ferdi is done by volunteers. People who use Ferdi like you. They maintain, fix, and improve Ferdi in their spare time.", | 372 | "settings.supportFerdi.textVolunteers": "The development of Ferdi is done by volunteers. People who use Ferdi like you. They maintain, fix, and improve Ferdi in their spare time.", |
377 | "settings.supportFerdi.title": "Do you like Ferdi?", | 373 | "settings.supportFerdi.title": "Tetszik a Ferdi?", |
378 | "settings.team.contentHeadline": "Franz Team Management", | 374 | "settings.team.contentHeadline": "Franz Csapatkezelés", |
379 | "settings.team.copy": "Franz's Team Management allows you to manage Franz Subscriptions for multiple users. Please keep in mind that having a Franz Premium subscription will give you no advantages in using Ferdi: The only reason you still have access to Team Management is so you can manage your legacy Franz Teams and so that you don't loose any functionality in managing your account.", | 375 | "settings.team.copy": "Franz's Team Management allows you to manage Franz Subscriptions for multiple users. Please keep in mind that having a Franz Premium subscription will give you no advantages in using Ferdi: The only reason you still have access to Team Management is so you can manage your legacy Franz Teams and so that you don't loose any functionality in managing your account.", |
380 | "settings.team.headline": "Csapat", | 376 | "settings.team.headline": "Csapat", |
381 | "settings.team.intro": "You are currently using Franz Servers, which is why you have access to Team Management.", | 377 | "settings.team.intro": "You are currently using Franz Servers, which is why you have access to Team Management.", |
@@ -385,7 +381,7 @@ | |||
385 | "settings.user.form.accountType.company": "Cég", | 381 | "settings.user.form.accountType.company": "Cég", |
386 | "settings.user.form.accountType.individual": "Egyén", | 382 | "settings.user.form.accountType.individual": "Egyén", |
387 | "settings.user.form.accountType.label": "Fiók tÃpusa", | 383 | "settings.user.form.accountType.label": "Fiók tÃpusa", |
388 | "settings.user.form.accountType.non-profit": "Non-Profit", | 384 | "settings.user.form.accountType.non-profit": "Nonprofit", |
389 | "settings.user.form.currentPassword": "Jelenlegi jelszó", | 385 | "settings.user.form.currentPassword": "Jelenlegi jelszó", |
390 | "settings.user.form.email": "Email", | 386 | "settings.user.form.email": "Email", |
391 | "settings.user.form.firstname": "Keresztnév", | 387 | "settings.user.form.firstname": "Keresztnév", |
@@ -410,11 +406,11 @@ | |||
410 | "settings.workspaces.workspacesRequestFailed": "Nem sikerült betölteni a munkaterületeket", | 406 | "settings.workspaces.workspacesRequestFailed": "Nem sikerült betölteni a munkaterületeket", |
411 | "setupAssistant.headline": "Let's get started", | 407 | "setupAssistant.headline": "Let's get started", |
412 | "setupAssistant.subheadline": "Choose from our most used services and get back on top of your messaging now.", | 408 | "setupAssistant.subheadline": "Choose from our most used services and get back on top of your messaging now.", |
413 | "setupAssistant.submit.label": "Let's go", | 409 | "setupAssistant.submit.label": "Vágjunk bele", |
414 | "sidebar.addNewService": "Szolgáltatás hozzáadása", | 410 | "sidebar.addNewService": "Szolgáltatás hozzáadása", |
415 | "sidebar.closeTodosDrawer": "Close Ferdi Todos", | 411 | "sidebar.closeTodosDrawer": "Close Ferdi Todos", |
416 | "sidebar.closeWorkspaceDrawer": "Munkaterület panel bezárása", | 412 | "sidebar.closeWorkspaceDrawer": "Munkaterület panel bezárása", |
417 | "sidebar.lockFerdi": "Lock Ferdi", | 413 | "sidebar.lockFerdi": "Ferdi bezárása", |
418 | "sidebar.muteApp": "ÉrtesÃtések és hangok letiltása", | 414 | "sidebar.muteApp": "ÉrtesÃtések és hangok letiltása", |
419 | "sidebar.openTodosDrawer": "Open Ferdi Todos", | 415 | "sidebar.openTodosDrawer": "Open Ferdi Todos", |
420 | "sidebar.openWorkspaceDrawer": "Munkaterület panel kinyitása", | 416 | "sidebar.openWorkspaceDrawer": "Munkaterület panel kinyitása", |
@@ -429,22 +425,22 @@ | |||
429 | "signup.legal.privacy": "Adatvédelmi Nyilatkozatot", | 425 | "signup.legal.privacy": "Adatvédelmi Nyilatkozatot", |
430 | "signup.legal.terms": "Felhasználási Feltételeket", | 426 | "signup.legal.terms": "Felhasználási Feltételeket", |
431 | "signup.link.login": "Már van fiókod? Lépj be!", | 427 | "signup.link.login": "Már van fiókod? Lépj be!", |
432 | "signup.password.label": "Password", | 428 | "signup.password.label": "Jelszó", |
433 | "signup.submit.label": "Fiók létrehozása", | 429 | "signup.submit.label": "Fiók létrehozása", |
434 | "tabs.item.confirmDeleteService": "Do you really want to delete the {serviceName} service?", | 430 | "tabs.item.confirmDeleteService": "Do you really want to delete the {serviceName} service?", |
435 | "tabs.item.deleteService": "Szolgáltatás törlése", | 431 | "tabs.item.deleteService": "Szolgáltatás törlése", |
436 | "tabs.item.disableAudio": "Hang letiltása", | 432 | "tabs.item.disableAudio": "Hang letiltása", |
437 | "tabs.item.disableDarkMode": "Disable Dark mode", | 433 | "tabs.item.disableDarkMode": "Sötét mód kikapcsolása", |
438 | "tabs.item.disableNotifications": "ÉrtesÃtések letiltása", | 434 | "tabs.item.disableNotifications": "ÉrtesÃtések letiltása", |
439 | "tabs.item.disableService": "Szolgáltatás letiltása", | 435 | "tabs.item.disableService": "Szolgáltatás letiltása", |
440 | "tabs.item.edit": "Szerkesztés", | 436 | "tabs.item.edit": "Szerkesztés", |
441 | "tabs.item.enableAudio": "Hang engedélyezése", | 437 | "tabs.item.enableAudio": "Hang engedélyezése", |
442 | "tabs.item.enableDarkMode": "Enable Dark mode", | 438 | "tabs.item.enableDarkMode": "Sötét mód bekapcsolása", |
443 | "tabs.item.enableNotification": "ÉrtesÃtések engedélyezése", | 439 | "tabs.item.enableNotification": "ÉrtesÃtések engedélyezése", |
444 | "tabs.item.enableService": "Szolgáltatás engedélyezése", | 440 | "tabs.item.enableService": "Szolgáltatás engedélyezése", |
445 | "tabs.item.hibernateService": "Hibernate service", | 441 | "tabs.item.hibernateService": "Szlgáltatás hibernálása", |
446 | "tabs.item.reload": "Újratöltés", | 442 | "tabs.item.reload": "Újratöltés", |
447 | "tabs.item.wakeUpService": "Wake up service", | 443 | "tabs.item.wakeUpService": "Szolgáltatás felébresztése", |
448 | "validation.email": "{field} nem érvényes", | 444 | "validation.email": "{field} nem érvényes", |
449 | "validation.minLength": "{field} mezőnek legalább {length} karakter hosszúnak kell lennie", | 445 | "validation.minLength": "{field} mezőnek legalább {length} karakter hosszúnak kell lennie", |
450 | "validation.oneRequired": "Legalább egy kitöltése szükséges", | 446 | "validation.oneRequired": "Legalább egy kitöltése szükséges", |
@@ -452,8 +448,8 @@ | |||
452 | "validation.url": "{field} nem érvényes URL", | 448 | "validation.url": "{field} nem érvényes URL", |
453 | "webControls.back": "Vissza", | 449 | "webControls.back": "Vissza", |
454 | "webControls.forward": "Előre", | 450 | "webControls.forward": "Előre", |
455 | "webControls.goHome": "Home", | 451 | "webControls.goHome": "Kezdőlap", |
456 | "webControls.openInBrowser": "Open in Browser", | 452 | "webControls.openInBrowser": "Megnyitás böngészőben", |
457 | "webControls.reload": "Újratöltés", | 453 | "webControls.reload": "Újratöltés", |
458 | "welcome.loginButton": "Jelentkezz be a fiókodba", | 454 | "welcome.loginButton": "Jelentkezz be a fiókodba", |
459 | "welcome.signupButton": "Új fiók létrehozása", | 455 | "welcome.signupButton": "Új fiók létrehozása", |
diff --git a/src/i18n/locales/id.json b/src/i18n/locales/id.json index caa33a068..0e6e3b951 100644 --- a/src/i18n/locales/id.json +++ b/src/i18n/locales/id.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Kirim sebagai email", | ||
30 | "feature.shareFranz.action.facebook": "Bagikan di Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Bagikan di Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi lebih baik bersama!", | ||
33 | "feature.shareFranz.shareText.email": "Saya telah menambahkan layanan {count} ke Ferdi! Dapatkan aplikasi gratis untuk WhatsApp, Messenger, Slack, Skype dan co di www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Saya telah menambahkan {count} layanan di Ferdi! Dapatkan aplikasi gratis untuk WhatsApp, Messenger, Slack, Skype dan lainnya di www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Beri tahu teman dan kolega Anda betapa hebatnya Ferdi dan bantu kami menyebarkan berita.", | ||
36 | "global.api.unhealthy": "Tidak dapat tersambung ke layanan Ferdi", | 29 | "global.api.unhealthy": "Tidak dapat tersambung ke layanan Ferdi", |
37 | "global.notConnectedToTheInternet": "Anda tidak tersambung ke internet.", | 30 | "global.notConnectedToTheInternet": "Anda tidak tersambung ke internet.", |
38 | "global.spellchecker.useDefault": "Gunakan Bawaan Sistem ({default})", | 31 | "global.spellchecker.useDefault": "Gunakan Bawaan Sistem ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Bersihkan singgahan", | 199 | "settings.app.buttonClearAllCache": "Bersihkan singgahan", |
207 | "settings.app.buttonInstallUpdate": "Mulai ulang & instal pembaruan", | 200 | "settings.app.buttonInstallUpdate": "Mulai ulang & instal pembaruan", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Periksa versi baru", | 203 | "settings.app.buttonSearchForUpdate": "Periksa versi baru", |
209 | "settings.app.cacheInfo": "Singgahan Ferdi sedang menggunakan ruang disk {size}.", | 204 | "settings.app.cacheInfo": "Singgahan Ferdi sedang menggunakan ruang disk {size}.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Singgahan", | 272 | "settings.app.subheadlineCache": "Singgahan", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Bantu kami menerjemahkan Ferdi ke bahasa Anda.", | 275 | "settings.app.translationHelp": "Bantu kami menerjemahkan Ferdi ke bahasa Anda.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index e349677a0..d07a9bffd 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Seleziona un servizio con TAB, ↑ e ↓. Apri un servizio con INVIO.", | 26 | "feature.quickSwitch.info": "Seleziona un servizio con TAB, ↑ e ↓. Apri un servizio con INVIO.", |
27 | "feature.quickSwitch.search": "Cerca...", | 27 | "feature.quickSwitch.search": "Cerca...", |
28 | "feature.quickSwitch.title": "Cambio Veloce", | 28 | "feature.quickSwitch.title": "Cambio Veloce", |
29 | "feature.shareFranz.action.email": "Manda come email", | ||
30 | "feature.shareFranz.action.facebook": "Condividi su Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Condividi su Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi è migliore insieme!", | ||
33 | "feature.shareFranz.shareText.email": "Ho aggiunto {count} nuovi servizi a Ferdi! Scarica ora l'app gratuita per WhatsApp, Messenger, Slack, Skype e altri all'indirizzo www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Ho aggiunto {count} nuovi servizi a Ferdi! Scarica ora l’app gratuita per WhatsApp, Messenger, Slack, Skype e altri all’indirizzo www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Di’ ai tuoi amici e colleghi quanto Ferdi è fantastico e aiutaci a diffondere la parola.", | ||
36 | "global.api.unhealthy": "Impossibile connettersi ai servizi online di Ferdi", | 29 | "global.api.unhealthy": "Impossibile connettersi ai servizi online di Ferdi", |
37 | "global.notConnectedToTheInternet": "Non sei connesso a Internet.", | 30 | "global.notConnectedToTheInternet": "Non sei connesso a Internet.", |
38 | "global.spellchecker.useDefault": "Usa le impostazioni predefinite di sistema ({default})", | 31 | "global.spellchecker.useDefault": "Usa le impostazioni predefinite di sistema ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Inserisci il tuo colore in risalto in un formato compatibile con CSS. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Inserisci il tuo colore in risalto in un formato compatibile con CSS. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Svuota la cache", | 199 | "settings.app.buttonClearAllCache": "Svuota la cache", |
207 | "settings.app.buttonInstallUpdate": "Riavvia e installa l'aggiornamento", | 200 | "settings.app.buttonInstallUpdate": "Riavvia e installa l'aggiornamento", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Controlla aggiornamenti", | 203 | "settings.app.buttonSearchForUpdate": "Controlla aggiornamenti", |
209 | "settings.app.cacheInfo": "Ferdi sta utilizzando {size} di spazio su disco.", | 204 | "settings.app.cacheInfo": "Ferdi sta utilizzando {size} di spazio su disco.", |
210 | "settings.app.cacheNotCleared": "Impossibile eliminare tutta la cache", | 205 | "settings.app.cacheNotCleared": "Impossibile eliminare tutta la cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi utilizza il controllo ortografico del tuo Mac per verificare la presenza di errori. Se si desidera modificare le lingue del controllo ortografico, è possibile farlo nelle preferenze di sistema del vostro Mac.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi utilizza il controllo ortografico del tuo Mac per verificare la presenza di errori. Se si desidera modificare le lingue del controllo ortografico, è possibile farlo nelle preferenze di sistema del vostro Mac.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "Questo server verrà usato per le funzionalità 'Ferdi Todo'.", | 274 | "settings.app.todoServerInfo": "Questo server verrà usato per le funzionalità 'Ferdi Todo'.", |
279 | "settings.app.translationHelp": "Aiutaci a tradurre Ferdi nella tua lingua.", | 275 | "settings.app.translationHelp": "Aiutaci a tradurre Ferdi nella tua lingua.", |
280 | "settings.app.universalDarkModeInfo": "La modalità 'Dark Mode' universale cerca di generare dinamicamente uno stile di visualizzazione a sfondo scuro per quei servizi che non lo supportano nativamente.", | 276 | "settings.app.universalDarkModeInfo": "La modalità 'Dark Mode' universale cerca di generare dinamicamente uno stile di visualizzazione a sfondo scuro per quei servizi che non lo supportano nativamente.", |
diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index 707f08071..34d4c81cf 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json | |||
@@ -26,16 +26,9 @@ | |||
26 | "feature.quickSwitch.info": "Tab, ↑, ↓ã§ã‚µãƒ¼ãƒ“スをé¸æŠžã—ã¾ã™ã€‚Enterã§ã‚µãƒ¼ãƒ“スを開ãã¾ã™", | 26 | "feature.quickSwitch.info": "Tab, ↑, ↓ã§ã‚µãƒ¼ãƒ“スをé¸æŠžã—ã¾ã™ã€‚Enterã§ã‚µãƒ¼ãƒ“スを開ãã¾ã™", |
27 | "feature.quickSwitch.search": "検索...", | 27 | "feature.quickSwitch.search": "検索...", |
28 | "feature.quickSwitch.title": "クイックスイッãƒ", | 28 | "feature.quickSwitch.title": "クイックスイッãƒ", |
29 | "feature.shareFranz.action.email": "メールã§é€ä¿¡", | ||
30 | "feature.shareFranz.action.facebook": "Facebookã§ã‚·ã‚§ã‚¢", | ||
31 | "feature.shareFranz.action.twitter": "Twitterã§ã‚·ã‚§ã‚¢", | ||
32 | "feature.shareFranz.headline": "Ferdiã¯ã‚ãªãŸã¨ã¨ã‚‚ã«", | ||
33 | "feature.shareFranz.shareText.email": "Ferdiã§{count}個ã®ã‚µãƒ¼ãƒ“スを使ã£ã¦ã„ã¾ã™ï¼ã‚ãªãŸã‚‚Gmail, Messenger, Slack, Skypeãªã©ã®ã‚µãƒ¼ãƒ“スをFerdiã§ä¸€å…ƒç®¡ç†ã—ã¾ã—ょã†ï¼ www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "{count}個ã®ã‚µãƒ¼ãƒ“スをFerdiã«è¿½åŠ ã—ã¾ã—ãŸï¼WhatsApp, Messenger, Slack, Skypeãªã©ã‚’一元管ç†ã™ã‚‹ç„¡æ–™ã®ã‚¢ãƒ—リをダウンãƒãƒ¼ãƒ‰ã—ã¾ã—ょㆠwww.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "ã‚ãªãŸã®ãŠå‹é”ã«Ferdiã‚’æ•™ãˆã¦ã‚ã’ã¾ã—ょã†ã€‚", | ||
36 | "global.api.unhealthy": "Ferdiã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã‚µãƒ¼ãƒ“スã«æŽ¥ç¶šã§ãã¾ã›ã‚“。", | 29 | "global.api.unhealthy": "Ferdiã®ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã‚µãƒ¼ãƒ“スã«æŽ¥ç¶šã§ãã¾ã›ã‚“。", |
37 | "global.notConnectedToTheInternet": "インターãƒãƒƒãƒˆã«æŽ¥ç¶šã•ã‚Œã¦ã„ã¾ã›ã‚“。", | 30 | "global.notConnectedToTheInternet": "インターãƒãƒƒãƒˆã«æŽ¥ç¶šã•ã‚Œã¦ã„ã¾ã›ã‚“。", |
38 | "global.spellchecker.useDefault": " {default}ã‚’åˆæœŸè¨å®šã§ä½¿ç”¨ã—ã¦ãã ã•ã„", | 31 | "global.spellchecker.useDefault": "システムデフォルトを使用ã™ã‚‹({default})", |
39 | "global.spellchecking.autodetect": "言語を自動的ã«æ¤œå‡ºã™ã‚‹", | 32 | "global.spellchecking.autodetect": "言語を自動的ã«æ¤œå‡ºã™ã‚‹", |
40 | "global.spellchecking.autodetect.short": "自動", | 33 | "global.spellchecking.autodetect.short": "自動", |
41 | "global.spellchecking.language": "スペルãƒã‚§ãƒƒã‚¯ã™ã‚‹è¨€èªž", | 34 | "global.spellchecking.language": "スペルãƒã‚§ãƒƒã‚¯ã™ã‚‹è¨€èªž", |
@@ -53,7 +46,7 @@ | |||
53 | "infobar.requiredRequestsFailed": "サービスã¨ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…å ±ã‚’èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ", | 46 | "infobar.requiredRequestsFailed": "サービスã¨ãƒ¦ãƒ¼ã‚¶ãƒ¼æƒ…å ±ã‚’èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ", |
54 | "infobar.servicesUpdated": "サービスãŒæ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚", | 47 | "infobar.servicesUpdated": "サービスãŒæ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚", |
55 | "infobar.updateAvailable": "Ferdiã®æ›´æ–°ãŒã‚ã‚Šã¾ã™ã€‚", | 48 | "infobar.updateAvailable": "Ferdiã®æ›´æ–°ãŒã‚ã‚Šã¾ã™ã€‚", |
56 | "infobox.dismiss": "Dismiss", | 49 | "infobox.dismiss": "é–‰ã˜ã‚‹", |
57 | "invite.email.label": "メールアドレス", | 50 | "invite.email.label": "メールアドレス", |
58 | "invite.headline.friends": "ã‚ãªãŸã®å‹äººã‚„åŒåƒšã®æ–¹ã‚’3åã¾ã§Ferdiã«æ‹›å¾…ã§ãã¾ã™", | 51 | "invite.headline.friends": "ã‚ãªãŸã®å‹äººã‚„åŒåƒšã®æ–¹ã‚’3åã¾ã§Ferdiã«æ‹›å¾…ã§ãã¾ã™", |
59 | "invite.name.label": "æ°å", | 52 | "invite.name.label": "æ°å", |
@@ -87,32 +80,32 @@ | |||
87 | "menu.app.autohideMenuBar": "メニューãƒãƒ¼ã‚’自動的ã«éš ã™", | 80 | "menu.app.autohideMenuBar": "メニューãƒãƒ¼ã‚’自動的ã«éš ã™", |
88 | "menu.app.checkForUpdates": "æ›´æ–°ã®ç¢ºèª", | 81 | "menu.app.checkForUpdates": "æ›´æ–°ã®ç¢ºèª", |
89 | "menu.app.hide": "éš ã™", | 82 | "menu.app.hide": "éš ã™", |
90 | "menu.app.hideOthers": "Hide Others", | 83 | "menu.app.hideOthers": "ä»–ã‚’éžè¡¨ç¤º", |
91 | "menu.app.quit": "Quit", | 84 | "menu.app.quit": "終了", |
92 | "menu.app.settings": "è¨å®š", | 85 | "menu.app.settings": "è¨å®š", |
93 | "menu.app.unhide": "Unhide", | 86 | "menu.app.unhide": "å†è¡¨ç¤º", |
94 | "menu.edit": "編集", | 87 | "menu.edit": "編集", |
95 | "menu.edit.copy": "Copy", | 88 | "menu.edit.copy": "コピー", |
96 | "menu.edit.cut": "Cut", | 89 | "menu.edit.cut": "切りå–ã‚Š", |
97 | "menu.edit.delete": "削除", | 90 | "menu.edit.delete": "削除", |
98 | "menu.edit.emojiSymbols": "絵文å—ã¨ã‚·ãƒ³ãƒœãƒ«", | 91 | "menu.edit.emojiSymbols": "絵文å—ã¨ã‚·ãƒ³ãƒœãƒ«", |
99 | "menu.edit.findInPage": "ページ内を検索", | 92 | "menu.edit.findInPage": "ページ内を検索", |
100 | "menu.edit.paste": "Paste", | 93 | "menu.edit.paste": "貼り付ã‘", |
101 | "menu.edit.pasteAndMatchStyle": "Paste And Match Style", | 94 | "menu.edit.pasteAndMatchStyle": "書å¼ã‚’統一ã—ã¦è²¼ã‚Šä»˜ã‘", |
102 | "menu.edit.redo": "Redo", | 95 | "menu.edit.redo": "ã‚„ã‚Šç›´ã—", |
103 | "menu.edit.selectAll": "Select All", | 96 | "menu.edit.selectAll": "å…¨ã¦é¸æŠž", |
104 | "menu.edit.speech": "èªã¿ä¸Šã’", | 97 | "menu.edit.speech": "èªã¿ä¸Šã’", |
105 | "menu.edit.startDictation": "音声入力を開始", | 98 | "menu.edit.startDictation": "音声入力を開始", |
106 | "menu.edit.startSpeaking": "èªã¿ä¸Šã’を開始", | 99 | "menu.edit.startSpeaking": "èªã¿ä¸Šã’を開始", |
107 | "menu.edit.stopSpeaking": "èªã¿ä¸Šã’ã‚’åœæ¢", | 100 | "menu.edit.stopSpeaking": "èªã¿ä¸Šã’ã‚’åœæ¢", |
108 | "menu.edit.undo": "Undo", | 101 | "menu.edit.undo": "å…ƒã«æˆ»ã™", |
109 | "menu.file": "ファイル", | 102 | "menu.file": "ファイル", |
110 | "menu.help": "Help", | 103 | "menu.help": "ヘルプ", |
111 | "menu.help.changelog": "æ›´æ–°å±¥æ´", | 104 | "menu.help.changelog": "æ›´æ–°å±¥æ´", |
112 | "menu.help.debugInfo": "デãƒãƒƒã‚°æƒ…å ±ã‚’ã‚³ãƒ”ãƒ¼", | 105 | "menu.help.debugInfo": "デãƒãƒƒã‚°æƒ…å ±ã‚’ã‚³ãƒ”ãƒ¼", |
113 | "menu.help.debugInfoCopiedBody": "デãƒãƒƒã‚°æƒ…å ±ã‚’ã‚¯ãƒªãƒƒãƒ—ãƒœãƒ¼ãƒ‰ã«ã‚³ãƒ”ーã—ã¾ã—ãŸã€‚", | 106 | "menu.help.debugInfoCopiedBody": "デãƒãƒƒã‚°æƒ…å ±ã‚’ã‚¯ãƒªãƒƒãƒ—ãƒœãƒ¼ãƒ‰ã«ã‚³ãƒ”ーã—ã¾ã—ãŸã€‚", |
114 | "menu.help.debugInfoCopiedHeadline": "Ferdiデãƒãƒƒã‚°æƒ…å ±", | 107 | "menu.help.debugInfoCopiedHeadline": "Ferdiデãƒãƒƒã‚°æƒ…å ±", |
115 | "menu.help.importExportData": "Import/Export Configuration Data", | 108 | "menu.help.importExportData": "è¨å®šãƒ‡ãƒ¼ã‚¿ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ/エクスãƒãƒ¼ãƒˆ", |
116 | "menu.help.learnMore": "Ferdiã«ã¤ã„ã¦", | 109 | "menu.help.learnMore": "Ferdiã«ã¤ã„ã¦", |
117 | "menu.help.privacy": "プライãƒã‚·ãƒ¼ã«ã¤ã„ã¦", | 110 | "menu.help.privacy": "プライãƒã‚·ãƒ¼ã«ã¤ã„ã¦", |
118 | "menu.help.publishDebugInfo": "デãƒãƒƒã‚°æƒ…å ±ã®å…¬é–‹", | 111 | "menu.help.publishDebugInfo": "デãƒãƒƒã‚°æƒ…å ±ã®å…¬é–‹", |
@@ -130,20 +123,20 @@ | |||
130 | "menu.view.forward": "次ã¸", | 123 | "menu.view.forward": "次ã¸", |
131 | "menu.view.lockFerdi": "Ferdiã‚’ãƒãƒƒã‚¯", | 124 | "menu.view.lockFerdi": "Ferdiã‚’ãƒãƒƒã‚¯", |
132 | "menu.view.openQuickSwitch": "クイックスイッãƒã‚’é–‹ã", | 125 | "menu.view.openQuickSwitch": "クイックスイッãƒã‚’é–‹ã", |
133 | "menu.view.reloadFerdi": "Reload Ferdi", | 126 | "menu.view.reloadFerdi": "Ferdiã‚’å†èªã¿è¾¼ã¿", |
134 | "menu.view.reloadService": "サービスをリãƒãƒ¼ãƒ‰ã™ã‚‹", | 127 | "menu.view.reloadService": "サービスをリãƒãƒ¼ãƒ‰ã™ã‚‹", |
135 | "menu.view.reloadTodos": "ToDoをリãƒãƒ¼ãƒ‰", | 128 | "menu.view.reloadTodos": "ToDoをリãƒãƒ¼ãƒ‰", |
136 | "menu.view.resetZoom": "Actual Size", | 129 | "menu.view.resetZoom": "å…ƒã®ã‚µã‚¤ã‚º", |
137 | "menu.view.toggleDarkMode": "ダークモードを切り替ãˆã‚‹", | 130 | "menu.view.toggleDarkMode": "ダークモードを切り替ãˆã‚‹", |
138 | "menu.view.toggleDevTools": "開発者ツールを切り替ãˆ", | 131 | "menu.view.toggleDevTools": "開発者ツールを切り替ãˆ", |
139 | "menu.view.toggleFullScreen": "Toggle Full Screen", | 132 | "menu.view.toggleFullScreen": "全画é¢è¡¨ç¤ºã®åˆ‡ã‚Šæ›¿ãˆ", |
140 | "menu.view.toggleServiceDevTools": "サービス開発者ツールを切り替ãˆ", | 133 | "menu.view.toggleServiceDevTools": "サービス開発者ツールを切り替ãˆ", |
141 | "menu.view.toggleTodosDevTools": "ToDoã®é–‹ç™ºè€…モードを切り替ãˆã‚‹", | 134 | "menu.view.toggleTodosDevTools": "ToDoã®é–‹ç™ºè€…モードを切り替ãˆã‚‹", |
142 | "menu.view.zoomIn": "Zoom In", | 135 | "menu.view.zoomIn": "拡大", |
143 | "menu.view.zoomOut": "Zoom Out", | 136 | "menu.view.zoomOut": "縮å°", |
144 | "menu.window": "Window", | 137 | "menu.window": "ウィンドウ", |
145 | "menu.window.close": "Close", | 138 | "menu.window.close": "é–‰ã˜ã‚‹", |
146 | "menu.window.minimize": "Minimize", | 139 | "menu.window.minimize": "最å°åŒ–", |
147 | "menu.workspaces": "ワークスペース", | 140 | "menu.workspaces": "ワークスペース", |
148 | "menu.workspaces.addNewWorkspace": "ãƒ¯ãƒ¼ã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã‚’è¿½åŠ ", | 141 | "menu.workspaces.addNewWorkspace": "ãƒ¯ãƒ¼ã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã‚’è¿½åŠ ", |
149 | "menu.workspaces.closeWorkspaceDrawer": "ワークスペースドãƒãƒ¯ãƒ¼ã‚’é–‰ã˜ã‚‹", | 142 | "menu.workspaces.closeWorkspaceDrawer": "ワークスペースドãƒãƒ¯ãƒ¼ã‚’é–‰ã˜ã‚‹", |
@@ -181,7 +174,7 @@ | |||
181 | "service.webviewLoader.loading": "{service}ã‚’èªã¿è¾¼ã¿ä¸", | 174 | "service.webviewLoader.loading": "{service}ã‚’èªã¿è¾¼ã¿ä¸", |
182 | "services.getStarted": "ã¯ã˜ã‚ã‚‹", | 175 | "services.getStarted": "ã¯ã˜ã‚ã‚‹", |
183 | "services.login": "Ferdiを使用ã™ã‚‹ã«ã¯ãƒã‚°ã‚¤ãƒ³ã—ã¦ãã ã•ã„。", | 176 | "services.login": "Ferdiを使用ã™ã‚‹ã«ã¯ãƒã‚°ã‚¤ãƒ³ã—ã¦ãã ã•ã„。", |
184 | "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner. If you are switching over (from one of the hosted servers) to using Ferdi without an account, please be informed that you can export your data from that server and subsequently import it using the Help menu to resurrect all your workspaces and configured services!", | 177 | "services.serverInfo": "オプションã¨ã—ã¦ã€å·¦ä¸‹ã®æ¯è»Šã‚’クリックã—ã¦Ferdiサーãƒãƒ¼ã‚’変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ä»–ã®ãƒ›ã‚¹ãƒˆã•ã‚ŒãŸã‚µãƒ¼ãƒã‹ã‚‰ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãªã—ã§Ferdiを使ã†ã‚ˆã†ã«å¤‰æ›´ã™ã‚‹å ´åˆã¯ã€ãã®ã‚µãƒ¼ãƒã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’エクスãƒãƒ¼ãƒˆã—ã€ãã®å¾Œãƒ˜ãƒ«ãƒ—メニューを使ã£ã¦ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ã§ã™ã¹ã¦ã®ãƒ¯ãƒ¼ã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã¨è¨å®šã—ãŸã‚µãƒ¼ãƒ“スを復元ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚", |
185 | "services.serverless": "アカウントãªã—ã§Ferdiを使用ã™ã‚‹", | 178 | "services.serverless": "アカウントãªã—ã§Ferdiを使用ã™ã‚‹", |
186 | "services.welcome": "Ferdiã«ã‚ˆã†ã“ã", | 179 | "services.welcome": "Ferdiã«ã‚ˆã†ã“ã", |
187 | "settings.account.account.editButton": "アカウントã®ç·¨é›†", | 180 | "settings.account.account.editButton": "アカウントã®ç·¨é›†", |
@@ -205,10 +198,12 @@ | |||
205 | "settings.app.accentColorInfo": "CSSフォーマットã§ã‚¢ã‚¯ã‚»ãƒ³ãƒˆã‚«ãƒ©ãƒ¼ã‚’記述ã—ã¦ãã ã•ã„。(デフォルト: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "CSSフォーマットã§ã‚¢ã‚¯ã‚»ãƒ³ãƒˆã‚«ãƒ©ãƒ¼ã‚’記述ã—ã¦ãã ã•ã„。(デフォルト: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "ã‚ャッシュを消去ã™ã‚‹", | 199 | "settings.app.buttonClearAllCache": "ã‚ャッシュを消去ã™ã‚‹", |
207 | "settings.app.buttonInstallUpdate": "å†èµ·å‹•ã—ã¦æ›´æ–°ã‚’インストールã™ã‚‹", | 200 | "settings.app.buttonInstallUpdate": "å†èµ·å‹•ã—ã¦æ›´æ–°ã‚’インストールã™ã‚‹", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "プãƒãƒ•ã‚¡ã‚¤ãƒ«ãƒ•ã‚©ãƒ«ãƒ€ã‚’é–‹ã", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "サービスレシピフォルダを開ã", | ||
208 | "settings.app.buttonSearchForUpdate": "æ›´æ–°ã®ç¢ºèª", | 203 | "settings.app.buttonSearchForUpdate": "æ›´æ–°ã®ç¢ºèª", |
209 | "settings.app.cacheInfo": "ç¾åœ¨ã€Ferdiã®ã‚ャッシュã¯ãƒ‡ã‚£ã‚¹ã‚¯ã®{size}分を使用ã—ã¦ã„ã¾ã™ã€‚", | 204 | "settings.app.cacheInfo": "ç¾åœ¨ã€Ferdiã®ã‚ャッシュã¯ãƒ‡ã‚£ã‚¹ã‚¯ã®{size}分を使用ã—ã¦ã„ã¾ã™ã€‚", |
210 | "settings.app.cacheNotCleared": "ã™ã¹ã¦ã®ã‚ャッシュをクリアã§ãã¾ã›ã‚“ã§ã—ãŸ", | 205 | "settings.app.cacheNotCleared": "ã™ã¹ã¦ã®ã‚ャッシュをクリアã§ãã¾ã›ã‚“ã§ã—ãŸ", |
211 | "settings.app.closeSettings": "Close settings", | 206 | "settings.app.closeSettings": "è¨å®šã‚’é–‰ã˜ã‚‹", |
212 | "settings.app.currentVersion": "ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³:", | 207 | "settings.app.currentVersion": "ç¾åœ¨ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³:", |
213 | "settings.app.form.accentColor": "アクセントカラー", | 208 | "settings.app.form.accentColor": "アクセントカラー", |
214 | "settings.app.form.adaptableDarkMode": "ダークモードをOSã®ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰è¨å®šã¨åŒæœŸã™ã‚‹", | 209 | "settings.app.form.adaptableDarkMode": "ダークモードをOSã®ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰è¨å®šã¨åŒæœŸã™ã‚‹", |
@@ -237,7 +232,7 @@ | |||
237 | "settings.app.form.minimizeToSystemTray": "Ferdiをシステムトレイã«æœ€å°åŒ–ã™ã‚‹", | 232 | "settings.app.form.minimizeToSystemTray": "Ferdiをシステムトレイã«æœ€å°åŒ–ã™ã‚‹", |
238 | "settings.app.form.navigationBarBehaviour": "ナビゲーションãƒãƒ¼ã®å‹•ä½œ", | 233 | "settings.app.form.navigationBarBehaviour": "ナビゲーションãƒãƒ¼ã®å‹•ä½œ", |
239 | "settings.app.form.notifyTaskBarOnMessage": "æ–°ã—ã„メッセージをタスクãƒãƒ¼ã¾ãŸã¯Dockã«é€šçŸ¥ã™ã‚‹", | 234 | "settings.app.form.notifyTaskBarOnMessage": "æ–°ã—ã„メッセージをタスクãƒãƒ¼ã¾ãŸã¯Dockã«é€šçŸ¥ã™ã‚‹", |
240 | "settings.app.form.passwordToggle": "Password toggle", | 235 | "settings.app.form.passwordToggle": "パスワードã®åˆ‡ã‚Šæ›¿ãˆ", |
241 | "settings.app.form.predefinedTodoServer": "ToDoサーãƒãƒ¼", | 236 | "settings.app.form.predefinedTodoServer": "ToDoサーãƒãƒ¼", |
242 | "settings.app.form.privateNotifications": "通知ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å†…容を表示ã—ãªã„", | 237 | "settings.app.form.privateNotifications": "通知ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®å†…容を表示ã—ãªã„", |
243 | "settings.app.form.reloadAfterResume": "システムã®å†é–‹å¾Œã«Ferdiã‚’å†èªã¿è¾¼ã¿ã™ã‚‹", | 238 | "settings.app.form.reloadAfterResume": "システムã®å†é–‹å¾Œã«Ferdiã‚’å†èªã¿è¾¼ã¿ã™ã‚‹", |
@@ -255,7 +250,7 @@ | |||
255 | "settings.app.form.universalDarkMode": "ユニãƒãƒ¼ã‚µãƒ«ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰ã‚’有効ã«ã™ã‚‹", | 250 | "settings.app.form.universalDarkMode": "ユニãƒãƒ¼ã‚µãƒ«ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰ã‚’有効ã«ã™ã‚‹", |
256 | "settings.app.form.useTouchIdToUnlock": "Touch IDを使用ã—ã¦Ferdiã®ãƒãƒƒã‚¯ã‚’解除ã™ã‚‹", | 251 | "settings.app.form.useTouchIdToUnlock": "Touch IDを使用ã—ã¦Ferdiã®ãƒãƒƒã‚¯ã‚’解除ã™ã‚‹", |
257 | "settings.app.form.useVerticalStyle": "垂直レイアウトを使用ã™ã‚‹", | 252 | "settings.app.form.useVerticalStyle": "垂直レイアウトを使用ã™ã‚‹", |
258 | "settings.app.form.wakeUpStrategy": "Wake up strategy", | 253 | "settings.app.form.wakeUpStrategy": "起動方法", |
259 | "settings.app.headline": "è¨å®š", | 254 | "settings.app.headline": "è¨å®š", |
260 | "settings.app.headlineAdvanced": "詳細", | 255 | "settings.app.headlineAdvanced": "詳細", |
261 | "settings.app.headlineAppearance": "表示スタイル", | 256 | "settings.app.headlineAppearance": "表示スタイル", |
@@ -266,15 +261,16 @@ | |||
266 | "settings.app.hibernateInfo": "デフォルトã§ã¯ã€Ferdiã¯ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ“スをãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§é–‹ã„ã¦èªã¿è¾¼ã‚“ã§ãŠãã®ã§ã€ä½¿ã„ãŸã„ã¨ãã«ã™ãã«ä½¿ãˆã¾ã™ã€‚ サービス休æ¢æ©Ÿèƒ½ã¯è¨å®šã—ãŸæ™‚é–“ãŒçµŒéŽã—ãŸã‚‰èªã¿è¾¼ã‚“ã サービスを解放ã—ã¾ã™ã€‚ã“ã‚Œã¯RAMを節約ã—ãŸã‚Šã€ã‚µãƒ¼ãƒ“スã§ã‚³ãƒ³ãƒ”ューターã®å‹•ä½œãŒé‡ããªã‚‹ã®ã‚’防ãã®ã«å½¹ç«‹ã¡ã¾ã™ã€‚", | 261 | "settings.app.hibernateInfo": "デフォルトã§ã¯ã€Ferdiã¯ã™ã¹ã¦ã®ã‚µãƒ¼ãƒ“スをãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§é–‹ã„ã¦èªã¿è¾¼ã‚“ã§ãŠãã®ã§ã€ä½¿ã„ãŸã„ã¨ãã«ã™ãã«ä½¿ãˆã¾ã™ã€‚ サービス休æ¢æ©Ÿèƒ½ã¯è¨å®šã—ãŸæ™‚é–“ãŒçµŒéŽã—ãŸã‚‰èªã¿è¾¼ã‚“ã サービスを解放ã—ã¾ã™ã€‚ã“ã‚Œã¯RAMを節約ã—ãŸã‚Šã€ã‚µãƒ¼ãƒ“スã§ã‚³ãƒ³ãƒ”ューターã®å‹•ä½œãŒé‡ããªã‚‹ã®ã‚’防ãã®ã«å½¹ç«‹ã¡ã¾ã™ã€‚", |
267 | "settings.app.inactivityLockInfo": "休æ¢çŠ¶æ…‹ã¾ã§ã®æ™‚é–“(分)ã€ã“ã®æ™‚é–“ãŒçµŒéŽå¾ŒFerdiã¯è‡ªå‹•ã§ãƒãƒƒã‚¯ã—ã¾ã™ã€‚0ã§ç„¡åŠ¹åŒ–", | 262 | "settings.app.inactivityLockInfo": "休æ¢çŠ¶æ…‹ã¾ã§ã®æ™‚é–“(分)ã€ã“ã®æ™‚é–“ãŒçµŒéŽå¾ŒFerdiã¯è‡ªå‹•ã§ãƒãƒƒã‚¯ã—ã¾ã™ã€‚0ã§ç„¡åŠ¹åŒ–", |
268 | "settings.app.languageDisclaimer": "å…¬å¼ã®è¨€èªžã¯è‹±èªžã¨ãƒ‰ã‚¤ãƒ„語ã§ã™ã€‚ä»–ã®è¨€èªžã¯ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã«ã‚ˆã‚‹ç¿»è¨³ã§ã™ã€‚", | 263 | "settings.app.languageDisclaimer": "å…¬å¼ã®è¨€èªžã¯è‹±èªžã¨ãƒ‰ã‚¤ãƒ„語ã§ã™ã€‚ä»–ã®è¨€èªžã¯ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã«ã‚ˆã‚‹ç¿»è¨³ã§ã™ã€‚", |
269 | "settings.app.lockInfo": "Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut {lockShortcut}.", | 264 | "settings.app.lockInfo": "パスワードãƒãƒƒã‚¯ã¯ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ä¿è·ã§ãã¾ã™ã€‚\nパスワードãƒãƒƒã‚¯ã‚’使用ã™ã‚‹ã¨ã€Ferdiã®èµ·å‹•æ™‚ã€ã¾ãŸã¯è‡ªåˆ†ã§å·¦ä¸‹ã®ãƒãƒƒã‚¯ãƒœã‚¿ãƒ³ã‚’押ã™ã‹ã‚·ãƒ§ãƒ¼ãƒˆã‚«ãƒƒãƒˆ{lockShortcut}ã§Ferdiã‚’ãƒãƒƒã‚¯ã—ãŸã¨ãã«ã€ãã®éƒ½åº¦ãƒ‘スワードã®å…¥åŠ›ãŒæ±‚ã‚られã¾ã™ã€‚", |
270 | "settings.app.lockedPassword": "パスワード", | 265 | "settings.app.lockedPassword": "パスワード", |
271 | "settings.app.lockedPasswordInfo": "覚ãˆã‚‰ã‚Œã‚‹ãƒ‘スワードをè¨å®šã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。\nパスワードを紛失ã™ã‚‹ã¨ã€Ferdiã®å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚", | 266 | "settings.app.lockedPasswordInfo": "覚ãˆã‚‰ã‚Œã‚‹ãƒ‘スワードをè¨å®šã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。\nパスワードを紛失ã™ã‚‹ã¨ã€Ferdiã®å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚", |
272 | "settings.app.restartRequired": "変更ã«ã¯å†èµ·å‹•ãŒå¿…è¦ã§ã™", | 267 | "settings.app.restartRequired": "変更ã«ã¯å†èµ·å‹•ãŒå¿…è¦ã§ã™", |
273 | "settings.app.scheduledDNDInfo": "集ä¸ãƒ¢ãƒ¼ãƒ‰ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’有効ã«ã™ã‚‹ã¨ã€Ferdiã‹ã‚‰ã®é€šçŸ¥ã‚’å—ã‘å–らãªã„時間帯をè¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚", | 268 | "settings.app.scheduledDNDInfo": "集ä¸ãƒ¢ãƒ¼ãƒ‰ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’有効ã«ã™ã‚‹ã¨ã€Ferdiã‹ã‚‰ã®é€šçŸ¥ã‚’å—ã‘å–らãªã„時間帯をè¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚", |
274 | "settings.app.scheduledDNDTimeInfo": "24時間形å¼ã§å…¥åŠ›ã—ã¦ãã ã•ã„。終了時刻を開始時刻よりも早ãè¨å®šã™ã‚‹ã¨(例: 17:00開始ã€9:00終了)ã€é›†ä¸ãƒ¢ãƒ¼ãƒ‰ã‚’一晩ä¸æœ‰åŠ¹ã«ã§ãã¾ã™ã€‚", | 269 | "settings.app.scheduledDNDTimeInfo": "24時間形å¼ã§å…¥åŠ›ã—ã¦ãã ã•ã„。終了時刻を開始時刻よりも早ãè¨å®šã™ã‚‹ã¨(例: 17:00開始ã€9:00終了)ã€é›†ä¸ãƒ¢ãƒ¼ãƒ‰ã‚’一晩ä¸æœ‰åŠ¹ã«ã§ãã¾ã™ã€‚", |
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "çµ±è¨ˆæƒ…å ±ã‚’é€ä¿¡ã™ã‚‹ã¨é–‹ç™ºè€…ãŒFerdiã®ã‚¨ãƒ©ãƒ¼ã‚’発見ã™ã‚‹ã®ã«å½¹ç«‹ã¡ã¾ã™ã€‚メッセージã®ãƒ‡ãƒ¼ã‚¿ã®ã‚ˆã†ãªå€‹äººæƒ…å ±ã¯ä¸€åˆ‡é€ä¿¡ã—ã¾ã›ã‚“。", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdiã¯ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚¯ã«macOSシステムã®ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚«ãƒ¼ã‚’使用ã—ã¦ã„ã¾ã™ã€‚スペルãƒã‚§ãƒƒã‚«ãƒ¼ã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹è¨€èªžã‚’変更ã™ã‚‹ã«ã¯ã€macOSã®ã‚·ã‚¹ãƒ†ãƒ 環境è¨å®šã‹ã‚‰è¡Œã£ã¦ãã ã•ã„。", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdiã¯ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚¯ã«macOSシステムã®ã‚¹ãƒšãƒ«ãƒã‚§ãƒƒã‚«ãƒ¼ã‚’使用ã—ã¦ã„ã¾ã™ã€‚スペルãƒã‚§ãƒƒã‚«ãƒ¼ã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹è¨€èªžã‚’変更ã™ã‚‹ã«ã¯ã€macOSã®ã‚·ã‚¹ãƒ†ãƒ 環境è¨å®šã‹ã‚‰è¡Œã£ã¦ãã ã•ã„。", |
277 | "settings.app.subheadlineCache": "ã‚ャッシュ", | 272 | "settings.app.subheadlineCache": "ã‚ャッシュ", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdiプãƒãƒ•ã‚£ãƒ¼ãƒ«", | ||
278 | "settings.app.todoServerInfo": "ã“ã®ã‚µãƒ¼ãƒãƒ¼ã¯ã€ŒFerdi ToDoã€ã®æ©Ÿèƒ½ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚", | 274 | "settings.app.todoServerInfo": "ã“ã®ã‚µãƒ¼ãƒãƒ¼ã¯ã€ŒFerdi ToDoã€ã®æ©Ÿèƒ½ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚", |
279 | "settings.app.translationHelp": "Ferdiã®ç¿»è¨³ä½œæ¥ã«ã”å”力をãŠé¡˜ã„ã—ã¾ã™ã€‚", | 275 | "settings.app.translationHelp": "Ferdiã®ç¿»è¨³ä½œæ¥ã«ã”å”力をãŠé¡˜ã„ã—ã¾ã™ã€‚", |
280 | "settings.app.universalDarkModeInfo": "ユニãƒãƒ¼ã‚µãƒ«ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰ã¯ã€ç¾åœ¨ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„サービスå‘ã‘ã«ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰ã‚’å‹•çš„ã«ç”Ÿæˆã—ã¾ã™ã€‚", | 276 | "settings.app.universalDarkModeInfo": "ユニãƒãƒ¼ã‚µãƒ«ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰ã¯ã€ç¾åœ¨ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„サービスå‘ã‘ã«ãƒ€ãƒ¼ã‚¯ãƒ¢ãƒ¼ãƒ‰ã‚’å‹•çš„ã«ç”Ÿæˆã—ã¾ã™ã€‚", |
@@ -378,7 +374,7 @@ | |||
378 | "settings.team.contentHeadline": "Franzã®ãƒãƒ¼ãƒ 管ç†", | 374 | "settings.team.contentHeadline": "Franzã®ãƒãƒ¼ãƒ 管ç†", |
379 | "settings.team.copy": "Franzãƒãƒ¼ãƒ 管ç†ã§ã¯ã€è¤‡æ•°ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®Franzサブスクリプションを管ç†ã§ãã¾ã™ã€‚Franzプレミアムã®ã‚µãƒ–スクリプションã¯ã€Ferdiを使用ã™ã‚‹ä¸Šã§ä½•ã®åˆ©ç‚¹ã‚‚ãªã„ã“ã¨ã«ç•™æ„ã—ã¦ãã ã•ã„。レガシーãªFranzã®ãƒãƒ¼ãƒ を管ç†ã—ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆç®¡ç†æ©Ÿèƒ½ã‚’ç¶æŒã™ã‚‹ãŸã‚ã ã‘ã«ã€ãƒãƒ¼ãƒ 管ç†ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã£ã¦ã„ã¾ã™ã€‚", | 375 | "settings.team.copy": "Franzãƒãƒ¼ãƒ 管ç†ã§ã¯ã€è¤‡æ•°ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®Franzサブスクリプションを管ç†ã§ãã¾ã™ã€‚Franzプレミアムã®ã‚µãƒ–スクリプションã¯ã€Ferdiを使用ã™ã‚‹ä¸Šã§ä½•ã®åˆ©ç‚¹ã‚‚ãªã„ã“ã¨ã«ç•™æ„ã—ã¦ãã ã•ã„。レガシーãªFranzã®ãƒãƒ¼ãƒ を管ç†ã—ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆç®¡ç†æ©Ÿèƒ½ã‚’ç¶æŒã™ã‚‹ãŸã‚ã ã‘ã«ã€ãƒãƒ¼ãƒ 管ç†ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã£ã¦ã„ã¾ã™ã€‚", |
380 | "settings.team.headline": "ãƒãƒ¼ãƒ ", | 376 | "settings.team.headline": "ãƒãƒ¼ãƒ ", |
381 | "settings.team.intro": "You are currently using Franz Servers, which is why you have access to Team Management.", | 377 | "settings.team.intro": "ç¾åœ¨Franzサーãƒãƒ¼ã‚’使用ã—ã¦ã„ã‚‹ãŸã‚ã€ãƒãƒ¼ãƒ 管ç†ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚", |
382 | "settings.team.manageAction": "meetfranz.com ã§ãƒãƒ¼ãƒ を管ç†", | 378 | "settings.team.manageAction": "meetfranz.com ã§ãƒãƒ¼ãƒ を管ç†", |
383 | "settings.team.teamsUnavailable": "ãƒãƒ¼ãƒ ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“", | 379 | "settings.team.teamsUnavailable": "ãƒãƒ¼ãƒ ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“", |
384 | "settings.team.teamsUnavailableInfo": "ãƒãƒ¼ãƒ ã¯ç¾åœ¨ã€Franzサーãƒãƒ¼ã‚’使用ã—ã¦ã„ã¦ã€Franzプãƒãƒ•ã‚§ãƒƒã‚·ãƒ§ãƒŠãƒ«ã‚’契約ã—ãŸæ–¹ã®ã¿ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚ãƒãƒ¼ãƒ を使用ã™ã‚‹ã«ã¯ã€ã‚µãƒ¼ãƒãƒ¼ã‚’ https://api.franzinfra.com ã«å¤‰æ›´ã—ã¦ãã ã•ã„。", | 380 | "settings.team.teamsUnavailableInfo": "ãƒãƒ¼ãƒ ã¯ç¾åœ¨ã€Franzサーãƒãƒ¼ã‚’使用ã—ã¦ã„ã¦ã€Franzプãƒãƒ•ã‚§ãƒƒã‚·ãƒ§ãƒŠãƒ«ã‚’契約ã—ãŸæ–¹ã®ã¿ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚ãƒãƒ¼ãƒ を使用ã™ã‚‹ã«ã¯ã€ã‚µãƒ¼ãƒãƒ¼ã‚’ https://api.franzinfra.com ã«å¤‰æ›´ã—ã¦ãã ã•ã„。", |
@@ -434,17 +430,17 @@ | |||
434 | "tabs.item.confirmDeleteService": "本当ã«{serviceName}サービスを削除ã—ã¾ã™ã‹ï¼Ÿ", | 430 | "tabs.item.confirmDeleteService": "本当ã«{serviceName}サービスを削除ã—ã¾ã™ã‹ï¼Ÿ", |
435 | "tabs.item.deleteService": "サービスã®å‰Šé™¤", | 431 | "tabs.item.deleteService": "サービスã®å‰Šé™¤", |
436 | "tabs.item.disableAudio": "オーディオã®ç„¡åŠ¹åŒ–", | 432 | "tabs.item.disableAudio": "オーディオã®ç„¡åŠ¹åŒ–", |
437 | "tabs.item.disableDarkMode": "Disable Dark mode", | 433 | "tabs.item.disableDarkMode": "ダークモードを無効ã«ã™ã‚‹", |
438 | "tabs.item.disableNotifications": "通知を無効ã«ã™ã‚‹", | 434 | "tabs.item.disableNotifications": "通知を無効ã«ã™ã‚‹", |
439 | "tabs.item.disableService": "サービスを無効ã«ã™ã‚‹", | 435 | "tabs.item.disableService": "サービスを無効ã«ã™ã‚‹", |
440 | "tabs.item.edit": "編集", | 436 | "tabs.item.edit": "編集", |
441 | "tabs.item.enableAudio": "オーディオを有効ã«ã™ã‚‹", | 437 | "tabs.item.enableAudio": "オーディオを有効ã«ã™ã‚‹", |
442 | "tabs.item.enableDarkMode": "Enable Dark mode", | 438 | "tabs.item.enableDarkMode": "ダークモードを有効ã«ã™ã‚‹", |
443 | "tabs.item.enableNotification": "通知を有効ã«ã™ã‚‹", | 439 | "tabs.item.enableNotification": "通知を有効ã«ã™ã‚‹", |
444 | "tabs.item.enableService": "サービスを有効ã«ã™ã‚‹", | 440 | "tabs.item.enableService": "サービスを有効ã«ã™ã‚‹", |
445 | "tabs.item.hibernateService": "Hibernate service", | 441 | "tabs.item.hibernateService": "サービスã®ä¼‘æ¢", |
446 | "tabs.item.reload": "å†èªã¿è¾¼ã¿", | 442 | "tabs.item.reload": "å†èªã¿è¾¼ã¿", |
447 | "tabs.item.wakeUpService": "Wake up service", | 443 | "tabs.item.wakeUpService": "サービスã®èµ·å‹•", |
448 | "validation.email": "{field}ã¯æ£ã—ãã‚ã‚Šã¾ã›ã‚“", | 444 | "validation.email": "{field}ã¯æ£ã—ãã‚ã‚Šã¾ã›ã‚“", |
449 | "validation.minLength": "{field}ã¯å°‘ãªãã¨ã‚‚{length}æ–‡å—以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“", | 445 | "validation.minLength": "{field}ã¯å°‘ãªãã¨ã‚‚{length}æ–‡å—以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“", |
450 | "validation.oneRequired": "å°‘ãªãã¨ã‚‚1ã¤ã¯å¿…è¦ã§ã™", | 446 | "validation.oneRequired": "å°‘ãªãã¨ã‚‚1ã¤ã¯å¿…è¦ã§ã™", |
diff --git a/src/i18n/locales/ka.json b/src/i18n/locales/ka.json index 96480c005..af5e5eb7c 100644 --- a/src/i18n/locales/ka.json +++ b/src/i18n/locales/ka.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Send as email", | ||
30 | "feature.shareFranz.action.facebook": "Share on Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Share on Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Ferdi-ის áƒáƒœáƒšáƒáƒ˜áƒœ სერვისთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ ებრვერმáƒáƒ®áƒ”რხდáƒ", | 29 | "global.api.unhealthy": "Ferdi-ის áƒáƒœáƒšáƒáƒ˜áƒœ სერვისთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ ებრვერმáƒáƒ®áƒ”რხდáƒ", |
37 | "global.notConnectedToTheInternet": "თქვენ áƒáƒ ხáƒáƒ თ ინტერნეტთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ ებული.", | 30 | "global.notConnectedToTheInternet": "თქვენ áƒáƒ ხáƒáƒ თ ინტერნეტთáƒáƒœ დáƒáƒ™áƒáƒ•áƒ¨áƒ˜áƒ ებული.", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Clear cache", | 199 | "settings.app.buttonClearAllCache": "Clear cache", |
207 | "settings.app.buttonInstallUpdate": "გáƒáƒ“áƒáƒ¢áƒ•áƒ˜áƒ თეთ დრდáƒáƒáƒ§áƒ”ნეთ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", | 200 | "settings.app.buttonInstallUpdate": "გáƒáƒ“áƒáƒ¢áƒ•áƒ˜áƒ თეთ დრდáƒáƒáƒ§áƒ”ნეთ გáƒáƒœáƒáƒ®áƒšáƒ”ბáƒ", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "გáƒáƒœáƒáƒ®áƒšáƒ”ბების შემáƒáƒ¬áƒ›áƒ”ბáƒ", | 203 | "settings.app.buttonSearchForUpdate": "გáƒáƒœáƒáƒ®áƒšáƒ”ბების შემáƒáƒ¬áƒ›áƒ”ბáƒ", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/ko.json b/src/i18n/locales/ko.json index 4286aa7d9..147e81647 100644 --- a/src/i18n/locales/ko.json +++ b/src/i18n/locales/ko.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "서비스를 TAB, ↑, â†“ì„ ì´ìš©í•´ ì„ íƒí• 수 있습니다. ENTER를 ì´ìš©í•˜ì—¬ 서비스를 ì—´ 수 있습니다.", | 26 | "feature.quickSwitch.info": "서비스를 TAB, ↑, â†“ì„ ì´ìš©í•´ ì„ íƒí• 수 있습니다. ENTER를 ì´ìš©í•˜ì—¬ 서비스를 ì—´ 수 있습니다.", |
27 | "feature.quickSwitch.search": "검색...", | 27 | "feature.quickSwitch.search": "검색...", |
28 | "feature.quickSwitch.title": "ë¹ ë¥¸ 검색", | 28 | "feature.quickSwitch.title": "ë¹ ë¥¸ 검색", |
29 | "feature.shareFranz.action.email": "ì´ë©”ì¼ë¡œ 보내기", | ||
30 | "feature.shareFranz.action.facebook": "페ì´ìŠ¤ë¶ì— ê³µìœ í•˜ê¸°", | ||
31 | "feature.shareFranz.action.twitter": "íŠ¸ìœ„í„°ì— ê³µìœ í•˜ê¸°", | ||
32 | "feature.shareFranz.headline": "Ferdi는 함께 í• ìˆ˜ë¡ ì¢‹ìŠµë‹ˆë‹¤!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "친구들과 ë™ë£Œë“¤ì—게 Ferdi ê°€ 얼마나 ë©‹ì§€ê³ ì¢‹ì€ì§€ì— 대해 ë„리 ì•Œë ¤ ì €í¬ë¥¼ ë„와주세요.", | ||
36 | "global.api.unhealthy": "Ferdi 온ë¼ì¸ ì„œë¹„ìŠ¤ì— ì—°ê²°í• ìˆ˜ 없습니다.", | 29 | "global.api.unhealthy": "Ferdi 온ë¼ì¸ ì„œë¹„ìŠ¤ì— ì—°ê²°í• ìˆ˜ 없습니다.", |
37 | "global.notConnectedToTheInternet": "ì¸í„°ë„·ì— ì—°ê²°í• ìˆ˜ 없습니다.", | 30 | "global.notConnectedToTheInternet": "ì¸í„°ë„·ì— ì—°ê²°í• ìˆ˜ 없습니다.", |
38 | "global.spellchecker.useDefault": "시스템 기본 사용 ({default})", | 31 | "global.spellchecker.useDefault": "시스템 기본 사용 ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "ìºì‹œ 지우기", | 199 | "settings.app.buttonClearAllCache": "ìºì‹œ 지우기", |
207 | "settings.app.buttonInstallUpdate": "재시작 후 ì—…ë°ì´íŠ¸ 설치", | 200 | "settings.app.buttonInstallUpdate": "재시작 후 ì—…ë°ì´íŠ¸ 설치", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "ì—…ë°ì´íŠ¸ 확ì¸", | 203 | "settings.app.buttonSearchForUpdate": "ì—…ë°ì´íŠ¸ 확ì¸", |
209 | "settings.app.cacheInfo": "현재 Ferdi ìºì‹œê°€ ë””ìŠ¤í¬ ê³µê°„ì˜ {size} ë§Œí¼ ì‚¬ìš©í•˜ê³ ìžˆìŠµë‹ˆë‹¤.", | 204 | "settings.app.cacheInfo": "현재 Ferdi ìºì‹œê°€ ë””ìŠ¤í¬ ê³µê°„ì˜ {size} ë§Œí¼ ì‚¬ìš©í•˜ê³ ìžˆìŠµë‹ˆë‹¤.", |
210 | "settings.app.cacheNotCleared": "ëª¨ë“ ìºì‹œë¥¼ 지우지 못했습니다.", | 205 | "settings.app.cacheNotCleared": "ëª¨ë“ ìºì‹œë¥¼ 지우지 못했습니다.", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "ìºì‹œ", | 272 | "settings.app.subheadlineCache": "ìºì‹œ", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Ferdi 번ì—ì„ ë„와주세요.", | 275 | "settings.app.translationHelp": "Ferdi 번ì—ì„ ë„와주세요.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/nl-BE.json b/src/i18n/locales/nl-BE.json index 3d6991d5e..a5a3601f7 100644 --- a/src/i18n/locales/nl-BE.json +++ b/src/i18n/locales/nl-BE.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Verstuur als e-mail", | ||
30 | "feature.shareFranz.action.facebook": "Deel op Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Deel op Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is beter samen!", | ||
33 | "feature.shareFranz.shareText.email": "Ik heb {telling} diensten toegevoegd aan Ferdi! Download de gratis app voor WhatsApp, Messenger, Slack, Skype, en anderen op www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Ik heb {tel} diensten toegevoegd aan Ferdi! Download de gratis app voor WhatsApp, Messenger, Slack, Skype, en anderen op www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Vertel je vrienden en collega's hoe geweldig Ferdi is en help ons het woord te verspreiden.", | ||
36 | "global.api.unhealthy": "Kan geen verbinding maken met de Ferdi services", | 29 | "global.api.unhealthy": "Kan geen verbinding maken met de Ferdi services", |
37 | "global.notConnectedToTheInternet": "Je hebt geen internet verbinding.", | 30 | "global.notConnectedToTheInternet": "Je hebt geen internet verbinding.", |
38 | "global.spellchecker.useDefault": "Gebruik Systeemstandaard ({default})", | 31 | "global.spellchecker.useDefault": "Gebruik Systeemstandaard ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Cache wissen", | 199 | "settings.app.buttonClearAllCache": "Cache wissen", |
207 | "settings.app.buttonInstallUpdate": "Opnieuw opstarten & update installeren", | 200 | "settings.app.buttonInstallUpdate": "Opnieuw opstarten & update installeren", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Controleer op updates", | 203 | "settings.app.buttonSearchForUpdate": "Controleer op updates", |
209 | "settings.app.cacheInfo": "Ferdi cache gebruikt momenteel {size} schijfruimte.", | 204 | "settings.app.cacheInfo": "Ferdi cache gebruikt momenteel {size} schijfruimte.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help ons om Ferdi te vertalen naar uw taal.", | 275 | "settings.app.translationHelp": "Help ons om Ferdi te vertalen naar uw taal.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/nl.json b/src/i18n/locales/nl.json index 1d639197c..7f1088849 100644 --- a/src/i18n/locales/nl.json +++ b/src/i18n/locales/nl.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Selecteer een service met TAB, ↑ en ↓. Open een service met ENTER.", | 26 | "feature.quickSwitch.info": "Selecteer een service met TAB, ↑ en ↓. Open een service met ENTER.", |
27 | "feature.quickSwitch.search": "Zoeken...", | 27 | "feature.quickSwitch.search": "Zoeken...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Verstuur als e-mail", | ||
30 | "feature.shareFranz.action.facebook": "Deel op Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Deel op Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is leuker samen!", | ||
33 | "feature.shareFranz.shareText.email": "Ik heb {count} services toegevoegd aan Ferdi! Download de gratis app voor Whatsapp, Messenger, Slack, Skype en co op www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Ik heb {count} services toegevoegd aan Ferdi! Download de gratis app voor Whatsapp, Messenger, Slack, Skype en co op www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Vertel je vrienden en collega's hoe geweldig Ferdi is en help ons om bekender te worden.", | ||
36 | "global.api.unhealthy": "Kan geen verbinding maken met de Ferdi-services.", | 29 | "global.api.unhealthy": "Kan geen verbinding maken met de Ferdi-services.", |
37 | "global.notConnectedToTheInternet": "U bent niet verbonden met het internet.", | 30 | "global.notConnectedToTheInternet": "U bent niet verbonden met het internet.", |
38 | "global.spellchecker.useDefault": "Gebruik systeemstandaard ({default})", | 31 | "global.spellchecker.useDefault": "Gebruik systeemstandaard ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Cache legen", | 199 | "settings.app.buttonClearAllCache": "Cache legen", |
207 | "settings.app.buttonInstallUpdate": "Opnieuw opstarten & update installeren", | 200 | "settings.app.buttonInstallUpdate": "Opnieuw opstarten & update installeren", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Controleer op updates", | 203 | "settings.app.buttonSearchForUpdate": "Controleer op updates", |
209 | "settings.app.cacheInfo": "Ferdi gebruikt op dit moment {size} schijfruimte aan tijdelijke bestanden.", | 204 | "settings.app.cacheInfo": "Ferdi gebruikt op dit moment {size} schijfruimte aan tijdelijke bestanden.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help ons om Ferdi uw taal te laten spreken.", | 275 | "settings.app.translationHelp": "Help ons om Ferdi uw taal te laten spreken.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/no.json b/src/i18n/locales/no.json index 57a4715c3..9c3184edf 100644 --- a/src/i18n/locales/no.json +++ b/src/i18n/locales/no.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Velg en tjeneste med TAB, ↑ og ↓. Åpne en tjeneste med ENTER.", | 26 | "feature.quickSwitch.info": "Velg en tjeneste med TAB, ↑ og ↓. Åpne en tjeneste med ENTER.", |
27 | "feature.quickSwitch.search": "Søk...", | 27 | "feature.quickSwitch.search": "Søk...", |
28 | "feature.quickSwitch.title": "Hurtigbytte", | 28 | "feature.quickSwitch.title": "Hurtigbytte", |
29 | "feature.shareFranz.action.email": "Send som e-post", | ||
30 | "feature.shareFranz.action.facebook": "Del på Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Del på Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi er bedre sammen!", | ||
33 | "feature.shareFranz.shareText.email": "Jeg har lagt til {count} tjenester i Ferdi! Få den gratis programvaren for WhatsApp, Messenger, Slack, Skype og andre på www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Jeg har lagt til {count} tjenester i Ferdi! Få den gratis programvaren for WhatsApp, Messenger, Slack, Skype og andre på www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Fortell vennene og kollegene dine om hvor fantastisk Ferdi er og hjelp oss med å spre ordet.", | ||
36 | "global.api.unhealthy": "Kan ikke koble til Ferdi online-tjenester", | 29 | "global.api.unhealthy": "Kan ikke koble til Ferdi online-tjenester", |
37 | "global.notConnectedToTheInternet": "Du er ikke koblet til Internett.", | 30 | "global.notConnectedToTheInternet": "Du er ikke koblet til Internett.", |
38 | "global.spellchecker.useDefault": "Bruk systemstandarden ({default})", | 31 | "global.spellchecker.useDefault": "Bruk systemstandarden ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Tøm hurtiglager", | 199 | "settings.app.buttonClearAllCache": "Tøm hurtiglager", |
207 | "settings.app.buttonInstallUpdate": "Start på nytt og installer oppdatering", | 200 | "settings.app.buttonInstallUpdate": "Start på nytt og installer oppdatering", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Se etter oppdateringer", | 203 | "settings.app.buttonSearchForUpdate": "Se etter oppdateringer", |
209 | "settings.app.cacheInfo": "Ferdi hurtiglager bruker for øyeblikket {size} av diskplassen.", | 204 | "settings.app.cacheInfo": "Ferdi hurtiglager bruker for øyeblikket {size} av diskplassen.", |
210 | "settings.app.cacheNotCleared": "Kunne ikke slette hurtiglageret", | 205 | "settings.app.cacheNotCleared": "Kunne ikke slette hurtiglageret", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi bruker Mac'en sin innebygde stavekontroll, for å se etter skrivefeil. Hvis du vil endre språket på stavekontrollen, så kan du gjøre det under Mac'ens system-innstillinger.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi bruker Mac'en sin innebygde stavekontroll, for å se etter skrivefeil. Hvis du vil endre språket på stavekontrollen, så kan du gjøre det under Mac'ens system-innstillinger.", |
277 | "settings.app.subheadlineCache": "Hurtiglager", | 272 | "settings.app.subheadlineCache": "Hurtiglager", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "Denne tjeneren vil ble brukt for \"Ferdi gjøremål\" funksjonen.", | 274 | "settings.app.todoServerInfo": "Denne tjeneren vil ble brukt for \"Ferdi gjøremål\" funksjonen.", |
279 | "settings.app.translationHelp": "Hjelp oss med å oversette Ferdi til ditt språk.", | 275 | "settings.app.translationHelp": "Hjelp oss med å oversette Ferdi til ditt språk.", |
280 | "settings.app.universalDarkModeInfo": "Universelt mørkt tema prøver å dynamisk generere mørke stiler for tjenester som ikke har denne støtten enda.", | 276 | "settings.app.universalDarkModeInfo": "Universelt mørkt tema prøver å dynamisk generere mørke stiler for tjenester som ikke har denne støtten enda.", |
diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 947c7347c..2bf259c66 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Wybierz usługę naciskając TAB, ↑ oraz ↓. Otwórz usługę naciskając ENTER.", | 26 | "feature.quickSwitch.info": "Wybierz usługę naciskając TAB, ↑ oraz ↓. Otwórz usługę naciskając ENTER.", |
27 | "feature.quickSwitch.search": "Szukaj...", | 27 | "feature.quickSwitch.search": "Szukaj...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Wyślij jako e-mail", | ||
30 | "feature.shareFranz.action.facebook": "Udostępnij na Facebooku", | ||
31 | "feature.shareFranz.action.twitter": "Udostępnij na Twitterze", | ||
32 | "feature.shareFranz.headline": "Ferdi jest lepszy, gdy tworzymy go razem!", | ||
33 | "feature.shareFranz.shareText.email": "Korzystam z {count} usług poprzez Ferdi! Pobierz bezpłatną aplikację do obsługi WhatsApp, Messenger, Slack, Skype i więcej na www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Korzystam z {count} usług poprzez Ferdi! Pobierz bezpłatną aplikację do obsługi WhatsApp, Messenger, Slack, Skype i więcej na www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Powiedz znajomym i kolegom o tym, jak odlotowy jest Ferdi i pomóż nam go spopularyzować.", | ||
36 | "global.api.unhealthy": "Nie można połączyć się z usługami Ferdi online", | 29 | "global.api.unhealthy": "Nie można połączyć się z usługami Ferdi online", |
37 | "global.notConnectedToTheInternet": "Nie masz połączenia z Internetem.", | 30 | "global.notConnectedToTheInternet": "Nie masz połączenia z Internetem.", |
38 | "global.spellchecker.useDefault": "Użyj domyślnego dla systemu ({default})", | 31 | "global.spellchecker.useDefault": "Użyj domyślnego dla systemu ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Zdefiniuj kolor akcentu w formacie zgodnym z CSS. (Domyślnie: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Zdefiniuj kolor akcentu w formacie zgodnym z CSS. (Domyślnie: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Wyczyść pamięć podręczną (cache)", | 199 | "settings.app.buttonClearAllCache": "Wyczyść pamięć podręczną (cache)", |
207 | "settings.app.buttonInstallUpdate": "Uruchom ponownie i zainstaluj aktualizacjÄ™", | 200 | "settings.app.buttonInstallUpdate": "Uruchom ponownie i zainstaluj aktualizacjÄ™", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Sprawdź aktualizacje", | 203 | "settings.app.buttonSearchForUpdate": "Sprawdź aktualizacje", |
209 | "settings.app.cacheInfo": "Pamięć podręczna zajmuje obecnie {size} przestrzeni dyskowej", | 204 | "settings.app.cacheInfo": "Pamięć podręczna zajmuje obecnie {size} przestrzeni dyskowej", |
210 | "settings.app.cacheNotCleared": "Błąd czyszczenia pamięci podręcznej", | 205 | "settings.app.cacheNotCleared": "Błąd czyszczenia pamięci podręcznej", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi używa sprawdzania pisowni wbudowanego w Twojego Maca do sprawdzania pomyłek. Aby zmienić języki ze sprawdzaniem pisowni, przejdź do Preferencji systemowych swojego Maca.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi używa sprawdzania pisowni wbudowanego w Twojego Maca do sprawdzania pomyłek. Aby zmienić języki ze sprawdzaniem pisowni, przejdź do Preferencji systemowych swojego Maca.", |
277 | "settings.app.subheadlineCache": "Pamięć podręczna", | 272 | "settings.app.subheadlineCache": "Pamięć podręczna", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Pomóż nam tłumaczyć Ferdi na Twój język.", | 275 | "settings.app.translationHelp": "Pomóż nam tłumaczyć Ferdi na Twój język.", |
280 | "settings.app.universalDarkModeInfo": "Uniwersalny tryb ciemny próbuje dynamicznie generować tryb ciemny dla usług, które jeszcze go nie wspierają.", | 276 | "settings.app.universalDarkModeInfo": "Uniwersalny tryb ciemny próbuje dynamicznie generować tryb ciemny dla usług, które jeszcze go nie wspierają.", |
diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 15dfc9185..b8865630e 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json | |||
@@ -10,7 +10,7 @@ | |||
10 | "connectionLostBanner.cta": "Recarregar serviço", | 10 | "connectionLostBanner.cta": "Recarregar serviço", |
11 | "connectionLostBanner.informationLink": "O que aconteceu?", | 11 | "connectionLostBanner.informationLink": "O que aconteceu?", |
12 | "connectionLostBanner.message": "Ah não! Ferdi perdeu a conexão com {name}.", | 12 | "connectionLostBanner.message": "Ah não! Ferdi perdeu a conexão com {name}.", |
13 | "feature.announcements.changelog.headline": "Alterações no Ferdi {version}", | 13 | "feature.announcements.changelog.headline": "Mudanças no Ferdi {version}", |
14 | "feature.debugger.title": "Publicar informações de depuração", | 14 | "feature.debugger.title": "Publicar informações de depuração", |
15 | "feature.nightlyBuilds.activate": "Ativar", | 15 | "feature.nightlyBuilds.activate": "Ativar", |
16 | "feature.nightlyBuilds.cancel": "Cancelar", | 16 | "feature.nightlyBuilds.cancel": "Cancelar", |
@@ -24,15 +24,8 @@ | |||
24 | "feature.publishDebugInfo.terms": "Termos do Serviço", | 24 | "feature.publishDebugInfo.terms": "Termos do Serviço", |
25 | "feature.publishDebugInfo.title": "Publicar informações de depuração", | 25 | "feature.publishDebugInfo.title": "Publicar informações de depuração", |
26 | "feature.quickSwitch.info": "Selecione um serviço com TAB, ↑ e ↓. Abra um serviço com ENTER.", | 26 | "feature.quickSwitch.info": "Selecione um serviço com TAB, ↑ e ↓. Abra um serviço com ENTER.", |
27 | "feature.quickSwitch.search": "Buscar...", | 27 | "feature.quickSwitch.search": "Localizar...", |
28 | "feature.quickSwitch.title": "Troca Rápida", | 28 | "feature.quickSwitch.title": "Troca Rápida", |
29 | "feature.shareFranz.action.email": "Enviar por e-mail", | ||
30 | "feature.shareFranz.action.facebook": "Compartilhar no Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Compartilhar no Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi é melhor em grupo!", | ||
33 | "feature.shareFranz.shareText.email": "Eu adicionei {count} serviços ao Ferdi! Adquira o aplicativo gratuito para WhatsApp, Messenger, Slack, Skype e mais em www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Eu adicionei uma contagem de serviços para o Ferdi! Baixe gratuitamente o aplicativo para WhatsApp, Messenger, Slack, Skype e outros em www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Conte aos seus amigos e colegas o quanto incrÃvel o Ferdi é e nos ajude a espalhar a mensagem.", | ||
36 | "global.api.unhealthy": "Não foi possÃvel estabelecer ligação aos serviços do Ferdi", | 29 | "global.api.unhealthy": "Não foi possÃvel estabelecer ligação aos serviços do Ferdi", |
37 | "global.notConnectedToTheInternet": "Você não está conectado à internet.", | 30 | "global.notConnectedToTheInternet": "Você não está conectado à internet.", |
38 | "global.spellchecker.useDefault": "Utilizar o Padrão do Sistema ({default})", | 31 | "global.spellchecker.useDefault": "Utilizar o Padrão do Sistema ({default})", |
@@ -42,7 +35,7 @@ | |||
42 | "global.userAgentHelp": "Use 'https://whatmyuseragent.com/' (para descobrir) ou 'https://developers.whatismybrowser.com/useragents/explore/' (para escolher) o agente de usuário desejado e copie e cole aqui.", | 35 | "global.userAgentHelp": "Use 'https://whatmyuseragent.com/' (para descobrir) ou 'https://developers.whatismybrowser.com/useragents/explore/' (para escolher) o agente de usuário desejado e copie e cole aqui.", |
43 | "global.userAgentPref": "User Agent", | 36 | "global.userAgentPref": "User Agent", |
44 | "import.headline": "Importar os seus serviços do Ferdi 4", | 37 | "import.headline": "Importar os seus serviços do Ferdi 4", |
45 | "import.notSupportedHeadline": "Serviços ainda não são suportados pelo Ferdi 5", | 38 | "import.notSupportedHeadline": "Estes serviços ainda não são suportados pelo Ferdi 5", |
46 | "import.skip.label": "Eu quero adicionar serviços manualmente", | 39 | "import.skip.label": "Eu quero adicionar serviços manualmente", |
47 | "import.submit.label": "Importar serviços", | 40 | "import.submit.label": "Importar serviços", |
48 | "infobar.authRequestFailed": "Ocorreram erros ao tentar autenticar. Por favor, tente desconectar e autenticar novamente se o erro persistir.", | 41 | "infobar.authRequestFailed": "Ocorreram erros ao tentar autenticar. Por favor, tente desconectar e autenticar novamente se o erro persistir.", |
@@ -87,7 +80,7 @@ | |||
87 | "menu.app.autohideMenuBar": "Auto-ocultar barra de menu", | 80 | "menu.app.autohideMenuBar": "Auto-ocultar barra de menu", |
88 | "menu.app.checkForUpdates": "Procurar atualizações", | 81 | "menu.app.checkForUpdates": "Procurar atualizações", |
89 | "menu.app.hide": "Ocultar", | 82 | "menu.app.hide": "Ocultar", |
90 | "menu.app.hideOthers": "Hide Others", | 83 | "menu.app.hideOthers": "Ocultar outros", |
91 | "menu.app.quit": "Sair", | 84 | "menu.app.quit": "Sair", |
92 | "menu.app.settings": "Configurações", | 85 | "menu.app.settings": "Configurações", |
93 | "menu.app.unhide": "Reexibir", | 86 | "menu.app.unhide": "Reexibir", |
@@ -112,7 +105,7 @@ | |||
112 | "menu.help.debugInfo": "Copiar a informação Debug", | 105 | "menu.help.debugInfo": "Copiar a informação Debug", |
113 | "menu.help.debugInfoCopiedBody": "As Informações de Depuração foram copiadas para a área de transferência.", | 106 | "menu.help.debugInfoCopiedBody": "As Informações de Depuração foram copiadas para a área de transferência.", |
114 | "menu.help.debugInfoCopiedHeadline": "Informações de Depuração do Ferdi", | 107 | "menu.help.debugInfoCopiedHeadline": "Informações de Depuração do Ferdi", |
115 | "menu.help.importExportData": "Import/Export Configuration Data", | 108 | "menu.help.importExportData": "Importar/Exportar Dados de Configuração", |
116 | "menu.help.learnMore": "Saber mais", | 109 | "menu.help.learnMore": "Saber mais", |
117 | "menu.help.privacy": "Declaração de privacidade", | 110 | "menu.help.privacy": "Declaração de privacidade", |
118 | "menu.help.publishDebugInfo": "Publicar Informações de Depuração", | 111 | "menu.help.publishDebugInfo": "Publicar Informações de Depuração", |
@@ -181,7 +174,7 @@ | |||
181 | "service.webviewLoader.loading": "Carregando {service}", | 174 | "service.webviewLoader.loading": "Carregando {service}", |
182 | "services.getStarted": "Vamos começar", | 175 | "services.getStarted": "Vamos começar", |
183 | "services.login": "Por favor, inicie sua sessão para usar Ferdi.", | 176 | "services.login": "Por favor, inicie sua sessão para usar Ferdi.", |
184 | "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner. If you are switching over (from one of the hosted servers) to using Ferdi without an account, please be informed that you can export your data from that server and subsequently import it using the Help menu to resurrect all your workspaces and configured services!", | 177 | "services.serverInfo": "Opcionalmente, você pode alterar seu servidor Ferdi clicando na engrenagem no canto inferior esquerdo. Se você está mudando (de um dos servidores hospedados) para usar Ferdi sem uma conta, por favor, saiba que você pode exportar seus dados desse servidor e posteriormente, importá-lo usando o menu Ajuda para restaurar todas as suas áreas de trabalho e serviços configurados!", |
185 | "services.serverless": "Use Ferdi sem uma conta", | 178 | "services.serverless": "Use Ferdi sem uma conta", |
186 | "services.welcome": "Bem-vindo ao Ferdi", | 179 | "services.welcome": "Bem-vindo ao Ferdi", |
187 | "settings.account.account.editButton": "Editar conta", | 180 | "settings.account.account.editButton": "Editar conta", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Informe sua cor de destaque em um formato compatÃvel com CSS. (Padrão: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Informe sua cor de destaque em um formato compatÃvel com CSS. (Padrão: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Limpar cache", | 199 | "settings.app.buttonClearAllCache": "Limpar cache", |
207 | "settings.app.buttonInstallUpdate": "Reiniciar e instalar atualizações", | 200 | "settings.app.buttonInstallUpdate": "Reiniciar e instalar atualizações", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Abrir pasta de perfil", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Abrir pasta de serviço personalizado", | ||
208 | "settings.app.buttonSearchForUpdate": "Procurar atualizações", | 203 | "settings.app.buttonSearchForUpdate": "Procurar atualizações", |
209 | "settings.app.cacheInfo": "A cache do Ferdi está a usar {size} de espaço em disco.", | 204 | "settings.app.cacheInfo": "A cache do Ferdi está a usar {size} de espaço em disco.", |
210 | "settings.app.cacheNotCleared": "Não foi possÃvel limpar o cache", | 205 | "settings.app.cacheNotCleared": "Não foi possÃvel limpar o cache", |
@@ -255,7 +250,7 @@ | |||
255 | "settings.app.form.universalDarkMode": "Habilitar modo noturno universal", | 250 | "settings.app.form.universalDarkMode": "Habilitar modo noturno universal", |
256 | "settings.app.form.useTouchIdToUnlock": "Permitir usar TouchID para desbloquear Ferdi", | 251 | "settings.app.form.useTouchIdToUnlock": "Permitir usar TouchID para desbloquear Ferdi", |
257 | "settings.app.form.useVerticalStyle": "Usar estilo vertical", | 252 | "settings.app.form.useVerticalStyle": "Usar estilo vertical", |
258 | "settings.app.form.wakeUpStrategy": "Wake up strategy", | 253 | "settings.app.form.wakeUpStrategy": "Estratégia de despertar", |
259 | "settings.app.headline": "Configurações", | 254 | "settings.app.headline": "Configurações", |
260 | "settings.app.headlineAdvanced": "Avançado", | 255 | "settings.app.headlineAdvanced": "Avançado", |
261 | "settings.app.headlineAppearance": "Aparência", | 256 | "settings.app.headlineAppearance": "Aparência", |
@@ -266,15 +261,16 @@ | |||
266 | "settings.app.hibernateInfo": "Por padrão, Ferdi manterá todos seus serviços abertos e carregados, assim eles estarão disponÃveis quando você for usá-los. O Serviço de Hibernação irá finalizar seus serviços após um perÃodo especÃfico. Isso é útil para evitar consumo excessivo de memória RAM evitando também que seu computador fique lento.", | 261 | "settings.app.hibernateInfo": "Por padrão, Ferdi manterá todos seus serviços abertos e carregados, assim eles estarão disponÃveis quando você for usá-los. O Serviço de Hibernação irá finalizar seus serviços após um perÃodo especÃfico. Isso é útil para evitar consumo excessivo de memória RAM evitando também que seu computador fique lento.", |
267 | "settings.app.inactivityLockInfo": "Minutos de inatividade, após este tempo Ferdi irá automaticamente bloquear. Utilize 0 para desabilitar", | 262 | "settings.app.inactivityLockInfo": "Minutos de inatividade, após este tempo Ferdi irá automaticamente bloquear. Utilize 0 para desabilitar", |
268 | "settings.app.languageDisclaimer": "As traduções oficiais são em inglês e alemão. As demais traduções são baseadas na ajuda da comunidade.", | 263 | "settings.app.languageDisclaimer": "As traduções oficiais são em inglês e alemão. As demais traduções são baseadas na ajuda da comunidade.", |
269 | "settings.app.lockInfo": "Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut {lockShortcut}.", | 264 | "settings.app.lockInfo": "O bloqueio por senha permite a você proteger suas mensagens.\nUsando o bloqueio por senha, será necessário informar sua senha toda vez que o Ferdi for iniciado ou você solicite o bloqueio.", |
270 | "settings.app.lockedPassword": "Senha", | 265 | "settings.app.lockedPassword": "Senha", |
271 | "settings.app.lockedPasswordInfo": "Tenha certeza que a senha definida será lembrada.\nCaso você esqueça a senha, será necessário reinstalar o Ferdi.", | 266 | "settings.app.lockedPasswordInfo": "Tenha certeza que a senha definida será lembrada.\nCaso você esqueça a senha, será necessário reinstalar o Ferdi.", |
272 | "settings.app.restartRequired": "Essa alteração requer uma reinicialização", | 267 | "settings.app.restartRequired": "Essa alteração requer uma reinicialização", |
273 | "settings.app.scheduledDNDInfo": "O modo Não perturbe agendado permite definir um perÃodo de tempo em que você não deseja receber notificações do Ferdi.", | 268 | "settings.app.scheduledDNDInfo": "O modo Não perturbe agendado permite definir um perÃodo de tempo em que você não deseja receber notificações do Ferdi.", |
274 | "settings.app.scheduledDNDTimeInfo": "Horários no formato de 24 horas. O horário de término pode ser anterior ao horário de inÃcio (por exemplo, inÃcio à s 17:00 e término à s 09:00) para ativar a opção Não perturbe da noite para o dia.", | 269 | "settings.app.scheduledDNDTimeInfo": "Horários no formato de 24 horas. O horário de término pode ser anterior ao horário de inÃcio (por exemplo, inÃcio à s 17:00 e término à s 09:00) para ativar a opção Não perturbe da noite para o dia.", |
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "O envio de dados de telemetria nos permite encontrar erros no Ferdi. Não enviaremos nenhuma informação pessoal como seus dados de mensagem. Alterar esta opção requer que você reinicie o Ferdi.", |
276 | "settings.app.spellCheckerLanguageInfo": "O Ferdi utiliza o corretor ortográfico integrado do Mac para verificar se há erros de digitação. Se quiser alterar os idiomas que o corretor ortográfico verifica, você pode fazer isso nas Preferências do Sistema do Mac.", | 271 | "settings.app.spellCheckerLanguageInfo": "O Ferdi utiliza o corretor ortográfico integrado do Mac para verificar se há erros de digitação. Se quiser alterar os idiomas que o corretor ortográfico verifica, você pode fazer isso nas Preferências do Sistema do Mac.", |
277 | "settings.app.subheadlineCache": "Memória Cache", | 272 | "settings.app.subheadlineCache": "Memória Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Perfil do Ferdi", | ||
278 | "settings.app.todoServerInfo": "Este servidor será usado para o recurso \"Tarefas do Ferdi\".", | 274 | "settings.app.todoServerInfo": "Este servidor será usado para o recurso \"Tarefas do Ferdi\".", |
279 | "settings.app.translationHelp": "Ajude-nos a traduzir a Ferdi para a sua lÃngua.", | 275 | "settings.app.translationHelp": "Ajude-nos a traduzir a Ferdi para a sua lÃngua.", |
280 | "settings.app.universalDarkModeInfo": "O Modo Noturno Universal tenta gerar dinamicamente estilos para serviços que, de outra forma, não são suportados no momento.", | 276 | "settings.app.universalDarkModeInfo": "O Modo Noturno Universal tenta gerar dinamicamente estilos para serviços que, de outra forma, não são suportados no momento.", |
@@ -434,17 +430,17 @@ | |||
434 | "tabs.item.confirmDeleteService": "Tem certeza de que deseja excluir o serviço {serviceName}?", | 430 | "tabs.item.confirmDeleteService": "Tem certeza de que deseja excluir o serviço {serviceName}?", |
435 | "tabs.item.deleteService": "Apagar serviço", | 431 | "tabs.item.deleteService": "Apagar serviço", |
436 | "tabs.item.disableAudio": "Desativar áudio", | 432 | "tabs.item.disableAudio": "Desativar áudio", |
437 | "tabs.item.disableDarkMode": "Disable Dark mode", | 433 | "tabs.item.disableDarkMode": "Desativar o modo escuro", |
438 | "tabs.item.disableNotifications": "Desativar notificações", | 434 | "tabs.item.disableNotifications": "Desativar notificações", |
439 | "tabs.item.disableService": "Desativar serviço", | 435 | "tabs.item.disableService": "Desativar serviço", |
440 | "tabs.item.edit": "Editar", | 436 | "tabs.item.edit": "Editar", |
441 | "tabs.item.enableAudio": "Ativar áudio", | 437 | "tabs.item.enableAudio": "Ativar áudio", |
442 | "tabs.item.enableDarkMode": "Enable Dark mode", | 438 | "tabs.item.enableDarkMode": "Ativar o modo escuro", |
443 | "tabs.item.enableNotification": "Ativar notificações", | 439 | "tabs.item.enableNotification": "Ativar notificações", |
444 | "tabs.item.enableService": "Ativar serviço", | 440 | "tabs.item.enableService": "Ativar serviço", |
445 | "tabs.item.hibernateService": "Hibernate service", | 441 | "tabs.item.hibernateService": "Serviço de hibernação", |
446 | "tabs.item.reload": "Recarregar", | 442 | "tabs.item.reload": "Recarregar", |
447 | "tabs.item.wakeUpService": "Wake up service", | 443 | "tabs.item.wakeUpService": "Iniciar serviço", |
448 | "validation.email": "{field} não é válido", | 444 | "validation.email": "{field} não é válido", |
449 | "validation.minLength": "{field} deveria ter pelo menos {length} caracteres", | 445 | "validation.minLength": "{field} deveria ter pelo menos {length} caracteres", |
450 | "validation.oneRequired": "É necessário pelo menos um", | 446 | "validation.oneRequired": "É necessário pelo menos um", |
diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json index 61f97f3b4..56661cdfd 100644 --- a/src/i18n/locales/pt.json +++ b/src/i18n/locales/pt.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Seleccione um serviço com TAB, ↑ e ↓. Abra um serviço com ENTER.", | 26 | "feature.quickSwitch.info": "Seleccione um serviço com TAB, ↑ e ↓. Abra um serviço com ENTER.", |
27 | "feature.quickSwitch.search": "A procurar...", | 27 | "feature.quickSwitch.search": "A procurar...", |
28 | "feature.quickSwitch.title": "Troca Rápida", | 28 | "feature.quickSwitch.title": "Troca Rápida", |
29 | "feature.shareFranz.action.email": "Enviar por e-mail", | ||
30 | "feature.shareFranz.action.facebook": "Compartilhar no Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Compartilhar no Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi é melhor em grupo!", | ||
33 | "feature.shareFranz.shareText.email": "Eu adicionei {count} serviços ao Ferdi! Adquira a aplicação gratuita para WhatsApp, Messenger, Slack, Skype e mais em www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Adicionei {count} serviços no Ferdi! Faça o download da aplicação para WhatsApp, Messenger, Slack, Skype e outros em www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Diga aos seus amigos e colegas o quão incrÃvel é Ferdi e ajude-nos a espalhar a mensagem.", | ||
36 | "global.api.unhealthy": "Não é possÃvel ligar aos serviços online de Ferdi", | 29 | "global.api.unhealthy": "Não é possÃvel ligar aos serviços online de Ferdi", |
37 | "global.notConnectedToTheInternet": "Não está ligado à internet.", | 30 | "global.notConnectedToTheInternet": "Não está ligado à internet.", |
38 | "global.spellchecker.useDefault": "Use o padrão de sistema ({default})", | 31 | "global.spellchecker.useDefault": "Use o padrão de sistema ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Limpar cache", | 199 | "settings.app.buttonClearAllCache": "Limpar cache", |
207 | "settings.app.buttonInstallUpdate": "Reiniciar e instalar atualizações", | 200 | "settings.app.buttonInstallUpdate": "Reiniciar e instalar atualizações", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Procurar atualizações", | 203 | "settings.app.buttonSearchForUpdate": "Procurar atualizações", |
209 | "settings.app.cacheInfo": "De momento, a cache de Ferdi está a usar {size} de espaço de disco.", | 204 | "settings.app.cacheInfo": "De momento, a cache de Ferdi está a usar {size} de espaço de disco.", |
210 | "settings.app.cacheNotCleared": "Não foi possÃvel limpar toda a cache", | 205 | "settings.app.cacheNotCleared": "Não foi possÃvel limpar toda a cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi usa o corretor ortográfico do seu Mac para verificar se há erros ortográficos. Se você quiser alterar os idiomas que o corretor ortográfico verifica, pode fazê-lo nas Preferências do Sistema do Mac.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi usa o corretor ortográfico do seu Mac para verificar se há erros ortográficos. Se você quiser alterar os idiomas que o corretor ortográfico verifica, pode fazê-lo nas Preferências do Sistema do Mac.", |
277 | "settings.app.subheadlineCache": "Memória cache", | 272 | "settings.app.subheadlineCache": "Memória cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "Este servidor será usado para a funcionalidade \"Tarefas Ferdi\".", | 274 | "settings.app.todoServerInfo": "Este servidor será usado para a funcionalidade \"Tarefas Ferdi\".", |
279 | "settings.app.translationHelp": "Ajude-nos a traduzir o Ferdi para o seu idioma.", | 275 | "settings.app.translationHelp": "Ajude-nos a traduzir o Ferdi para o seu idioma.", |
280 | "settings.app.universalDarkModeInfo": "O Modo Noturno Universal tenta gerar dinamicamente os estilos do modo noturno para serviços que não o suportem de outra forma atualmente.", | 276 | "settings.app.universalDarkModeInfo": "O Modo Noturno Universal tenta gerar dinamicamente os estilos do modo noturno para serviços que não o suportem de outra forma atualmente.", |
diff --git a/src/i18n/locales/ro.json b/src/i18n/locales/ro.json index f86d2c280..056e41e4e 100644 --- a/src/i18n/locales/ro.json +++ b/src/i18n/locales/ro.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Căutare...", | 27 | "feature.quickSwitch.search": "Căutare...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Trimite ca email", | ||
30 | "feature.shareFranz.action.facebook": "Distribuiți pe Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Distribuiți pe Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi este mai bun împreună!", | ||
33 | "feature.shareFranz.shareText.email": "Am adăugat {count} servicii la Ferdi! Obține aplicația gratuită pentru WhatsApp, Messenger, Slack, Skype și co pe www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Am adăugat {count} servicii la Ferdi! Obține aplicația gratuită pentru WhatsApp, Messenger, Slack, Skype și co pe www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Spuneți-le prietenilor și colegilor cât de minunat este Ferdi și ajutați-ne să răspândim cuvântul.", | ||
36 | "global.api.unhealthy": "Nu se pot conecta la Ferdi servicii online", | 29 | "global.api.unhealthy": "Nu se pot conecta la Ferdi servicii online", |
37 | "global.notConnectedToTheInternet": "Nu ești conectat la internet.", | 30 | "global.notConnectedToTheInternet": "Nu ești conectat la internet.", |
38 | "global.spellchecker.useDefault": "Folosește sistemul implicit ({default})", | 31 | "global.spellchecker.useDefault": "Folosește sistemul implicit ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Clear cache", | 199 | "settings.app.buttonClearAllCache": "Clear cache", |
207 | "settings.app.buttonInstallUpdate": "Restart & install update", | 200 | "settings.app.buttonInstallUpdate": "Restart & install update", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Check for updates", | 203 | "settings.app.buttonSearchForUpdate": "Check for updates", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index bb7ed8abe..dc63aaf2c 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Выберите ÑÐµÑ€Ð²Ð¸Ñ Ñ Tab, вверх и вниз. Откройте ÑÐµÑ€Ð²Ð¸Ñ Ð½Ð°Ð¶Ð°Ð² на ENTER.", | 26 | "feature.quickSwitch.info": "Выберите ÑÐµÑ€Ð²Ð¸Ñ Ñ Tab, вверх и вниз. Откройте ÑÐµÑ€Ð²Ð¸Ñ Ð½Ð°Ð¶Ð°Ð² на ENTER.", |
27 | "feature.quickSwitch.search": "ПоиÑк...", | 27 | "feature.quickSwitch.search": "ПоиÑк...", |
28 | "feature.quickSwitch.title": "БыÑтрое переключение", | 28 | "feature.quickSwitch.title": "БыÑтрое переключение", |
29 | "feature.shareFranz.action.email": "Отправить по email", | ||
30 | "feature.shareFranz.action.facebook": "ПоделитьÑÑ Ð½Ð° Facebook", | ||
31 | "feature.shareFranz.action.twitter": "ПоделитьÑÑ Ð² Twitter", | ||
32 | "feature.shareFranz.headline": "Сделаем Ferdi лучше вмеÑте!", | ||
33 | "feature.shareFranz.shareText.email": "Я добавил {count} ÑервиÑов во Ferdi! Теперь доÑтупны такие меÑÑенджеры как WhatsApp, Messenger, Slack, Skype и другие. Полый ÑпиÑок вы найдете на www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Я добавил {count} ÑервиÑ(ов) в Ferdi! Скачай беÑплатную аппку Ð´Ð»Ñ WhatsApp, Messenger, Slack, Skype и иже на www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "РаÑÑкажи Ñвоим друзьÑм и коллегам наÑколько прелеÑтен Ferdi и помоги нам развитьÑÑ", | ||
36 | "global.api.unhealthy": "Ðевозможно подключитьÑÑ Ðº онлайн-ÑервиÑам Ferdi", | 29 | "global.api.unhealthy": "Ðевозможно подключитьÑÑ Ðº онлайн-ÑервиÑам Ferdi", |
37 | "global.notConnectedToTheInternet": "Ð’Ñ‹ не подключены к Ñети Интернет", | 30 | "global.notConnectedToTheInternet": "Ð’Ñ‹ не подключены к Ñети Интернет", |
38 | "global.spellchecker.useDefault": "ИÑпользовать ÑиÑтемные параметры по умолчанию ({default})", | 31 | "global.spellchecker.useDefault": "ИÑпользовать ÑиÑтемные параметры по умолчанию ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "ОчиÑтить кÑш", | 199 | "settings.app.buttonClearAllCache": "ОчиÑтить кÑш", |
207 | "settings.app.buttonInstallUpdate": "ПерезапуÑтить и уÑтановить обновлениÑ", | 200 | "settings.app.buttonInstallUpdate": "ПерезапуÑтить и уÑтановить обновлениÑ", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Проверить обновлениÑ", | 203 | "settings.app.buttonSearchForUpdate": "Проверить обновлениÑ", |
209 | "settings.app.cacheInfo": "КÑш занимает {size} на диÑке.", | 204 | "settings.app.cacheInfo": "КÑш занимает {size} на диÑке.", |
210 | "settings.app.cacheNotCleared": "Ðе удалоÑÑŒ очиÑтить веÑÑŒ кÑш", | 205 | "settings.app.cacheNotCleared": "Ðе удалоÑÑŒ очиÑтить веÑÑŒ кÑш", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "КÑш", | 272 | "settings.app.subheadlineCache": "КÑш", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Помогите нам перевеÑти Ferdi на ваш Ñзык.", | 275 | "settings.app.translationHelp": "Помогите нам перевеÑти Ferdi на ваш Ñзык.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/sk.json b/src/i18n/locales/sk.json index 03bd0d976..a5ddfaea2 100644 --- a/src/i18n/locales/sk.json +++ b/src/i18n/locales/sk.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Hľadať...", | 27 | "feature.quickSwitch.search": "Hľadať...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Odoslať ako e-mail", | ||
30 | "feature.shareFranz.action.facebook": "Zdielať na Facebook-u", | ||
31 | "feature.shareFranz.action.twitter": "Zdieľať na Twitter-i", | ||
32 | "feature.shareFranz.headline": "Ferdi je lepšà spolu!", | ||
33 | "feature.shareFranz.shareText.email": "Pridali sme {count} služieb do Ferdi! ZÃskajte zadarmo aplikáciu pre WhatsApp, Messenger, Slack, Skype a iné na www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Pridal som {count} služieb do Ferdi! ZÃskajte zadarmo aplikáciu pre WhatsApp, Messenger, Slack, Skype a iné na www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Povedzte vaÅ¡im priateľom a známym aký je Ferdi skvelý a pomôžte nám rozÅ¡ÃriÅ¥ sa do sveta.", | ||
36 | "global.api.unhealthy": "Nedá sa pripojiť k online službám Ferdi", | 29 | "global.api.unhealthy": "Nedá sa pripojiť k online službám Ferdi", |
37 | "global.notConnectedToTheInternet": "Nie ste pripojenà k internetu.", | 30 | "global.notConnectedToTheInternet": "Nie ste pripojenà k internetu.", |
38 | "global.spellchecker.useDefault": "Použiť predvolené nastavenie systému ({default})", | 31 | "global.spellchecker.useDefault": "Použiť predvolené nastavenie systému ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "VyÄistiÅ¥ vyrovnávaciu pamäť", | 199 | "settings.app.buttonClearAllCache": "VyÄistiÅ¥ vyrovnávaciu pamäť", |
207 | "settings.app.buttonInstallUpdate": "Reštartovať a nainštalovať aktualizáciu", | 200 | "settings.app.buttonInstallUpdate": "Reštartovať a nainštalovať aktualizáciu", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Skontrolovať aktualizácie", | 203 | "settings.app.buttonSearchForUpdate": "Skontrolovať aktualizácie", |
209 | "settings.app.cacheInfo": "Vyrovnávacia pamäť Ferdi momentálne použÃva {size} miesta na disku.", | 204 | "settings.app.cacheInfo": "Vyrovnávacia pamäť Ferdi momentálne použÃva {size} miesta na disku.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Vyrovnávacia pamäť", | 272 | "settings.app.subheadlineCache": "Vyrovnávacia pamäť", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Pomôžte nám preložiť Ferdi do svojho jazyka.", | 275 | "settings.app.translationHelp": "Pomôžte nám preložiť Ferdi do svojho jazyka.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/sl.json b/src/i18n/locales/sl.json index 3e185e73b..89060b506 100644 --- a/src/i18n/locales/sl.json +++ b/src/i18n/locales/sl.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Send as email", | ||
30 | "feature.shareFranz.action.facebook": "Share on Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Share on Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Can't connect to Ferdi online services", | 29 | "global.api.unhealthy": "Can't connect to Ferdi online services", |
37 | "global.notConnectedToTheInternet": "You are not connected to the internet.", | 30 | "global.notConnectedToTheInternet": "You are not connected to the internet.", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Clear cache", | 199 | "settings.app.buttonClearAllCache": "Clear cache", |
207 | "settings.app.buttonInstallUpdate": "Restart & install update", | 200 | "settings.app.buttonInstallUpdate": "Restart & install update", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Check for updates", | 203 | "settings.app.buttonSearchForUpdate": "Check for updates", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/sr.json b/src/i18n/locales/sr.json index e92dd141f..54045d340 100644 --- a/src/i18n/locales/sr.json +++ b/src/i18n/locales/sr.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Search...", | 27 | "feature.quickSwitch.search": "Search...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Пошаљите као Е-мејл", | ||
30 | "feature.shareFranz.action.facebook": "Поделите на ФејÑбуку", | ||
31 | "feature.shareFranz.action.twitter": "Поделите на Твитеру", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Nije moguće pristupiti Ferdi-ovim on-line servisima. ", | 29 | "global.api.unhealthy": "Nije moguće pristupiti Ferdi-ovim on-line servisima. ", |
37 | "global.notConnectedToTheInternet": "Niste povezani sa serverom.", | 30 | "global.notConnectedToTheInternet": "Niste povezani sa serverom.", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 31 | "global.spellchecker.useDefault": "Use System Default ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "ОчиÑти кеш", | 199 | "settings.app.buttonClearAllCache": "ОчиÑти кеш", |
207 | "settings.app.buttonInstallUpdate": "Ponovo pokreni i instaliraj ažuriranje ", | 200 | "settings.app.buttonInstallUpdate": "Ponovo pokreni i instaliraj ažuriranje ", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Potraži ažuriranja", | 203 | "settings.app.buttonSearchForUpdate": "Potraži ažuriranja", |
209 | "settings.app.cacheInfo": "Франз кеш тренутно кориÑти {size} проÑтора на диÑку.", | 204 | "settings.app.cacheInfo": "Франз кеш тренутно кориÑти {size} проÑтора на диÑку.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Кеш", | 272 | "settings.app.subheadlineCache": "Кеш", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Pomozite nam prevesti aplikaciju na Vaš jezik. ", | 275 | "settings.app.translationHelp": "Pomozite nam prevesti aplikaciju na Vaš jezik. ", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/sv.json b/src/i18n/locales/sv.json index 9545511b4..5dcd42154 100644 --- a/src/i18n/locales/sv.json +++ b/src/i18n/locales/sv.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Välj en tjänst med TAB, ↑ and ↓. Öppna en tjänst med ENTER.", | 26 | "feature.quickSwitch.info": "Välj en tjänst med TAB, ↑ and ↓. Öppna en tjänst med ENTER.", |
27 | "feature.quickSwitch.search": "Sök...", | 27 | "feature.quickSwitch.search": "Sök...", |
28 | "feature.quickSwitch.title": "Snabbväxling", | 28 | "feature.quickSwitch.title": "Snabbväxling", |
29 | "feature.shareFranz.action.email": "Skicka som e-post", | ||
30 | "feature.shareFranz.action.facebook": "Dela på Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Dela på Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi är bättre tillsammans!", | ||
33 | "feature.shareFranz.shareText.email": "Jag har lagt till {count} tjänster till Ferdi! Skaffa en gratis app för WhatsApp, Messenger, Slack, Skype och många fler på www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Jag har lagt till {count} tjänster till Ferdi! Skaffa en gratis app för WhatsApp, Messenger, Slack, Skype och många fler på www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Berätta för dina vänner och kollegor hur grymt Ferdi är och hjälp oss att sprida ordet.", | ||
36 | "global.api.unhealthy": "Kan inte ansluta till Ferdis onlinetjänster", | 29 | "global.api.unhealthy": "Kan inte ansluta till Ferdis onlinetjänster", |
37 | "global.notConnectedToTheInternet": "Du är inte ansluten till Internet.", | 30 | "global.notConnectedToTheInternet": "Du är inte ansluten till Internet.", |
38 | "global.spellchecker.useDefault": "Använd systemstandard ({default})", | 31 | "global.spellchecker.useDefault": "Använd systemstandard ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Rensa cache", | 199 | "settings.app.buttonClearAllCache": "Rensa cache", |
207 | "settings.app.buttonInstallUpdate": "Starta om & installera uppdatering", | 200 | "settings.app.buttonInstallUpdate": "Starta om & installera uppdatering", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Sök efter uppdateringar", | 203 | "settings.app.buttonSearchForUpdate": "Sök efter uppdateringar", |
209 | "settings.app.cacheInfo": "Ferdis cache använder för närvarande {size} diskutrymme.", | 204 | "settings.app.cacheInfo": "Ferdis cache använder för närvarande {size} diskutrymme.", |
210 | "settings.app.cacheNotCleared": "Kunde inte rensa alla temporära filer", | 205 | "settings.app.cacheNotCleared": "Kunde inte rensa alla temporära filer", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "Denna server kommer att användas för \"Ferdi Todo\"-funktionen.", | 274 | "settings.app.todoServerInfo": "Denna server kommer att användas för \"Ferdi Todo\"-funktionen.", |
279 | "settings.app.translationHelp": "Hjälp oss att översätta Ferdi till ditt språk.", | 275 | "settings.app.translationHelp": "Hjälp oss att översätta Ferdi till ditt språk.", |
280 | "settings.app.universalDarkModeInfo": "Globalt mörkt läge försöker att dynamiskt generera en mörk stil för tjänster som ännu inte stöds.", | 276 | "settings.app.universalDarkModeInfo": "Globalt mörkt läge försöker att dynamiskt generera en mörk stil för tjänster som ännu inte stöds.", |
diff --git a/src/i18n/locales/tr.json b/src/i18n/locales/tr.json index 651f0da50..b29ab81fc 100644 --- a/src/i18n/locales/tr.json +++ b/src/i18n/locales/tr.json | |||
@@ -18,21 +18,14 @@ | |||
18 | "feature.nightlyBuilds.title": "Nightly Yapılar", | 18 | "feature.nightlyBuilds.title": "Nightly Yapılar", |
19 | "feature.publishDebugInfo.error": "There was an error while trying to publish the debug information. Please try again later or view the console for more information.", | 19 | "feature.publishDebugInfo.error": "There was an error while trying to publish the debug information. Please try again later or view the console for more information.", |
20 | "feature.publishDebugInfo.info": "Publishing your debug information helps us find issues and errors in Ferdi. By publishing your debug information you accept Ferdi Debugger's privacy policy and terms of service", | 20 | "feature.publishDebugInfo.info": "Publishing your debug information helps us find issues and errors in Ferdi. By publishing your debug information you accept Ferdi Debugger's privacy policy and terms of service", |
21 | "feature.publishDebugInfo.privacy": "Privacy policy", | 21 | "feature.publishDebugInfo.privacy": "Gizlilik ilkesi", |
22 | "feature.publishDebugInfo.publish": "Accept and publish", | 22 | "feature.publishDebugInfo.publish": "Onayla ve yayımla", |
23 | "feature.publishDebugInfo.published": "Your debug log was published and is now availible at", | 23 | "feature.publishDebugInfo.published": "Your debug log was published and is now availible at", |
24 | "feature.publishDebugInfo.terms": "Kullanım Koşulları", | 24 | "feature.publishDebugInfo.terms": "Kullanım Koşulları", |
25 | "feature.publishDebugInfo.title": "Publish debug information", | 25 | "feature.publishDebugInfo.title": "Publish debug information", |
26 | "feature.quickSwitch.info": "TAB, ↑ ve ↓ ile bir servis seç. ENTER ile bir servisi aç.", | 26 | "feature.quickSwitch.info": "TAB, ↑ ve ↓ ile bir servis seç. ENTER ile bir servisi aç.", |
27 | "feature.quickSwitch.search": "Ara...", | 27 | "feature.quickSwitch.search": "Ara...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "Mail olarak gönder", | ||
30 | "feature.shareFranz.action.facebook": "Facebook'ta PaylaÅŸ", | ||
31 | "feature.shareFranz.action.twitter": "Twitter'da PaylaÅŸ", | ||
32 | "feature.shareFranz.headline": "Ferdi birlikte daha iyi!", | ||
33 | "feature.shareFranz.shareText.email": "Ferdi'a {count} tane servis ekledim! WhatsApp, Messenger, Slack ve fazlasını içeren ücretsiz uygulamayı www.getferdi.com adresinden edinin.", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Arkadaşlarına ve meslektaşlarına Ferdi'ın ne kadar harika olduğunu söyle ve bize bu kelimeyi yaymamızda yardım et.", | ||
36 | "global.api.unhealthy": "Ferdi hizmetlerine ÅŸu anda eriÅŸilemiyor", | 29 | "global.api.unhealthy": "Ferdi hizmetlerine ÅŸu anda eriÅŸilemiyor", |
37 | "global.notConnectedToTheInternet": "İnternete bağlı değilsiniz.", | 30 | "global.notConnectedToTheInternet": "İnternete bağlı değilsiniz.", |
38 | "global.spellchecker.useDefault": "Sistem Dilini Kullan ({default})", | 31 | "global.spellchecker.useDefault": "Sistem Dilini Kullan ({default})", |
@@ -53,7 +46,7 @@ | |||
53 | "infobar.requiredRequestsFailed": "Hizmetler ve kullanıcı bilgileri yüklenemedi", | 46 | "infobar.requiredRequestsFailed": "Hizmetler ve kullanıcı bilgileri yüklenemedi", |
54 | "infobar.servicesUpdated": "Hizmetleriniz güncellendi.", | 47 | "infobar.servicesUpdated": "Hizmetleriniz güncellendi.", |
55 | "infobar.updateAvailable": "Yeni Ferdi güncellemesi mevcut.", | 48 | "infobar.updateAvailable": "Yeni Ferdi güncellemesi mevcut.", |
56 | "infobox.dismiss": "Dismiss", | 49 | "infobox.dismiss": "Yok say", |
57 | "invite.email.label": "E-posta adresi", | 50 | "invite.email.label": "E-posta adresi", |
58 | "invite.headline.friends": "3 arkadaşını ya da çalışma arkadaşını davet et", | 51 | "invite.headline.friends": "3 arkadaşını ya da çalışma arkadaşını davet et", |
59 | "invite.name.label": "Ad", | 52 | "invite.name.label": "Ad", |
@@ -65,9 +58,9 @@ | |||
65 | "locked.invalidCredentials": "Geçersiz şifre", | 58 | "locked.invalidCredentials": "Geçersiz şifre", |
66 | "locked.password.label": "Åžifre", | 59 | "locked.password.label": "Åžifre", |
67 | "locked.submit.label": "Kilidi aç", | 60 | "locked.submit.label": "Kilidi aç", |
68 | "locked.touchId": "Unlock with Touch ID", | 61 | "locked.touchId": "Kilidi parmak iziyle aç", |
69 | "locked.touchIdPrompt": "unlock via Touch ID", | 62 | "locked.touchIdPrompt": "kilidi parmak iziyle aç", |
70 | "locked.unlockWithPassword": "Unlock with Password", | 63 | "locked.unlockWithPassword": "Kilidi parola ile aç", |
71 | "login.changeServer": "Sunucuyu deÄŸiÅŸtir", | 64 | "login.changeServer": "Sunucuyu deÄŸiÅŸtir", |
72 | "login.customServerQuestion": "Using a custom Ferdi server?", | 65 | "login.customServerQuestion": "Using a custom Ferdi server?", |
73 | "login.customServerSuggestion": "Try importing your Franz account", | 66 | "login.customServerSuggestion": "Try importing your Franz account", |
@@ -87,32 +80,32 @@ | |||
87 | "menu.app.autohideMenuBar": "Menü çubuğunu otomatik otomatik olarak gizle", | 80 | "menu.app.autohideMenuBar": "Menü çubuğunu otomatik otomatik olarak gizle", |
88 | "menu.app.checkForUpdates": "Güncellemeleri kontrol et", | 81 | "menu.app.checkForUpdates": "Güncellemeleri kontrol et", |
89 | "menu.app.hide": "Gizle", | 82 | "menu.app.hide": "Gizle", |
90 | "menu.app.hideOthers": "Hide Others", | 83 | "menu.app.hideOthers": "DiÄŸerlerini Gizle", |
91 | "menu.app.quit": "Quit", | 84 | "menu.app.quit": "Çık", |
92 | "menu.app.settings": "Ayarlar", | 85 | "menu.app.settings": "Ayarlar", |
93 | "menu.app.unhide": "Unhide", | 86 | "menu.app.unhide": "Göster", |
94 | "menu.edit": "Düzenle", | 87 | "menu.edit": "Düzenle", |
95 | "menu.edit.copy": "Copy", | 88 | "menu.edit.copy": "Kopyala", |
96 | "menu.edit.cut": "Cut", | 89 | "menu.edit.cut": "Kes", |
97 | "menu.edit.delete": "Sil", | 90 | "menu.edit.delete": "Sil", |
98 | "menu.edit.emojiSymbols": "Emoji & Semboller", | 91 | "menu.edit.emojiSymbols": "Emoji & Semboller", |
99 | "menu.edit.findInPage": "Find in Page", | 92 | "menu.edit.findInPage": "Sayfada Bul", |
100 | "menu.edit.paste": "Paste", | 93 | "menu.edit.paste": "Yapıştır", |
101 | "menu.edit.pasteAndMatchStyle": "Paste And Match Style", | 94 | "menu.edit.pasteAndMatchStyle": "Yapıştır ve Biçemi Eşleştir", |
102 | "menu.edit.redo": "Redo", | 95 | "menu.edit.redo": "Yeniden Yap", |
103 | "menu.edit.selectAll": "Select All", | 96 | "menu.edit.selectAll": "Tümünü Seç", |
104 | "menu.edit.speech": "KonuÅŸma", | 97 | "menu.edit.speech": "KonuÅŸma", |
105 | "menu.edit.startDictation": "Ä°mlaya BaÅŸla", | 98 | "menu.edit.startDictation": "Ä°mlaya BaÅŸla", |
106 | "menu.edit.startSpeaking": "KonuÅŸmaya BaÅŸla", | 99 | "menu.edit.startSpeaking": "KonuÅŸmaya BaÅŸla", |
107 | "menu.edit.stopSpeaking": "Konuşmayı Bırak/Durdur", | 100 | "menu.edit.stopSpeaking": "Konuşmayı Bırak/Durdur", |
108 | "menu.edit.undo": "Undo", | 101 | "menu.edit.undo": "Geri Al", |
109 | "menu.file": "Dosya", | 102 | "menu.file": "Dosya", |
110 | "menu.help": "Help", | 103 | "menu.help": "Yardım", |
111 | "menu.help.changelog": "Değişim Günlüğü", | 104 | "menu.help.changelog": "Değişim Günlüğü", |
112 | "menu.help.debugInfo": "Hata ayıklama bilgisini kopyala", | 105 | "menu.help.debugInfo": "Hata ayıklama bilgisini kopyala", |
113 | "menu.help.debugInfoCopiedBody": "Hata ayıklama bilgilerin panoya kopyalandı.", | 106 | "menu.help.debugInfoCopiedBody": "Hata ayıklama bilgilerin panoya kopyalandı.", |
114 | "menu.help.debugInfoCopiedHeadline": "Ferdi Hata Ayıklama Bilgisi", | 107 | "menu.help.debugInfoCopiedHeadline": "Ferdi Hata Ayıklama Bilgisi", |
115 | "menu.help.importExportData": "Import/Export Configuration Data", | 108 | "menu.help.importExportData": "Ayarları İçe veya Dışa Aktar", |
116 | "menu.help.learnMore": "Daha Fazlasını Öğrenin", | 109 | "menu.help.learnMore": "Daha Fazlasını Öğrenin", |
117 | "menu.help.privacy": "Gizlilik Sözleşmesi", | 110 | "menu.help.privacy": "Gizlilik Sözleşmesi", |
118 | "menu.help.publishDebugInfo": "Publish Debug Information", | 111 | "menu.help.publishDebugInfo": "Publish Debug Information", |
@@ -120,7 +113,7 @@ | |||
120 | "menu.help.tos": "Kullanım Şartları", | 113 | "menu.help.tos": "Kullanım Şartları", |
121 | "menu.services": "Hizmetler", | 114 | "menu.services": "Hizmetler", |
122 | "menu.services.activatePreviousService": "Bir önceki servisi aktive et", | 115 | "menu.services.activatePreviousService": "Bir önceki servisi aktive et", |
123 | "menu.services.addNewService": "Add New Service", | 116 | "menu.services.addNewService": "Yeni Servis Ekle", |
124 | "menu.services.goHome": "Ana Sayfa", | 117 | "menu.services.goHome": "Ana Sayfa", |
125 | "menu.services.setNextServiceActive": "Bir sonraki servisi aktive et", | 118 | "menu.services.setNextServiceActive": "Bir sonraki servisi aktive et", |
126 | "menu.todos": "Yapılacaklar", | 119 | "menu.todos": "Yapılacaklar", |
@@ -130,20 +123,20 @@ | |||
130 | "menu.view.forward": "Ä°leri", | 123 | "menu.view.forward": "Ä°leri", |
131 | "menu.view.lockFerdi": "Ferdi'yi Kilitle", | 124 | "menu.view.lockFerdi": "Ferdi'yi Kilitle", |
132 | "menu.view.openQuickSwitch": "QuickSwitch'i aç", | 125 | "menu.view.openQuickSwitch": "QuickSwitch'i aç", |
133 | "menu.view.reloadFerdi": "Reload Ferdi", | 126 | "menu.view.reloadFerdi": "Ferdi'yi Yeniden Yükle", |
134 | "menu.view.reloadService": "Servisi Tekrar Yükle", | 127 | "menu.view.reloadService": "Servisi Tekrar Yükle", |
135 | "menu.view.reloadTodos": "Reload ToDos", | 128 | "menu.view.reloadTodos": "Yapılacaklar'ı Yeniden Yükle", |
136 | "menu.view.resetZoom": "Actual Size", | 129 | "menu.view.resetZoom": "Gerçek Boyut", |
137 | "menu.view.toggleDarkMode": "Gece Modunu kapat", | 130 | "menu.view.toggleDarkMode": "Gece Modunu kapat", |
138 | "menu.view.toggleDevTools": "Geliştirici Araçlarına Geç", | 131 | "menu.view.toggleDevTools": "Geliştirici Araçlarına Geç", |
139 | "menu.view.toggleFullScreen": "Toggle Full Screen", | 132 | "menu.view.toggleFullScreen": "Tam Ekrana Geç", |
140 | "menu.view.toggleServiceDevTools": "Hizmet Geliştirici Araçlarını Değiştir", | 133 | "menu.view.toggleServiceDevTools": "Hizmet Geliştirici Araçlarını Değiştir", |
141 | "menu.view.toggleTodosDevTools": "Yapılacaklar Listesi Geliştirici Araçlarını Aç", | 134 | "menu.view.toggleTodosDevTools": "Yapılacaklar Listesi Geliştirici Araçlarını Aç", |
142 | "menu.view.zoomIn": "Zoom In", | 135 | "menu.view.zoomIn": "Yakınlaştır", |
143 | "menu.view.zoomOut": "Zoom Out", | 136 | "menu.view.zoomOut": "Uzaklaştır", |
144 | "menu.window": "Window", | 137 | "menu.window": "Pencere", |
145 | "menu.window.close": "Close", | 138 | "menu.window.close": "Kapat", |
146 | "menu.window.minimize": "Minimize", | 139 | "menu.window.minimize": "Küçült", |
147 | "menu.workspaces": "Çalışma Alanları", | 140 | "menu.workspaces": "Çalışma Alanları", |
148 | "menu.workspaces.addNewWorkspace": "Yeni Çalışma Alanı ekle...", | 141 | "menu.workspaces.addNewWorkspace": "Yeni Çalışma Alanı ekle...", |
149 | "menu.workspaces.closeWorkspaceDrawer": "Çalışma alanı çekmecesini kapat", | 142 | "menu.workspaces.closeWorkspaceDrawer": "Çalışma alanı çekmecesini kapat", |
@@ -156,9 +149,9 @@ | |||
156 | "password.noUser": "Bu e-posta adresinde bir kullanıcı bulunamadı", | 149 | "password.noUser": "Bu e-posta adresinde bir kullanıcı bulunamadı", |
157 | "password.submit.label": "Gönder", | 150 | "password.submit.label": "Gönder", |
158 | "password.successInfo": "E-postanızı kontrol ediniz", | 151 | "password.successInfo": "E-postanızı kontrol ediniz", |
159 | "pricing.features.accountSync": "Account Synchronisation", | 152 | "pricing.features.accountSync": "Hesap EÅŸitleme", |
160 | "pricing.features.customWebsites": "Özel Siteler Ekle", | 153 | "pricing.features.customWebsites": "Özel Siteler Ekle", |
161 | "pricing.features.desktopNotifications": "Desktop Notifications", | 154 | "pricing.features.desktopNotifications": "Masaüstü Bildirimleri", |
162 | "pricing.features.onPremise": "On-premise & other Hosted Services", | 155 | "pricing.features.onPremise": "On-premise & other Hosted Services", |
163 | "pricing.features.recipes": "Choose from more than 70 Services", | 156 | "pricing.features.recipes": "Choose from more than 70 Services", |
164 | "pricing.features.serviceProxies": "Servis proxy'leri", | 157 | "pricing.features.serviceProxies": "Servis proxy'leri", |
@@ -180,12 +173,12 @@ | |||
180 | "service.errorHandler.text": "{name} yüklenemedi.", | 173 | "service.errorHandler.text": "{name} yüklenemedi.", |
181 | "service.webviewLoader.loading": "Loading {service}", | 174 | "service.webviewLoader.loading": "Loading {service}", |
182 | "services.getStarted": "Haydi başlayalım", | 175 | "services.getStarted": "Haydi başlayalım", |
183 | "services.login": "Please login to use Ferdi.", | 176 | "services.login": "Ferdi'yi kullanmak için lütfen oturum açın.", |
184 | "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner. If you are switching over (from one of the hosted servers) to using Ferdi without an account, please be informed that you can export your data from that server and subsequently import it using the Help menu to resurrect all your workspaces and configured services!", | 177 | "services.serverInfo": "Optionally, you can change your Ferdi server by clicking the cog in the bottom left corner. If you are switching over (from one of the hosted servers) to using Ferdi without an account, please be informed that you can export your data from that server and subsequently import it using the Help menu to resurrect all your workspaces and configured services!", |
185 | "services.serverless": "Ferdi'yi bir hesap olmadan kullan", | 178 | "services.serverless": "Ferdi'yi bir hesap olmadan kullan", |
186 | "services.welcome": "Ferdi'a HoÅŸgeldiniz", | 179 | "services.welcome": "Ferdi'a HoÅŸgeldiniz", |
187 | "settings.account.account.editButton": "Hesabı düzenle", | 180 | "settings.account.account.editButton": "Hesabı düzenle", |
188 | "settings.account.accountUnavailable": "Account is unavailable", | 181 | "settings.account.accountUnavailable": "Hesap kullanılamıyor", |
189 | "settings.account.accountUnavailableInfo": "You are using Ferdi without an account. If you want to use Ferdi with an account and keep your services synchronized across installations, please select a server in the Settings tab then login.", | 182 | "settings.account.accountUnavailableInfo": "You are using Ferdi without an account. If you want to use Ferdi with an account and keep your services synchronized across installations, please select a server in the Settings tab then login.", |
190 | "settings.account.buttonSave": "Profili güncelle", | 183 | "settings.account.buttonSave": "Profili güncelle", |
191 | "settings.account.deleteAccount": "Hesabı sil", | 184 | "settings.account.deleteAccount": "Hesabı sil", |
@@ -201,14 +194,16 @@ | |||
201 | "settings.account.tryReloadServices": "Tekrar deneyin", | 194 | "settings.account.tryReloadServices": "Tekrar deneyin", |
202 | "settings.account.tryReloadUserInfoRequest": "Tekrar deneyin", | 195 | "settings.account.tryReloadUserInfoRequest": "Tekrar deneyin", |
203 | "settings.account.userInfoRequestFailed": "Kullanıcı bilgisi yüklenemedi", | 196 | "settings.account.userInfoRequestFailed": "Kullanıcı bilgisi yüklenemedi", |
204 | "settings.account.yourLicense": "Your Ferdi License", | 197 | "settings.account.yourLicense": "Ferdi Lisansınız", |
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Önbelleği temizle", | 199 | "settings.app.buttonClearAllCache": "Önbelleği temizle", |
207 | "settings.app.buttonInstallUpdate": "Yeniden Başlat ve Güncelleştirmeleri Kur", | 200 | "settings.app.buttonInstallUpdate": "Yeniden Başlat ve Güncelleştirmeleri Kur", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Güncellemeleri kontrol et", | 203 | "settings.app.buttonSearchForUpdate": "Güncellemeleri kontrol et", |
209 | "settings.app.cacheInfo": "Ferdi önbelleği şu anda {size} disk alanı kullanıyor.", | 204 | "settings.app.cacheInfo": "Ferdi önbelleği şu anda {size} disk alanı kullanıyor.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Önbellek tamamen temizlenemedi", |
211 | "settings.app.closeSettings": "Close settings", | 206 | "settings.app.closeSettings": "Ayarları kapat", |
212 | "settings.app.currentVersion": "Geçerli sürüm:", | 207 | "settings.app.currentVersion": "Geçerli sürüm:", |
213 | "settings.app.form.accentColor": "Accent color", | 208 | "settings.app.form.accentColor": "Accent color", |
214 | "settings.app.form.adaptableDarkMode": "Synchronize dark mode with my OS's dark mode setting", | 209 | "settings.app.form.adaptableDarkMode": "Synchronize dark mode with my OS's dark mode setting", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Önbellek", | 272 | "settings.app.subheadlineCache": "Önbellek", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Ferdi'ı senin diline tercüme etmemiz için yardım et.", | 275 | "settings.app.translationHelp": "Ferdi'ı senin diline tercüme etmemiz için yardım et.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
@@ -297,7 +293,7 @@ | |||
297 | "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes", | 293 | "settings.recipes.customService.headline.devRecipes": "Your Development Service Recipes", |
298 | "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:", | 294 | "settings.recipes.customService.intro": "To add a custom service, copy the service recipe to:", |
299 | "settings.recipes.customService.openDevDocs": "Developer Documentation", | 295 | "settings.recipes.customService.openDevDocs": "Developer Documentation", |
300 | "settings.recipes.customService.openFolder": "Open folder", | 296 | "settings.recipes.customService.openFolder": "Klasör aç", |
301 | "settings.recipes.headline": "Mevcut servisler", | 297 | "settings.recipes.headline": "Mevcut servisler", |
302 | "settings.recipes.missingService": "Aradığın servisi bulamadın mı?", | 298 | "settings.recipes.missingService": "Aradığın servisi bulamadın mı?", |
303 | "settings.recipes.nothingFound": "Sorry, but no service matched your search term - but you can still probably add it using the \"Custom Website\" option. Please note that the website might show more services that have been added to Ferdi since the version that you are currently on. To get those new services, please consider upgrading to a newer version of Ferdi.", | 299 | "settings.recipes.nothingFound": "Sorry, but no service matched your search term - but you can still probably add it using the \"Custom Website\" option. Please note that the website might show more services that have been added to Ferdi since the version that you are currently on. To get those new services, please consider upgrading to a newer version of Ferdi.", |
diff --git a/src/i18n/locales/uk.json b/src/i18n/locales/uk.json index 3c6a01397..7a1609dfb 100644 --- a/src/i18n/locales/uk.json +++ b/src/i18n/locales/uk.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Виберіть ÑÐµÑ€Ð²Ñ–Ñ Ð·Ð° допомогою TAB, Ñтрілок ↑ та ↓. ÐатиÑніть ENTER, щоб відкрити.", | 26 | "feature.quickSwitch.info": "Виберіть ÑÐµÑ€Ð²Ñ–Ñ Ð·Ð° допомогою TAB, Ñтрілок ↑ та ↓. ÐатиÑніть ENTER, щоб відкрити.", |
27 | "feature.quickSwitch.search": "Пошук...", | 27 | "feature.quickSwitch.search": "Пошук...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "ÐадіÑлати електронною поштою", | ||
30 | "feature.shareFranz.action.facebook": "ПоділитиÑÑ Ð½Ð° Facebook", | ||
31 | "feature.shareFranz.action.twitter": "ПоділитиÑÑŒ у Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "Я додав {count} Ñлужб до Ферді! Завантажте безкоштовний додаток на WhatsApp, Messenger, Slack, Skype та co на www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "Я додав {count} Ñлужб до Ферді! Завантажте безкоштовний додаток на WhatsApp, Messenger, Slack, Skype та co на www.getferdi.com", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Ðе можливо підключитиÑÑŒ до онлайн ÑервіÑів Ferdi", | 29 | "global.api.unhealthy": "Ðе можливо підключитиÑÑŒ до онлайн ÑервіÑів Ferdi", |
37 | "global.notConnectedToTheInternet": "Ви не підключені до Інтернету.", | 30 | "global.notConnectedToTheInternet": "Ви не підключені до Інтернету.", |
38 | "global.spellchecker.useDefault": "ВикориÑтовувати ÑиÑтемні параметри за змовчуваннÑм ({default})", | 31 | "global.spellchecker.useDefault": "ВикориÑтовувати ÑиÑтемні параметри за змовчуваннÑм ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "ОчиÑтити кеш", | 199 | "settings.app.buttonClearAllCache": "ОчиÑтити кеш", |
207 | "settings.app.buttonInstallUpdate": "Перезавантажити Ñ– вÑтановити оновленнÑ", | 200 | "settings.app.buttonInstallUpdate": "Перезавантажити Ñ– вÑтановити оновленнÑ", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Перевірити наÑвніÑÑ‚ÑŒ оновлень", | 203 | "settings.app.buttonSearchForUpdate": "Перевірити наÑвніÑÑ‚ÑŒ оновлень", |
209 | "settings.app.cacheInfo": "Кеш, Ñкий викориÑтовує Ferdi, займає {size} диÑкового проÑтору.", | 204 | "settings.app.cacheInfo": "Кеш, Ñкий викориÑтовує Ferdi, займає {size} диÑкового проÑтору.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Кеш", | 272 | "settings.app.subheadlineCache": "Кеш", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Допоможіть переклаÑти Ferdi на Вашу мову.", | 275 | "settings.app.translationHelp": "Допоможіть переклаÑти Ferdi на Вашу мову.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/vi.json b/src/i18n/locales/vi.json index c67e9a067..01512a522 100644 --- a/src/i18n/locales/vi.json +++ b/src/i18n/locales/vi.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "Tìm kiếm...", | 27 | "feature.quickSwitch.search": "Tìm kiếm...", |
28 | "feature.quickSwitch.title": "Chuyển đổi nhanh", | 28 | "feature.quickSwitch.title": "Chuyển đổi nhanh", |
29 | "feature.shareFranz.action.email": "Gá»i dÆ°á»›i dạng E-mail", | ||
30 | "feature.shareFranz.action.facebook": "Chia sẻ lên Facebook", | ||
31 | "feature.shareFranz.action.twitter": "Chia sẻ lên Twitter", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "Không thể kết nối đến máy chủ trực tuyến của Ferdi", | 29 | "global.api.unhealthy": "Không thể kết nối đến máy chủ trực tuyến của Ferdi", |
37 | "global.notConnectedToTheInternet": "You are not connected to the internet.", | 30 | "global.notConnectedToTheInternet": "You are not connected to the internet.", |
38 | "global.spellchecker.useDefault": "Dùng mặc định hệ thống ({default})", | 31 | "global.spellchecker.useDefault": "Dùng mặc định hệ thống ({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Xóa bộ nhớ cache", | 199 | "settings.app.buttonClearAllCache": "Xóa bộ nhớ cache", |
207 | "settings.app.buttonInstallUpdate": "Khởi Ä‘á»™ng lại và cà i đặt bản cáºp nháºt", | 200 | "settings.app.buttonInstallUpdate": "Khởi Ä‘á»™ng lại và cà i đặt bản cáºp nháºt", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Kiểm tra cáºp nháºt", | 203 | "settings.app.buttonSearchForUpdate": "Kiểm tra cáºp nháºt", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/zh-HANT.json b/src/i18n/locales/zh-HANT.json index 97b2e155a..407f134cb 100644 --- a/src/i18n/locales/zh-HANT.json +++ b/src/i18n/locales/zh-HANT.json | |||
@@ -26,13 +26,6 @@ | |||
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", |
27 | "feature.quickSwitch.search": "æœå°‹...", | 27 | "feature.quickSwitch.search": "æœå°‹...", |
28 | "feature.quickSwitch.title": "QuickSwitch", | 28 | "feature.quickSwitch.title": "QuickSwitch", |
29 | "feature.shareFranz.action.email": "é€ä½œç‚ºé›»å郵件", | ||
30 | "feature.shareFranz.action.facebook": "在 Facebook 上分享", | ||
31 | "feature.shareFranz.action.twitter": "在 Twitter 上分享", | ||
32 | "feature.shareFranz.headline": "Ferdi is better together!", | ||
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | ||
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | ||
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
36 | "global.api.unhealthy": "無法連接到Ferdi網路æœå‹™", | 29 | "global.api.unhealthy": "無法連接到Ferdi網路æœå‹™", |
37 | "global.notConnectedToTheInternet": "您未連上網際網路", | 30 | "global.notConnectedToTheInternet": "您未連上網際網路", |
38 | "global.spellchecker.useDefault": "使用系統é è¨å€¼({default})", | 31 | "global.spellchecker.useDefault": "使用系統é è¨å€¼({default})", |
@@ -205,6 +198,8 @@ | |||
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "清除緩å˜", | 199 | "settings.app.buttonClearAllCache": "清除緩å˜", |
207 | "settings.app.buttonInstallUpdate": "é‡æ–°å•Ÿå‹•ä¸¦ä¸”æ›´æ–°", | 200 | "settings.app.buttonInstallUpdate": "é‡æ–°å•Ÿå‹•ä¸¦ä¸”æ›´æ–°", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "檢查更新", | 203 | "settings.app.buttonSearchForUpdate": "檢查更新", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index 590d5093e..f33f67f8f 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json | |||
@@ -13,52 +13,45 @@ | |||
13 | "feature.announcements.changelog.headline": "Ferdiçš„å˜åŒ–", | 13 | "feature.announcements.changelog.headline": "Ferdiçš„å˜åŒ–", |
14 | "feature.debugger.title": "å‘布调试信æ¯", | 14 | "feature.debugger.title": "å‘布调试信æ¯", |
15 | "feature.nightlyBuilds.activate": "激活", | 15 | "feature.nightlyBuilds.activate": "激活", |
16 | "feature.nightlyBuilds.cancel": "Cancel", | 16 | "feature.nightlyBuilds.cancel": "å–消", |
17 | "feature.nightlyBuilds.info": "Nightly builds are highly experimental versions of Ferdi that may contain unpolished or uncompleted features. These nightly builds are mainly used by developers to test their newly developed features and how they will perform in the final build. If you don't know what you are doing, we suggest not activating nightly builds.", | 17 | "feature.nightlyBuilds.info": "æ¯å¤œç‰ˆ(Nightly builds) 是Ferdi的实验性版本,å¯èƒ½åŒ…å«æœªå®Œå–„或未完æˆçš„功能。这些æ¯å¤œç‰ˆä¸»è¦ç”±å¼€å‘人员æ¥æµ‹è¯•ä»–们新开å‘的功能åŠå®ƒä»¬åœ¨æœ€ç»ˆç‰ˆæœ¬çš„的表现。如果您ä¸çŸ¥é“自己在åšä»€ä¹ˆï¼Œæˆ‘们建议您ä¸è¦æ¿€æ´»æ¯å¤œç‰ˆã€‚", |
18 | "feature.nightlyBuilds.title": "Nightly Builds", | 18 | "feature.nightlyBuilds.title": "æ¯å¤œç‰ˆ", |
19 | "feature.publishDebugInfo.error": "å‘布调试信æ¯æ—¶å‡ºé”™ã€‚请ç¨åŽå†è¯•æˆ–查看控制å°ä»¥èŽ·å–更多信æ¯ã€‚", | 19 | "feature.publishDebugInfo.error": "å‘布调试信æ¯æ—¶å‡ºé”™ã€‚请ç¨åŽå†è¯•æˆ–查看控制å°ä»¥èŽ·å–更多信æ¯ã€‚", |
20 | "feature.publishDebugInfo.info": "Publishing your debug information helps us find issues and errors in Ferdi. By publishing your debug information you accept Ferdi Debugger's privacy policy and terms of service", | 20 | "feature.publishDebugInfo.info": "å‘布您的调试信æ¯æœ‰åŠ©äºŽæˆ‘们å‘现Ferdiä¸çš„问题和错误。å‘布您的调试信æ¯å³è¡¨ç¤ºæ‚¨æŽ¥å—Ferdi Debuggerçš„éšç§æ”¿ç–å’ŒæœåŠ¡æ¡æ¬¾", |
21 | "feature.publishDebugInfo.privacy": "éšç§æƒæ”¿ç–", | 21 | "feature.publishDebugInfo.privacy": "éšç§æƒæ”¿ç–", |
22 | "feature.publishDebugInfo.publish": "接å—并å‘布", | 22 | "feature.publishDebugInfo.publish": "接å—并å‘布", |
23 | "feature.publishDebugInfo.published": "您的调试日志已ç»å‘布,现在å¯ç”¨äºŽ", | 23 | "feature.publishDebugInfo.published": "您的调试日志已ç»å‘布,现在å¯ç”¨äºŽ", |
24 | "feature.publishDebugInfo.terms": "Terms of service", | 24 | "feature.publishDebugInfo.terms": "Terms of service", |
25 | "feature.publishDebugInfo.title": "å‘布调试信æ¯", | 25 | "feature.publishDebugInfo.title": "å‘布调试信æ¯", |
26 | "feature.quickSwitch.info": "Select a service with TAB, ↑ and ↓. Open a service with ENTER.", | 26 | "feature.quickSwitch.info": "使用 TAB ,↑ å’Œ ↓ 选择æœåŠ¡ã€‚使用回车键(ENTER)打开æœåŠ¡", |
27 | "feature.quickSwitch.search": "æœç´¢...", | 27 | "feature.quickSwitch.search": "æœç´¢...", |
28 | "feature.quickSwitch.title": "快速切æ¢", | 28 | "feature.quickSwitch.title": "快速切æ¢", |
29 | "feature.shareFranz.action.email": "以邮件形å¼å‘é€", | 29 | "global.api.unhealthy": "æ— æ³•é“¾æŽ¥åˆ° Ferdi 在线æœåŠ¡", |
30 | "feature.shareFranz.action.facebook": "在 Facebook 上分享", | 30 | "global.notConnectedToTheInternet": "您没有连接到互è”网。", |
31 | "feature.shareFranz.action.twitter": "在Twitter上分享", | 31 | "global.spellchecker.useDefault": "使用系统默认值 ({default})", |
32 | "feature.shareFranz.headline": "Ferdi is better together!", | 32 | "global.spellchecking.autodetect": "自动检测è¯è¨€", |
33 | "feature.shareFranz.shareText.email": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com", | 33 | "global.spellchecking.autodetect.short": "自动", |
34 | "feature.shareFranz.shareText.twitter": "I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.getferdi.com /cc @FerdiMessenger", | 34 | "global.spellchecking.language": "拼写检查è¯è¨€", |
35 | "feature.shareFranz.text": "Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | 35 | "global.userAgentHelp": "使用 'https://whatmyuseragent.com/' (以å‘现)或 'https://developers.whatismybrowser.com/useragents/explore/' (以选择) ä½ æ‰€éœ€è¦çš„用户代ç†å¹¶å¤åˆ¶ç²˜è´´åˆ°è¿™é‡Œã€‚", |
36 | "global.api.unhealthy": "Can't connect to Ferdi online services", | 36 | "global.userAgentPref": "æµè§ˆå™¨æ ‡è¯†ï¼ˆç”¨æˆ·ä»£ç†ï¼‰", |
37 | "global.notConnectedToTheInternet": "You are not connected to the internet.", | 37 | "import.headline": "å¯¼å…¥ä½ çš„ Ferdi 4 æœåŠ¡", |
38 | "global.spellchecker.useDefault": "Use System Default ({default})", | 38 | "import.notSupportedHeadline": "Ferdi 5尚未支æŒçš„æœåŠ¡", |
39 | "global.spellchecking.autodetect": "Detect language automatically", | 39 | "import.skip.label": "æˆ‘æƒ³æ‰‹åŠ¨æ·»åŠ æœåŠ¡", |
40 | "global.spellchecking.autodetect.short": "Automatic", | 40 | "import.submit.label": "导入æœåŠ¡", |
41 | "global.spellchecking.language": "Spell checking language", | 41 | "infobar.authRequestFailed": "å°è¯•è¿›è¡Œèº«ä»½éªŒè¯æ—¶å‡ºé”™ã€‚如果æ¤é”™è¯¯ä»å˜åœ¨ï¼Œè¯·å°è¯•æ³¨é”€å¹¶é‡æ–°ç™»å½•ã€‚", |
42 | "global.userAgentHelp": "Use 'https://whatmyuseragent.com/' (to discover) or 'https://developers.whatismybrowser.com/useragents/explore/' (to choose) your desired user agent and copy-paste it here.", | 42 | "infobar.buttonChangelog": "有什么新鲜事?", |
43 | "global.userAgentPref": "User Agent", | 43 | "infobar.buttonInstallUpdate": "é‡å¯å¹¶å®‰è£…æ›´æ–°", |
44 | "import.headline": "Import your Ferdi 4 services", | 44 | "infobar.buttonReloadServices": "é‡è½½æœåŠ¡", |
45 | "import.notSupportedHeadline": "Services not yet supported in Ferdi 5", | ||
46 | "import.skip.label": "I want to add services manually", | ||
47 | "import.submit.label": "Import services", | ||
48 | "infobar.authRequestFailed": "There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", | ||
49 | "infobar.buttonChangelog": "What is new?", | ||
50 | "infobar.buttonInstallUpdate": "Restart & install update", | ||
51 | "infobar.buttonReloadServices": "Reload services", | ||
52 | "infobar.hide": "éšè—", | 45 | "infobar.hide": "éšè—", |
53 | "infobar.requiredRequestsFailed": "Could not load services and user information", | 46 | "infobar.requiredRequestsFailed": "æ— æ³•åŠ è½½æœåŠ¡å’Œç”¨æˆ·ä¿¡æ¯", |
54 | "infobar.servicesUpdated": "Your services have been updated.", | 47 | "infobar.servicesUpdated": "您的软件æœåŠ¡å·²æ›´æ–°ã€‚", |
55 | "infobar.updateAvailable": "A new update for Ferdi is available.", | 48 | "infobar.updateAvailable": "æ–°çš„ Ferdi æ›´æ–°å¯ç”¨", |
56 | "infobox.dismiss": "Dismiss", | 49 | "infobox.dismiss": "å…³é—", |
57 | "invite.email.label": "Email address", | 50 | "invite.email.label": "电å邮箱地å€", |
58 | "invite.headline.friends": "Invite 3 of your friends or colleagues", | 51 | "invite.headline.friends": "邀请3ä½ä½ 的朋å‹æˆ–朋å‹", |
59 | "invite.name.label": "Name", | 52 | "invite.name.label": "å称", |
60 | "invite.skip.label": "I want to do this later", | 53 | "invite.skip.label": "ç¨åŽå†åš", |
61 | "invite.submit.label": "Send invites", | 54 | "invite.submit.label": "å‘é€é‚€è¯·", |
62 | "invite.successInfo": "Invitations sent successfully", | 55 | "invite.successInfo": "Invitations sent successfully", |
63 | "locked.headline": "å·²é”定", | 56 | "locked.headline": "å·²é”定", |
64 | "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.", | 57 | "locked.info": "Ferdi is currently locked. Please unlock Ferdi with your password to see your messages.", |
@@ -71,7 +64,7 @@ | |||
71 | "login.changeServer": "Change server", | 64 | "login.changeServer": "Change server", |
72 | "login.customServerQuestion": "Using a custom Ferdi server?", | 65 | "login.customServerQuestion": "Using a custom Ferdi server?", |
73 | "login.customServerSuggestion": "Try importing your Franz account", | 66 | "login.customServerSuggestion": "Try importing your Franz account", |
74 | "login.email.label": "Email address", | 67 | "login.email.label": "电å邮箱地å€", |
75 | "login.headline": "Sign in", | 68 | "login.headline": "Sign in", |
76 | "login.invalidCredentials": "Email or password not valid", | 69 | "login.invalidCredentials": "Email or password not valid", |
77 | "login.link.password": "Reset password", | 70 | "login.link.password": "Reset password", |
@@ -149,7 +142,7 @@ | |||
149 | "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer", | 142 | "menu.workspaces.closeWorkspaceDrawer": "Close workspace drawer", |
150 | "menu.workspaces.defaultWorkspace": "All services", | 143 | "menu.workspaces.defaultWorkspace": "All services", |
151 | "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer", | 144 | "menu.workspaces.openWorkspaceDrawer": "Open workspace drawer", |
152 | "password.email.label": "Email address", | 145 | "password.email.label": "电å邮箱地å€", |
153 | "password.headline": "Reset password", | 146 | "password.headline": "Reset password", |
154 | "password.link.login": "Sign in to your account", | 147 | "password.link.login": "Sign in to your account", |
155 | "password.link.signup": "Create a free account", | 148 | "password.link.signup": "Create a free account", |
@@ -204,7 +197,9 @@ | |||
204 | "settings.account.yourLicense": "Your Ferdi License", | 197 | "settings.account.yourLicense": "Your Ferdi License", |
205 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 198 | "settings.app.accentColorInfo": "Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
206 | "settings.app.buttonClearAllCache": "Clear cache", | 199 | "settings.app.buttonClearAllCache": "Clear cache", |
207 | "settings.app.buttonInstallUpdate": "Restart & install update", | 200 | "settings.app.buttonInstallUpdate": "é‡å¯å¹¶å®‰è£…æ›´æ–°", |
201 | "settings.app.buttonOpenFerdiProfileFolder": "Open Profile folder", | ||
202 | "settings.app.buttonOpenFerdiServiceRecipesFolder": "Open Service Recipes folder", | ||
208 | "settings.app.buttonSearchForUpdate": "Check for updates", | 203 | "settings.app.buttonSearchForUpdate": "Check for updates", |
209 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", | 204 | "settings.app.cacheInfo": "Ferdi cache is currently using {size} of disk space.", |
210 | "settings.app.cacheNotCleared": "Couldn't clear all cache", | 205 | "settings.app.cacheNotCleared": "Couldn't clear all cache", |
@@ -275,6 +270,7 @@ | |||
275 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 270 | "settings.app.sentryInfo": "Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
276 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 271 | "settings.app.spellCheckerLanguageInfo": "Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
277 | "settings.app.subheadlineCache": "Cache", | 272 | "settings.app.subheadlineCache": "Cache", |
273 | "settings.app.subheadlineFerdiProfile": "Ferdi Profile", | ||
278 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", | 274 | "settings.app.todoServerInfo": "This server will be used for the \"Ferdi Todo\" feature.", |
279 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", | 275 | "settings.app.translationHelp": "Help us to translate Ferdi into your language.", |
280 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 276 | "settings.app.universalDarkModeInfo": "Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
@@ -332,7 +328,7 @@ | |||
332 | "settings.service.form.indirectMessages": "Show message badge for all new messages", | 328 | "settings.service.form.indirectMessages": "Show message badge for all new messages", |
333 | "settings.service.form.isHibernatedEnabledInfo": "When enabled, a service will be shut down after a period of time to save system resources.", | 329 | "settings.service.form.isHibernatedEnabledInfo": "When enabled, a service will be shut down after a period of time to save system resources.", |
334 | "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted", | 330 | "settings.service.form.isMutedInfo": "When disabled, all notification sounds and audio playback are muted", |
335 | "settings.service.form.name": "Name", | 331 | "settings.service.form.name": "å称", |
336 | "settings.service.form.openDarkmodeCss": "Open darkmode.css", | 332 | "settings.service.form.openDarkmodeCss": "Open darkmode.css", |
337 | "settings.service.form.openUserCss": "Open user.css", | 333 | "settings.service.form.openUserCss": "Open user.css", |
338 | "settings.service.form.openUserJs": "Open user.js", | 334 | "settings.service.form.openUserJs": "Open user.js", |
@@ -391,13 +387,13 @@ | |||
391 | "settings.user.form.firstname": "First Name", | 387 | "settings.user.form.firstname": "First Name", |
392 | "settings.user.form.lastname": "Last Name", | 388 | "settings.user.form.lastname": "Last Name", |
393 | "settings.user.form.newPassword": "New password", | 389 | "settings.user.form.newPassword": "New password", |
394 | "settings.workspace.add.form.name": "Name", | 390 | "settings.workspace.add.form.name": "å称", |
395 | "settings.workspace.add.form.submitButton": "Create workspace", | 391 | "settings.workspace.add.form.submitButton": "Create workspace", |
396 | "settings.workspace.form.buttonDelete": "Delete workspace", | 392 | "settings.workspace.form.buttonDelete": "Delete workspace", |
397 | "settings.workspace.form.buttonSave": "Save workspace", | 393 | "settings.workspace.form.buttonSave": "Save workspace", |
398 | "settings.workspace.form.keepLoaded": "Keep this workspace loaded*", | 394 | "settings.workspace.form.keepLoaded": "Keep this workspace loaded*", |
399 | "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.", | 395 | "settings.workspace.form.keepLoadedInfo": "*This option will be overwritten by the global \"Keep all workspaces loaded\" option.", |
400 | "settings.workspace.form.name": "Name", | 396 | "settings.workspace.form.name": "å称", |
401 | "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace", | 397 | "settings.workspace.form.servicesInWorkspaceHeadline": "Services in this Workspace", |
402 | "settings.workspace.form.yourWorkspaces": "Your workspaces", | 398 | "settings.workspace.form.yourWorkspaces": "Your workspaces", |
403 | "settings.workspaces.deletedInfo": "Workspace has been deleted", | 399 | "settings.workspaces.deletedInfo": "Workspace has been deleted", |
@@ -420,7 +416,7 @@ | |||
420 | "sidebar.openWorkspaceDrawer": "Open workspace drawer", | 416 | "sidebar.openWorkspaceDrawer": "Open workspace drawer", |
421 | "sidebar.settings": "设置", | 417 | "sidebar.settings": "设置", |
422 | "sidebar.unmuteApp": "Enable notifications & audio", | 418 | "sidebar.unmuteApp": "Enable notifications & audio", |
423 | "signup.email.label": "Email address", | 419 | "signup.email.label": "电å邮箱地å€", |
424 | "signup.emailDuplicate": "A user with that email address already exists", | 420 | "signup.emailDuplicate": "A user with that email address already exists", |
425 | "signup.firstname.label": "First Name", | 421 | "signup.firstname.label": "First Name", |
426 | "signup.headline": "Sign up", | 422 | "signup.headline": "Sign up", |
diff --git a/src/i18n/messages/src/components/layout/AppLayout.json b/src/i18n/messages/src/components/layout/AppLayout.json index e3f5658b2..807490a4f 100644 --- a/src/i18n/messages/src/components/layout/AppLayout.json +++ b/src/i18n/messages/src/components/layout/AppLayout.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!Your services have been updated.", | 4 | "defaultMessage": "!!!Your services have been updated.", |
5 | "file": "src/components/layout/AppLayout.js", | 5 | "file": "src/components/layout/AppLayout.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 29, | 7 | "line": 28, |
8 | "column": 19 | 8 | "column": 19 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 32, | 11 | "line": 31, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!Reload services", | 17 | "defaultMessage": "!!!Reload services", |
18 | "file": "src/components/layout/AppLayout.js", | 18 | "file": "src/components/layout/AppLayout.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 33, | 20 | "line": 32, |
21 | "column": 24 | 21 | "column": 24 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 36, | 24 | "line": 35, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | }, | 27 | }, |
@@ -30,11 +30,11 @@ | |||
30 | "defaultMessage": "!!!Could not load services and user information", | 30 | "defaultMessage": "!!!Could not load services and user information", |
31 | "file": "src/components/layout/AppLayout.js", | 31 | "file": "src/components/layout/AppLayout.js", |
32 | "start": { | 32 | "start": { |
33 | "line": 37, | 33 | "line": 36, |
34 | "column": 26 | 34 | "column": 26 |
35 | }, | 35 | }, |
36 | "end": { | 36 | "end": { |
37 | "line": 40, | 37 | "line": 39, |
38 | "column": 3 | 38 | "column": 3 |
39 | } | 39 | } |
40 | }, | 40 | }, |
@@ -43,11 +43,11 @@ | |||
43 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", | 43 | "defaultMessage": "!!!There were errors while trying to perform an authenticated request. Please try logging out and back in if this error persists.", |
44 | "file": "src/components/layout/AppLayout.js", | 44 | "file": "src/components/layout/AppLayout.js", |
45 | "start": { | 45 | "start": { |
46 | "line": 41, | 46 | "line": 40, |
47 | "column": 21 | 47 | "column": 21 |
48 | }, | 48 | }, |
49 | "end": { | 49 | "end": { |
50 | "line": 45, | 50 | "line": 44, |
51 | "column": 3 | 51 | "column": 3 |
52 | } | 52 | } |
53 | } | 53 | } |
diff --git a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json index 548d52af9..da1581864 100644 --- a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json +++ b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!Settings", | 4 | "defaultMessage": "!!!Settings", |
5 | "file": "src/components/settings/settings/EditSettingsForm.js", | 5 | "file": "src/components/settings/settings/EditSettingsForm.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 23, | 7 | "line": 21, |
8 | "column": 12 | 8 | "column": 12 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 26, | 11 | "line": 24, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!General", | 17 | "defaultMessage": "!!!General", |
18 | "file": "src/components/settings/settings/EditSettingsForm.js", | 18 | "file": "src/components/settings/settings/EditSettingsForm.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 27, | 20 | "line": 25, |
21 | "column": 19 | 21 | "column": 19 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 30, | 24 | "line": 28, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | }, | 27 | }, |
@@ -30,11 +30,11 @@ | |||
30 | "defaultMessage": "!!!Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", | 30 | "defaultMessage": "!!!Sending telemetry data allows us to find errors in Ferdi - we will not send any personal information like your message data!", |
31 | "file": "src/components/settings/settings/EditSettingsForm.js", | 31 | "file": "src/components/settings/settings/EditSettingsForm.js", |
32 | "start": { | 32 | "start": { |
33 | "line": 31, | 33 | "line": 29, |
34 | "column": 14 | 34 | "column": 14 |
35 | }, | 35 | }, |
36 | "end": { | 36 | "end": { |
37 | "line": 34, | 37 | "line": 32, |
38 | "column": 3 | 38 | "column": 3 |
39 | } | 39 | } |
40 | }, | 40 | }, |
@@ -43,11 +43,11 @@ | |||
43 | "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", | 43 | "defaultMessage": "!!!By default, Ferdi will keep all your services open and loaded in the background so they are ready when you want to use them. Service Hibernation will unload your services after a specified amount. This is useful to save RAM or keeping services from slowing down your computer.", |
44 | "file": "src/components/settings/settings/EditSettingsForm.js", | 44 | "file": "src/components/settings/settings/EditSettingsForm.js", |
45 | "start": { | 45 | "start": { |
46 | "line": 35, | 46 | "line": 33, |
47 | "column": 17 | 47 | "column": 17 |
48 | }, | 48 | }, |
49 | "end": { | 49 | "end": { |
50 | "line": 38, | 50 | "line": 36, |
51 | "column": 3 | 51 | "column": 3 |
52 | } | 52 | } |
53 | }, | 53 | }, |
@@ -56,11 +56,11 @@ | |||
56 | "defaultMessage": "!!!Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", | 56 | "defaultMessage": "!!!Minutes of inactivity, after which Ferdi should automatically lock. Use 0 to disable", |
57 | "file": "src/components/settings/settings/EditSettingsForm.js", | 57 | "file": "src/components/settings/settings/EditSettingsForm.js", |
58 | "start": { | 58 | "start": { |
59 | "line": 39, | 59 | "line": 37, |
60 | "column": 22 | 60 | "column": 22 |
61 | }, | 61 | }, |
62 | "end": { | 62 | "end": { |
63 | "line": 42, | 63 | "line": 40, |
64 | "column": 3 | 64 | "column": 3 |
65 | } | 65 | } |
66 | }, | 66 | }, |
@@ -69,11 +69,11 @@ | |||
69 | "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", | 69 | "defaultMessage": "!!!This server will be used for the \"Franz Todo\" feature. (default: https://app.franztodos.com)", |
70 | "file": "src/components/settings/settings/EditSettingsForm.js", | 70 | "file": "src/components/settings/settings/EditSettingsForm.js", |
71 | "start": { | 71 | "start": { |
72 | "line": 43, | 72 | "line": 41, |
73 | "column": 18 | 73 | "column": 18 |
74 | }, | 74 | }, |
75 | "end": { | 75 | "end": { |
76 | "line": 46, | 76 | "line": 44, |
77 | "column": 3 | 77 | "column": 3 |
78 | } | 78 | } |
79 | }, | 79 | }, |
@@ -82,11 +82,11 @@ | |||
82 | "defaultMessage": "!!!Password", | 82 | "defaultMessage": "!!!Password", |
83 | "file": "src/components/settings/settings/EditSettingsForm.js", | 83 | "file": "src/components/settings/settings/EditSettingsForm.js", |
84 | "start": { | 84 | "start": { |
85 | "line": 47, | 85 | "line": 45, |
86 | "column": 18 | 86 | "column": 18 |
87 | }, | 87 | }, |
88 | "end": { | 88 | "end": { |
89 | "line": 50, | 89 | "line": 48, |
90 | "column": 3 | 90 | "column": 3 |
91 | } | 91 | } |
92 | }, | 92 | }, |
@@ -95,11 +95,11 @@ | |||
95 | "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", | 95 | "defaultMessage": "!!!Please make sure to set a password you'll remember.\nIf you loose this password, you will have to reinstall Ferdi.", |
96 | "file": "src/components/settings/settings/EditSettingsForm.js", | 96 | "file": "src/components/settings/settings/EditSettingsForm.js", |
97 | "start": { | 97 | "start": { |
98 | "line": 51, | 98 | "line": 49, |
99 | "column": 22 | 99 | "column": 22 |
100 | }, | 100 | }, |
101 | "end": { | 101 | "end": { |
102 | "line": 54, | 102 | "line": 52, |
103 | "column": 3 | 103 | "column": 3 |
104 | } | 104 | } |
105 | }, | 105 | }, |
@@ -108,11 +108,11 @@ | |||
108 | "defaultMessage": "!!!Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut {lockShortcut}.", | 108 | "defaultMessage": "!!!Password Lock allows you to keep your messages protected.\nUsing Password Lock, you will be prompted to enter your password everytime you start Ferdi or lock Ferdi yourself using the lock symbol in the bottom left corner or the shortcut {lockShortcut}.", |
109 | "file": "src/components/settings/settings/EditSettingsForm.js", | 109 | "file": "src/components/settings/settings/EditSettingsForm.js", |
110 | "start": { | 110 | "start": { |
111 | "line": 55, | 111 | "line": 53, |
112 | "column": 12 | 112 | "column": 12 |
113 | }, | 113 | }, |
114 | "end": { | 114 | "end": { |
115 | "line": 58, | 115 | "line": 56, |
116 | "column": 3 | 116 | "column": 3 |
117 | } | 117 | } |
118 | }, | 118 | }, |
@@ -121,11 +121,11 @@ | |||
121 | "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.", | 121 | "defaultMessage": "!!!Times in 24-Hour-Format. End time can be before start time (e.g. start 17:00, end 09:00) to enable Do-not-Disturb overnight.", |
122 | "file": "src/components/settings/settings/EditSettingsForm.js", | 122 | "file": "src/components/settings/settings/EditSettingsForm.js", |
123 | "start": { | 123 | "start": { |
124 | "line": 59, | 124 | "line": 57, |
125 | "column": 24 | 125 | "column": 24 |
126 | }, | 126 | }, |
127 | "end": { | 127 | "end": { |
128 | "line": 62, | 128 | "line": 60, |
129 | "column": 3 | 129 | "column": 3 |
130 | } | 130 | } |
131 | }, | 131 | }, |
@@ -134,11 +134,11 @@ | |||
134 | "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", | 134 | "defaultMessage": "!!!Scheduled Do-not-Disturb allows you to define a period of time in which you do not want to get Notifications from Ferdi.", |
135 | "file": "src/components/settings/settings/EditSettingsForm.js", | 135 | "file": "src/components/settings/settings/EditSettingsForm.js", |
136 | "start": { | 136 | "start": { |
137 | "line": 63, | 137 | "line": 61, |
138 | "column": 20 | 138 | "column": 20 |
139 | }, | 139 | }, |
140 | "end": { | 140 | "end": { |
141 | "line": 66, | 141 | "line": 64, |
142 | "column": 3 | 142 | "column": 3 |
143 | } | 143 | } |
144 | }, | 144 | }, |
@@ -147,11 +147,11 @@ | |||
147 | "defaultMessage": "!!!Language", | 147 | "defaultMessage": "!!!Language", |
148 | "file": "src/components/settings/settings/EditSettingsForm.js", | 148 | "file": "src/components/settings/settings/EditSettingsForm.js", |
149 | "start": { | 149 | "start": { |
150 | "line": 67, | 150 | "line": 65, |
151 | "column": 20 | 151 | "column": 20 |
152 | }, | 152 | }, |
153 | "end": { | 153 | "end": { |
154 | "line": 70, | 154 | "line": 68, |
155 | "column": 3 | 155 | "column": 3 |
156 | } | 156 | } |
157 | }, | 157 | }, |
@@ -160,11 +160,11 @@ | |||
160 | "defaultMessage": "!!!Updates", | 160 | "defaultMessage": "!!!Updates", |
161 | "file": "src/components/settings/settings/EditSettingsForm.js", | 161 | "file": "src/components/settings/settings/EditSettingsForm.js", |
162 | "start": { | 162 | "start": { |
163 | "line": 71, | 163 | "line": 69, |
164 | "column": 19 | 164 | "column": 19 |
165 | }, | 165 | }, |
166 | "end": { | 166 | "end": { |
167 | "line": 74, | 167 | "line": 72, |
168 | "column": 3 | 168 | "column": 3 |
169 | } | 169 | } |
170 | }, | 170 | }, |
@@ -173,11 +173,11 @@ | |||
173 | "defaultMessage": "!!!Appearance", | 173 | "defaultMessage": "!!!Appearance", |
174 | "file": "src/components/settings/settings/EditSettingsForm.js", | 174 | "file": "src/components/settings/settings/EditSettingsForm.js", |
175 | "start": { | 175 | "start": { |
176 | "line": 75, | 176 | "line": 73, |
177 | "column": 22 | 177 | "column": 22 |
178 | }, | 178 | }, |
179 | "end": { | 179 | "end": { |
180 | "line": 78, | 180 | "line": 76, |
181 | "column": 3 | 181 | "column": 3 |
182 | } | 182 | } |
183 | }, | 183 | }, |
@@ -186,11 +186,11 @@ | |||
186 | "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", | 186 | "defaultMessage": "!!!Universal Dark Mode tries to dynamically generate dark mode styles for services that are otherwise not currently supported.", |
187 | "file": "src/components/settings/settings/EditSettingsForm.js", | 187 | "file": "src/components/settings/settings/EditSettingsForm.js", |
188 | "start": { | 188 | "start": { |
189 | "line": 79, | 189 | "line": 77, |
190 | "column": 25 | 190 | "column": 25 |
191 | }, | 191 | }, |
192 | "end": { | 192 | "end": { |
193 | "line": 82, | 193 | "line": 80, |
194 | "column": 3 | 194 | "column": 3 |
195 | } | 195 | } |
196 | }, | 196 | }, |
@@ -199,11 +199,11 @@ | |||
199 | "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", | 199 | "defaultMessage": "!!!Write your accent color in a CSS-compatible format. (Default: {defaultAccentColor})", |
200 | "file": "src/components/settings/settings/EditSettingsForm.js", | 200 | "file": "src/components/settings/settings/EditSettingsForm.js", |
201 | "start": { | 201 | "start": { |
202 | "line": 83, | 202 | "line": 81, |
203 | "column": 19 | 203 | "column": 19 |
204 | }, | 204 | }, |
205 | "end": { | 205 | "end": { |
206 | "line": 86, | 206 | "line": 84, |
207 | "column": 3 | 207 | "column": 3 |
208 | } | 208 | } |
209 | }, | 209 | }, |
@@ -212,11 +212,11 @@ | |||
212 | "defaultMessage": "!!!Privacy", | 212 | "defaultMessage": "!!!Privacy", |
213 | "file": "src/components/settings/settings/EditSettingsForm.js", | 213 | "file": "src/components/settings/settings/EditSettingsForm.js", |
214 | "start": { | 214 | "start": { |
215 | "line": 87, | 215 | "line": 85, |
216 | "column": 19 | 216 | "column": 19 |
217 | }, | 217 | }, |
218 | "end": { | 218 | "end": { |
219 | "line": 90, | 219 | "line": 88, |
220 | "column": 3 | 220 | "column": 3 |
221 | } | 221 | } |
222 | }, | 222 | }, |
@@ -225,11 +225,11 @@ | |||
225 | "defaultMessage": "!!!Advanced", | 225 | "defaultMessage": "!!!Advanced", |
226 | "file": "src/components/settings/settings/EditSettingsForm.js", | 226 | "file": "src/components/settings/settings/EditSettingsForm.js", |
227 | "start": { | 227 | "start": { |
228 | "line": 91, | 228 | "line": 89, |
229 | "column": 20 | 229 | "column": 20 |
230 | }, | 230 | }, |
231 | "end": { | 231 | "end": { |
232 | "line": 94, | 232 | "line": 92, |
233 | "column": 3 | 233 | "column": 3 |
234 | } | 234 | } |
235 | }, | 235 | }, |
@@ -238,11 +238,11 @@ | |||
238 | "defaultMessage": "!!!Help us to translate Ferdi into your language.", | 238 | "defaultMessage": "!!!Help us to translate Ferdi into your language.", |
239 | "file": "src/components/settings/settings/EditSettingsForm.js", | 239 | "file": "src/components/settings/settings/EditSettingsForm.js", |
240 | "start": { | 240 | "start": { |
241 | "line": 95, | 241 | "line": 93, |
242 | "column": 19 | 242 | "column": 19 |
243 | }, | 243 | }, |
244 | "end": { | 244 | "end": { |
245 | "line": 98, | 245 | "line": 96, |
246 | "column": 3 | 246 | "column": 3 |
247 | } | 247 | } |
248 | }, | 248 | }, |
@@ -251,11 +251,11 @@ | |||
251 | "defaultMessage": "!!!Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", | 251 | "defaultMessage": "!!!Ferdi uses your Mac's build-in spellchecker to check for typos. If you want to change the languages the spellchecker checks for, you can do so in your Mac's System Preferences.", |
252 | "file": "src/components/settings/settings/EditSettingsForm.js", | 252 | "file": "src/components/settings/settings/EditSettingsForm.js", |
253 | "start": { | 253 | "start": { |
254 | "line": 99, | 254 | "line": 97, |
255 | "column": 28 | 255 | "column": 28 |
256 | }, | 256 | }, |
257 | "end": { | 257 | "end": { |
258 | "line": 102, | 258 | "line": 100, |
259 | "column": 3 | 259 | "column": 3 |
260 | } | 260 | } |
261 | }, | 261 | }, |
@@ -264,11 +264,11 @@ | |||
264 | "defaultMessage": "!!!Cache", | 264 | "defaultMessage": "!!!Cache", |
265 | "file": "src/components/settings/settings/EditSettingsForm.js", | 265 | "file": "src/components/settings/settings/EditSettingsForm.js", |
266 | "start": { | 266 | "start": { |
267 | "line": 103, | 267 | "line": 101, |
268 | "column": 20 | 268 | "column": 20 |
269 | }, | 269 | }, |
270 | "end": { | 270 | "end": { |
271 | "line": 106, | 271 | "line": 104, |
272 | "column": 3 | 272 | "column": 3 |
273 | } | 273 | } |
274 | }, | 274 | }, |
@@ -277,11 +277,11 @@ | |||
277 | "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", | 277 | "defaultMessage": "!!!Ferdi cache is currently using {size} of disk space.", |
278 | "file": "src/components/settings/settings/EditSettingsForm.js", | 278 | "file": "src/components/settings/settings/EditSettingsForm.js", |
279 | "start": { | 279 | "start": { |
280 | "line": 107, | 280 | "line": 105, |
281 | "column": 13 | 281 | "column": 13 |
282 | }, | 282 | }, |
283 | "end": { | 283 | "end": { |
284 | "line": 110, | 284 | "line": 108, |
285 | "column": 3 | 285 | "column": 3 |
286 | } | 286 | } |
287 | }, | 287 | }, |
@@ -290,11 +290,11 @@ | |||
290 | "defaultMessage": "!!!Couldn't clear all cache", | 290 | "defaultMessage": "!!!Couldn't clear all cache", |
291 | "file": "src/components/settings/settings/EditSettingsForm.js", | 291 | "file": "src/components/settings/settings/EditSettingsForm.js", |
292 | "start": { | 292 | "start": { |
293 | "line": 111, | 293 | "line": 109, |
294 | "column": 19 | 294 | "column": 19 |
295 | }, | 295 | }, |
296 | "end": { | 296 | "end": { |
297 | "line": 114, | 297 | "line": 112, |
298 | "column": 3 | 298 | "column": 3 |
299 | } | 299 | } |
300 | }, | 300 | }, |
@@ -303,11 +303,50 @@ | |||
303 | "defaultMessage": "!!!Clear cache", | 303 | "defaultMessage": "!!!Clear cache", |
304 | "file": "src/components/settings/settings/EditSettingsForm.js", | 304 | "file": "src/components/settings/settings/EditSettingsForm.js", |
305 | "start": { | 305 | "start": { |
306 | "line": 115, | 306 | "line": 113, |
307 | "column": 23 | 307 | "column": 23 |
308 | }, | 308 | }, |
309 | "end": { | 309 | "end": { |
310 | "line": 118, | 310 | "line": 116, |
311 | "column": 3 | ||
312 | } | ||
313 | }, | ||
314 | { | ||
315 | "id": "settings.app.subheadlineFerdiProfile", | ||
316 | "defaultMessage": "!!!Ferdi Profile", | ||
317 | "file": "src/components/settings/settings/EditSettingsForm.js", | ||
318 | "start": { | ||
319 | "line": 117, | ||
320 | "column": 27 | ||
321 | }, | ||
322 | "end": { | ||
323 | "line": 120, | ||
324 | "column": 3 | ||
325 | } | ||
326 | }, | ||
327 | { | ||
328 | "id": "settings.app.buttonOpenFerdiProfileFolder", | ||
329 | "defaultMessage": "!!!Open Profile folder", | ||
330 | "file": "src/components/settings/settings/EditSettingsForm.js", | ||
331 | "start": { | ||
332 | "line": 121, | ||
333 | "column": 32 | ||
334 | }, | ||
335 | "end": { | ||
336 | "line": 124, | ||
337 | "column": 3 | ||
338 | } | ||
339 | }, | ||
340 | { | ||
341 | "id": "settings.app.buttonOpenFerdiServiceRecipesFolder", | ||
342 | "defaultMessage": "!!!Open Service Recipes folder", | ||
343 | "file": "src/components/settings/settings/EditSettingsForm.js", | ||
344 | "start": { | ||
345 | "line": 125, | ||
346 | "column": 39 | ||
347 | }, | ||
348 | "end": { | ||
349 | "line": 128, | ||
311 | "column": 3 | 350 | "column": 3 |
312 | } | 351 | } |
313 | }, | 352 | }, |
@@ -316,11 +355,11 @@ | |||
316 | "defaultMessage": "!!!Check for updates", | 355 | "defaultMessage": "!!!Check for updates", |
317 | "file": "src/components/settings/settings/EditSettingsForm.js", | 356 | "file": "src/components/settings/settings/EditSettingsForm.js", |
318 | "start": { | 357 | "start": { |
319 | "line": 119, | 358 | "line": 129, |
320 | "column": 25 | 359 | "column": 25 |
321 | }, | 360 | }, |
322 | "end": { | 361 | "end": { |
323 | "line": 122, | 362 | "line": 132, |
324 | "column": 3 | 363 | "column": 3 |
325 | } | 364 | } |
326 | }, | 365 | }, |
@@ -329,11 +368,11 @@ | |||
329 | "defaultMessage": "!!!Restart & install update", | 368 | "defaultMessage": "!!!Restart & install update", |
330 | "file": "src/components/settings/settings/EditSettingsForm.js", | 369 | "file": "src/components/settings/settings/EditSettingsForm.js", |
331 | "start": { | 370 | "start": { |
332 | "line": 123, | 371 | "line": 133, |
333 | "column": 23 | 372 | "column": 23 |
334 | }, | 373 | }, |
335 | "end": { | 374 | "end": { |
336 | "line": 126, | 375 | "line": 136, |
337 | "column": 3 | 376 | "column": 3 |
338 | } | 377 | } |
339 | }, | 378 | }, |
@@ -342,11 +381,11 @@ | |||
342 | "defaultMessage": "!!!Is searching for update", | 381 | "defaultMessage": "!!!Is searching for update", |
343 | "file": "src/components/settings/settings/EditSettingsForm.js", | 382 | "file": "src/components/settings/settings/EditSettingsForm.js", |
344 | "start": { | 383 | "start": { |
345 | "line": 127, | 384 | "line": 137, |
346 | "column": 25 | 385 | "column": 25 |
347 | }, | 386 | }, |
348 | "end": { | 387 | "end": { |
349 | "line": 130, | 388 | "line": 140, |
350 | "column": 3 | 389 | "column": 3 |
351 | } | 390 | } |
352 | }, | 391 | }, |
@@ -355,11 +394,11 @@ | |||
355 | "defaultMessage": "!!!Update available, downloading...", | 394 | "defaultMessage": "!!!Update available, downloading...", |
356 | "file": "src/components/settings/settings/EditSettingsForm.js", | 395 | "file": "src/components/settings/settings/EditSettingsForm.js", |
357 | "start": { | 396 | "start": { |
358 | "line": 131, | 397 | "line": 141, |
359 | "column": 25 | 398 | "column": 25 |
360 | }, | 399 | }, |
361 | "end": { | 400 | "end": { |
362 | "line": 134, | 401 | "line": 144, |
363 | "column": 3 | 402 | "column": 3 |
364 | } | 403 | } |
365 | }, | 404 | }, |
@@ -368,11 +407,11 @@ | |||
368 | "defaultMessage": "!!!You are using the latest version of Ferdi", | 407 | "defaultMessage": "!!!You are using the latest version of Ferdi", |
369 | "file": "src/components/settings/settings/EditSettingsForm.js", | 408 | "file": "src/components/settings/settings/EditSettingsForm.js", |
370 | "start": { | 409 | "start": { |
371 | "line": 135, | 410 | "line": 145, |
372 | "column": 24 | 411 | "column": 24 |
373 | }, | 412 | }, |
374 | "end": { | 413 | "end": { |
375 | "line": 138, | 414 | "line": 148, |
376 | "column": 3 | 415 | "column": 3 |
377 | } | 416 | } |
378 | }, | 417 | }, |
@@ -381,11 +420,11 @@ | |||
381 | "defaultMessage": "!!!Current version:", | 420 | "defaultMessage": "!!!Current version:", |
382 | "file": "src/components/settings/settings/EditSettingsForm.js", | 421 | "file": "src/components/settings/settings/EditSettingsForm.js", |
383 | "start": { | 422 | "start": { |
384 | "line": 139, | 423 | "line": 149, |
385 | "column": 18 | 424 | "column": 18 |
386 | }, | 425 | }, |
387 | "end": { | 426 | "end": { |
388 | "line": 142, | 427 | "line": 152, |
389 | "column": 3 | 428 | "column": 3 |
390 | } | 429 | } |
391 | }, | 430 | }, |
@@ -394,11 +433,11 @@ | |||
394 | "defaultMessage": "!!!Changes require restart", | 433 | "defaultMessage": "!!!Changes require restart", |
395 | "file": "src/components/settings/settings/EditSettingsForm.js", | 434 | "file": "src/components/settings/settings/EditSettingsForm.js", |
396 | "start": { | 435 | "start": { |
397 | "line": 143, | 436 | "line": 153, |
398 | "column": 22 | 437 | "column": 22 |
399 | }, | 438 | }, |
400 | "end": { | 439 | "end": { |
401 | "line": 146, | 440 | "line": 156, |
402 | "column": 3 | 441 | "column": 3 |
403 | } | 442 | } |
404 | }, | 443 | }, |
@@ -407,11 +446,11 @@ | |||
407 | "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", | 446 | "defaultMessage": "!!!Official translations are English & German. All other languages are community based translations.", |
408 | "file": "src/components/settings/settings/EditSettingsForm.js", | 447 | "file": "src/components/settings/settings/EditSettingsForm.js", |
409 | "start": { | 448 | "start": { |
410 | "line": 147, | 449 | "line": 157, |
411 | "column": 22 | 450 | "column": 22 |
412 | }, | 451 | }, |
413 | "end": { | 452 | "end": { |
414 | "line": 150, | 453 | "line": 160, |
415 | "column": 3 | 454 | "column": 3 |
416 | } | 455 | } |
417 | } | 456 | } |
diff --git a/src/i18n/messages/src/features/shareFranz/Component.json b/src/i18n/messages/src/features/shareFranz/Component.json deleted file mode 100644 index 428bd5fbc..000000000 --- a/src/i18n/messages/src/features/shareFranz/Component.json +++ /dev/null | |||
@@ -1,93 +0,0 @@ | |||
1 | [ | ||
2 | { | ||
3 | "id": "feature.shareFranz.headline", | ||
4 | "defaultMessage": "!!!Ferdi is better together!", | ||
5 | "file": "src/features/shareFranz/Component.js", | ||
6 | "start": { | ||
7 | "line": 17, | ||
8 | "column": 12 | ||
9 | }, | ||
10 | "end": { | ||
11 | "line": 20, | ||
12 | "column": 3 | ||
13 | } | ||
14 | }, | ||
15 | { | ||
16 | "id": "feature.shareFranz.text", | ||
17 | "defaultMessage": "!!!Tell your friends and colleagues how awesome Ferdi is and help us to spread the word.", | ||
18 | "file": "src/features/shareFranz/Component.js", | ||
19 | "start": { | ||
20 | "line": 21, | ||
21 | "column": 8 | ||
22 | }, | ||
23 | "end": { | ||
24 | "line": 24, | ||
25 | "column": 3 | ||
26 | } | ||
27 | }, | ||
28 | { | ||
29 | "id": "feature.shareFranz.action.email", | ||
30 | "defaultMessage": "!!!Share as email", | ||
31 | "file": "src/features/shareFranz/Component.js", | ||
32 | "start": { | ||
33 | "line": 25, | ||
34 | "column": 16 | ||
35 | }, | ||
36 | "end": { | ||
37 | "line": 28, | ||
38 | "column": 3 | ||
39 | } | ||
40 | }, | ||
41 | { | ||
42 | "id": "feature.shareFranz.action.facebook", | ||
43 | "defaultMessage": "!!!Share on Facebook", | ||
44 | "file": "src/features/shareFranz/Component.js", | ||
45 | "start": { | ||
46 | "line": 29, | ||
47 | "column": 19 | ||
48 | }, | ||
49 | "end": { | ||
50 | "line": 32, | ||
51 | "column": 3 | ||
52 | } | ||
53 | }, | ||
54 | { | ||
55 | "id": "feature.shareFranz.action.twitter", | ||
56 | "defaultMessage": "!!!Share on Twitter", | ||
57 | "file": "src/features/shareFranz/Component.js", | ||
58 | "start": { | ||
59 | "line": 33, | ||
60 | "column": 18 | ||
61 | }, | ||
62 | "end": { | ||
63 | "line": 36, | ||
64 | "column": 3 | ||
65 | } | ||
66 | }, | ||
67 | { | ||
68 | "id": "feature.shareFranz.shareText.email", | ||
69 | "defaultMessage": "!!! I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com", | ||
70 | "file": "src/features/shareFranz/Component.js", | ||
71 | "start": { | ||
72 | "line": 37, | ||
73 | "column": 18 | ||
74 | }, | ||
75 | "end": { | ||
76 | "line": 40, | ||
77 | "column": 3 | ||
78 | } | ||
79 | }, | ||
80 | { | ||
81 | "id": "feature.shareFranz.shareText.twitter", | ||
82 | "defaultMessage": "!!! I've added {count} services to Ferdi! Get the free app for WhatsApp, Messenger, Slack, Skype and co at www.meetfranz.com /cc @FranzMessenger", | ||
83 | "file": "src/features/shareFranz/Component.js", | ||
84 | "start": { | ||
85 | "line": 41, | ||
86 | "column": 20 | ||
87 | }, | ||
88 | "end": { | ||
89 | "line": 44, | ||
90 | "column": 3 | ||
91 | } | ||
92 | } | ||
93 | ] \ No newline at end of file | ||
diff --git a/src/i18n/messages/src/lib/Menu.json b/src/i18n/messages/src/lib/Menu.json index e8fa0d10b..373c3a64b 100644 --- a/src/i18n/messages/src/lib/Menu.json +++ b/src/i18n/messages/src/lib/Menu.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!Edit", | 4 | "defaultMessage": "!!!Edit", |
5 | "file": "src/lib/Menu.js", | 5 | "file": "src/lib/Menu.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 20, | 7 | "line": 19, |
8 | "column": 8 | 8 | "column": 8 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 23, | 11 | "line": 22, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!Undo", | 17 | "defaultMessage": "!!!Undo", |
18 | "file": "src/lib/Menu.js", | 18 | "file": "src/lib/Menu.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 24, | 20 | "line": 23, |
21 | "column": 8 | 21 | "column": 8 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 27, | 24 | "line": 26, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | }, | 27 | }, |
@@ -30,11 +30,11 @@ | |||
30 | "defaultMessage": "!!!Redo", | 30 | "defaultMessage": "!!!Redo", |
31 | "file": "src/lib/Menu.js", | 31 | "file": "src/lib/Menu.js", |
32 | "start": { | 32 | "start": { |
33 | "line": 28, | 33 | "line": 27, |
34 | "column": 8 | 34 | "column": 8 |
35 | }, | 35 | }, |
36 | "end": { | 36 | "end": { |
37 | "line": 31, | 37 | "line": 30, |
38 | "column": 3 | 38 | "column": 3 |
39 | } | 39 | } |
40 | }, | 40 | }, |
@@ -43,11 +43,11 @@ | |||
43 | "defaultMessage": "!!!Cut", | 43 | "defaultMessage": "!!!Cut", |
44 | "file": "src/lib/Menu.js", | 44 | "file": "src/lib/Menu.js", |
45 | "start": { | 45 | "start": { |
46 | "line": 32, | 46 | "line": 31, |
47 | "column": 7 | 47 | "column": 7 |
48 | }, | 48 | }, |
49 | "end": { | 49 | "end": { |
50 | "line": 35, | 50 | "line": 34, |
51 | "column": 3 | 51 | "column": 3 |
52 | } | 52 | } |
53 | }, | 53 | }, |
@@ -56,11 +56,11 @@ | |||
56 | "defaultMessage": "!!!Copy", | 56 | "defaultMessage": "!!!Copy", |
57 | "file": "src/lib/Menu.js", | 57 | "file": "src/lib/Menu.js", |
58 | "start": { | 58 | "start": { |
59 | "line": 36, | 59 | "line": 35, |
60 | "column": 8 | 60 | "column": 8 |
61 | }, | 61 | }, |
62 | "end": { | 62 | "end": { |
63 | "line": 39, | 63 | "line": 38, |
64 | "column": 3 | 64 | "column": 3 |
65 | } | 65 | } |
66 | }, | 66 | }, |
@@ -69,11 +69,11 @@ | |||
69 | "defaultMessage": "!!!Paste", | 69 | "defaultMessage": "!!!Paste", |
70 | "file": "src/lib/Menu.js", | 70 | "file": "src/lib/Menu.js", |
71 | "start": { | 71 | "start": { |
72 | "line": 40, | 72 | "line": 39, |
73 | "column": 9 | 73 | "column": 9 |
74 | }, | 74 | }, |
75 | "end": { | 75 | "end": { |
76 | "line": 43, | 76 | "line": 42, |
77 | "column": 3 | 77 | "column": 3 |
78 | } | 78 | } |
79 | }, | 79 | }, |
@@ -82,11 +82,11 @@ | |||
82 | "defaultMessage": "!!!Paste And Match Style", | 82 | "defaultMessage": "!!!Paste And Match Style", |
83 | "file": "src/lib/Menu.js", | 83 | "file": "src/lib/Menu.js", |
84 | "start": { | 84 | "start": { |
85 | "line": 44, | 85 | "line": 43, |
86 | "column": 22 | 86 | "column": 22 |
87 | }, | 87 | }, |
88 | "end": { | 88 | "end": { |
89 | "line": 47, | 89 | "line": 46, |
90 | "column": 3 | 90 | "column": 3 |
91 | } | 91 | } |
92 | }, | 92 | }, |
@@ -95,11 +95,11 @@ | |||
95 | "defaultMessage": "!!!Delete", | 95 | "defaultMessage": "!!!Delete", |
96 | "file": "src/lib/Menu.js", | 96 | "file": "src/lib/Menu.js", |
97 | "start": { | 97 | "start": { |
98 | "line": 48, | 98 | "line": 47, |
99 | "column": 10 | 99 | "column": 10 |
100 | }, | 100 | }, |
101 | "end": { | 101 | "end": { |
102 | "line": 51, | 102 | "line": 50, |
103 | "column": 3 | 103 | "column": 3 |
104 | } | 104 | } |
105 | }, | 105 | }, |
@@ -108,11 +108,11 @@ | |||
108 | "defaultMessage": "!!!Select All", | 108 | "defaultMessage": "!!!Select All", |
109 | "file": "src/lib/Menu.js", | 109 | "file": "src/lib/Menu.js", |
110 | "start": { | 110 | "start": { |
111 | "line": 52, | 111 | "line": 51, |
112 | "column": 13 | 112 | "column": 13 |
113 | }, | 113 | }, |
114 | "end": { | 114 | "end": { |
115 | "line": 55, | 115 | "line": 54, |
116 | "column": 3 | 116 | "column": 3 |
117 | } | 117 | } |
118 | }, | 118 | }, |
@@ -121,11 +121,11 @@ | |||
121 | "defaultMessage": "!!!Find in Page", | 121 | "defaultMessage": "!!!Find in Page", |
122 | "file": "src/lib/Menu.js", | 122 | "file": "src/lib/Menu.js", |
123 | "start": { | 123 | "start": { |
124 | "line": 56, | 124 | "line": 55, |
125 | "column": 14 | 125 | "column": 14 |
126 | }, | 126 | }, |
127 | "end": { | 127 | "end": { |
128 | "line": 59, | 128 | "line": 58, |
129 | "column": 3 | 129 | "column": 3 |
130 | } | 130 | } |
131 | }, | 131 | }, |
@@ -134,11 +134,11 @@ | |||
134 | "defaultMessage": "!!!Speech", | 134 | "defaultMessage": "!!!Speech", |
135 | "file": "src/lib/Menu.js", | 135 | "file": "src/lib/Menu.js", |
136 | "start": { | 136 | "start": { |
137 | "line": 60, | 137 | "line": 59, |
138 | "column": 10 | 138 | "column": 10 |
139 | }, | 139 | }, |
140 | "end": { | 140 | "end": { |
141 | "line": 63, | 141 | "line": 62, |
142 | "column": 3 | 142 | "column": 3 |
143 | } | 143 | } |
144 | }, | 144 | }, |
@@ -147,11 +147,11 @@ | |||
147 | "defaultMessage": "!!!Start Speaking", | 147 | "defaultMessage": "!!!Start Speaking", |
148 | "file": "src/lib/Menu.js", | 148 | "file": "src/lib/Menu.js", |
149 | "start": { | 149 | "start": { |
150 | "line": 64, | 150 | "line": 63, |
151 | "column": 17 | 151 | "column": 17 |
152 | }, | 152 | }, |
153 | "end": { | 153 | "end": { |
154 | "line": 67, | 154 | "line": 66, |
155 | "column": 3 | 155 | "column": 3 |
156 | } | 156 | } |
157 | }, | 157 | }, |
@@ -160,11 +160,11 @@ | |||
160 | "defaultMessage": "!!!Stop Speaking", | 160 | "defaultMessage": "!!!Stop Speaking", |
161 | "file": "src/lib/Menu.js", | 161 | "file": "src/lib/Menu.js", |
162 | "start": { | 162 | "start": { |
163 | "line": 68, | 163 | "line": 67, |
164 | "column": 16 | 164 | "column": 16 |
165 | }, | 165 | }, |
166 | "end": { | 166 | "end": { |
167 | "line": 71, | 167 | "line": 70, |
168 | "column": 3 | 168 | "column": 3 |
169 | } | 169 | } |
170 | }, | 170 | }, |
@@ -173,11 +173,11 @@ | |||
173 | "defaultMessage": "!!!Start Dictation", | 173 | "defaultMessage": "!!!Start Dictation", |
174 | "file": "src/lib/Menu.js", | 174 | "file": "src/lib/Menu.js", |
175 | "start": { | 175 | "start": { |
176 | "line": 72, | 176 | "line": 71, |
177 | "column": 18 | 177 | "column": 18 |
178 | }, | 178 | }, |
179 | "end": { | 179 | "end": { |
180 | "line": 75, | 180 | "line": 74, |
181 | "column": 3 | 181 | "column": 3 |
182 | } | 182 | } |
183 | }, | 183 | }, |
@@ -186,11 +186,11 @@ | |||
186 | "defaultMessage": "!!!Emoji & Symbols", | 186 | "defaultMessage": "!!!Emoji & Symbols", |
187 | "file": "src/lib/Menu.js", | 187 | "file": "src/lib/Menu.js", |
188 | "start": { | 188 | "start": { |
189 | "line": 76, | 189 | "line": 75, |
190 | "column": 16 | 190 | "column": 16 |
191 | }, | 191 | }, |
192 | "end": { | 192 | "end": { |
193 | "line": 79, | 193 | "line": 78, |
194 | "column": 3 | 194 | "column": 3 |
195 | } | 195 | } |
196 | }, | 196 | }, |
@@ -199,11 +199,11 @@ | |||
199 | "defaultMessage": "!!!Open Quick Switch", | 199 | "defaultMessage": "!!!Open Quick Switch", |
200 | "file": "src/lib/Menu.js", | 200 | "file": "src/lib/Menu.js", |
201 | "start": { | 201 | "start": { |
202 | "line": 80, | 202 | "line": 79, |
203 | "column": 19 | 203 | "column": 19 |
204 | }, | 204 | }, |
205 | "end": { | 205 | "end": { |
206 | "line": 83, | 206 | "line": 82, |
207 | "column": 3 | 207 | "column": 3 |
208 | } | 208 | } |
209 | }, | 209 | }, |
@@ -212,11 +212,11 @@ | |||
212 | "defaultMessage": "!!!Back", | 212 | "defaultMessage": "!!!Back", |
213 | "file": "src/lib/Menu.js", | 213 | "file": "src/lib/Menu.js", |
214 | "start": { | 214 | "start": { |
215 | "line": 84, | 215 | "line": 83, |
216 | "column": 8 | 216 | "column": 8 |
217 | }, | 217 | }, |
218 | "end": { | 218 | "end": { |
219 | "line": 87, | 219 | "line": 86, |
220 | "column": 3 | 220 | "column": 3 |
221 | } | 221 | } |
222 | }, | 222 | }, |
@@ -225,11 +225,11 @@ | |||
225 | "defaultMessage": "!!!Forward", | 225 | "defaultMessage": "!!!Forward", |
226 | "file": "src/lib/Menu.js", | 226 | "file": "src/lib/Menu.js", |
227 | "start": { | 227 | "start": { |
228 | "line": 88, | 228 | "line": 87, |
229 | "column": 11 | 229 | "column": 11 |
230 | }, | 230 | }, |
231 | "end": { | 231 | "end": { |
232 | "line": 91, | 232 | "line": 90, |
233 | "column": 3 | 233 | "column": 3 |
234 | } | 234 | } |
235 | }, | 235 | }, |
@@ -238,11 +238,11 @@ | |||
238 | "defaultMessage": "!!!Actual Size", | 238 | "defaultMessage": "!!!Actual Size", |
239 | "file": "src/lib/Menu.js", | 239 | "file": "src/lib/Menu.js", |
240 | "start": { | 240 | "start": { |
241 | "line": 92, | 241 | "line": 91, |
242 | "column": 13 | 242 | "column": 13 |
243 | }, | 243 | }, |
244 | "end": { | 244 | "end": { |
245 | "line": 95, | 245 | "line": 94, |
246 | "column": 3 | 246 | "column": 3 |
247 | } | 247 | } |
248 | }, | 248 | }, |
@@ -251,11 +251,11 @@ | |||
251 | "defaultMessage": "!!!Zoom In", | 251 | "defaultMessage": "!!!Zoom In", |
252 | "file": "src/lib/Menu.js", | 252 | "file": "src/lib/Menu.js", |
253 | "start": { | 253 | "start": { |
254 | "line": 96, | 254 | "line": 95, |
255 | "column": 10 | 255 | "column": 10 |
256 | }, | 256 | }, |
257 | "end": { | 257 | "end": { |
258 | "line": 99, | 258 | "line": 98, |
259 | "column": 3 | 259 | "column": 3 |
260 | } | 260 | } |
261 | }, | 261 | }, |
@@ -264,11 +264,11 @@ | |||
264 | "defaultMessage": "!!!Zoom Out", | 264 | "defaultMessage": "!!!Zoom Out", |
265 | "file": "src/lib/Menu.js", | 265 | "file": "src/lib/Menu.js", |
266 | "start": { | 266 | "start": { |
267 | "line": 100, | 267 | "line": 99, |
268 | "column": 11 | 268 | "column": 11 |
269 | }, | 269 | }, |
270 | "end": { | 270 | "end": { |
271 | "line": 103, | 271 | "line": 102, |
272 | "column": 3 | 272 | "column": 3 |
273 | } | 273 | } |
274 | }, | 274 | }, |
@@ -277,11 +277,11 @@ | |||
277 | "defaultMessage": "!!!Toggle Full Screen", | 277 | "defaultMessage": "!!!Toggle Full Screen", |
278 | "file": "src/lib/Menu.js", | 278 | "file": "src/lib/Menu.js", |
279 | "start": { | 279 | "start": { |
280 | "line": 104, | 280 | "line": 103, |
281 | "column": 20 | 281 | "column": 20 |
282 | }, | 282 | }, |
283 | "end": { | 283 | "end": { |
284 | "line": 107, | 284 | "line": 106, |
285 | "column": 3 | 285 | "column": 3 |
286 | } | 286 | } |
287 | }, | 287 | }, |
@@ -290,11 +290,11 @@ | |||
290 | "defaultMessage": "!!!Toggle Dark Mode", | 290 | "defaultMessage": "!!!Toggle Dark Mode", |
291 | "file": "src/lib/Menu.js", | 291 | "file": "src/lib/Menu.js", |
292 | "start": { | 292 | "start": { |
293 | "line": 108, | 293 | "line": 107, |
294 | "column": 18 | 294 | "column": 18 |
295 | }, | 295 | }, |
296 | "end": { | 296 | "end": { |
297 | "line": 111, | 297 | "line": 110, |
298 | "column": 3 | 298 | "column": 3 |
299 | } | 299 | } |
300 | }, | 300 | }, |
@@ -303,11 +303,11 @@ | |||
303 | "defaultMessage": "!!!Toggle Developer Tools", | 303 | "defaultMessage": "!!!Toggle Developer Tools", |
304 | "file": "src/lib/Menu.js", | 304 | "file": "src/lib/Menu.js", |
305 | "start": { | 305 | "start": { |
306 | "line": 112, | 306 | "line": 111, |
307 | "column": 18 | 307 | "column": 18 |
308 | }, | 308 | }, |
309 | "end": { | 309 | "end": { |
310 | "line": 115, | 310 | "line": 114, |
311 | "column": 3 | 311 | "column": 3 |
312 | } | 312 | } |
313 | }, | 313 | }, |
@@ -316,11 +316,11 @@ | |||
316 | "defaultMessage": "!!!Toggle Todos Developer Tools", | 316 | "defaultMessage": "!!!Toggle Todos Developer Tools", |
317 | "file": "src/lib/Menu.js", | 317 | "file": "src/lib/Menu.js", |
318 | "start": { | 318 | "start": { |
319 | "line": 116, | 319 | "line": 115, |
320 | "column": 23 | 320 | "column": 23 |
321 | }, | 321 | }, |
322 | "end": { | 322 | "end": { |
323 | "line": 119, | 323 | "line": 118, |
324 | "column": 3 | 324 | "column": 3 |
325 | } | 325 | } |
326 | }, | 326 | }, |
@@ -329,11 +329,11 @@ | |||
329 | "defaultMessage": "!!!Toggle Service Developer Tools", | 329 | "defaultMessage": "!!!Toggle Service Developer Tools", |
330 | "file": "src/lib/Menu.js", | 330 | "file": "src/lib/Menu.js", |
331 | "start": { | 331 | "start": { |
332 | "line": 120, | 332 | "line": 119, |
333 | "column": 25 | 333 | "column": 25 |
334 | }, | 334 | }, |
335 | "end": { | 335 | "end": { |
336 | "line": 123, | 336 | "line": 122, |
337 | "column": 3 | 337 | "column": 3 |
338 | } | 338 | } |
339 | }, | 339 | }, |
@@ -342,11 +342,11 @@ | |||
342 | "defaultMessage": "!!!Reload Service", | 342 | "defaultMessage": "!!!Reload Service", |
343 | "file": "src/lib/Menu.js", | 343 | "file": "src/lib/Menu.js", |
344 | "start": { | 344 | "start": { |
345 | "line": 124, | 345 | "line": 123, |
346 | "column": 17 | 346 | "column": 17 |
347 | }, | 347 | }, |
348 | "end": { | 348 | "end": { |
349 | "line": 127, | 349 | "line": 126, |
350 | "column": 3 | 350 | "column": 3 |
351 | } | 351 | } |
352 | }, | 352 | }, |
@@ -355,11 +355,11 @@ | |||
355 | "defaultMessage": "!!!Reload Ferdi", | 355 | "defaultMessage": "!!!Reload Ferdi", |
356 | "file": "src/lib/Menu.js", | 356 | "file": "src/lib/Menu.js", |
357 | "start": { | 357 | "start": { |
358 | "line": 128, | 358 | "line": 127, |
359 | "column": 15 | 359 | "column": 15 |
360 | }, | 360 | }, |
361 | "end": { | 361 | "end": { |
362 | "line": 131, | 362 | "line": 130, |
363 | "column": 3 | 363 | "column": 3 |
364 | } | 364 | } |
365 | }, | 365 | }, |
@@ -368,11 +368,11 @@ | |||
368 | "defaultMessage": "!!!Lock Ferdi", | 368 | "defaultMessage": "!!!Lock Ferdi", |
369 | "file": "src/lib/Menu.js", | 369 | "file": "src/lib/Menu.js", |
370 | "start": { | 370 | "start": { |
371 | "line": 132, | 371 | "line": 131, |
372 | "column": 13 | 372 | "column": 13 |
373 | }, | 373 | }, |
374 | "end": { | 374 | "end": { |
375 | "line": 135, | 375 | "line": 134, |
376 | "column": 3 | 376 | "column": 3 |
377 | } | 377 | } |
378 | }, | 378 | }, |
@@ -381,11 +381,11 @@ | |||
381 | "defaultMessage": "!!!Reload ToDos", | 381 | "defaultMessage": "!!!Reload ToDos", |
382 | "file": "src/lib/Menu.js", | 382 | "file": "src/lib/Menu.js", |
383 | "start": { | 383 | "start": { |
384 | "line": 136, | 384 | "line": 135, |
385 | "column": 15 | 385 | "column": 15 |
386 | }, | 386 | }, |
387 | "end": { | 387 | "end": { |
388 | "line": 139, | 388 | "line": 138, |
389 | "column": 3 | 389 | "column": 3 |
390 | } | 390 | } |
391 | }, | 391 | }, |
@@ -394,11 +394,11 @@ | |||
394 | "defaultMessage": "!!!Minimize", | 394 | "defaultMessage": "!!!Minimize", |
395 | "file": "src/lib/Menu.js", | 395 | "file": "src/lib/Menu.js", |
396 | "start": { | 396 | "start": { |
397 | "line": 140, | 397 | "line": 139, |
398 | "column": 12 | 398 | "column": 12 |
399 | }, | 399 | }, |
400 | "end": { | 400 | "end": { |
401 | "line": 143, | 401 | "line": 142, |
402 | "column": 3 | 402 | "column": 3 |
403 | } | 403 | } |
404 | }, | 404 | }, |
@@ -407,11 +407,11 @@ | |||
407 | "defaultMessage": "!!!Close", | 407 | "defaultMessage": "!!!Close", |
408 | "file": "src/lib/Menu.js", | 408 | "file": "src/lib/Menu.js", |
409 | "start": { | 409 | "start": { |
410 | "line": 144, | 410 | "line": 143, |
411 | "column": 9 | 411 | "column": 9 |
412 | }, | 412 | }, |
413 | "end": { | 413 | "end": { |
414 | "line": 147, | 414 | "line": 146, |
415 | "column": 3 | 415 | "column": 3 |
416 | } | 416 | } |
417 | }, | 417 | }, |
@@ -420,11 +420,11 @@ | |||
420 | "defaultMessage": "!!!Learn More", | 420 | "defaultMessage": "!!!Learn More", |
421 | "file": "src/lib/Menu.js", | 421 | "file": "src/lib/Menu.js", |
422 | "start": { | 422 | "start": { |
423 | "line": 148, | 423 | "line": 147, |
424 | "column": 13 | 424 | "column": 13 |
425 | }, | 425 | }, |
426 | "end": { | 426 | "end": { |
427 | "line": 151, | 427 | "line": 150, |
428 | "column": 3 | 428 | "column": 3 |
429 | } | 429 | } |
430 | }, | 430 | }, |
@@ -433,11 +433,11 @@ | |||
433 | "defaultMessage": "!!!Changelog", | 433 | "defaultMessage": "!!!Changelog", |
434 | "file": "src/lib/Menu.js", | 434 | "file": "src/lib/Menu.js", |
435 | "start": { | 435 | "start": { |
436 | "line": 152, | 436 | "line": 151, |
437 | "column": 13 | 437 | "column": 13 |
438 | }, | 438 | }, |
439 | "end": { | 439 | "end": { |
440 | "line": 155, | 440 | "line": 154, |
441 | "column": 3 | 441 | "column": 3 |
442 | } | 442 | } |
443 | }, | 443 | }, |
@@ -446,11 +446,11 @@ | |||
446 | "defaultMessage": "!!!Import/Export Configuration Data", | 446 | "defaultMessage": "!!!Import/Export Configuration Data", |
447 | "file": "src/lib/Menu.js", | 447 | "file": "src/lib/Menu.js", |
448 | "start": { | 448 | "start": { |
449 | "line": 156, | 449 | "line": 155, |
450 | "column": 20 | 450 | "column": 20 |
451 | }, | 451 | }, |
452 | "end": { | 452 | "end": { |
453 | "line": 159, | 453 | "line": 158, |
454 | "column": 3 | 454 | "column": 3 |
455 | } | 455 | } |
456 | }, | 456 | }, |
@@ -459,11 +459,11 @@ | |||
459 | "defaultMessage": "!!!Support", | 459 | "defaultMessage": "!!!Support", |
460 | "file": "src/lib/Menu.js", | 460 | "file": "src/lib/Menu.js", |
461 | "start": { | 461 | "start": { |
462 | "line": 160, | 462 | "line": 159, |
463 | "column": 11 | 463 | "column": 11 |
464 | }, | 464 | }, |
465 | "end": { | 465 | "end": { |
466 | "line": 163, | 466 | "line": 162, |
467 | "column": 3 | 467 | "column": 3 |
468 | } | 468 | } |
469 | }, | 469 | }, |
@@ -472,11 +472,11 @@ | |||
472 | "defaultMessage": "!!!Copy Debug Information", | 472 | "defaultMessage": "!!!Copy Debug Information", |
473 | "file": "src/lib/Menu.js", | 473 | "file": "src/lib/Menu.js", |
474 | "start": { | 474 | "start": { |
475 | "line": 164, | 475 | "line": 163, |
476 | "column": 13 | 476 | "column": 13 |
477 | }, | 477 | }, |
478 | "end": { | 478 | "end": { |
479 | "line": 167, | 479 | "line": 166, |
480 | "column": 3 | 480 | "column": 3 |
481 | } | 481 | } |
482 | }, | 482 | }, |
@@ -485,11 +485,11 @@ | |||
485 | "defaultMessage": "!!!Publish Debug Information", | 485 | "defaultMessage": "!!!Publish Debug Information", |
486 | "file": "src/lib/Menu.js", | 486 | "file": "src/lib/Menu.js", |
487 | "start": { | 487 | "start": { |
488 | "line": 168, | 488 | "line": 167, |
489 | "column": 20 | 489 | "column": 20 |
490 | }, | 490 | }, |
491 | "end": { | 491 | "end": { |
492 | "line": 171, | 492 | "line": 170, |
493 | "column": 3 | 493 | "column": 3 |
494 | } | 494 | } |
495 | }, | 495 | }, |
@@ -498,11 +498,11 @@ | |||
498 | "defaultMessage": "!!!Ferdi Debug Information", | 498 | "defaultMessage": "!!!Ferdi Debug Information", |
499 | "file": "src/lib/Menu.js", | 499 | "file": "src/lib/Menu.js", |
500 | "start": { | 500 | "start": { |
501 | "line": 172, | 501 | "line": 171, |
502 | "column": 27 | 502 | "column": 27 |
503 | }, | 503 | }, |
504 | "end": { | 504 | "end": { |
505 | "line": 175, | 505 | "line": 174, |
506 | "column": 3 | 506 | "column": 3 |
507 | } | 507 | } |
508 | }, | 508 | }, |
@@ -511,11 +511,11 @@ | |||
511 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", | 511 | "defaultMessage": "!!!Your Debug Information has been copied to your clipboard.", |
512 | "file": "src/lib/Menu.js", | 512 | "file": "src/lib/Menu.js", |
513 | "start": { | 513 | "start": { |
514 | "line": 176, | 514 | "line": 175, |
515 | "column": 23 | 515 | "column": 23 |
516 | }, | 516 | }, |
517 | "end": { | 517 | "end": { |
518 | "line": 179, | 518 | "line": 178, |
519 | "column": 3 | 519 | "column": 3 |
520 | } | 520 | } |
521 | }, | 521 | }, |
@@ -524,11 +524,11 @@ | |||
524 | "defaultMessage": "!!!Unlock with Touch ID", | 524 | "defaultMessage": "!!!Unlock with Touch ID", |
525 | "file": "src/lib/Menu.js", | 525 | "file": "src/lib/Menu.js", |
526 | "start": { | 526 | "start": { |
527 | "line": 180, | 527 | "line": 179, |
528 | "column": 11 | 528 | "column": 11 |
529 | }, | 529 | }, |
530 | "end": { | 530 | "end": { |
531 | "line": 183, | 531 | "line": 182, |
532 | "column": 3 | 532 | "column": 3 |
533 | } | 533 | } |
534 | }, | 534 | }, |
@@ -537,11 +537,11 @@ | |||
537 | "defaultMessage": "!!!unlock via Touch ID", | 537 | "defaultMessage": "!!!unlock via Touch ID", |
538 | "file": "src/lib/Menu.js", | 538 | "file": "src/lib/Menu.js", |
539 | "start": { | 539 | "start": { |
540 | "line": 184, | 540 | "line": 183, |
541 | "column": 17 | 541 | "column": 17 |
542 | }, | 542 | }, |
543 | "end": { | 543 | "end": { |
544 | "line": 187, | 544 | "line": 186, |
545 | "column": 3 | 545 | "column": 3 |
546 | } | 546 | } |
547 | }, | 547 | }, |
@@ -550,11 +550,11 @@ | |||
550 | "defaultMessage": "!!!Terms of Service", | 550 | "defaultMessage": "!!!Terms of Service", |
551 | "file": "src/lib/Menu.js", | 551 | "file": "src/lib/Menu.js", |
552 | "start": { | 552 | "start": { |
553 | "line": 188, | 553 | "line": 187, |
554 | "column": 7 | 554 | "column": 7 |
555 | }, | 555 | }, |
556 | "end": { | 556 | "end": { |
557 | "line": 191, | 557 | "line": 190, |
558 | "column": 3 | 558 | "column": 3 |
559 | } | 559 | } |
560 | }, | 560 | }, |
@@ -563,11 +563,11 @@ | |||
563 | "defaultMessage": "!!!Privacy Statement", | 563 | "defaultMessage": "!!!Privacy Statement", |
564 | "file": "src/lib/Menu.js", | 564 | "file": "src/lib/Menu.js", |
565 | "start": { | 565 | "start": { |
566 | "line": 192, | 566 | "line": 191, |
567 | "column": 11 | 567 | "column": 11 |
568 | }, | 568 | }, |
569 | "end": { | 569 | "end": { |
570 | "line": 195, | 570 | "line": 194, |
571 | "column": 3 | 571 | "column": 3 |
572 | } | 572 | } |
573 | }, | 573 | }, |
@@ -576,11 +576,11 @@ | |||
576 | "defaultMessage": "!!!File", | 576 | "defaultMessage": "!!!File", |
577 | "file": "src/lib/Menu.js", | 577 | "file": "src/lib/Menu.js", |
578 | "start": { | 578 | "start": { |
579 | "line": 196, | 579 | "line": 195, |
580 | "column": 8 | 580 | "column": 8 |
581 | }, | 581 | }, |
582 | "end": { | 582 | "end": { |
583 | "line": 199, | 583 | "line": 198, |
584 | "column": 3 | 584 | "column": 3 |
585 | } | 585 | } |
586 | }, | 586 | }, |
@@ -589,11 +589,11 @@ | |||
589 | "defaultMessage": "!!!View", | 589 | "defaultMessage": "!!!View", |
590 | "file": "src/lib/Menu.js", | 590 | "file": "src/lib/Menu.js", |
591 | "start": { | 591 | "start": { |
592 | "line": 200, | 592 | "line": 199, |
593 | "column": 8 | 593 | "column": 8 |
594 | }, | 594 | }, |
595 | "end": { | 595 | "end": { |
596 | "line": 203, | 596 | "line": 202, |
597 | "column": 3 | 597 | "column": 3 |
598 | } | 598 | } |
599 | }, | 599 | }, |
@@ -602,11 +602,11 @@ | |||
602 | "defaultMessage": "!!!Services", | 602 | "defaultMessage": "!!!Services", |
603 | "file": "src/lib/Menu.js", | 603 | "file": "src/lib/Menu.js", |
604 | "start": { | 604 | "start": { |
605 | "line": 204, | 605 | "line": 203, |
606 | "column": 12 | 606 | "column": 12 |
607 | }, | 607 | }, |
608 | "end": { | 608 | "end": { |
609 | "line": 207, | 609 | "line": 206, |
610 | "column": 3 | 610 | "column": 3 |
611 | } | 611 | } |
612 | }, | 612 | }, |
@@ -615,11 +615,11 @@ | |||
615 | "defaultMessage": "!!!Window", | 615 | "defaultMessage": "!!!Window", |
616 | "file": "src/lib/Menu.js", | 616 | "file": "src/lib/Menu.js", |
617 | "start": { | 617 | "start": { |
618 | "line": 208, | 618 | "line": 207, |
619 | "column": 10 | 619 | "column": 10 |
620 | }, | 620 | }, |
621 | "end": { | 621 | "end": { |
622 | "line": 211, | 622 | "line": 210, |
623 | "column": 3 | 623 | "column": 3 |
624 | } | 624 | } |
625 | }, | 625 | }, |
@@ -628,11 +628,11 @@ | |||
628 | "defaultMessage": "!!!Help", | 628 | "defaultMessage": "!!!Help", |
629 | "file": "src/lib/Menu.js", | 629 | "file": "src/lib/Menu.js", |
630 | "start": { | 630 | "start": { |
631 | "line": 212, | 631 | "line": 211, |
632 | "column": 8 | 632 | "column": 8 |
633 | }, | 633 | }, |
634 | "end": { | 634 | "end": { |
635 | "line": 215, | 635 | "line": 214, |
636 | "column": 3 | 636 | "column": 3 |
637 | } | 637 | } |
638 | }, | 638 | }, |
@@ -641,11 +641,11 @@ | |||
641 | "defaultMessage": "!!!About Ferdi", | 641 | "defaultMessage": "!!!About Ferdi", |
642 | "file": "src/lib/Menu.js", | 642 | "file": "src/lib/Menu.js", |
643 | "start": { | 643 | "start": { |
644 | "line": 216, | 644 | "line": 215, |
645 | "column": 9 | 645 | "column": 9 |
646 | }, | 646 | }, |
647 | "end": { | 647 | "end": { |
648 | "line": 219, | 648 | "line": 218, |
649 | "column": 3 | 649 | "column": 3 |
650 | } | 650 | } |
651 | }, | 651 | }, |
@@ -654,11 +654,11 @@ | |||
654 | "defaultMessage": "!!!What's new?", | 654 | "defaultMessage": "!!!What's new?", |
655 | "file": "src/lib/Menu.js", | 655 | "file": "src/lib/Menu.js", |
656 | "start": { | 656 | "start": { |
657 | "line": 220, | 657 | "line": 219, |
658 | "column": 16 | 658 | "column": 16 |
659 | }, | 659 | }, |
660 | "end": { | 660 | "end": { |
661 | "line": 223, | 661 | "line": 222, |
662 | "column": 3 | 662 | "column": 3 |
663 | } | 663 | } |
664 | }, | 664 | }, |
@@ -667,11 +667,11 @@ | |||
667 | "defaultMessage": "!!!Settings", | 667 | "defaultMessage": "!!!Settings", |
668 | "file": "src/lib/Menu.js", | 668 | "file": "src/lib/Menu.js", |
669 | "start": { | 669 | "start": { |
670 | "line": 224, | 670 | "line": 223, |
671 | "column": 12 | 671 | "column": 12 |
672 | }, | 672 | }, |
673 | "end": { | 673 | "end": { |
674 | "line": 227, | 674 | "line": 226, |
675 | "column": 3 | 675 | "column": 3 |
676 | } | 676 | } |
677 | }, | 677 | }, |
@@ -680,11 +680,11 @@ | |||
680 | "defaultMessage": "!!!Check for updates", | 680 | "defaultMessage": "!!!Check for updates", |
681 | "file": "src/lib/Menu.js", | 681 | "file": "src/lib/Menu.js", |
682 | "start": { | 682 | "start": { |
683 | "line": 228, | 683 | "line": 227, |
684 | "column": 19 | 684 | "column": 19 |
685 | }, | 685 | }, |
686 | "end": { | 686 | "end": { |
687 | "line": 231, | 687 | "line": 230, |
688 | "column": 3 | 688 | "column": 3 |
689 | } | 689 | } |
690 | }, | 690 | }, |
@@ -693,11 +693,11 @@ | |||
693 | "defaultMessage": "!!!Hide", | 693 | "defaultMessage": "!!!Hide", |
694 | "file": "src/lib/Menu.js", | 694 | "file": "src/lib/Menu.js", |
695 | "start": { | 695 | "start": { |
696 | "line": 232, | 696 | "line": 231, |
697 | "column": 8 | 697 | "column": 8 |
698 | }, | 698 | }, |
699 | "end": { | 699 | "end": { |
700 | "line": 235, | 700 | "line": 234, |
701 | "column": 3 | 701 | "column": 3 |
702 | } | 702 | } |
703 | }, | 703 | }, |
@@ -706,11 +706,11 @@ | |||
706 | "defaultMessage": "!!!Hide Others", | 706 | "defaultMessage": "!!!Hide Others", |
707 | "file": "src/lib/Menu.js", | 707 | "file": "src/lib/Menu.js", |
708 | "start": { | 708 | "start": { |
709 | "line": 236, | 709 | "line": 235, |
710 | "column": 14 | 710 | "column": 14 |
711 | }, | 711 | }, |
712 | "end": { | 712 | "end": { |
713 | "line": 239, | 713 | "line": 238, |
714 | "column": 3 | 714 | "column": 3 |
715 | } | 715 | } |
716 | }, | 716 | }, |
@@ -719,11 +719,11 @@ | |||
719 | "defaultMessage": "!!!Unhide", | 719 | "defaultMessage": "!!!Unhide", |
720 | "file": "src/lib/Menu.js", | 720 | "file": "src/lib/Menu.js", |
721 | "start": { | 721 | "start": { |
722 | "line": 240, | 722 | "line": 239, |
723 | "column": 10 | 723 | "column": 10 |
724 | }, | 724 | }, |
725 | "end": { | 725 | "end": { |
726 | "line": 243, | 726 | "line": 242, |
727 | "column": 3 | 727 | "column": 3 |
728 | } | 728 | } |
729 | }, | 729 | }, |
@@ -732,11 +732,11 @@ | |||
732 | "defaultMessage": "!!!Auto-hide menu bar", | 732 | "defaultMessage": "!!!Auto-hide menu bar", |
733 | "file": "src/lib/Menu.js", | 733 | "file": "src/lib/Menu.js", |
734 | "start": { | 734 | "start": { |
735 | "line": 244, | 735 | "line": 243, |
736 | "column": 19 | 736 | "column": 19 |
737 | }, | 737 | }, |
738 | "end": { | 738 | "end": { |
739 | "line": 247, | 739 | "line": 246, |
740 | "column": 3 | 740 | "column": 3 |
741 | } | 741 | } |
742 | }, | 742 | }, |
@@ -745,11 +745,11 @@ | |||
745 | "defaultMessage": "!!!Quit", | 745 | "defaultMessage": "!!!Quit", |
746 | "file": "src/lib/Menu.js", | 746 | "file": "src/lib/Menu.js", |
747 | "start": { | 747 | "start": { |
748 | "line": 248, | 748 | "line": 247, |
749 | "column": 8 | 749 | "column": 8 |
750 | }, | 750 | }, |
751 | "end": { | 751 | "end": { |
752 | "line": 251, | 752 | "line": 250, |
753 | "column": 3 | 753 | "column": 3 |
754 | } | 754 | } |
755 | }, | 755 | }, |
@@ -758,11 +758,11 @@ | |||
758 | "defaultMessage": "!!!Add New Service...", | 758 | "defaultMessage": "!!!Add New Service...", |
759 | "file": "src/lib/Menu.js", | 759 | "file": "src/lib/Menu.js", |
760 | "start": { | 760 | "start": { |
761 | "line": 252, | 761 | "line": 251, |
762 | "column": 17 | 762 | "column": 17 |
763 | }, | 763 | }, |
764 | "end": { | 764 | "end": { |
765 | "line": 255, | 765 | "line": 254, |
766 | "column": 3 | 766 | "column": 3 |
767 | } | 767 | } |
768 | }, | 768 | }, |
@@ -771,11 +771,11 @@ | |||
771 | "defaultMessage": "!!!Add New Workspace...", | 771 | "defaultMessage": "!!!Add New Workspace...", |
772 | "file": "src/lib/Menu.js", | 772 | "file": "src/lib/Menu.js", |
773 | "start": { | 773 | "start": { |
774 | "line": 256, | 774 | "line": 255, |
775 | "column": 19 | 775 | "column": 19 |
776 | }, | 776 | }, |
777 | "end": { | 777 | "end": { |
778 | "line": 259, | 778 | "line": 258, |
779 | "column": 3 | 779 | "column": 3 |
780 | } | 780 | } |
781 | }, | 781 | }, |
@@ -784,11 +784,11 @@ | |||
784 | "defaultMessage": "!!!Open workspace drawer", | 784 | "defaultMessage": "!!!Open workspace drawer", |
785 | "file": "src/lib/Menu.js", | 785 | "file": "src/lib/Menu.js", |
786 | "start": { | 786 | "start": { |
787 | "line": 260, | 787 | "line": 259, |
788 | "column": 23 | 788 | "column": 23 |
789 | }, | 789 | }, |
790 | "end": { | 790 | "end": { |
791 | "line": 263, | 791 | "line": 262, |
792 | "column": 3 | 792 | "column": 3 |
793 | } | 793 | } |
794 | }, | 794 | }, |
@@ -797,11 +797,11 @@ | |||
797 | "defaultMessage": "!!!Close workspace drawer", | 797 | "defaultMessage": "!!!Close workspace drawer", |
798 | "file": "src/lib/Menu.js", | 798 | "file": "src/lib/Menu.js", |
799 | "start": { | 799 | "start": { |
800 | "line": 264, | 800 | "line": 263, |
801 | "column": 24 | 801 | "column": 24 |
802 | }, | 802 | }, |
803 | "end": { | 803 | "end": { |
804 | "line": 267, | 804 | "line": 266, |
805 | "column": 3 | 805 | "column": 3 |
806 | } | 806 | } |
807 | }, | 807 | }, |
@@ -810,11 +810,11 @@ | |||
810 | "defaultMessage": "!!!Activate next service...", | 810 | "defaultMessage": "!!!Activate next service...", |
811 | "file": "src/lib/Menu.js", | 811 | "file": "src/lib/Menu.js", |
812 | "start": { | 812 | "start": { |
813 | "line": 268, | 813 | "line": 267, |
814 | "column": 23 | 814 | "column": 23 |
815 | }, | 815 | }, |
816 | "end": { | 816 | "end": { |
817 | "line": 271, | 817 | "line": 270, |
818 | "column": 3 | 818 | "column": 3 |
819 | } | 819 | } |
820 | }, | 820 | }, |
@@ -823,11 +823,11 @@ | |||
823 | "defaultMessage": "!!!Activate previous service...", | 823 | "defaultMessage": "!!!Activate previous service...", |
824 | "file": "src/lib/Menu.js", | 824 | "file": "src/lib/Menu.js", |
825 | "start": { | 825 | "start": { |
826 | "line": 272, | 826 | "line": 271, |
827 | "column": 27 | 827 | "column": 27 |
828 | }, | 828 | }, |
829 | "end": { | 829 | "end": { |
830 | "line": 275, | 830 | "line": 274, |
831 | "column": 3 | 831 | "column": 3 |
832 | } | 832 | } |
833 | }, | 833 | }, |
@@ -836,11 +836,11 @@ | |||
836 | "defaultMessage": "!!!Disable notifications & audio", | 836 | "defaultMessage": "!!!Disable notifications & audio", |
837 | "file": "src/lib/Menu.js", | 837 | "file": "src/lib/Menu.js", |
838 | "start": { | 838 | "start": { |
839 | "line": 276, | 839 | "line": 275, |
840 | "column": 11 | 840 | "column": 11 |
841 | }, | 841 | }, |
842 | "end": { | 842 | "end": { |
843 | "line": 279, | 843 | "line": 278, |
844 | "column": 3 | 844 | "column": 3 |
845 | } | 845 | } |
846 | }, | 846 | }, |
@@ -849,11 +849,11 @@ | |||
849 | "defaultMessage": "!!!Enable notifications & audio", | 849 | "defaultMessage": "!!!Enable notifications & audio", |
850 | "file": "src/lib/Menu.js", | 850 | "file": "src/lib/Menu.js", |
851 | "start": { | 851 | "start": { |
852 | "line": 280, | 852 | "line": 279, |
853 | "column": 13 | 853 | "column": 13 |
854 | }, | 854 | }, |
855 | "end": { | 855 | "end": { |
856 | "line": 283, | 856 | "line": 282, |
857 | "column": 3 | 857 | "column": 3 |
858 | } | 858 | } |
859 | }, | 859 | }, |
@@ -862,11 +862,11 @@ | |||
862 | "defaultMessage": "!!!Workspaces", | 862 | "defaultMessage": "!!!Workspaces", |
863 | "file": "src/lib/Menu.js", | 863 | "file": "src/lib/Menu.js", |
864 | "start": { | 864 | "start": { |
865 | "line": 284, | 865 | "line": 283, |
866 | "column": 14 | 866 | "column": 14 |
867 | }, | 867 | }, |
868 | "end": { | 868 | "end": { |
869 | "line": 287, | 869 | "line": 286, |
870 | "column": 3 | 870 | "column": 3 |
871 | } | 871 | } |
872 | }, | 872 | }, |
@@ -875,11 +875,11 @@ | |||
875 | "defaultMessage": "!!!Default", | 875 | "defaultMessage": "!!!Default", |
876 | "file": "src/lib/Menu.js", | 876 | "file": "src/lib/Menu.js", |
877 | "start": { | 877 | "start": { |
878 | "line": 288, | 878 | "line": 287, |
879 | "column": 20 | 879 | "column": 20 |
880 | }, | 880 | }, |
881 | "end": { | 881 | "end": { |
882 | "line": 291, | 882 | "line": 290, |
883 | "column": 3 | 883 | "column": 3 |
884 | } | 884 | } |
885 | }, | 885 | }, |
@@ -888,11 +888,11 @@ | |||
888 | "defaultMessage": "!!!Todos", | 888 | "defaultMessage": "!!!Todos", |
889 | "file": "src/lib/Menu.js", | 889 | "file": "src/lib/Menu.js", |
890 | "start": { | 890 | "start": { |
891 | "line": 292, | 891 | "line": 291, |
892 | "column": 9 | 892 | "column": 9 |
893 | }, | 893 | }, |
894 | "end": { | 894 | "end": { |
895 | "line": 295, | 895 | "line": 294, |
896 | "column": 3 | 896 | "column": 3 |
897 | } | 897 | } |
898 | }, | 898 | }, |
@@ -901,11 +901,11 @@ | |||
901 | "defaultMessage": "!!!Open Todos drawer", | 901 | "defaultMessage": "!!!Open Todos drawer", |
902 | "file": "src/lib/Menu.js", | 902 | "file": "src/lib/Menu.js", |
903 | "start": { | 903 | "start": { |
904 | "line": 296, | 904 | "line": 295, |
905 | "column": 19 | 905 | "column": 19 |
906 | }, | 906 | }, |
907 | "end": { | 907 | "end": { |
908 | "line": 299, | 908 | "line": 298, |
909 | "column": 3 | 909 | "column": 3 |
910 | } | 910 | } |
911 | }, | 911 | }, |
@@ -914,11 +914,11 @@ | |||
914 | "defaultMessage": "!!!Close Todos drawer", | 914 | "defaultMessage": "!!!Close Todos drawer", |
915 | "file": "src/lib/Menu.js", | 915 | "file": "src/lib/Menu.js", |
916 | "start": { | 916 | "start": { |
917 | "line": 300, | 917 | "line": 299, |
918 | "column": 20 | 918 | "column": 20 |
919 | }, | 919 | }, |
920 | "end": { | 920 | "end": { |
921 | "line": 303, | 921 | "line": 302, |
922 | "column": 3 | 922 | "column": 3 |
923 | } | 923 | } |
924 | }, | 924 | }, |
@@ -927,11 +927,11 @@ | |||
927 | "defaultMessage": "!!!Enable Todos", | 927 | "defaultMessage": "!!!Enable Todos", |
928 | "file": "src/lib/Menu.js", | 928 | "file": "src/lib/Menu.js", |
929 | "start": { | 929 | "start": { |
930 | "line": 304, | 930 | "line": 303, |
931 | "column": 15 | 931 | "column": 15 |
932 | }, | 932 | }, |
933 | "end": { | 933 | "end": { |
934 | "line": 307, | 934 | "line": 306, |
935 | "column": 3 | 935 | "column": 3 |
936 | } | 936 | } |
937 | }, | 937 | }, |
@@ -940,11 +940,11 @@ | |||
940 | "defaultMessage": "!!!Home", | 940 | "defaultMessage": "!!!Home", |
941 | "file": "src/lib/Menu.js", | 941 | "file": "src/lib/Menu.js", |
942 | "start": { | 942 | "start": { |
943 | "line": 308, | 943 | "line": 307, |
944 | "column": 17 | 944 | "column": 17 |
945 | }, | 945 | }, |
946 | "end": { | 946 | "end": { |
947 | "line": 311, | 947 | "line": 310, |
948 | "column": 3 | 948 | "column": 3 |
949 | } | 949 | } |
950 | } | 950 | } |
diff --git a/src/index.js b/src/index.js index 9146a23da..d2b0f56f4 100644 --- a/src/index.js +++ b/src/index.js | |||
@@ -1,6 +1,6 @@ | |||
1 | /* eslint-disable import/first */ | 1 | /* eslint-disable import/first */ |
2 | 2 | ||
3 | import { app, BrowserWindow, shell, ipcMain, session } from 'electron'; | 3 | import { app, BrowserWindow, ipcMain, session } from 'electron'; |
4 | 4 | ||
5 | import { emptyDirSync, ensureFileSync } from 'fs-extra'; | 5 | import { emptyDirSync, ensureFileSync } from 'fs-extra'; |
6 | import { join } from 'path'; | 6 | import { join } from 'path'; |
@@ -34,7 +34,7 @@ import { appId } from './package.json'; // eslint-disable-line import/no-unresol | |||
34 | import './electron/exception'; | 34 | import './electron/exception'; |
35 | 35 | ||
36 | import { asarPath } from './helpers/asar-helpers'; | 36 | import { asarPath } from './helpers/asar-helpers'; |
37 | import { isValidExternalURL } from './helpers/url-helpers'; | 37 | import { openExternalUrl } from './helpers/url-helpers'; |
38 | import userAgent from './helpers/userAgent-helpers'; | 38 | import userAgent from './helpers/userAgent-helpers'; |
39 | 39 | ||
40 | const debug = require('debug')('Ferdi:App'); | 40 | const debug = require('debug')('Ferdi:App'); |
@@ -342,12 +342,8 @@ const createWindow = () => { | |||
342 | app.isMaximized = mainWindow.isMaximized(); | 342 | app.isMaximized = mainWindow.isMaximized(); |
343 | 343 | ||
344 | mainWindow.webContents.on('new-window', (e, url) => { | 344 | mainWindow.webContents.on('new-window', (e, url) => { |
345 | debug('Open url', url); | ||
346 | e.preventDefault(); | 345 | e.preventDefault(); |
347 | 346 | openExternalUrl(url); | |
348 | if (isValidExternalURL(url)) { | ||
349 | shell.openExternal(url); | ||
350 | } | ||
351 | }); | 347 | }); |
352 | 348 | ||
353 | if (settings.get('startMinimized')) { | 349 | if (settings.get('startMinimized')) { |
@@ -392,10 +388,9 @@ app.on('ready', () => { | |||
392 | enforceMacOSAppLocation(); | 388 | enforceMacOSAppLocation(); |
393 | 389 | ||
394 | // Register App URL | 390 | // Register App URL |
395 | if (isDevMode) { | 391 | const protocolClient = isDevMode ? 'ferdi-dev' : 'ferdi'; |
396 | app.setAsDefaultProtocolClient('ferdi-dev'); | 392 | if (!app.isDefaultProtocolClient(protocolClient)) { |
397 | } else { | 393 | app.setAsDefaultProtocolClient(protocolClient); |
398 | app.setAsDefaultProtocolClient('ferdi'); | ||
399 | } | 394 | } |
400 | 395 | ||
401 | if (isWindows) { | 396 | if (isWindows) { |
@@ -455,7 +450,12 @@ ipcMain.on('open-browser-window', (e, { url, serviceId }) => { | |||
455 | const serviceSession = session.fromPartition(`persist:service-${serviceId}`); | 450 | const serviceSession = session.fromPartition(`persist:service-${serviceId}`); |
456 | const child = new BrowserWindow({ | 451 | const child = new BrowserWindow({ |
457 | parent: mainWindow, | 452 | parent: mainWindow, |
458 | webPreferences: { session: serviceSession }, | 453 | webPreferences: { |
454 | session: serviceSession, | ||
455 | // TODO: Aren't these needed here? | ||
456 | // contextIsolation: false, | ||
457 | // enableRemoteModule: true, | ||
458 | }, | ||
459 | }); | 459 | }); |
460 | child.show(); | 460 | child.show(); |
461 | child.loadURL(url); | 461 | child.loadURL(url); |
diff --git a/src/internal-server/app/Controllers/Http/RecipeController.js b/src/internal-server/app/Controllers/Http/RecipeController.js index 8a6b4f684..1a7595a9d 100644 --- a/src/internal-server/app/Controllers/Http/RecipeController.js +++ b/src/internal-server/app/Controllers/Http/RecipeController.js | |||
@@ -6,8 +6,11 @@ const { | |||
6 | const Env = use('Env'); | 6 | const Env = use('Env'); |
7 | 7 | ||
8 | const fetch = require('node-fetch'); | 8 | const fetch = require('node-fetch'); |
9 | const debug = require('debug')('Ferdi:internalServer:RecipeController'); | ||
10 | const { LIVE_FERDI_API } = require('../../../../config'); | ||
11 | const { API_VERSION } = require('../../../../environment'); | ||
9 | 12 | ||
10 | const RECIPES_URL = 'https://api.getferdi.com/v1/recipes'; | 13 | const RECIPES_URL = `${LIVE_FERDI_API}/${API_VERSION}/recipes`; |
11 | 14 | ||
12 | class RecipeController { | 15 | class RecipeController { |
13 | // List official and custom recipes | 16 | // List official and custom recipes |
@@ -64,6 +67,9 @@ class RecipeController { | |||
64 | if (Env.get('CONNECT_WITH_FRANZ') == 'true') { // eslint-disable-line eqeqeq | 67 | if (Env.get('CONNECT_WITH_FRANZ') == 'true') { // eslint-disable-line eqeqeq |
65 | remoteResults = JSON.parse(await (await fetch(`${RECIPES_URL}/search?needle=${encodeURIComponent(needle)}`)).text()); | 68 | remoteResults = JSON.parse(await (await fetch(`${RECIPES_URL}/search?needle=${encodeURIComponent(needle)}`)).text()); |
66 | } | 69 | } |
70 | |||
71 | debug('remoteResults:', remoteResults); | ||
72 | |||
67 | const localResultsArray = (await Recipe.query().where('name', 'LIKE', `%${needle}%`).fetch()).toJSON(); | 73 | const localResultsArray = (await Recipe.query().where('name', 'LIKE', `%${needle}%`).fetch()).toJSON(); |
68 | const localResults = localResultsArray.map(recipe => ({ | 74 | const localResults = localResultsArray.map(recipe => ({ |
69 | id: recipe.recipeId, | 75 | id: recipe.recipeId, |
@@ -71,6 +77,8 @@ class RecipeController { | |||
71 | ...JSON.parse(recipe.data), | 77 | ...JSON.parse(recipe.data), |
72 | })); | 78 | })); |
73 | 79 | ||
80 | debug('localResults:', localResults); | ||
81 | |||
74 | results = [ | 82 | results = [ |
75 | ...localResults, | 83 | ...localResults, |
76 | ...remoteResults || [], | 84 | ...remoteResults || [], |
diff --git a/src/internal-server/app/Controllers/Http/ServiceController.js b/src/internal-server/app/Controllers/Http/ServiceController.js index c76a287f7..f2af9d411 100644 --- a/src/internal-server/app/Controllers/Http/ServiceController.js +++ b/src/internal-server/app/Controllers/Http/ServiceController.js | |||
@@ -5,7 +5,8 @@ const Env = use('Env'); | |||
5 | const uuid = require('uuid/v4'); | 5 | const uuid = require('uuid/v4'); |
6 | const path = require('path'); | 6 | const path = require('path'); |
7 | const fs = require('fs-extra'); | 7 | const fs = require('fs-extra'); |
8 | const { LOCAL_HOSTNAME } = require('../../../../config'); | 8 | const { LOCAL_HOSTNAME, DEFAULT_SERVICE_ORDER } = require('../../../../config'); |
9 | const { API_VERSION } = require('../../../../environment'); | ||
9 | 10 | ||
10 | const hostname = LOCAL_HOSTNAME; | 11 | const hostname = LOCAL_HOSTNAME; |
11 | const port = Env.get('PORT'); | 12 | const port = Env.get('PORT'); |
@@ -54,7 +55,7 @@ class ServiceController { | |||
54 | isMuted: false, | 55 | isMuted: false, |
55 | isDarkModeEnabled: '', // TODO: This should ideally be a boolean (false). But, changing it caused the sidebar toggle to not work. | 56 | isDarkModeEnabled: '', // TODO: This should ideally be a boolean (false). But, changing it caused the sidebar toggle to not work. |
56 | spellcheckerLanguage: '', | 57 | spellcheckerLanguage: '', |
57 | order: 1, | 58 | order: DEFAULT_SERVICE_ORDER, |
58 | customRecipe: false, | 59 | customRecipe: false, |
59 | hasCustomIcon: false, | 60 | hasCustomIcon: false, |
60 | workspaces: [], | 61 | workspaces: [], |
@@ -83,12 +84,12 @@ class ServiceController { | |||
83 | isEnabled: true, | 84 | isEnabled: true, |
84 | isMuted: false, | 85 | isMuted: false, |
85 | isNotificationEnabled: true, | 86 | isNotificationEnabled: true, |
86 | order: 1, | 87 | order: DEFAULT_SERVICE_ORDER, |
87 | spellcheckerLanguage: '', | 88 | spellcheckerLanguage: '', |
88 | workspaces: [], | 89 | workspaces: [], |
89 | ...JSON.parse(service.settings), | 90 | ...JSON.parse(service.settings), |
90 | iconUrl: settings.iconId | 91 | iconUrl: settings.iconId |
91 | ? `http://${hostname}:${port}/v1/icon/${settings.iconId}` | 92 | ? `http://${hostname}:${port}/${API_VERSION}/icon/${settings.iconId}` |
92 | : null, | 93 | : null, |
93 | id: service.serviceId, | 94 | id: service.serviceId, |
94 | name: service.name, | 95 | name: service.name, |
@@ -156,7 +157,7 @@ class ServiceController { | |||
156 | id, | 157 | id, |
157 | name: service.name, | 158 | name: service.name, |
158 | ...newSettings, | 159 | ...newSettings, |
159 | iconUrl: `http://${hostname}:${port}/v1/icon/${ | 160 | iconUrl: `http://${hostname}:${port}/${API_VERSION}/icon/${ |
160 | newSettings.iconId | 161 | newSettings.iconId |
161 | }`, | 162 | }`, |
162 | userId: 1, | 163 | userId: 1, |
@@ -196,7 +197,7 @@ class ServiceController { | |||
196 | id, | 197 | id, |
197 | name: service.name, | 198 | name: service.name, |
198 | ...settings, | 199 | ...settings, |
199 | iconUrl: `${Env.get('APP_URL')}/v1/icon/${settings.iconId}`, | 200 | iconUrl: `${Env.get('APP_URL')}/${API_VERSION}/icon/${settings.iconId}`, |
200 | userId: 1, | 201 | userId: 1, |
201 | }, | 202 | }, |
202 | status: ['updated'], | 203 | status: ['updated'], |
@@ -257,12 +258,12 @@ class ServiceController { | |||
257 | isEnabled: true, | 258 | isEnabled: true, |
258 | isMuted: false, | 259 | isMuted: false, |
259 | isNotificationEnabled: true, | 260 | isNotificationEnabled: true, |
260 | order: 1, | 261 | order: DEFAULT_SERVICE_ORDER, |
261 | spellcheckerLanguage: '', | 262 | spellcheckerLanguage: '', |
262 | workspaces: [], | 263 | workspaces: [], |
263 | ...JSON.parse(service.settings), | 264 | ...JSON.parse(service.settings), |
264 | iconUrl: settings.iconId | 265 | iconUrl: settings.iconId |
265 | ? `http://${hostname}:${port}/v1/icon/${settings.iconId}` | 266 | ? `http://${hostname}:${port}/${API_VERSION}/icon/${settings.iconId}` |
266 | : null, | 267 | : null, |
267 | id: service.serviceId, | 268 | id: service.serviceId, |
268 | name: service.name, | 269 | name: service.name, |
diff --git a/src/internal-server/app/Controllers/Http/UserController.js b/src/internal-server/app/Controllers/Http/UserController.js index a3ad736fa..57aea6fc1 100644 --- a/src/internal-server/app/Controllers/Http/UserController.js +++ b/src/internal-server/app/Controllers/Http/UserController.js | |||
@@ -9,18 +9,16 @@ const btoa = require('btoa'); | |||
9 | const fetch = require('node-fetch'); | 9 | const fetch = require('node-fetch'); |
10 | const uuid = require('uuid/v4'); | 10 | const uuid = require('uuid/v4'); |
11 | const crypto = require('crypto'); | 11 | const crypto = require('crypto'); |
12 | const { DEFAULT_APP_SETTINGS } = require('../../../../environment'); | 12 | const { DEFAULT_APP_SETTINGS, API_VERSION } = require('../../../../environment'); |
13 | const { default: userAgent } = require('../../../../helpers/userAgent-helpers'); | ||
13 | 14 | ||
14 | const apiRequest = (url, route, method, auth) => new Promise((resolve, reject) => { | 15 | const apiRequest = (url, route, method, auth) => new Promise((resolve, reject) => { |
15 | const base = `${url}/v1/`; | ||
16 | const user = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Ferdi/5.3.0-beta.1 Chrome/69.0.3497.128 Electron/4.2.4 Safari/537.36'; | ||
17 | |||
18 | try { | 16 | try { |
19 | fetch(base + route, { | 17 | fetch(`${url}/${API_VERSION}/${route}`, { |
20 | method, | 18 | method, |
21 | headers: { | 19 | headers: { |
22 | Authorization: `Bearer ${auth}`, | 20 | Authorization: `Bearer ${auth}`, |
23 | 'User-Agent': user, | 21 | 'User-Agent': userAgent(), |
24 | }, | 22 | }, |
25 | }) | 23 | }) |
26 | .then(data => data.json()) | 24 | .then(data => data.json()) |
@@ -30,6 +28,8 @@ const apiRequest = (url, route, method, auth) => new Promise((resolve, reject) = | |||
30 | } | 28 | } |
31 | }); | 29 | }); |
32 | 30 | ||
31 | const LOGIN_SUCCESS_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJGZXJkaSBJbnRlcm5hbCBTZXJ2ZXIiLCJpYXQiOjE1NzEwNDAyMTUsImV4cCI6MjUzMzk1NDE3ODQ0LCJhdWQiOiJnZXRmZXJkaS5jb20iLCJzdWIiOiJmZXJkaUBsb2NhbGhvc3QiLCJ1c2VySWQiOiIxIn0.9_TWFGp6HROv8Yg82Rt6i1-95jqWym40a-HmgrdMC6M'; | ||
32 | |||
33 | class UserController { | 33 | class UserController { |
34 | // Register a new user | 34 | // Register a new user |
35 | async signup({ | 35 | async signup({ |
@@ -52,7 +52,7 @@ class UserController { | |||
52 | 52 | ||
53 | return response.send({ | 53 | return response.send({ |
54 | message: 'Successfully created account', | 54 | message: 'Successfully created account', |
55 | token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJGZXJkaSBJbnRlcm5hbCBTZXJ2ZXIiLCJpYXQiOjE1NzEwNDAyMTUsImV4cCI6MjUzMzk1NDE3ODQ0LCJhdWQiOiJnZXRmZXJkaS5jb20iLCJzdWIiOiJmZXJkaUBsb2NhbGhvc3QiLCJ1c2VySWQiOiIxIn0.9_TWFGp6HROv8Yg82Rt6i1-95jqWym40a-HmgrdMC6M', | 55 | token: LOGIN_SUCCESS_TOKEN, |
56 | }); | 56 | }); |
57 | } | 57 | } |
58 | 58 | ||
@@ -70,7 +70,7 @@ class UserController { | |||
70 | 70 | ||
71 | return response.send({ | 71 | return response.send({ |
72 | message: 'Successfully logged in', | 72 | message: 'Successfully logged in', |
73 | token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJGZXJkaSBJbnRlcm5hbCBTZXJ2ZXIiLCJpYXQiOjE1NzEwNDAyMTUsImV4cCI6MjUzMzk1NDE3ODQ0LCJhdWQiOiJnZXRmZXJkaS5jb20iLCJzdWIiOiJmZXJkaUBsb2NhbGhvc3QiLCJ1c2VySWQiOiIxIn0.9_TWFGp6HROv8Yg82Rt6i1-95jqWym40a-HmgrdMC6M', | 73 | token: LOGIN_SUCCESS_TOKEN, |
74 | }); | 74 | }); |
75 | } | 75 | } |
76 | 76 | ||
@@ -85,7 +85,6 @@ class UserController { | |||
85 | return response.send({ | 85 | return response.send({ |
86 | accountType: 'individual', | 86 | accountType: 'individual', |
87 | beta: false, | 87 | beta: false, |
88 | donor: {}, | ||
89 | email: '', | 88 | email: '', |
90 | emailValidated: true, | 89 | emailValidated: true, |
91 | features: {}, | 90 | features: {}, |
@@ -121,7 +120,6 @@ class UserController { | |||
121 | data: { | 120 | data: { |
122 | accountType: 'individual', | 121 | accountType: 'individual', |
123 | beta: false, | 122 | beta: false, |
124 | donor: {}, | ||
125 | email: '', | 123 | email: '', |
126 | emailValidated: true, | 124 | emailValidated: true, |
127 | features: {}, | 125 | features: {}, |
@@ -170,19 +168,16 @@ class UserController { | |||
170 | 168 | ||
171 | const hashedPassword = crypto.createHash('sha256').update(password).digest('base64'); | 169 | const hashedPassword = crypto.createHash('sha256').update(password).digest('base64'); |
172 | 170 | ||
173 | const base = `${server}/v1/`; | ||
174 | const userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Ferdi/5.3.0-beta.1 Chrome/69.0.3497.128 Electron/4.2.4 Safari/537.36'; | ||
175 | |||
176 | // Try to get an authentication token | 171 | // Try to get an authentication token |
177 | let token; | 172 | let token; |
178 | try { | 173 | try { |
179 | const basicToken = btoa(`${email}:${hashedPassword}`); | 174 | const basicToken = btoa(`${email}:${hashedPassword}`); |
180 | 175 | ||
181 | const rawResponse = await fetch(`${base}auth/login`, { | 176 | const rawResponse = await fetch(`${server}/${API_VERSION}/auth/login`, { |
182 | method: 'POST', | 177 | method: 'POST', |
183 | headers: { | 178 | headers: { |
184 | Authorization: `Basic ${basicToken}`, | 179 | Authorization: `Basic ${basicToken}`, |
185 | 'User-Agent': userAgent, | 180 | 'User-Agent': userAgent(), |
186 | }, | 181 | }, |
187 | }); | 182 | }); |
188 | const content = await rawResponse.json(); | 183 | const content = await rawResponse.json(); |
diff --git a/src/internal-server/start/routes.js b/src/internal-server/start/routes.js index 6668f3062..b32b094ee 100644 --- a/src/internal-server/start/routes.js +++ b/src/internal-server/start/routes.js | |||
@@ -8,6 +8,7 @@ | |||
8 | /** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */ | 8 | /** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */ |
9 | const Route = use('Route'); | 9 | const Route = use('Route'); |
10 | 10 | ||
11 | const { API_VERSION } = require('../../environment'); | ||
11 | // Run latest database migration | 12 | // Run latest database migration |
12 | const migrate = require('./migrate'); | 13 | const migrate = require('./migrate'); |
13 | 14 | ||
@@ -67,11 +68,11 @@ Route.group(() => { | |||
67 | Route.get('services', 'StaticController.emptyArray'); | 68 | Route.get('services', 'StaticController.emptyArray'); |
68 | Route.get('news', 'StaticController.emptyArray'); | 69 | Route.get('news', 'StaticController.emptyArray'); |
69 | Route.get('announcements/:version', 'StaticController.announcement'); | 70 | Route.get('announcements/:version', 'StaticController.announcement'); |
70 | }).prefix('v1').middleware(OnlyAllowFerdi); | 71 | }).prefix(API_VERSION).middleware(OnlyAllowFerdi); |
71 | 72 | ||
72 | Route.group(() => { | 73 | Route.group(() => { |
73 | Route.get('icon/:id', 'ServiceController.icon'); | 74 | Route.get('icon/:id', 'ServiceController.icon'); |
74 | }).prefix('v1'); | 75 | }).prefix(API_VERSION); |
75 | 76 | ||
76 | // Franz account import | 77 | // Franz account import |
77 | Route.post('import', 'UserController.import'); | 78 | Route.post('import', 'UserController.import'); |
diff --git a/src/lib/Menu.js b/src/lib/Menu.js index e4056e536..5a99299c5 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js | |||
@@ -1,12 +1,10 @@ | |||
1 | import { clipboard, shell } from 'electron'; | 1 | import { clipboard } from 'electron'; |
2 | import { | 2 | import { app, Menu, dialog, systemPreferences } from '@electron/remote'; |
3 | app, Menu, dialog, systemPreferences, | ||
4 | } from '@electron/remote'; | ||
5 | import { autorun, observable } from 'mobx'; | 3 | import { autorun, observable } from 'mobx'; |
6 | import { defineMessages } from 'react-intl'; | 4 | import { defineMessages } from 'react-intl'; |
7 | import { CUSTOM_WEBSITE_RECIPE_ID, GITHUB_FERDI_URL, LIVE_API_FERDI_WEBSITE } from '../config'; | 5 | import { CUSTOM_WEBSITE_RECIPE_ID, GITHUB_FERDI_URL, LIVE_API_FERDI_WEBSITE } from '../config'; |
8 | import { | 6 | import { |
9 | shortcutKey, altKey, shiftKey, settingsShortcutKey, isLinux, isMac, aboutAppDetails, lockFerdiShortcutKey, todosToggleShortcutKey, workspaceToggleShortcutKey, addNewServiceShortcutKey, muteFerdiShortcutKey, | 7 | cmdOrCtrlShortcutKey, altKey, shiftKey, settingsShortcutKey, isLinux, isMac, aboutAppDetails, lockFerdiShortcutKey, todosToggleShortcutKey, workspaceToggleShortcutKey, addNewServiceShortcutKey, muteFerdiShortcutKey, |
10 | } from '../environment'; | 8 | } from '../environment'; |
11 | import { announcementsStore } from '../features/announcements'; | 9 | import { announcementsStore } from '../features/announcements'; |
12 | import { announcementActions } from '../features/announcements/actions'; | 10 | import { announcementActions } from '../features/announcements/actions'; |
@@ -15,6 +13,7 @@ import { todoActions } from '../features/todos/actions'; | |||
15 | import { workspaceActions } from '../features/workspaces/actions'; | 13 | import { workspaceActions } from '../features/workspaces/actions'; |
16 | import { workspaceStore } from '../features/workspaces/index'; | 14 | import { workspaceStore } from '../features/workspaces/index'; |
17 | import apiBase, { termsBase } from '../api/apiBase'; | 15 | import apiBase, { termsBase } from '../api/apiBase'; |
16 | import { openExternalUrl } from '../helpers/url-helpers'; | ||
18 | 17 | ||
19 | const menuItems = defineMessages({ | 18 | const menuItems = defineMessages({ |
20 | edit: { | 19 | edit: { |
@@ -318,7 +317,7 @@ function getActiveWebview() { | |||
318 | const _titleBarTemplateFactory = (intl, locked) => [ | 317 | const _titleBarTemplateFactory = (intl, locked) => [ |
319 | { | 318 | { |
320 | label: intl.formatMessage(menuItems.edit), | 319 | label: intl.formatMessage(menuItems.edit), |
321 | accelerator: `${altKey}+E`, | 320 | accelerator: `${altKey()}+E`, |
322 | submenu: [ | 321 | submenu: [ |
323 | { | 322 | { |
324 | label: intl.formatMessage(menuItems.undo), | 323 | label: intl.formatMessage(menuItems.undo), |
@@ -333,22 +332,22 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
333 | }, | 332 | }, |
334 | { | 333 | { |
335 | label: intl.formatMessage(menuItems.cut), | 334 | label: intl.formatMessage(menuItems.cut), |
336 | accelerator: `${shortcutKey()}+X`, | 335 | accelerator: `${cmdOrCtrlShortcutKey()}+X`, |
337 | role: 'cut', | 336 | role: 'cut', |
338 | }, | 337 | }, |
339 | { | 338 | { |
340 | label: intl.formatMessage(menuItems.copy), | 339 | label: intl.formatMessage(menuItems.copy), |
341 | accelerator: `${shortcutKey()}+C`, | 340 | accelerator: `${cmdOrCtrlShortcutKey()}+C`, |
342 | role: 'copy', | 341 | role: 'copy', |
343 | }, | 342 | }, |
344 | { | 343 | { |
345 | label: intl.formatMessage(menuItems.paste), | 344 | label: intl.formatMessage(menuItems.paste), |
346 | accelerator: `${shortcutKey()}+V`, | 345 | accelerator: `${cmdOrCtrlShortcutKey()}+V`, |
347 | role: 'paste', | 346 | role: 'paste', |
348 | }, | 347 | }, |
349 | { | 348 | { |
350 | label: intl.formatMessage(menuItems.pasteAndMatchStyle), | 349 | label: intl.formatMessage(menuItems.pasteAndMatchStyle), |
351 | accelerator: `${shortcutKey()}+${shiftKey}+V`, // Override the accelerator since this adds new key combo in macos | 350 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+V`, // Override the accelerator since this adds new key combo in macos |
352 | role: 'pasteAndMatchStyle', | 351 | role: 'pasteAndMatchStyle', |
353 | click() { | 352 | click() { |
354 | getActiveWebview().pasteAndMatchStyle(); | 353 | getActiveWebview().pasteAndMatchStyle(); |
@@ -360,14 +359,14 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
360 | }, | 359 | }, |
361 | { | 360 | { |
362 | label: intl.formatMessage(menuItems.selectAll), | 361 | label: intl.formatMessage(menuItems.selectAll), |
363 | accelerator: `${shortcutKey()}+A`, | 362 | accelerator: `${cmdOrCtrlShortcutKey()}+A`, |
364 | role: 'selectall', | 363 | role: 'selectall', |
365 | }, | 364 | }, |
366 | ], | 365 | ], |
367 | }, | 366 | }, |
368 | { | 367 | { |
369 | label: intl.formatMessage(menuItems.view), | 368 | label: intl.formatMessage(menuItems.view), |
370 | accelerator: `${altKey}+V`, | 369 | accelerator: `${altKey()}+V`, |
371 | visible: !locked, | 370 | visible: !locked, |
372 | submenu: [ | 371 | submenu: [ |
373 | { | 372 | { |
@@ -375,7 +374,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
375 | }, | 374 | }, |
376 | { | 375 | { |
377 | label: intl.formatMessage(menuItems.openQuickSwitch), | 376 | label: intl.formatMessage(menuItems.openQuickSwitch), |
378 | accelerator: `${shortcutKey()}+S`, | 377 | accelerator: `${cmdOrCtrlShortcutKey()}+S`, |
379 | click() { | 378 | click() { |
380 | window.ferdi.features.quickSwitch.state.isModalVisible = true; | 379 | window.ferdi.features.quickSwitch.state.isModalVisible = true; |
381 | }, | 380 | }, |
@@ -385,7 +384,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
385 | }, | 384 | }, |
386 | { | 385 | { |
387 | label: intl.formatMessage(menuItems.findInPage), | 386 | label: intl.formatMessage(menuItems.findInPage), |
388 | accelerator: `${shortcutKey()}+F`, | 387 | accelerator: `${cmdOrCtrlShortcutKey()}+F`, |
389 | click() { | 388 | click() { |
390 | // Check if there is a service active | 389 | // Check if there is a service active |
391 | if (!window.ferdi.stores.services.active) return; | 390 | if (!window.ferdi.stores.services.active) return; |
@@ -406,14 +405,14 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
406 | }, | 405 | }, |
407 | { | 406 | { |
408 | label: intl.formatMessage(menuItems.back), | 407 | label: intl.formatMessage(menuItems.back), |
409 | accelerator: `${shortcutKey()}+Left`, | 408 | accelerator: `${cmdOrCtrlShortcutKey()}+Left`, |
410 | click() { | 409 | click() { |
411 | getActiveWebview().goBack(); | 410 | getActiveWebview().goBack(); |
412 | }, | 411 | }, |
413 | }, | 412 | }, |
414 | { | 413 | { |
415 | label: intl.formatMessage(menuItems.forward), | 414 | label: intl.formatMessage(menuItems.forward), |
416 | accelerator: `${shortcutKey()}+Right`, | 415 | accelerator: `${cmdOrCtrlShortcutKey()}+Right`, |
417 | click() { | 416 | click() { |
418 | getActiveWebview().goForward(); | 417 | getActiveWebview().goForward(); |
419 | }, | 418 | }, |
@@ -423,7 +422,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
423 | }, | 422 | }, |
424 | { | 423 | { |
425 | label: intl.formatMessage(menuItems.resetZoom), | 424 | label: intl.formatMessage(menuItems.resetZoom), |
426 | accelerator: `${shortcutKey()}+0`, | 425 | accelerator: `${cmdOrCtrlShortcutKey()}+0`, |
427 | role: 'resetZoom', | 426 | role: 'resetZoom', |
428 | click() { | 427 | click() { |
429 | getActiveWebview().setZoomLevel(0); | 428 | getActiveWebview().setZoomLevel(0); |
@@ -431,7 +430,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
431 | }, | 430 | }, |
432 | { | 431 | { |
433 | label: intl.formatMessage(menuItems.zoomIn), | 432 | label: intl.formatMessage(menuItems.zoomIn), |
434 | accelerator: `${shortcutKey()}+plus`, | 433 | accelerator: `${cmdOrCtrlShortcutKey()}+plus`, |
435 | role: 'zoomIn', | 434 | role: 'zoomIn', |
436 | click() { | 435 | click() { |
437 | const activeService = getActiveWebview(); | 436 | const activeService = getActiveWebview(); |
@@ -443,7 +442,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
443 | }, | 442 | }, |
444 | { | 443 | { |
445 | label: intl.formatMessage(menuItems.zoomOut), | 444 | label: intl.formatMessage(menuItems.zoomOut), |
446 | accelerator: `${shortcutKey()}+-`, | 445 | accelerator: `${cmdOrCtrlShortcutKey()}+-`, |
447 | role: 'zoomOut', | 446 | role: 'zoomOut', |
448 | click() { | 447 | click() { |
449 | const activeService = getActiveWebview(); | 448 | const activeService = getActiveWebview(); |
@@ -463,7 +462,7 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
463 | { | 462 | { |
464 | label: intl.formatMessage(menuItems.toggleDarkMode), | 463 | label: intl.formatMessage(menuItems.toggleDarkMode), |
465 | type: 'checkbox', | 464 | type: 'checkbox', |
466 | accelerator: `${shortcutKey()}+${shiftKey}+D`, | 465 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+D`, |
467 | checked: window.ferdi.stores.settings.app.darkMode, | 466 | checked: window.ferdi.stores.settings.app.darkMode, |
468 | click: () => { | 467 | click: () => { |
469 | window.ferdi.actions.settings.update({ | 468 | window.ferdi.actions.settings.update({ |
@@ -478,13 +477,13 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
478 | }, | 477 | }, |
479 | { | 478 | { |
480 | label: intl.formatMessage(menuItems.services), | 479 | label: intl.formatMessage(menuItems.services), |
481 | accelerator: `${altKey}+S`, | 480 | accelerator: `${altKey()}+S`, |
482 | visible: !locked, | 481 | visible: !locked, |
483 | submenu: [], | 482 | submenu: [], |
484 | }, | 483 | }, |
485 | { | 484 | { |
486 | label: intl.formatMessage(menuItems.workspaces), | 485 | label: intl.formatMessage(menuItems.workspaces), |
487 | accelerator: `${altKey}+W`, | 486 | accelerator: `${altKey()}+W`, |
488 | submenu: [], | 487 | submenu: [], |
489 | visible: !locked && workspaceStore.isFeatureEnabled, | 488 | visible: !locked && workspaceStore.isFeatureEnabled, |
490 | }, | 489 | }, |
@@ -509,20 +508,20 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
509 | }, | 508 | }, |
510 | { | 509 | { |
511 | label: intl.formatMessage(menuItems.help), | 510 | label: intl.formatMessage(menuItems.help), |
512 | accelerator: `${altKey}+H`, | 511 | accelerator: `${altKey()}+H`, |
513 | role: 'help', | 512 | role: 'help', |
514 | submenu: [ | 513 | submenu: [ |
515 | { | 514 | { |
516 | label: intl.formatMessage(menuItems.learnMore), | 515 | label: intl.formatMessage(menuItems.learnMore), |
517 | click() { shell.openExternal(LIVE_API_FERDI_WEBSITE); }, | 516 | click() { openExternalUrl(LIVE_API_FERDI_WEBSITE, true); }, |
518 | }, | 517 | }, |
519 | { | 518 | { |
520 | label: intl.formatMessage(menuItems.changelog), | 519 | label: intl.formatMessage(menuItems.changelog), |
521 | click() { shell.openExternal(`${GITHUB_FERDI_URL}/ferdi/blob/master/CHANGELOG.md`); }, | 520 | click() { openExternalUrl(`${GITHUB_FERDI_URL}/ferdi/blob/develop/CHANGELOG.md`, true); }, |
522 | }, | 521 | }, |
523 | { | 522 | { |
524 | label: intl.formatMessage(menuItems.importExportData), | 523 | label: intl.formatMessage(menuItems.importExportData), |
525 | click() { shell.openExternal(apiBase(false)); }, | 524 | click() { openExternalUrl(apiBase(false), true); }, |
526 | enabled: !locked, | 525 | enabled: !locked, |
527 | }, | 526 | }, |
528 | { | 527 | { |
@@ -540,18 +539,18 @@ const _titleBarTemplateFactory = (intl, locked) => [ | |||
540 | }, | 539 | }, |
541 | { | 540 | { |
542 | label: intl.formatMessage(menuItems.support), | 541 | label: intl.formatMessage(menuItems.support), |
543 | click() { shell.openExternal(`${LIVE_API_FERDI_WEBSITE}/contact`); }, | 542 | click() { openExternalUrl(`${LIVE_API_FERDI_WEBSITE}/contact`, true); }, |
544 | }, | 543 | }, |
545 | { | 544 | { |
546 | type: 'separator', | 545 | type: 'separator', |
547 | }, | 546 | }, |
548 | { | 547 | { |
549 | label: intl.formatMessage(menuItems.tos), | 548 | label: intl.formatMessage(menuItems.tos), |
550 | click() { shell.openExternal(`${termsBase()}/terms`); }, | 549 | click() { openExternalUrl(`${termsBase()}/terms`, true); }, |
551 | }, | 550 | }, |
552 | { | 551 | { |
553 | label: intl.formatMessage(menuItems.privacy), | 552 | label: intl.formatMessage(menuItems.privacy), |
554 | click() { shell.openExternal(`${termsBase()}/privacy`); }, | 553 | click() { openExternalUrl(`${termsBase()}/privacy`, true); }, |
555 | }, | 554 | }, |
556 | ], | 555 | ], |
557 | }, | 556 | }, |
@@ -612,13 +611,13 @@ export default class FranzMenu { | |||
612 | type: 'separator', | 611 | type: 'separator', |
613 | }, { | 612 | }, { |
614 | label: intl.formatMessage(menuItems.toggleDevTools), | 613 | label: intl.formatMessage(menuItems.toggleDevTools), |
615 | accelerator: `${shortcutKey()}+${altKey}+I`, | 614 | accelerator: `${cmdOrCtrlShortcutKey()}+${altKey()}+I`, |
616 | click: (menuItem, browserWindow) => { | 615 | click: (menuItem, browserWindow) => { |
617 | browserWindow.webContents.toggleDevTools(); | 616 | browserWindow.webContents.toggleDevTools(); |
618 | }, | 617 | }, |
619 | }, { | 618 | }, { |
620 | label: intl.formatMessage(menuItems.toggleServiceDevTools), | 619 | label: intl.formatMessage(menuItems.toggleServiceDevTools), |
621 | accelerator: `${shortcutKey()}+${shiftKey}+${altKey}+I`, | 620 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+${altKey()}+I`, |
622 | click: () => { | 621 | click: () => { |
623 | this.actions.service.openDevToolsForActiveService(); | 622 | this.actions.service.openDevToolsForActiveService(); |
624 | }, | 623 | }, |
@@ -628,7 +627,7 @@ export default class FranzMenu { | |||
628 | if (this.stores.features.features.isTodosEnabled) { | 627 | if (this.stores.features.features.isTodosEnabled) { |
629 | tpl[1].submenu.push({ | 628 | tpl[1].submenu.push({ |
630 | label: intl.formatMessage(menuItems.toggleTodosDevTools), | 629 | label: intl.formatMessage(menuItems.toggleTodosDevTools), |
631 | accelerator: `${shortcutKey()}+${shiftKey}+${altKey}+O`, | 630 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+${altKey()}+O`, |
632 | click: () => { | 631 | click: () => { |
633 | const webview = document.querySelector('#todos-panel webview'); | 632 | const webview = document.querySelector('#todos-panel webview'); |
634 | if (webview) this.actions.todos.openDevTools(); | 633 | if (webview) this.actions.todos.openDevTools(); |
@@ -639,7 +638,7 @@ export default class FranzMenu { | |||
639 | tpl[1].submenu.unshift({ | 638 | tpl[1].submenu.unshift({ |
640 | label: intl.formatMessage(menuItems.reloadService), | 639 | label: intl.formatMessage(menuItems.reloadService), |
641 | id: 'reloadService', // TODO: needed? | 640 | id: 'reloadService', // TODO: needed? |
642 | accelerator: `${shortcutKey()}+R`, | 641 | accelerator: `${cmdOrCtrlShortcutKey()}+R`, |
643 | click: () => { | 642 | click: () => { |
644 | if (this.stores.user.isLoggedIn | 643 | if (this.stores.user.isLoggedIn |
645 | && this.stores.services.enabled.length > 0) { | 644 | && this.stores.services.enabled.length > 0) { |
@@ -654,13 +653,13 @@ export default class FranzMenu { | |||
654 | }, | 653 | }, |
655 | }, { | 654 | }, { |
656 | label: intl.formatMessage(menuItems.reloadFerdi), | 655 | label: intl.formatMessage(menuItems.reloadFerdi), |
657 | accelerator: `${shortcutKey()}+${shiftKey}+R`, | 656 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+R`, |
658 | click: () => { | 657 | click: () => { |
659 | window.location.reload(); | 658 | window.location.reload(); |
660 | }, | 659 | }, |
661 | }, { | 660 | }, { |
662 | label: intl.formatMessage(menuItems.reloadTodos), | 661 | label: intl.formatMessage(menuItems.reloadTodos), |
663 | accelerator: `${shortcutKey()}+${shiftKey}+${altKey}+R`, | 662 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+${altKey()}+R`, |
664 | click: () => { | 663 | click: () => { |
665 | this.actions.todos.reload(); | 664 | this.actions.todos.reload(); |
666 | }, | 665 | }, |
@@ -716,7 +715,7 @@ export default class FranzMenu { | |||
716 | 715 | ||
717 | tpl.unshift({ | 716 | tpl.unshift({ |
718 | label: isMac ? app.name : intl.formatMessage(menuItems.file), | 717 | label: isMac ? app.name : intl.formatMessage(menuItems.file), |
719 | accelerator: `${altKey}+F`, | 718 | accelerator: `${altKey()}+F`, |
720 | submenu: [ | 719 | submenu: [ |
721 | { | 720 | { |
722 | label: intl.formatMessage(menuItems.about), | 721 | label: intl.formatMessage(menuItems.about), |
@@ -832,7 +831,7 @@ export default class FranzMenu { | |||
832 | { | 831 | { |
833 | label: intl.formatMessage(menuItems.quit), | 832 | label: intl.formatMessage(menuItems.quit), |
834 | role: 'quit', | 833 | role: 'quit', |
835 | accelerator: `${shortcutKey()}+Q`, | 834 | accelerator: `${cmdOrCtrlShortcutKey()}+Q`, |
836 | click() { | 835 | click() { |
837 | app.quit(); | 836 | app.quit(); |
838 | }, | 837 | }, |
@@ -883,22 +882,22 @@ export default class FranzMenu { | |||
883 | type: 'separator', | 882 | type: 'separator', |
884 | }, { | 883 | }, { |
885 | label: intl.formatMessage(menuItems.activateNextService), | 884 | label: intl.formatMessage(menuItems.activateNextService), |
886 | accelerator: `${shortcutKey()}+tab`, | 885 | accelerator: `${cmdOrCtrlShortcutKey()}+tab`, |
887 | click: () => this.actions.service.setActiveNext(), | 886 | click: () => this.actions.service.setActiveNext(), |
888 | visible: !cmdAltShortcutsVisibile, | 887 | visible: !cmdAltShortcutsVisibile, |
889 | }, { | 888 | }, { |
890 | label: intl.formatMessage(menuItems.activateNextService), | 889 | label: intl.formatMessage(menuItems.activateNextService), |
891 | accelerator: `${shortcutKey()}+${altKey}+right`, | 890 | accelerator: `${cmdOrCtrlShortcutKey()}+${altKey()}+right`, |
892 | click: () => this.actions.service.setActiveNext(), | 891 | click: () => this.actions.service.setActiveNext(), |
893 | visible: cmdAltShortcutsVisibile, | 892 | visible: cmdAltShortcutsVisibile, |
894 | }, { | 893 | }, { |
895 | label: intl.formatMessage(menuItems.activatePreviousService), | 894 | label: intl.formatMessage(menuItems.activatePreviousService), |
896 | accelerator: `${shortcutKey()}+${shiftKey}+tab`, | 895 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+tab`, |
897 | click: () => this.actions.service.setActivePrev(), | 896 | click: () => this.actions.service.setActivePrev(), |
898 | visible: !cmdAltShortcutsVisibile, | 897 | visible: !cmdAltShortcutsVisibile, |
899 | }, { | 898 | }, { |
900 | label: intl.formatMessage(menuItems.activatePreviousService), | 899 | label: intl.formatMessage(menuItems.activatePreviousService), |
901 | accelerator: `${shortcutKey()}+${altKey}+left`, | 900 | accelerator: `${cmdOrCtrlShortcutKey()}+${altKey()}+left`, |
902 | click: () => this.actions.service.setActivePrev(), | 901 | click: () => this.actions.service.setActivePrev(), |
903 | visible: cmdAltShortcutsVisibile, | 902 | visible: cmdAltShortcutsVisibile, |
904 | }, { | 903 | }, { |
@@ -913,7 +912,7 @@ export default class FranzMenu { | |||
913 | 912 | ||
914 | services.allDisplayed.forEach((service, i) => (menu.push({ | 913 | services.allDisplayed.forEach((service, i) => (menu.push({ |
915 | label: this._getServiceName(service), | 914 | label: this._getServiceName(service), |
916 | accelerator: i < 9 ? `${shortcutKey()}+${i + 1}` : null, | 915 | accelerator: i < 9 ? `${cmdOrCtrlShortcutKey()}+${i + 1}` : null, |
917 | type: 'radio', | 916 | type: 'radio', |
918 | checked: service.isActive, | 917 | checked: service.isActive, |
919 | click: () => { | 918 | click: () => { |
@@ -930,7 +929,7 @@ export default class FranzMenu { | |||
930 | type: 'separator', | 929 | type: 'separator', |
931 | }, { | 930 | }, { |
932 | label: intl.formatMessage(menuItems.serviceGoHome), | 931 | label: intl.formatMessage(menuItems.serviceGoHome), |
933 | accelerator: `${shortcutKey()}+${shiftKey}+H`, | 932 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+H`, |
934 | click: () => this.actions.service.reloadActive(), | 933 | click: () => this.actions.service.reloadActive(), |
935 | }); | 934 | }); |
936 | } | 935 | } |
@@ -946,7 +945,7 @@ export default class FranzMenu { | |||
946 | // Add new workspace item: | 945 | // Add new workspace item: |
947 | menu.push({ | 946 | menu.push({ |
948 | label: intl.formatMessage(menuItems.addNewWorkspace), | 947 | label: intl.formatMessage(menuItems.addNewWorkspace), |
949 | accelerator: `${shortcutKey()}+${shiftKey}+N`, | 948 | accelerator: `${cmdOrCtrlShortcutKey()}+${shiftKey()}+N`, |
950 | click: () => { | 949 | click: () => { |
951 | workspaceActions.openWorkspaceSettings(); | 950 | workspaceActions.openWorkspaceSettings(); |
952 | }, | 951 | }, |
@@ -975,7 +974,7 @@ export default class FranzMenu { | |||
975 | // Default workspace | 974 | // Default workspace |
976 | menu.push({ | 975 | menu.push({ |
977 | label: intl.formatMessage(menuItems.defaultWorkspace), | 976 | label: intl.formatMessage(menuItems.defaultWorkspace), |
978 | accelerator: `${shortcutKey()}+${altKey}+0`, | 977 | accelerator: `${cmdOrCtrlShortcutKey()}+${altKey()}+0`, |
979 | type: 'radio', | 978 | type: 'radio', |
980 | checked: !activeWorkspace, | 979 | checked: !activeWorkspace, |
981 | click: () => { | 980 | click: () => { |
@@ -986,7 +985,7 @@ export default class FranzMenu { | |||
986 | // Workspace items | 985 | // Workspace items |
987 | workspaces.forEach((workspace, i) => menu.push({ | 986 | workspaces.forEach((workspace, i) => menu.push({ |
988 | label: workspace.name, | 987 | label: workspace.name, |
989 | accelerator: i < 9 ? `${shortcutKey()}+${altKey}+${i + 1}` : null, | 988 | accelerator: i < 9 ? `${cmdOrCtrlShortcutKey()}+${altKey()}+${i + 1}` : null, |
990 | type: 'radio', | 989 | type: 'radio', |
991 | checked: activeWorkspace ? workspace.id === activeWorkspace.id : false, | 990 | checked: activeWorkspace ? workspace.id === activeWorkspace.id : false, |
992 | click: () => { | 991 | click: () => { |
diff --git a/src/models/News.js b/src/models/News.ts index acacb97dd..3db812937 100644 --- a/src/models/News.js +++ b/src/models/News.ts | |||
@@ -1,15 +1,22 @@ | |||
1 | // @flow | 1 | // @flow |
2 | 2 | ||
3 | interface INews { | ||
4 | id: string; | ||
5 | message: string; | ||
6 | type: string; | ||
7 | sticky: boolean | undefined; | ||
8 | } | ||
9 | |||
3 | export default class News { | 10 | export default class News { |
4 | id = ''; | 11 | id: string = ''; |
5 | 12 | ||
6 | message = ''; | 13 | message: string = ''; |
7 | 14 | ||
8 | type = 'primary'; | 15 | type: string = 'primary'; |
9 | 16 | ||
10 | sticky = false; | 17 | sticky: boolean = false; |
11 | 18 | ||
12 | constructor(data) { | 19 | constructor(data: INews) { |
13 | if (!data.id) { | 20 | if (!data.id) { |
14 | throw Error('News requires Id'); | 21 | throw Error('News requires Id'); |
15 | } | 22 | } |
diff --git a/src/models/Order.js b/src/models/Order.js deleted file mode 100644 index f7624c627..000000000 --- a/src/models/Order.js +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | export default class Order { | ||
2 | id = ''; | ||
3 | |||
4 | subscriptionId = ''; | ||
5 | |||
6 | name = ''; | ||
7 | |||
8 | invoiceUrl = ''; | ||
9 | |||
10 | price = ''; | ||
11 | |||
12 | date = ''; | ||
13 | |||
14 | constructor(data) { | ||
15 | this.id = data.id; | ||
16 | this.subscriptionId = data.subscriptionId; | ||
17 | this.name = data.name || this.name; | ||
18 | this.invoiceUrl = data.invoiceUrl || this.invoiceUrl; | ||
19 | this.price = data.price || this.price; | ||
20 | this.date = data.date || this.date; | ||
21 | } | ||
22 | } | ||
diff --git a/src/models/Recipe.js b/src/models/Recipe.ts index 0d97d4472..0a93fbc5a 100644 --- a/src/models/Recipe.js +++ b/src/models/Recipe.ts | |||
@@ -2,47 +2,71 @@ import semver from 'semver'; | |||
2 | import { pathExistsSync } from 'fs-extra'; | 2 | import { pathExistsSync } from 'fs-extra'; |
3 | import { join } from 'path'; | 3 | import { join } from 'path'; |
4 | 4 | ||
5 | interface IRecipe { | ||
6 | id: string; | ||
7 | name: string; | ||
8 | version: string; | ||
9 | aliases?: string[]; | ||
10 | path: string; | ||
11 | config: { | ||
12 | serviceURL?: string; | ||
13 | hasDirectMessages?: boolean; | ||
14 | hasIndirectMessages?: boolean; | ||
15 | hasNotificationSound?: boolean; | ||
16 | hasTeamId?: boolean; | ||
17 | hasCustomUrl?: boolean; | ||
18 | hasHostedOption?: boolean; | ||
19 | urlInputPrefix?: string; | ||
20 | urlInputSuffix?: string; | ||
21 | disablewebsecurity?: boolean; | ||
22 | autoHibernate?: boolean; | ||
23 | partition?: string; | ||
24 | message?: string; | ||
25 | }; | ||
26 | } | ||
27 | |||
5 | export default class Recipe { | 28 | export default class Recipe { |
6 | // Note: Do NOT change these default values. If they change, then the corresponding changes in the recipes needs to be done | 29 | // Note: Do NOT change these default values. If they change, then the corresponding changes in the recipes needs to be done |
7 | id = ''; | 30 | id: string = ''; |
8 | 31 | ||
9 | name = ''; | 32 | name: string = ''; |
10 | 33 | ||
11 | description = ''; | 34 | description = ''; |
12 | 35 | ||
13 | version = ''; | 36 | version: string = ''; |
14 | 37 | ||
15 | aliases = []; | 38 | aliases: string[] = []; |
16 | 39 | ||
17 | path = ''; | 40 | path: string = ''; |
18 | 41 | ||
19 | serviceURL = ''; | 42 | serviceURL: string = ''; |
20 | 43 | ||
21 | hasDirectMessages = true; | 44 | hasDirectMessages: boolean = true; |
22 | 45 | ||
23 | hasIndirectMessages = false; | 46 | hasIndirectMessages: boolean = false; |
24 | 47 | ||
25 | hasNotificationSound = false; | 48 | hasNotificationSound: boolean = false; |
26 | 49 | ||
27 | hasTeamId = false; | 50 | hasTeamId: boolean = false; |
28 | 51 | ||
29 | hasCustomUrl = false; | 52 | hasCustomUrl: boolean = false; |
30 | 53 | ||
31 | hasHostedOption = false; | 54 | hasHostedOption: boolean = false; |
32 | 55 | ||
33 | urlInputPrefix = ''; | 56 | urlInputPrefix: string = ''; |
34 | 57 | ||
35 | urlInputSuffix = ''; | 58 | urlInputSuffix: string = ''; |
36 | 59 | ||
37 | message = ''; | 60 | message: string = ''; |
38 | 61 | ||
39 | disablewebsecurity = false; | 62 | disablewebsecurity: boolean = false; |
40 | 63 | ||
41 | autoHibernate = false; | 64 | autoHibernate: boolean = false; |
42 | 65 | ||
43 | partition = ''; | 66 | partition: string = ''; |
44 | 67 | ||
45 | constructor(data) { | 68 | // TODO: Need to reconcile which of these are optional/mandatory |
69 | constructor(data: IRecipe) { | ||
46 | if (!data) { | 70 | if (!data) { |
47 | throw Error('Recipe config not valid'); | 71 | throw Error('Recipe config not valid'); |
48 | } | 72 | } |
@@ -52,12 +76,8 @@ export default class Recipe { | |||
52 | throw Error(`Recipe '${data.name}' requires Id`); | 76 | throw Error(`Recipe '${data.name}' requires Id`); |
53 | } | 77 | } |
54 | 78 | ||
55 | try { | 79 | if (!semver.valid(data.version)) { |
56 | if (!semver.valid(data.version)) { | 80 | throw Error(`Version ${data.version} of recipe '${data.name}' is not a valid semver version`); |
57 | throw Error(`Version ${data.version} of recipe '${data.name}' is not a valid semver version`); | ||
58 | } | ||
59 | } catch (e) { | ||
60 | console.warn(e.message); | ||
61 | } | 81 | } |
62 | 82 | ||
63 | this.id = data.id || this.id; | 83 | this.id = data.id || this.id; |
@@ -88,11 +108,11 @@ export default class Recipe { | |||
88 | } | 108 | } |
89 | 109 | ||
90 | // TODO: Need to remove this if its not used anywhere | 110 | // TODO: Need to remove this if its not used anywhere |
91 | get author() { | 111 | get author(): string[] { |
92 | return []; | 112 | return []; |
93 | } | 113 | } |
94 | 114 | ||
95 | get hasDarkMode() { | 115 | get hasDarkMode(): boolean { |
96 | return pathExistsSync(join(this.path, 'darkmode.css')); | 116 | return pathExistsSync(join(this.path, 'darkmode.css')); |
97 | } | 117 | } |
98 | } | 118 | } |
diff --git a/src/models/RecipePreview.js b/src/models/RecipePreview.ts index 6a9ce3080..351ecf765 100644 --- a/src/models/RecipePreview.js +++ b/src/models/RecipePreview.ts | |||
@@ -1,17 +1,17 @@ | |||
1 | // @flow | 1 | // @flow |
2 | 2 | ||
3 | export default class RecipePreview { | 3 | export default class RecipePreview { |
4 | id = ''; | 4 | id: string = ''; |
5 | 5 | ||
6 | name = ''; | 6 | name: string = ''; |
7 | 7 | ||
8 | icon = ''; | 8 | icon: string = ''; |
9 | 9 | ||
10 | featured = false; | 10 | featured: boolean = false; |
11 | 11 | ||
12 | aliases = []; | 12 | aliases: string[] = []; |
13 | 13 | ||
14 | constructor(data) { | 14 | constructor(data: { id: any; }) { |
15 | if (!data.id) { | 15 | if (!data.id) { |
16 | throw Error('RecipePreview requires Id'); | 16 | throw Error('RecipePreview requires Id'); |
17 | } | 17 | } |
diff --git a/src/models/Service.js b/src/models/Service.js index fe56e5a76..4b78b9a40 100644 --- a/src/models/Service.js +++ b/src/models/Service.js | |||
@@ -7,13 +7,14 @@ import { join } from 'path'; | |||
7 | import { todosStore } from '../features/todos'; | 7 | import { todosStore } from '../features/todos'; |
8 | import { isValidExternalURL } from '../helpers/url-helpers'; | 8 | import { isValidExternalURL } from '../helpers/url-helpers'; |
9 | import UserAgent from './UserAgent'; | 9 | import UserAgent from './UserAgent'; |
10 | import { DEFAULT_SERVICE_ORDER } from '../config'; | ||
10 | 11 | ||
11 | const debug = require('debug')('Ferdi:Service'); | 12 | const debug = require('debug')('Ferdi:Service'); |
12 | 13 | ||
13 | export default class Service { | 14 | export default class Service { |
14 | id = ''; | 15 | id = ''; |
15 | 16 | ||
16 | recipe = ''; | 17 | recipe = null; |
17 | 18 | ||
18 | _webview = null; | 19 | _webview = null; |
19 | 20 | ||
@@ -31,7 +32,7 @@ export default class Service { | |||
31 | 32 | ||
32 | @observable unreadIndirectMessageCount = 0; | 33 | @observable unreadIndirectMessageCount = 0; |
33 | 34 | ||
34 | @observable order = 99; | 35 | @observable order = DEFAULT_SERVICE_ORDER; |
35 | 36 | ||
36 | @observable isEnabled = true; | 37 | @observable isEnabled = true; |
37 | 38 | ||
@@ -93,13 +94,11 @@ export default class Service { | |||
93 | 94 | ||
94 | constructor(data, recipe) { | 95 | constructor(data, recipe) { |
95 | if (!data) { | 96 | if (!data) { |
96 | console.error('Service config not valid'); | 97 | throw Error('Service config not valid'); |
97 | return null; | ||
98 | } | 98 | } |
99 | 99 | ||
100 | if (!recipe) { | 100 | if (!recipe) { |
101 | console.error('Service recipe not valid'); | 101 | throw Error('Service recipe not valid'); |
102 | return null; | ||
103 | } | 102 | } |
104 | 103 | ||
105 | this.userAgentModel = new UserAgent(recipe.overrideUserAgent); | 104 | this.userAgentModel = new UserAgent(recipe.overrideUserAgent); |
diff --git a/src/models/User.js b/src/models/User.ts index d864dde0c..771d11955 100644 --- a/src/models/User.js +++ b/src/models/User.ts | |||
@@ -1,42 +1,47 @@ | |||
1 | import { observable } from 'mobx'; | 1 | import { observable } from 'mobx'; |
2 | 2 | ||
3 | interface IUser { | ||
4 | id: string | null; | ||
5 | email: string | null; | ||
6 | firstname: string | null; | ||
7 | lastname: string | null; | ||
8 | organization: string | null; | ||
9 | accountType: string | null; | ||
10 | beta: boolean; | ||
11 | locale: boolean; | ||
12 | isSubscriptionOwner: boolean; | ||
13 | team: object; | ||
14 | } | ||
15 | |||
16 | // TODO: Need to cleanup these fields since we have removed the tiers of the paid plans from Ferdi | ||
3 | export default class User { | 17 | export default class User { |
4 | id = null; | 18 | id: string | null = null; |
5 | 19 | ||
6 | @observable email = null; | 20 | @observable email: string | null = null; |
7 | 21 | ||
8 | @observable firstname = null; | 22 | @observable firstname: string | null = null; |
9 | 23 | ||
10 | @observable lastname = null; | 24 | @observable lastname: string | null = null; |
11 | 25 | ||
12 | @observable organization = null; | 26 | @observable organization: string | null = null; |
13 | 27 | ||
14 | @observable accountType = null; | 28 | @observable accountType: string | null = null; |
15 | 29 | ||
16 | @observable emailIsConfirmed = true; | 30 | @observable emailIsConfirmed = true; |
17 | 31 | ||
32 | // Note: Kept around to be able to handle the response from Franz server | ||
18 | // better assume it's confirmed to avoid noise | 33 | // better assume it's confirmed to avoid noise |
19 | @observable subscription = {}; | 34 | @observable subscription = {}; |
20 | 35 | ||
21 | @observable isSubscriptionOwner = false; | 36 | @observable isSubscriptionOwner = false; |
22 | 37 | ||
23 | @observable hasSubscription = true; | ||
24 | |||
25 | @observable hadSubscription = false; | ||
26 | |||
27 | @observable beta = false; | 38 | @observable beta = false; |
28 | 39 | ||
29 | @observable donor = {}; | ||
30 | |||
31 | @observable isDonor = false; | ||
32 | |||
33 | @observable isMiner = false; | ||
34 | |||
35 | @observable locale = false; | 40 | @observable locale = false; |
36 | 41 | ||
37 | @observable team = {}; | 42 | @observable team = {}; |
38 | 43 | ||
39 | constructor(data) { | 44 | constructor(data: IUser) { |
40 | if (!data.id) { | 45 | if (!data.id) { |
41 | throw Error('User requires Id'); | 46 | throw Error('User requires Id'); |
42 | } | 47 | } |
@@ -48,14 +53,9 @@ export default class User { | |||
48 | this.organization = data.organization || this.organization; | 53 | this.organization = data.organization || this.organization; |
49 | this.accountType = data.accountType || this.accountType; | 54 | this.accountType = data.accountType || this.accountType; |
50 | this.beta = data.beta || this.beta; | 55 | this.beta = data.beta || this.beta; |
51 | this.donor = data.donor || this.donor; | ||
52 | this.isDonor = data.isDonor || this.isDonor; | ||
53 | this.isMiner = data.isMiner || this.isMiner; | ||
54 | this.locale = data.locale || this.locale; | 56 | this.locale = data.locale || this.locale; |
55 | 57 | ||
56 | this.isSubscriptionOwner = data.isSubscriptionOwner || this.isSubscriptionOwner; | 58 | this.isSubscriptionOwner = data.isSubscriptionOwner || this.isSubscriptionOwner; |
57 | this.hasSubscription = data.hasSubscription || this.hasSubscription; | ||
58 | this.hadSubscription = data.hadSubscription || this.hadSubscription; | ||
59 | 59 | ||
60 | this.team = data.team || this.team; | 60 | this.team = data.team || this.team; |
61 | } | 61 | } |
diff --git a/src/prop-types.js b/src/prop-types.ts index 459b9a7b9..459b9a7b9 100644 --- a/src/prop-types.js +++ b/src/prop-types.ts | |||
diff --git a/src/sentry.js b/src/sentry.ts index 4f6d7205d..4f6d7205d 100644 --- a/src/sentry.js +++ b/src/sentry.ts | |||
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js index 1d706f1ef..9c8cce679 100644 --- a/src/stores/AppStore.js +++ b/src/stores/AppStore.js | |||
@@ -1,4 +1,4 @@ | |||
1 | import { ipcRenderer, shell } from 'electron'; | 1 | import { ipcRenderer } from 'electron'; |
2 | import { | 2 | import { |
3 | app, | 3 | app, |
4 | screen, | 4 | screen, |
@@ -24,16 +24,16 @@ import { | |||
24 | electronVersion, | 24 | electronVersion, |
25 | osRelease, | 25 | osRelease, |
26 | userDataPath, | 26 | userDataPath, |
27 | ferdiLocale, | ||
27 | } from '../environment'; | 28 | } from '../environment'; |
28 | import locales from '../i18n/translations'; | 29 | import locales from '../i18n/translations'; |
29 | import { onVisibilityChange } from '../helpers/visibility-helper'; | ||
30 | import { getLocale } from '../helpers/i18n-helpers'; | 30 | import { getLocale } from '../helpers/i18n-helpers'; |
31 | 31 | ||
32 | import { | 32 | import { |
33 | getServiceIdsFromPartitions, | 33 | getServiceIdsFromPartitions, |
34 | removeServicePartitionDirectory, | 34 | removeServicePartitionDirectory, |
35 | } from '../helpers/service-helpers'; | 35 | } from '../helpers/service-helpers'; |
36 | import { isValidExternalURL } from '../helpers/url-helpers'; | 36 | import { openExternalUrl } from '../helpers/url-helpers'; |
37 | import { sleep } from '../helpers/async-helpers'; | 37 | import { sleep } from '../helpers/async-helpers'; |
38 | 38 | ||
39 | const debug = require('debug')('Ferdi:AppStore'); | 39 | const debug = require('debug')('Ferdi:AppStore'); |
@@ -220,10 +220,9 @@ export default class AppStore extends Store { | |||
220 | 220 | ||
221 | this.isSystemDarkModeEnabled = nativeTheme.shouldUseDarkColors; | 221 | this.isSystemDarkModeEnabled = nativeTheme.shouldUseDarkColors; |
222 | 222 | ||
223 | onVisibilityChange((isVisible) => { | 223 | ipcRenderer.on('isWindowFocused', (event, isFocused) => { |
224 | this.isFocused = isVisible; | 224 | debug('Setting is focused to', isFocused); |
225 | 225 | this.isFocused = isFocused; | |
226 | debug('Window is visible/focused', isVisible); | ||
227 | }); | 226 | }); |
228 | 227 | ||
229 | powerMonitor.on('suspend', () => { | 228 | powerMonitor.on('suspend', () => { |
@@ -389,13 +388,9 @@ export default class AppStore extends Store { | |||
389 | } | 388 | } |
390 | } | 389 | } |
391 | 390 | ||
391 | // Ideally(?) this should be merged with the 'shell-helpers' functionality | ||
392 | @action _openExternalUrl({ url }) { | 392 | @action _openExternalUrl({ url }) { |
393 | const parsedUrl = new URL(url); | 393 | openExternalUrl(new URL(url)); |
394 | debug('open external url', parsedUrl); | ||
395 | |||
396 | if (isValidExternalURL(url)) { | ||
397 | shell.openExternal(url); | ||
398 | } | ||
399 | } | 394 | } |
400 | 395 | ||
401 | @action _checkForUpdates() { | 396 | @action _checkForUpdates() { |
@@ -509,7 +504,7 @@ export default class AppStore extends Store { | |||
509 | 504 | ||
510 | _getDefaultLocale() { | 505 | _getDefaultLocale() { |
511 | return getLocale({ | 506 | return getLocale({ |
512 | locale: app.getLocale(), | 507 | locale: ferdiLocale, |
513 | locales, | 508 | locales, |
514 | defaultLocale, | 509 | defaultLocale, |
515 | fallbackLocale: DEFAULT_APP_SETTINGS.fallbackLocale, | 510 | fallbackLocale: DEFAULT_APP_SETTINGS.fallbackLocale, |
diff --git a/src/stores/FeaturesStore.js b/src/stores/FeaturesStore.js index ac623c258..0dff2fda2 100644 --- a/src/stores/FeaturesStore.js +++ b/src/stores/FeaturesStore.js | |||
@@ -13,7 +13,6 @@ import workspaces from '../features/workspaces'; | |||
13 | import quickSwitch from '../features/quickSwitch'; | 13 | import quickSwitch from '../features/quickSwitch'; |
14 | import nightlyBuilds from '../features/nightlyBuilds'; | 14 | import nightlyBuilds from '../features/nightlyBuilds'; |
15 | import publishDebugInfo from '../features/publishDebugInfo'; | 15 | import publishDebugInfo from '../features/publishDebugInfo'; |
16 | import shareFranz from '../features/shareFranz'; | ||
17 | import announcements from '../features/announcements'; | 16 | import announcements from '../features/announcements'; |
18 | import settingsWS from '../features/settingsWS'; | 17 | import settingsWS from '../features/settingsWS'; |
19 | import communityRecipes from '../features/communityRecipes'; | 18 | import communityRecipes from '../features/communityRecipes'; |
@@ -73,7 +72,6 @@ export default class FeaturesStore extends Store { | |||
73 | quickSwitch(this.stores, this.actions); | 72 | quickSwitch(this.stores, this.actions); |
74 | nightlyBuilds(this.stores, this.actions); | 73 | nightlyBuilds(this.stores, this.actions); |
75 | publishDebugInfo(this.stores, this.actions); | 74 | publishDebugInfo(this.stores, this.actions); |
76 | shareFranz(this.stores, this.actions); | ||
77 | announcements(this.stores, this.actions); | 75 | announcements(this.stores, this.actions); |
78 | settingsWS(this.stores, this.actions); | 76 | settingsWS(this.stores, this.actions); |
79 | communityRecipes(this.stores, this.actions); | 77 | communityRecipes(this.stores, this.actions); |
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index 4ccb995ae..8598c6234 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js | |||
@@ -2,7 +2,6 @@ import { shell } from 'electron'; | |||
2 | import { action, reaction, computed, observable } from 'mobx'; | 2 | import { action, reaction, computed, observable } from 'mobx'; |
3 | import { debounce, remove } from 'lodash'; | 3 | import { debounce, remove } from 'lodash'; |
4 | import ms from 'ms'; | 4 | import ms from 'ms'; |
5 | import { app } from '@electron/remote'; | ||
6 | import { ensureFileSync, pathExistsSync, writeFileSync } from 'fs-extra'; | 5 | import { ensureFileSync, pathExistsSync, writeFileSync } from 'fs-extra'; |
7 | import { join } from 'path'; | 6 | import { join } from 'path'; |
8 | 7 | ||
@@ -11,13 +10,11 @@ import Request from './lib/Request'; | |||
11 | import CachedRequest from './lib/CachedRequest'; | 10 | import CachedRequest from './lib/CachedRequest'; |
12 | import { matchRoute } from '../helpers/routing-helpers'; | 11 | import { matchRoute } from '../helpers/routing-helpers'; |
13 | import { isInTimeframe } from '../helpers/schedule-helpers'; | 12 | import { isInTimeframe } from '../helpers/schedule-helpers'; |
14 | import { | 13 | import { getRecipeDirectory, getDevRecipeDirectory } from '../helpers/recipe-helpers'; |
15 | getRecipeDirectory, | ||
16 | getDevRecipeDirectory, | ||
17 | } from '../helpers/recipe-helpers'; | ||
18 | import { workspaceStore } from '../features/workspaces'; | 14 | import { workspaceStore } from '../features/workspaces'; |
19 | import { KEEP_WS_LOADED_USID } from '../config'; | 15 | import { KEEP_WS_LOADED_USID } from '../config'; |
20 | import { SPELLCHECKER_LOCALES } from '../i18n/languages'; | 16 | import { SPELLCHECKER_LOCALES } from '../i18n/languages'; |
17 | import { ferdiVersion } from '../environment'; | ||
21 | 18 | ||
22 | const debug = require('debug')('Ferdi:ServiceStore'); | 19 | const debug = require('debug')('Ferdi:ServiceStore'); |
23 | 20 | ||
@@ -128,38 +125,66 @@ export default class ServicesStore extends Store { | |||
128 | setup() { | 125 | setup() { |
129 | // Single key reactions for the sake of your CPU | 126 | // Single key reactions for the sake of your CPU |
130 | reaction( | 127 | reaction( |
131 | () => this.stores.settings.app.enableSpellchecking, | 128 | () => ( |
132 | () => this._shareSettingsWithServiceProcess(), | 129 | this.stores.settings.app.enableSpellchecking |
130 | ), | ||
131 | () => { | ||
132 | this._shareSettingsWithServiceProcess(); | ||
133 | }, | ||
133 | ); | 134 | ); |
134 | 135 | ||
135 | reaction( | 136 | reaction( |
136 | () => this.stores.settings.app.spellcheckerLanguage, | 137 | () => ( |
137 | () => this._shareSettingsWithServiceProcess(), | 138 | this.stores.settings.app.spellcheckerLanguage |
139 | ), | ||
140 | () => { | ||
141 | this._shareSettingsWithServiceProcess(); | ||
142 | }, | ||
138 | ); | 143 | ); |
139 | 144 | ||
140 | reaction( | 145 | reaction( |
141 | () => this.stores.settings.app.darkMode, | 146 | () => ( |
142 | () => this._shareSettingsWithServiceProcess(), | 147 | this.stores.settings.app.darkMode |
148 | ), | ||
149 | () => { | ||
150 | this._shareSettingsWithServiceProcess(); | ||
151 | }, | ||
143 | ); | 152 | ); |
144 | 153 | ||
145 | reaction( | 154 | reaction( |
146 | () => this.stores.settings.app.adaptableDarkMode, | 155 | () => ( |
147 | () => this._shareSettingsWithServiceProcess(), | 156 | this.stores.settings.app.adaptableDarkMode |
157 | ), | ||
158 | () => { | ||
159 | this._shareSettingsWithServiceProcess(); | ||
160 | }, | ||
148 | ); | 161 | ); |
149 | 162 | ||
150 | reaction( | 163 | reaction( |
151 | () => this.stores.settings.app.universalDarkMode, | 164 | () => ( |
152 | () => this._shareSettingsWithServiceProcess(), | 165 | this.stores.settings.app.universalDarkMode |
166 | ), | ||
167 | () => { | ||
168 | this._shareSettingsWithServiceProcess(); | ||
169 | }, | ||
153 | ); | 170 | ); |
154 | 171 | ||
155 | reaction( | 172 | reaction( |
156 | () => this.stores.settings.app.searchEngine, | 173 | () => ( |
157 | () => this._shareSettingsWithServiceProcess(), | 174 | this.stores.settings.app.searchEngine |
175 | ), | ||
176 | () => { | ||
177 | this._shareSettingsWithServiceProcess(); | ||
178 | }, | ||
158 | ); | 179 | ); |
159 | 180 | ||
160 | reaction( | 181 | reaction( |
161 | () => this.stores.settings.app.clipboardNotifications, | 182 | () => ( |
162 | () => this._shareSettingsWithServiceProcess(), | 183 | this.stores.settings.app.clipboardNotifications |
184 | ), | ||
185 | () => { | ||
186 | this._shareSettingsWithServiceProcess(); | ||
187 | }, | ||
163 | ); | 188 | ); |
164 | } | 189 | } |
165 | 190 | ||
@@ -190,12 +215,12 @@ export default class ServicesStore extends Store { | |||
190 | * Run various maintenance tasks on services | 215 | * Run various maintenance tasks on services |
191 | */ | 216 | */ |
192 | _serviceMaintenance() { | 217 | _serviceMaintenance() { |
193 | this.all.forEach(service => { | 218 | this.enabled.forEach(service => { |
194 | // Defines which services should be hibernated or woken up | 219 | // Defines which services should be hibernated or woken up |
195 | if (!service.isActive) { | 220 | if (!service.isActive) { |
196 | if ( | 221 | if ( |
197 | !service.lastHibernated && | 222 | !service.lastHibernated && |
198 | Date.now() - service.lastUsed > | 223 | (Date.now() - service.lastUsed) > |
199 | ms(`${this.stores.settings.all.app.hibernationStrategy}s`) | 224 | ms(`${this.stores.settings.all.app.hibernationStrategy}s`) |
200 | ) { | 225 | ) { |
201 | // If service is stale, hibernate it. | 226 | // If service is stale, hibernate it. |
@@ -204,21 +229,18 @@ export default class ServicesStore extends Store { | |||
204 | 229 | ||
205 | if ( | 230 | if ( |
206 | service.lastHibernated && | 231 | service.lastHibernated && |
207 | Number(this.stores.settings.all.app.wakeUpStrategy) > 0 | 232 | Number(this.stores.settings.all.app.wakeUpStrategy) > 0 && |
233 | (Date.now() - service.lastHibernated) > | ||
234 | ms(`${this.stores.settings.all.app.wakeUpStrategy}s`) | ||
208 | ) { | 235 | ) { |
209 | // If service is in hibernation and the wakeup time has elapsed, wake it. | 236 | // If service is in hibernation and the wakeup time has elapsed, wake it. |
210 | if ( | 237 | this._awake({ serviceId: service.id }); |
211 | Date.now() - service.lastHibernated > | ||
212 | ms(`${this.stores.settings.all.app.wakeUpStrategy}s`) | ||
213 | ) { | ||
214 | this._awake({ serviceId: service.id }); | ||
215 | } | ||
216 | } | 238 | } |
217 | } | 239 | } |
218 | 240 | ||
219 | if ( | 241 | if ( |
220 | service.lastPoll && | 242 | service.lastPoll && |
221 | service.lastPoll - service.lastPollAnswer > ms('1m') | 243 | (service.lastPoll - service.lastPollAnswer) > ms('1m') |
222 | ) { | 244 | ) { |
223 | // If service did not reply for more than 1m try to reload. | 245 | // If service did not reply for more than 1m try to reload. |
224 | if (!service.isActive) { | 246 | if (!service.isActive) { |
@@ -378,27 +400,22 @@ export default class ServicesStore extends Store { | |||
378 | 400 | ||
379 | // set default values for serviceData | 401 | // set default values for serviceData |
380 | // eslint-disable-next-line prefer-object-spread | 402 | // eslint-disable-next-line prefer-object-spread |
381 | Object.assign( | 403 | // TODO: How is this different from the defaults of the recipe in 'src/models/Recipe' file? |
382 | { | 404 | serviceData = { |
383 | isEnabled: true, | 405 | isEnabled: true, |
384 | isHibernationEnabled: false, | 406 | isHibernationEnabled: false, |
385 | isNotificationEnabled: true, | 407 | isNotificationEnabled: true, |
386 | isBadgeEnabled: true, | 408 | isBadgeEnabled: true, |
387 | isMuted: false, | 409 | isMuted: false, |
388 | customIcon: false, | 410 | customIcon: false, |
389 | isDarkModeEnabled: false, | 411 | isDarkModeEnabled: false, |
390 | spellcheckerLanguage: | 412 | spellcheckerLanguage: |
391 | SPELLCHECKER_LOCALES[this.stores.settings.app.spellcheckerLanguage], | 413 | SPELLCHECKER_LOCALES[this.stores.settings.app.spellcheckerLanguage], |
392 | userAgentPref: '', | 414 | userAgentPref: '', |
393 | }, | 415 | ...serviceData, |
394 | serviceData, | 416 | }; |
395 | ); | ||
396 | |||
397 | let data = serviceData; | ||
398 | 417 | ||
399 | if (!skipCleanup) { | 418 | const data = skipCleanup ? serviceData : this._cleanUpTeamIdAndCustomUrl(recipeId, serviceData); |
400 | data = this._cleanUpTeamIdAndCustomUrl(recipeId, serviceData); | ||
401 | } | ||
402 | 419 | ||
403 | const response = await this.createServiceRequest.execute(recipeId, data) | 420 | const response = await this.createServiceRequest.execute(recipeId, data) |
404 | ._promise; | 421 | ._promise; |
@@ -430,12 +447,13 @@ export default class ServicesStore extends Store { | |||
430 | serviceData.name = data.name; | 447 | serviceData.name = data.name; |
431 | } | 448 | } |
432 | 449 | ||
433 | if (data.team && !data.customURL) { | 450 | if (data.team) { |
434 | serviceData.team = data.team; | 451 | if (!data.customURL) { |
435 | } | 452 | serviceData.team = data.team; |
436 | 453 | } else { | |
437 | if (data.team && data.customURL) { | 454 | // TODO: Is this correct? |
438 | serviceData.customUrl = data.team; | 455 | serviceData.customUrl = data.team; |
456 | } | ||
439 | } | 457 | } |
440 | 458 | ||
441 | this.actions.service.createService({ | 459 | this.actions.service.createService({ |
@@ -596,9 +614,8 @@ export default class ServicesStore extends Store { | |||
596 | this.allDisplayed.length, | 614 | this.allDisplayed.length, |
597 | ); | 615 | ); |
598 | 616 | ||
599 | // TODO: simplify this; | 617 | this.all.forEach(s => { |
600 | this.all.forEach((s, index) => { | 618 | s.isActive = false; |
601 | this.all[index].isActive = false; | ||
602 | }); | 619 | }); |
603 | this.allDisplayed[nextIndex].isActive = true; | 620 | this.allDisplayed[nextIndex].isActive = true; |
604 | } | 621 | } |
@@ -610,9 +627,8 @@ export default class ServicesStore extends Store { | |||
610 | this.allDisplayed.length, | 627 | this.allDisplayed.length, |
611 | ); | 628 | ); |
612 | 629 | ||
613 | // TODO: simplify this; | 630 | this.all.forEach(s => { |
614 | this.all.forEach((s, index) => { | 631 | s.isActive = false; |
615 | this.all[index].isActive = false; | ||
616 | }); | 632 | }); |
617 | this.allDisplayed[prevIndex].isActive = true; | 633 | this.allDisplayed[prevIndex].isActive = true; |
618 | } | 634 | } |
@@ -877,6 +893,7 @@ export default class ServicesStore extends Store { | |||
877 | ); | 893 | ); |
878 | 894 | ||
879 | const services = {}; | 895 | const services = {}; |
896 | // TODO: simplify this | ||
880 | this.all.forEach((s, index) => { | 897 | this.all.forEach((s, index) => { |
881 | services[this.all[index].id] = index; | 898 | services[this.all[index].id] = index; |
882 | }); | 899 | }); |
@@ -893,6 +910,7 @@ export default class ServicesStore extends Store { | |||
893 | 910 | ||
894 | @action _toggleNotifications({ serviceId }) { | 911 | @action _toggleNotifications({ serviceId }) { |
895 | const service = this.one(serviceId); | 912 | const service = this.one(serviceId); |
913 | service.isNotificationEnabled = !service.isNotificationEnabled; | ||
896 | 914 | ||
897 | this.actions.service.updateService({ | 915 | this.actions.service.updateService({ |
898 | serviceId, | 916 | serviceId, |
@@ -905,8 +923,7 @@ export default class ServicesStore extends Store { | |||
905 | 923 | ||
906 | @action _toggleAudio({ serviceId }) { | 924 | @action _toggleAudio({ serviceId }) { |
907 | const service = this.one(serviceId); | 925 | const service = this.one(serviceId); |
908 | 926 | service.isMuted = !service.isMuted; | |
909 | service.isNotificationEnabled = !service.isNotificationEnabled; | ||
910 | 927 | ||
911 | this.actions.service.updateService({ | 928 | this.actions.service.updateService({ |
912 | serviceId, | 929 | serviceId, |
@@ -919,6 +936,7 @@ export default class ServicesStore extends Store { | |||
919 | 936 | ||
920 | @action _toggleDarkMode({ serviceId }) { | 937 | @action _toggleDarkMode({ serviceId }) { |
921 | const service = this.one(serviceId); | 938 | const service = this.one(serviceId); |
939 | service.isDarkModeEnabled = !service.isDarkModeEnabled; | ||
922 | 940 | ||
923 | this.actions.service.updateService({ | 941 | this.actions.service.updateService({ |
924 | serviceId, | 942 | serviceId, |
@@ -1149,7 +1167,7 @@ export default class ServicesStore extends Store { | |||
1149 | 'initialize-recipe', | 1167 | 'initialize-recipe', |
1150 | { | 1168 | { |
1151 | ...shareWithWebview, | 1169 | ...shareWithWebview, |
1152 | franzVersion: app.getVersion(), | 1170 | franzVersion: ferdiVersion, |
1153 | }, | 1171 | }, |
1154 | service.recipe, | 1172 | service.recipe, |
1155 | ); | 1173 | ); |
diff --git a/src/stores/SettingsStore.js b/src/stores/SettingsStore.js index cd627c2b8..f551e1e49 100644 --- a/src/stores/SettingsStore.js +++ b/src/stores/SettingsStore.js | |||
@@ -40,7 +40,9 @@ export default class SettingsStore extends Store { | |||
40 | await this._migrate(); | 40 | await this._migrate(); |
41 | 41 | ||
42 | reaction( | 42 | reaction( |
43 | () => this.all.app.autohideMenuBar, | 43 | () => ( |
44 | this.all.app.autohideMenuBar | ||
45 | ), | ||
44 | () => { | 46 | () => { |
45 | const currentWindow = getCurrentWindow(); | 47 | const currentWindow = getCurrentWindow(); |
46 | currentWindow.setMenuBarVisibility(!this.all.app.autohideMenuBar); | 48 | currentWindow.setMenuBarVisibility(!this.all.app.autohideMenuBar); |
@@ -49,15 +51,15 @@ export default class SettingsStore extends Store { | |||
49 | ); | 51 | ); |
50 | 52 | ||
51 | reaction( | 53 | reaction( |
52 | () => this.all.app.server, | 54 | () => ( |
55 | this.all.app.server | ||
56 | ), | ||
53 | (server) => { | 57 | (server) => { |
54 | if (server === LOCAL_SERVER) { | 58 | if (server === LOCAL_SERVER) { |
55 | ipcRenderer.send('startLocalServer'); | 59 | ipcRenderer.send('startLocalServer'); |
56 | } | 60 | } |
57 | }, | 61 | }, |
58 | { | 62 | { fireImmediately: true }, |
59 | fireImmediately: true, | ||
60 | }, | ||
61 | ); | 63 | ); |
62 | 64 | ||
63 | // Inactivity lock timer | 65 | // Inactivity lock timer |
diff --git a/src/stores/UIStore.js b/src/stores/UIStore.js index adcd776c1..be675d5ed 100644 --- a/src/stores/UIStore.js +++ b/src/stores/UIStore.js | |||
@@ -43,8 +43,12 @@ export default class UIStore extends Store { | |||
43 | 43 | ||
44 | setup() { | 44 | setup() { |
45 | reaction( | 45 | reaction( |
46 | () => this.isDarkThemeActive, | 46 | () => ( |
47 | () => this._setupThemeInDOM(), | 47 | this.isDarkThemeActive |
48 | ), | ||
49 | () => { | ||
50 | this._setupThemeInDOM(); | ||
51 | }, | ||
48 | { fireImmediately: true }, | 52 | { fireImmediately: true }, |
49 | ); | 53 | ); |
50 | } | 54 | } |
diff --git a/src/stores/index.js b/src/stores/index.ts index b6e481e8a..e980f2c5b 100644 --- a/src/stores/index.js +++ b/src/stores/index.ts | |||
@@ -34,9 +34,12 @@ export default (api, actions, router) => { | |||
34 | communityRecipes: communityRecipesStore, | 34 | communityRecipes: communityRecipesStore, |
35 | todos: todosStore, | 35 | todos: todosStore, |
36 | }); | 36 | }); |
37 | |||
37 | // Initialize all stores | 38 | // Initialize all stores |
38 | Object.keys(stores).forEach((name) => { | 39 | Object.keys(stores).forEach((name) => { |
39 | if (stores[name] && stores[name].initialize) stores[name].initialize(); | 40 | if (stores[name] && stores[name].initialize) { |
41 | stores[name].initialize(); | ||
42 | } | ||
40 | }); | 43 | }); |
41 | return stores; | 44 | return stores; |
42 | }; | 45 | }; |
diff --git a/src/styles/settings.scss b/src/styles/settings.scss index 501f97b98..f06ed7ef8 100644 --- a/src/styles/settings.scss +++ b/src/styles/settings.scss | |||
@@ -361,11 +361,11 @@ | |||
361 | .settings__delete-button { | 361 | .settings__delete-button { |
362 | right: 0; | 362 | right: 0; |
363 | } | 363 | } |
364 | .settings__open-recipe-file-button { | 364 | .settings__open-recipe-file-button, .settings__open-settings-file-button { |
365 | cursor: pointer; | 365 | cursor: pointer; |
366 | margin-right: 10px; | 366 | margin-right: 10px; |
367 | } | 367 | } |
368 | .settings__open-recipe-file-container { | 368 | .settings__open-recipe-file-container, .settings__open-settings-file-container { |
369 | margin-top: 20px; | 369 | margin-top: 20px; |
370 | display: flex; | 370 | display: flex; |
371 | height: auto !important; | 371 | height: auto !important; |
diff --git a/src/webview/badge.js b/src/webview/badge.ts index 1e02fb56a..fc420b903 100644 --- a/src/webview/badge.js +++ b/src/webview/badge.ts | |||
@@ -1,8 +1,10 @@ | |||
1 | const { ipcRenderer } = require('electron'); | 1 | import { ipcRenderer } from 'electron'; |
2 | 2 | ||
3 | const debug = require('debug')('Ferdi:Plugin:BadgeHandler'); | 3 | const debug = require('debug')('Ferdi:Plugin:BadgeHandler'); |
4 | 4 | ||
5 | export class BadgeHandler { | 5 | export class BadgeHandler { |
6 | countCache: { direct: number; indirect: number; }; | ||
7 | |||
6 | constructor() { | 8 | constructor() { |
7 | this.countCache = { | 9 | this.countCache = { |
8 | direct: 0, | 10 | direct: 0, |
@@ -10,24 +12,29 @@ export class BadgeHandler { | |||
10 | }; | 12 | }; |
11 | } | 13 | } |
12 | 14 | ||
13 | setBadge(direct, indirect) { | 15 | _normalizeNumber(count: string | number) { |
14 | if (this.countCache.direct === direct | ||
15 | && this.countCache.indirect === indirect) return; | ||
16 | |||
17 | // Parse number to integer | 16 | // Parse number to integer |
18 | // This will correct errors that recipes may introduce, e.g. | 17 | // This will correct errors that recipes may introduce, e.g. |
19 | // by sending a String instead of an integer | 18 | // by sending a String instead of an integer |
20 | const directInt = parseInt(direct, 10); | 19 | const parsedNumber = parseInt(count.toString(), 10); |
21 | const indirectInt = parseInt(indirect, 10); | 20 | const adjustedNumber = Number.isNaN(parsedNumber) ? 0 : parsedNumber; |
21 | return Math.max(adjustedNumber, 0); | ||
22 | } | ||
23 | |||
24 | setBadge(direct: number, indirect: number) { | ||
25 | if (this.countCache.direct === direct | ||
26 | && this.countCache.indirect === indirect) { | ||
27 | return; | ||
28 | } | ||
22 | 29 | ||
23 | const count = { | 30 | const count = { |
24 | direct: Math.max(directInt, 0), | 31 | direct: this._normalizeNumber(direct), |
25 | indirect: Math.max(indirectInt, 0), | 32 | indirect: this._normalizeNumber(indirect), |
26 | }; | 33 | }; |
27 | 34 | ||
35 | debug('Sending badge count to host', count); | ||
28 | ipcRenderer.sendToHost('message-counts', count); | 36 | ipcRenderer.sendToHost('message-counts', count); |
29 | Object.assign(this.countCache, count); | ||
30 | 37 | ||
31 | debug('Sending badge count to host', count); | 38 | Object.assign(this.countCache, count); |
32 | } | 39 | } |
33 | } | 40 | } |
diff --git a/src/webview/contextMenuBuilder.js b/src/webview/contextMenuBuilder.js index 602ce06f5..8c39e6d04 100644 --- a/src/webview/contextMenuBuilder.js +++ b/src/webview/contextMenuBuilder.js | |||
@@ -6,13 +6,12 @@ | |||
6 | * | 6 | * |
7 | * Source: https://github.com/electron-userland/electron-spellchecker/blob/master/src/context-menu-builder.js | 7 | * Source: https://github.com/electron-userland/electron-spellchecker/blob/master/src/context-menu-builder.js |
8 | */ | 8 | */ |
9 | import { | 9 | import { clipboard, ipcRenderer, nativeImage } from 'electron'; |
10 | clipboard, ipcRenderer, nativeImage, shell, | ||
11 | } from 'electron'; | ||
12 | import { Menu, MenuItem } from '@electron/remote'; | 10 | import { Menu, MenuItem } from '@electron/remote'; |
13 | import { shortcutKey, isMac } from '../environment'; | 11 | import { cmdOrCtrlShortcutKey, isMac } from '../environment'; |
14 | 12 | ||
15 | import { SEARCH_ENGINE_NAMES, SEARCH_ENGINE_URLS } from '../config'; | 13 | import { SEARCH_ENGINE_NAMES, SEARCH_ENGINE_URLS } from '../config'; |
14 | import { openExternalUrl } from '../helpers/url-helpers'; | ||
16 | 15 | ||
17 | const { URL } = require('url'); | 16 | const { URL } = require('url'); |
18 | 17 | ||
@@ -170,7 +169,7 @@ module.exports = class ContextMenuBuilder { | |||
170 | const openLink = new MenuItem({ | 169 | const openLink = new MenuItem({ |
171 | label: this.stringTable.openLinkUrl(), | 170 | label: this.stringTable.openLinkUrl(), |
172 | click: () => { | 171 | click: () => { |
173 | shell.openExternal(menuInfo.linkURL); | 172 | openExternalUrl(menuInfo.linkURL, true); |
174 | }, | 173 | }, |
175 | }); | 174 | }); |
176 | 175 | ||
@@ -299,7 +298,7 @@ module.exports = class ContextMenuBuilder { | |||
299 | label: this.stringTable.searchWith({ searchEngine: SEARCH_ENGINE_NAMES[menuInfo.searchEngine] }), | 298 | label: this.stringTable.searchWith({ searchEngine: SEARCH_ENGINE_NAMES[menuInfo.searchEngine] }), |
300 | click: () => { | 299 | click: () => { |
301 | const url = SEARCH_ENGINE_URLS[menuInfo.searchEngine]({ searchTerm: encodeURIComponent(menuInfo.selectionText) }); | 300 | const url = SEARCH_ENGINE_URLS[menuInfo.searchEngine]({ searchTerm: encodeURIComponent(menuInfo.selectionText) }); |
302 | shell.openExternal(url); | 301 | openExternalUrl(url, true); |
303 | }, | 302 | }, |
304 | }); | 303 | }); |
305 | 304 | ||
@@ -376,7 +375,7 @@ module.exports = class ContextMenuBuilder { | |||
376 | const webContents = this.getWebContents(); | 375 | const webContents = this.getWebContents(); |
377 | menu.append(new MenuItem({ | 376 | menu.append(new MenuItem({ |
378 | label: this.stringTable.cut(), | 377 | label: this.stringTable.cut(), |
379 | accelerator: `${shortcutKey()}+X`, | 378 | accelerator: `${cmdOrCtrlShortcutKey()}+X`, |
380 | enabled: menuInfo.editFlags.canCut, | 379 | enabled: menuInfo.editFlags.canCut, |
381 | click: () => webContents.cut(), | 380 | click: () => webContents.cut(), |
382 | })); | 381 | })); |
@@ -391,7 +390,7 @@ module.exports = class ContextMenuBuilder { | |||
391 | const webContents = this.getWebContents(); | 390 | const webContents = this.getWebContents(); |
392 | menu.append(new MenuItem({ | 391 | menu.append(new MenuItem({ |
393 | label: this.stringTable.copy(), | 392 | label: this.stringTable.copy(), |
394 | accelerator: `${shortcutKey()}+C`, | 393 | accelerator: `${cmdOrCtrlShortcutKey()}+C`, |
395 | enabled: menuInfo.editFlags.canCopy, | 394 | enabled: menuInfo.editFlags.canCopy, |
396 | click: () => webContents.copy(), | 395 | click: () => webContents.copy(), |
397 | })); | 396 | })); |
@@ -406,7 +405,7 @@ module.exports = class ContextMenuBuilder { | |||
406 | const webContents = this.getWebContents(); | 405 | const webContents = this.getWebContents(); |
407 | menu.append(new MenuItem({ | 406 | menu.append(new MenuItem({ |
408 | label: this.stringTable.paste(), | 407 | label: this.stringTable.paste(), |
409 | accelerator: `${shortcutKey()}+V`, | 408 | accelerator: `${cmdOrCtrlShortcutKey()}+V`, |
410 | enabled: menuInfo.editFlags.canPaste, | 409 | enabled: menuInfo.editFlags.canPaste, |
411 | click: () => webContents.paste(), | 410 | click: () => webContents.paste(), |
412 | })); | 411 | })); |
@@ -424,7 +423,7 @@ module.exports = class ContextMenuBuilder { | |||
424 | menu.append( | 423 | menu.append( |
425 | new MenuItem({ | 424 | new MenuItem({ |
426 | label: this.stringTable.pasteAndMatchStyle(), | 425 | label: this.stringTable.pasteAndMatchStyle(), |
427 | accelerator: `${shortcutKey()}+Shift+V`, | 426 | accelerator: `${cmdOrCtrlShortcutKey()}+Shift+V`, |
428 | click: () => webContents.pasteAndMatchStyle(), | 427 | click: () => webContents.pasteAndMatchStyle(), |
429 | }), | 428 | }), |
430 | ); | 429 | ); |
@@ -490,7 +489,7 @@ module.exports = class ContextMenuBuilder { | |||
490 | const webContents = this.getWebContents(); | 489 | const webContents = this.getWebContents(); |
491 | menu.append(new MenuItem({ | 490 | menu.append(new MenuItem({ |
492 | label: this.stringTable.goBack(), | 491 | label: this.stringTable.goBack(), |
493 | accelerator: `${shortcutKey()}+left`, | 492 | accelerator: `${cmdOrCtrlShortcutKey()}+left`, |
494 | enabled: webContents.canGoBack(), | 493 | enabled: webContents.canGoBack(), |
495 | click: () => webContents.goBack(), | 494 | click: () => webContents.goBack(), |
496 | })); | 495 | })); |
@@ -505,7 +504,7 @@ module.exports = class ContextMenuBuilder { | |||
505 | const webContents = this.getWebContents(); | 504 | const webContents = this.getWebContents(); |
506 | menu.append(new MenuItem({ | 505 | menu.append(new MenuItem({ |
507 | label: this.stringTable.goForward(), | 506 | label: this.stringTable.goForward(), |
508 | accelerator: `${shortcutKey()}+right`, | 507 | accelerator: `${cmdOrCtrlShortcutKey()}+right`, |
509 | enabled: webContents.canGoForward(), | 508 | enabled: webContents.canGoForward(), |
510 | click: () => webContents.goForward(), | 509 | click: () => webContents.goForward(), |
511 | })); | 510 | })); |
@@ -536,7 +535,7 @@ module.exports = class ContextMenuBuilder { | |||
536 | const baseURL = new URL(menuInfo.pageURL); | 535 | const baseURL = new URL(menuInfo.pageURL); |
537 | menu.append(new MenuItem({ | 536 | menu.append(new MenuItem({ |
538 | label: this.stringTable.goToHomePage(), | 537 | label: this.stringTable.goToHomePage(), |
539 | accelerator: `${shortcutKey()}+Home`, | 538 | accelerator: `${cmdOrCtrlShortcutKey()}+Home`, |
540 | enabled: true, | 539 | enabled: true, |
541 | click: () => { | 540 | click: () => { |
542 | // webContents.loadURL(baseURL.origin); | 541 | // webContents.loadURL(baseURL.origin); |
@@ -555,7 +554,7 @@ module.exports = class ContextMenuBuilder { | |||
555 | label: this.stringTable.openInBrowser(), | 554 | label: this.stringTable.openInBrowser(), |
556 | enabled: true, | 555 | enabled: true, |
557 | click: () => { | 556 | click: () => { |
558 | shell.openExternal(menuInfo.pageURL); | 557 | openExternalUrl(menuInfo.pageURL, true); |
559 | }, | 558 | }, |
560 | })); | 559 | })); |
561 | 560 | ||
diff --git a/src/webview/darkmode.js b/src/webview/darkmode.ts index 7435d6404..e06c22f11 100644 --- a/src/webview/darkmode.js +++ b/src/webview/darkmode.ts | |||
@@ -7,9 +7,9 @@ const debug = require('debug')('Ferdi:DarkMode'); | |||
7 | 7 | ||
8 | const chars = [...'abcdefghijklmnopqrstuvwxyz']; | 8 | const chars = [...'abcdefghijklmnopqrstuvwxyz']; |
9 | 9 | ||
10 | const ID = [...Array(20)].map(() => chars[Math.random() * chars.length | 0]).join``; | 10 | const ID = [...Array(20)].map(() => chars[Math.random() * chars.length | 0]).join(''); |
11 | 11 | ||
12 | export function injectDarkModeStyle(recipePath) { | 12 | export function injectDarkModeStyle(recipePath: string) { |
13 | const darkModeStyle = join(recipePath, 'darkmode.css'); | 13 | const darkModeStyle = join(recipePath, 'darkmode.css'); |
14 | if (pathExistsSync(darkModeStyle)) { | 14 | if (pathExistsSync(darkModeStyle)) { |
15 | const data = readFileSync(darkModeStyle); | 15 | const data = readFileSync(darkModeStyle); |
@@ -17,7 +17,7 @@ export function injectDarkModeStyle(recipePath) { | |||
17 | styles.id = ID; | 17 | styles.id = ID; |
18 | styles.innerHTML = data.toString(); | 18 | styles.innerHTML = data.toString(); |
19 | 19 | ||
20 | document.querySelector('head').appendChild(styles); | 20 | document.querySelector('head')?.appendChild(styles); |
21 | 21 | ||
22 | debug('Injected Dark Mode style with ID', ID); | 22 | debug('Injected Dark Mode style with ID', ID); |
23 | } | 23 | } |
diff --git a/src/webview/recipe.js b/src/webview/recipe.js index a45c34002..f88b94cfe 100644 --- a/src/webview/recipe.js +++ b/src/webview/recipe.js | |||
@@ -101,7 +101,7 @@ window.open = (url, frameName, features) => { | |||
101 | contextBridge.exposeInMainWorld('ferdi', { | 101 | contextBridge.exposeInMainWorld('ferdi', { |
102 | open: window.open, | 102 | open: window.open, |
103 | setBadge: (direct, indirect) => | 103 | setBadge: (direct, indirect) => |
104 | badgeHandler.setBadge(direct || 0, indirect || 0), | 104 | badgeHandler.setBadge(direct, indirect), |
105 | displayNotification: (title, options) => | 105 | displayNotification: (title, options) => |
106 | notificationsHandler.displayNotification(title, options), | 106 | notificationsHandler.displayNotification(title, options), |
107 | getDisplayMediaSelector, | 107 | getDisplayMediaSelector, |
diff --git a/src/webview/spellchecker.js b/src/webview/spellchecker.ts index 0f4715207..aa9a2350f 100644 --- a/src/webview/spellchecker.js +++ b/src/webview/spellchecker.ts | |||
@@ -8,17 +8,13 @@ const webContents = getCurrentWebContents(); | |||
8 | const [defaultLocale] = webContents.session.getSpellCheckerLanguages(); | 8 | const [defaultLocale] = webContents.session.getSpellCheckerLanguages(); |
9 | debug('Spellchecker default locale is', defaultLocale); | 9 | debug('Spellchecker default locale is', defaultLocale); |
10 | 10 | ||
11 | export function getSpellcheckerLocaleByFuzzyIdentifier(identifier) { | 11 | export function getSpellcheckerLocaleByFuzzyIdentifier(identifier: string) { |
12 | const locales = Object.keys(SPELLCHECKER_LOCALES).filter((key) => key.toLocaleLowerCase() === identifier.toLowerCase() || key.split('-')[0] === identifier.toLowerCase()); | 12 | const locales = Object.keys(SPELLCHECKER_LOCALES).filter((key) => key.toLocaleLowerCase() === identifier.toLowerCase() || key.split('-')[0] === identifier.toLowerCase()); |
13 | 13 | ||
14 | if (locales.length >= 1) { | 14 | return locales.length >= 1 ? locales[0] : null; |
15 | return locales[0]; | ||
16 | } | ||
17 | |||
18 | return null; | ||
19 | } | 15 | } |
20 | 16 | ||
21 | export function switchDict(locale) { | 17 | export function switchDict(locale: string) { |
22 | if (isMac) { | 18 | if (isMac) { |
23 | debug('Ignoring dictionary changes on macOS'); | 19 | debug('Ignoring dictionary changes on macOS'); |
24 | return; | 20 | return; |
@@ -26,9 +22,9 @@ export function switchDict(locale) { | |||
26 | 22 | ||
27 | debug('Setting spellchecker locale to', locale); | 23 | debug('Setting spellchecker locale to', locale); |
28 | 24 | ||
29 | const locales = []; | 25 | const locales: string[] = []; |
30 | const foundLocale = getSpellcheckerLocaleByFuzzyIdentifier(locale); | ||
31 | 26 | ||
27 | const foundLocale = getSpellcheckerLocaleByFuzzyIdentifier(locale); | ||
32 | if (foundLocale) { | 28 | if (foundLocale) { |
33 | locales.push(foundLocale); | 29 | locales.push(foundLocale); |
34 | } | 30 | } |
diff --git a/src/webview/zoom.js b/src/webview/zoom.ts index 3ad88916e..53ddf46c6 100644 --- a/src/webview/zoom.js +++ b/src/webview/zoom.ts | |||
@@ -1,6 +1,4 @@ | |||
1 | import electron from 'electron'; | 1 | import { ipcRenderer, webFrame } from 'electron'; |
2 | |||
3 | const { ipcRenderer, webFrame } = electron; | ||
4 | 2 | ||
5 | const maxZoomLevel = 9; | 3 | const maxZoomLevel = 9; |
6 | const minZoomLevel = -8; | 4 | const minZoomLevel = -8; |
@@ -31,7 +29,7 @@ ipcRenderer.on('zoomReset', () => { | |||
31 | ipcRenderer.sendToHost('zoomLevel', { zoom: zoomLevel }); | 29 | ipcRenderer.sendToHost('zoomLevel', { zoom: zoomLevel }); |
32 | }); | 30 | }); |
33 | 31 | ||
34 | ipcRenderer.on('setZoom', (e, arg) => { | 32 | ipcRenderer.on('setZoom', (_e, arg) => { |
35 | zoomLevel = arg; | 33 | zoomLevel = arg; |
36 | webFrame.setZoomLevel(zoomLevel); | 34 | webFrame.setZoomLevel(zoomLevel); |
37 | }); | 35 | }); |
diff --git a/tsconfig.json b/tsconfig.json index 46e0e6cfa..2676f392d 100644 --- a/tsconfig.json +++ b/tsconfig.json | |||
@@ -1,7 +1,7 @@ | |||
1 | { | 1 | { |
2 | "extends": "./tsconfig.settings.json", | 2 | "extends": "./tsconfig.settings.json", |
3 | "compilerOptions": { | 3 | "compilerOptions": { |
4 | "outDir": ".tstmp", | 4 | "outDir": ".tmp", |
5 | "rootDir": "./" | 5 | "rootDir": "./" |
6 | }, | 6 | } |
7 | } | 7 | } |
diff --git a/tsconfig.settings.json b/tsconfig.settings.json index eb2207533..bd4669e01 100644 --- a/tsconfig.settings.json +++ b/tsconfig.settings.json | |||
@@ -1,20 +1,28 @@ | |||
1 | { | 1 | { |
2 | "extends": "@tsconfig/node14/tsconfig.json", | ||
2 | "compilerOptions": { | 3 | "compilerOptions": { |
3 | "baseUrl": ".", | 4 | "baseUrl": ".", |
4 | "target": "esnext", | 5 | "target": "esnext", |
5 | "module": "commonjs", | ||
6 | "lib": ["es2015", "es2017", "dom"], | 6 | "lib": ["es2015", "es2017", "dom"], |
7 | "jsx": "react", | 7 | "jsx": "react", |
8 | "typeRoots": ["node_modules/@types"], | ||
9 | "moduleResolution": "node", | ||
10 | "types": ["node"], | ||
8 | "sourceMap": true, | 11 | "sourceMap": true, |
9 | "strict": true, | 12 | "noImplicitAny": false, // TODO: Need to switch |
10 | "noImplicitAny": false, | ||
11 | "allowSyntheticDefaultImports": true, | 13 | "allowSyntheticDefaultImports": true, |
12 | "experimentalDecorators": true, | 14 | "experimentalDecorators": true, |
13 | "composite": true, | 15 | "composite": true, |
14 | "esModuleInterop": true, | 16 | "esModuleInterop": true, |
15 | "forceConsistentCasingInFileNames": true, | ||
16 | "importHelpers": true, | 17 | "importHelpers": true, |
17 | "removeComments": true, | 18 | "removeComments": true, |
18 | "typeRoots": ["node_modules/@types"] | 19 | "allowUnreachableCode": false, |
20 | "allowUnusedLabels": false, | ||
21 | "noUnusedLocals": true, | ||
22 | "noUnusedParameters": true, | ||
23 | "noImplicitReturns": true, | ||
24 | "noImplicitThis": true, | ||
25 | "preserveConstEnums": true, | ||
26 | "strictNullChecks": true, | ||
19 | } | 27 | } |
20 | } | 28 | } |
diff --git a/uidev/src/app.tsx b/uidev/src/app.tsx index ecc7020c1..970cb40e3 100644 --- a/uidev/src/app.tsx +++ b/uidev/src/app.tsx | |||
@@ -1,7 +1,6 @@ | |||
1 | import { Property } from 'csstype'; | 1 | import { Property } from 'csstype'; |
2 | import { Classes } from 'jss'; | 2 | import { Classes } from 'jss'; |
3 | import { observer } from 'mobx-react'; | 3 | import { observer } from 'mobx-react'; |
4 | import DevTools from 'mobx-react-devtools'; | ||
5 | import React from 'react'; | 4 | import React from 'react'; |
6 | import injectSheet from 'react-jss'; | 5 | import injectSheet from 'react-jss'; |
7 | 6 | ||
@@ -122,7 +121,6 @@ export const App = injectSheet(styles)( | |||
122 | </div> | 121 | </div> |
123 | ))} | 122 | ))} |
124 | </div> | 123 | </div> |
125 | <DevTools /> | ||
126 | </div> | 124 | </div> |
127 | )), | 125 | )), |
128 | ); | 126 | ); |